Алгоритмы ветвления
Команда полного ветвления в языке программирования 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.
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 (составить алгоритм)
Команда полного ветвления в языке программирования 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 — строковой тип данных.
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 (составить алгоритм)
Немає коментарів:
Дописати коментар