Цель работы: научиться программировать алгоритмы разветвляющейся структуры, изучить команды ветвления в полной и неполной форме, освоить приемы ввода, редактирования, отладки и выполнения программы на языке Паскаль.
Разветвляющийся алгоритм это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий. На языке программирования Паскаль ветвление реализуется в виде условного оператора в полной и неполной форме.
В этом варианте при выполнении условия В этом варианте при выполнении условия |
||
выполняется команда условие ложно, то Оператор 2.
Технология работы:
|
Оператор выполнится |
1. Если выполняется только команда Оператор 1. Если команда условие неверно, то программа передаст управление следующей команде, которая будет записана после ветвления. |
Пример 1. Вывести на экран большее из двух целых чисел, используя полную форму ветвления.
program primer1;
var a,b:integer; { вводимые числа целого типа } begin
writeln ('введите первое число а='); readln(a);
writeln ('введите второе число b='); readln(b);
if a>b then write ('max=',a) else write ('max=',b); { проверка условия и выполнение соответствующего действия } end.
Пример 2. Вывести на экран большее из двух целых чисел, используя неполную форму ветвления.
program primer2;
var a,b,max:integer; { описание переменных } begin
writeln ('введите первое число а'); readln(a);
writeln ('введите второе число b'); readln(b); max:=a;
if b>max then max:=b;{ проверка условия и выполнение соответствующего действия } write ('max=',max); end.
Пример 3. Найти разность между большим и меньшим числом.
program primer3;
var a,b,c:integer; { описание переменных целого типа } begin
write ('введите первое число а='); readln(a);
write ('введите второе число b='); readln(b);
if a>b then c:=a-b else c:=b-a; { проверка условия и выполнение соответствующего действия }
write ('c=',c); { вывод нового значения с } end.
Пример 4. Вычислить значение переменной у по одной из двух ветвей:
program primer4;
var x,y:real; { переменные вещественного типа } begin
write ('введите х='); read(x);
if x>0 then y:=sqrt(x) else y:=sqr(x); writeln ('y=', y); end.
Подсказка: sqrt (x) функция вычисления квадратного корня числа: srt (x) функция возведения в квадрат числа: 𝑥2
Пример 5. Вычислить значение функции при любых значениях переменной x. |
program primer5; var x,y:real; begin
write ('введите х='); read(x); { ввод значения для x }
if x <> 2 then writeln (1/(x-2)) else write ('делить на ноль нельзя'); end.
Самостоятельно:
1. В компьютер вводятся два числа. Если первое больше второго, то вычислить их сумму, иначе – произведение. После этого компьютер должен напечатать результат и текст: ЗАДАЧА РЕШЕНА.
2. Вычислить значение переменной с по одной из двух ветвей:
3. Вычислить значение переменной у по одной из двух ветвей:
4. Вычислить значение переменной у по одной из двух ветвей:
5. Вычислить значение переменной c по одной из двух ветвей:
6. Вычислить значение переменной у по одной из двух ветвей:
7. Вычислить значение переменной у по одной из двух ветвей:
8. Вычислить значение переменной z по одной из двух ветвей:
3𝑎 + 1, если 𝑘 ≥ 0
𝑧 = {
3𝑎 − 1, если 𝑘 < 0
9. Проверьте, является ли величина S площадью прямоугольника со сторонами a и b.
10. Проверить, является ли величина Р периметром треугольника со сторонами a, b и c.
Задача 1. Написать программу: целое число М вводится с клавиатуры. Если оно неотрицательное, |
то увеличить его на 5. В противном случае – заменить числом ноль. |
program zadacha1;
var m:integer; {m – число целого типа, вводимое с клавиатуры } begin
readln(m); { ввод значения для m }
if m >= 0 then m:=m+5 else m:=0; { проверка условия и выполнение действия } write(m); { вывод нового значения m } end.
Задача 2. Заданы длины сторон треугольника, определить, является ли этот треугольник прямоугольным.
program zadacha2;
var a, b, c: real; { переменные вещественного типа } begin
readln ( a, b,c );
if a*a + b*b = c*c then writeln ('треугольник прямоугольный') else writeln ('не прямоугольный'); readln; end.
Задание 3. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.
program zadacha3;
var a,b,c,ko,kp:integer; {a,b,c - числа, ko - количество положительных, kp - количество отрицательных} begin
write('Введите через пробел три целых числа и нажмите Enter'); readln(a,b,c); { ввод значений для a,b,c} ko:=0; { обнуление счетчика отрицательных чисел} kp:=0; { обнуление счетчика положительных чисел}
if a > 0 then kp:=kp+1 else if a < 0 then ko:=ko+1; { проверка условия для числа a }
if b > 0 then kp:=kp+1 else if b < 0 then ko:=ko+1; { проверка условия для числа b }
if c > 0 then kp:=kp+1 else if c < 0 then ko:=ko+1; { проверка условия для числа c }
writeln('Количество положительных чисел = ',kp); write('Количество отрицательных чисел = ',ko); end.
Задание 4. Составить программу, которая предлагает Ивану-Царевичу выбрать правильное направление пути. У Ивана-Царевича есть три варианта дальнейшего пути: направо «Коня потеряешь», налево «Голову сложишь», вперед «Невесту найдешь».
program zadacha4;
var p:string; {p – число символьного типа, вводимое с клавиатуры } begin
writeln ('Куда путь держишь?'); readLn (p);
if p='направо' then writeln ('коня потеряешь'); if p='налево' then writeln ('голову сложишь'); if p='прямо' then writeln ('невесту найдешь'); end.
© ООО «Знанио»
С вами с 2009 года.