Язык программирования PASCAL
Блок 3.
План.
I.
Алгоритмы ветвления.
1.
Условный оператор.
2.
Решение задач с
использованием условного оператора.
3.
Решение задач на алгоритмы
ветвления.
4.
Задание на самостоятельную
работу.
Если посмотреть на
многообразие задач математического, физического или другого содержания часто
приходится выполнять различные условия для того, чтобы выполнялась истина или
ложь. В этом случае мы будем иметь дело с алгоритмами ветвления. Блок-схема
этого алгоритма в общем виде
выглядит так.
Нет.
Да
Условные операторы в Turbo Pascal помогают нам осуществить проверку выполнения различных условий для
истинности того или иного выражения.
В данный язык
включены два условных оператора – if и case. Эти
операторы можно записать в полной и неполной форме.
If
условие Then оператор 1 Else
оператор 2 (полная форма)
If
условие Then оператор (неполная форма)
If
(если) Then (то)
Else (иначе)
Следует обратить
внимание на то, что в конце оператора, стоящего перед словом Else,
точка с запятой не ставится.
Нельзя ставить точку с запятой и после слова Then и Else, так как в этом случае соответствующая ветвь
оператора условного перехода считается пустой.
Пример 1. С
клавиатуры вводятся координаты точки (X,Y) на плоскости , причем X и
Y отличны от нуля. Указать в какой из четвертей находится
точка .
Алгоритм выполним в
виде пошагового исполнения.
1.
Имя алгоритма.
2.
Ввод координат точки с
клавиатуры.
3.
Просматриваем выполнение
следующих условий.
1)
если X>0 и
Y>0, то точка принадлежит 1 четверти.
2)
если X<0 и
Y>0, то точка принадлежит 2 четверти
3)
если X<0 и
Y<0, то точка принадлежит 3 четверти
4)
если X>0 и
Y<0, то точка принадлежит 4 четверти
4.
Вывод результата на экран.
5.
Стоп.
Запишем программу.
Program Pr4;
Uses CRT;
Var X, Y: real;
K: integer;
Begin
Written ('Wwedite coordinate
tochki X ,Y cherez probel');
Readln(X,Y);
If X>0 Then if
Y>0 then K:=1 else k:=4
Else if Y>0 then
K:=2 else k:=3;
Writeln('Tochka prinadl.',K,'-chetwerti');
Readln;
end.
Данная программа
записана в сжатом виде. Предлагаю вам записать в развернутом виде, следуя
данному алгоритму.
В алгоритмах
ветвления часто приходится использовать оператор безусловного перехода. GOTO (читается гоуту) переводится перейти на.
Приведем пример с
использованием данного оператора.
Задача. С клавиатуры вводится положительное двузначное
число N. Определить кратно ли оно 12. Предусмотреть проверку
вводимых значений, если оно положительное и двузначное, то оно должно находиться
в диапазоне между числами 10 и 99. Алгоритм выполним в виде блок-схемы.
Нет
Да
Программа.
Program Pr5;
Label R;
Var N: Integer;
Begin
R: Writeln ('Wwedite
chislo');
Readln (N);
If (N<10) or
(N>99) then goto R;
If N mod 12=0 then
Writeln ('chislo kratne 12')
else Writeln('chislo ne kratne 12');
Readln;
End.
Возможности в программировании на компьютере
безграничны . Составим программу, которая позволит решить любое квадратное
уравнение. Для этого вспомним основное правило решения данного уравнения,
используя дискриминант. При составлении алгоритма и при написании программы
будем использовать операторы условного и безусловного перехода. При написании
алгоритма воспользуемся пошаговым исполнением. Еще хочу заметить, что при
написании программы, в апострофных кавычках можно использовать русский либо
латинский язык. Вся данная информация предназначается только для пользователя.
Я рекомендую использовать латинский язык, т.к. со временем это пригодится при
учебе в ВУЗЕ.
Алгоритм.
1.
Имя программы
2.
Описание меток и всех
переменных.
3.
Ввод коэффициентов
уравнения A,B,C
4.
Нахождение
дискриминанта. D=B*B-4*A*C
5.
Условие решения
уравнения
а) если D<0 Уравнение корней не имеет. Переход на End.
б) если D>0 Уравнение имеет 2 действительных корня
X1= (-B+корень (D))/ (2*A)
X2= (-B-корень (D))/ (2*A)
6.
Вывод результата на
экран.
7.
Стоп.
Программа.
Program KWUR;
Uses CRT;
Label 100,200;
Var A, B, C: Integer;
D: Integer;
X1, X2: Real;
Begin
Writeln (‘Wwedite
koordinate urawnenij');
Readln (A); Readln
(B); Readln(c);
D: =B*B-4*A*C;
If D<0 Then GOTO
100;
Begin
X1:=(-B+SQRT
(D))/(2*A);
X2:=(-B-SQRT
(D))/(2*A);
Writeln ('D=', D);
Writeln('Korni urawnenij');
Writeln('X1=',X1:5:2);
Writeln ('X2=', X2:5:2);
Readln;
GOTO 200;
100: Writeln
('Urawnenie ne imeet kornej');
End;
200: End.
Задание на
самостоятельную работу.
1.
Задача 1. С клавиатуры
вводится 2 числа A,B . Составить алгоритм и программу,
которая определяет большее из чисел.
2.
Задача 2.На плоскости
задана фигура. Составить алгоритм и программу, которая определяет
принадлежность введенной точки с координатами
(X,Y) данной фигуре.
Y
1
1 1 X
1
3.
Задача повышенной
трудности. Заданы координаты
вершин треугольника на плоскости (x1,y1) , (x2,y2) , (x3,y3). Определить будут ли они являться вершинами
треугольника.
Желаю удачи.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.