Структурой являются простейшими и используются, как правило, для реализации обычных вычислений по формулам (или других аналогичных задач, назначение которых - последовательное выполнение некоторых команд). Основная характеристика линейных алгоритмов - инструкции выполняются последовательно, одна за другой.
Но линейных алгоритмов, как правило, недостаточно для реализации какой-то более сложной задачи. К примеру, требуется программа, запрашивающая у пользователя 2 числа и вычисляющая их частное (т.е. выполняющая деление одного числа на другое). Всё бы ничего, но если второе число будет нулём? В результате выполнения деления возникнет ошибка и программа экстренно закончит свою работу. Как же быть? В этом случае нужен другой алгоритм - алгоритм с ветвлениями.
Ветвления (выбор) используются для выбора одного из нескольких направлений дальнейшего хода программы. Для нашего примера перед делением будет выбор из двух направлений - если исходные данные верны (т.е. второе число - не 0), то выполняется деление и выдаётся результат; но если второе число - 0, то деление выполнено не будет, а взамен, к примеру, пользователю будет выдано сообщение об ошибке.
Мы рассмотрим два типа ветвления - с помощью условного оператора и оператора выбора.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«Урок по теме "Ветвление и выбор в Turbo Pascal"»
Ветвление(разветвляющийся алгоритм) - алгоритм, в котором проверяется условие, в зависимости от которого выполняется один из двух возможных вариантов.
да
нет
условие
действие1
действие2
Ifусловиеthenдействие1
elseдействие2;
да
нет
условие
действие
Ifусловиеthenдействие;
Часто возникают ситуации, когда приходится осуществлять выбор одного из нескольких альтернативных путей выполнения программы. Несмотря на то, что такой выбор можно организовать с помощью оператораIf ...Then, удобнее воспользоваться специальнымоператором выбора.
или
Case выражение of
вариант : оператор;
...
вариант : оператор;
else оператор
end;
Задача 3. Вычислить значение функции Y =(1+ X + X 2 ) N , в которой N принимает целые значения 1,2,3.
Program n3;
Uses crt;
Var x, y: Real;
N: Integer;
Begin
Readln(‘x’, x);
Readln(‘N (1,2,3)’, N);
x:=1+x+x*x;
Case N of
1: Writeln(‘y=‘, x);
2: Writeln(‘y=‘, x*x);
3: Writeln(‘y=‘, x*x*x)
Else Writeln(‘ Нет данных ’);
End ;
Readln
End .
Написать программу, которая по номеру дня недели (от 1 до 7) выдает название дня недели.
Program nedelja;
Uses crt;
Var x: Integer;
Begin
Write (‘Введите день недели(1-7)’);
Readln(x);
Caseхof
1: Writeln(‘понедельник‘);
2: Writeln(‘вторник’);
3: Writeln(‘среда‘);
4: Writeln(‘четверг‘);
5: Writeln(‘пятница’);
6: Writeln(‘суббота‘);
7: Writeln(‘воскресенье‘);
Else Writeln (‘В неделе 7 дней’);
End;
End.
Задача.Написать программу, которая по введенному с клавиатуры номеру дня недели выводит на экран рабочий он или выходной.
Program Week;
Uses crt;
Var x: Integer;
Begin
Readln(‘ Введите номер дня в неделе 1 до 7 ’, x);
Case x of
1..5: Writeln(‘ рабочий день ‘);
7 ,6: Writeln(‘ выходной день ’);
Else Writeln (‘В неделе 7 дней !');
End ;
Readln
End .
Задача.Написать программу, которая по номеру месяца (от 1 до 12) выдает название месяца.
Задача2.Написать программу, которая по номеру месяца(от 1 до 12) выдает название времени года.