Рассмотрим задачи, в которых будем преобразовывать входную информацию в выходную, меняя форму представления информации. Для преобразования информации нужно знать какое-то правило: формулу, схему или план действий.
Например, мы знаем, что для нахождения периметра фигуры нам нужно сложить длины каждой из её сторон.
Вот четырёхугольник
A
B
C
D
.
ABCD.
Нужно найти его периметр.
Периметр фигуры будет равен сумме длин всех её сторон:
P
=
A
B
+
B
C
+
C
D
+
D
A
.
P=AB+BC+CD+DA.
Длины сторон указаны на рисунке в сантиметрах.
P
=
A
B
+
B
C
+
C
D
+
D
A
=
10
+
5
+
9
+
3
=
27
P=AB+BC+CD+DA=10+5+9+3=27
(см).
В данной задаче преобразование информации выполняется следующим образом.
Входная информация: длины сторон четырёхугольника
A
B
C
D
.
ABCD.
Выходная информация: периметр четырёхугольника
A
B
C
D
ABCD
(27 см).
Правило преобразования: формула нахождения периметра четырёхугольника.
Рассмотрим другую задачу. Перед тобой схема в виде алгоритма. Это план выполнения действий:
Что же получится в результате? Посмотрим, как будет преобразована информация.
Выполняем действия с числом
36
36
по схеме:
1.
36
+
14
=
50.
36+14=50.
2.
50
50
— чётное число? (да)
3.
50
+
23
=
73.
50+23=73.
4.
73
73
— чётное число? (нет)
5.
73
+
18
=
91.
73+18=91.
ответ:
91.
91.
Входная информация: число
36.
36.
Выходная информация: число
91.
91.
Правило преобразования: схема (алгоритм).
План действий точно и правильно решать информационные задачи.
План действий может иметь вид таблицы, схемы или списка.
Преобразуй входную информацию в выходную, используя правило в виде шагов (последовательности действий).
Входная информация: число 36.
Правило преобразования: последовательность действий:
1. Ввод числа 36.
2. Разделить число на 2.
3. Прибавить 7.
4. Если результат — чётное число, прибавить 18, если нечётное — вернуться к пункту 3.
5. Вычесть 35.
var x, F: real;
begin
write('Введите х: ');
readln(x);
if ( x > -2.4 ) AND ( x < 5.7 ) then F := sqr(x)
else F := 4;
writeln('F = ', F);
end.
№2
var x, F: real;
begin
write('Введите х: ');
readln(x);
if ( x > 0.2 ) AND ( x < 0.9 ) then F := sin(x)
else F := 1;
writeln('F = ', F);
end.
№3
var a,b,c: real;
begin
write('Введите а: ');
readln(a);
write('Введите b: ');
readln(b);
write('Введите c: ');
readln(c);
if ( a < b ) AND ( b < c ) then writeln('a < b < c')
else
if ( b > a ) AND ( a > c ) then writeln('b > a > c')
else
writeln('Неравенства не выполняются');
end.
x,f:real;
begin
Write('Введите x: '); Readln(x);
if (x>-2.4) and (x<5.7) then f:=sqr(x)
else f:=4;
Writeln('F=',f)
end.
var
x,f:real;
begin
Write('Введите x: '); Readln(x);
if (x>0.2) and (x<0.9) then f:=sin(x)
else f:=1;
Writeln('F=',f)
end.
var
a,b,c:real;
begin
Write('Введите три числа: '); Readln(a,b,c);
Write('Условие ',a,'<',b,'<',c);
if (b>a) and (b<c) then Writeln(' выполняется.')
else Writeln(' не выполняется.');
Write('Условие ',b,'>',a,'>',c);
if (a<b) and (a>c) then Writeln(' выполняется.')
else Writeln(' не выполняется.')
end.