субота, 17 листопада 2018 р.

21.11.2018 7-А класс. 23.11.2018 7-Б класс

Алгоритмы ветвления

Команда полного ветвления в языке программирования  Object Pascal имеет такой общий вид:
If <логическое выражение>
Then 
begin <последовательность команд 1>
Еlse
begin <последовательность команд 2>
end;
(англ.If-если, then-то, else-иначе).
Исполняется эта команда так: вычисляется значение логического выражения; если это значение true, то исполняется последовательность команд 1 и после этого исполняется команда, следующая за ветвлением; если это значение false, то исполняется последовательность команд 2 и после этого исполняется команда, следующая за ветвлением.
Есть в Object Pascal  и команда неполного ветвления:
If <логическое выражение>
Then 
begin <последовательность команд >
end;
Исполняется эта команда так: вычисляется значение логического выражения; если это значение true, то исполняется последовательность команд  и после этого исполняется команда, следующая за ветвлением;   если это значение false, то сразу исполняется команда, следующая за ветвлением.
Задача: Вычислить значение выражения (a+2b)/(a-3b), где a,b - действительные числа.
Поскольку выражение содержит действие деления на выражение, которое может быть равно нулю (например, прия a=3 и  b=1), алгоритм решения этой задачи должен содержать ветвление, в котором будут учтены два возможных случая: значение выражения a-3b равно 0 и начение выражения a-3b не равно 0.
Переменная — область оперативной памяти, в котором лежит какое-то значение. Основные типы переменных в Object Pascal
  • Integer — целые числа.
  • Real — целые и дробные числа.
  • Boolean — логический тип.
  • Char — символьный тип данных.
  • String — строковой тип данных.
Если записать на языке Object Pascal алгоритм, приведенный на рисунке, то он будет выглядеть так:
var
  a,b,x,y,z: real;
begin
    a:=StrToFloat(Edit1.Text);
    b:=StrToFloat(Edit2.Text);
    x:=a-3*b;
    If x=0 Then
       Label1.Caption:='Выражение значения не имеет: деление на нуль'
     Else
         begin
              y:=a+2*b;
              z:=y/x;
              Label1.Caption:=FloatToStr(z);
        end;
end;

Домашнее задание:
учебник: п.6.4. стр.200-206, №4 стр.206 (составить алгоритм)

Немає коментарів:

Дописати коментар