Рассматривается общий вид записи алгоритмической структуры "ВЕТВЛЕНИЕ", пример решения задачи со структурой Ветвление (математическая модель, блок-схема алгоритма, программа на языке Паскаль); общий вид записи алгоритмической структуры "ВЫБОР" и решения задач (Написать программу, которая по номеру дня недели (от 1 до 7) выдает название дня недели.).
Ветвление
Ветвление
(разветвляющийся
(разветвляющийся
алгоритм) алгоритм,
алгоритм) алгоритм,
в котором проверяется
в котором проверяется
условие, в зависимости
условие, в зависимости
от которого
от которого
выполняется один из
выполняется один из
двух возможных
двух возможных
вариантов.
вариантов.
дада
нетнет
условие
условие
действие1
действие1
действие2
действие2
If If условие
условие then
else
then действие1
действие1
else действие2;
действие2;
дада
действие
действие
нетнет
условие
условие
If If условие
условие then
then действие;
действие;
Найти значение
Найти значение
y
,1
,0
если
если
x
x
,0
0
1) Математическая модель
1) Математическая модель
Ввести значение х
Ввести значение х
, то y = 1y = 1
Если х>=0>=0, то
Если х
иначе y = 0y = 0
иначе
Вывести значение у
Вывести значение у
Найти значение
Найти значение
y
2) Блоксхема алгоритма
2) Блоксхема алгоритма
,1
,0
если
если
x
x
,0
0
дада
yy: : == 11
начало
начало
ввод хх
ввод
хх>>=0=0
вывод yy
вывод
конец
конец
нетнет
yy: : == 0 0
,0
Найти значение
Найти значение
0
33) Программа на языке Паскаль
) Программа на языке Паскаль
Program sravnenie;
Program
sravnenie;
если
если
,1
,0
x
x
y
UsesUses crt;
crt;
VarVar xx, , yy:Integer;
:Integer;
Введите xx’);’);
WriteWrite(‘(‘Введите
ReadRead((xx););
IfIf xx>=0
>=0 thenthen yy:=1:=1
elseelse yy:= 0;
:= 0;
Writeln (‘Значение
Writeln
Readln
Readln
(‘Значение уу=’, =’, yy););
Begin
Begin
EndEnd..
Часто возникают ситуации,
Часто возникают ситуации,
когда приходится осуществлять
когда приходится осуществлять
выбор одного из нескольких
выбор одного из нескольких
альтернативных путей
альтернативных путей
выполнения программы.
выполнения программы.
Несмотря на то, что такой
Несмотря на то, что такой
выбор можно организовать с
выбор можно организовать с
If ...Then, ,
помощью оператора If ...Then
помощью оператора
удобнее воспользоваться
удобнее воспользоваться
специальным оператором
специальным оператором
выбора.
выбора.
Формат оператора:
Формат оператора:
Case выражение of
Case выражение of
вариант : оператор;
вариант : оператор;
......
вариант : оператор;
вариант : оператор;
end;
end;
или
или
Case выражение of
Case выражение of
вариант : оператор;
вариант : оператор;
вариант : оператор;
вариант : оператор;
else оператор
else оператор
......
end;
end;
Задача 3. Вычислить значение функции
Задача 3.
Вычислить значение функции YY=(1+=(1+XX++XX22))NN, в
, в
принимает целые значения 1,2,3.
которой NN принимает целые значения 1,2,3.
которой
Program n3;
Program
n3;
UsesUses crt;
crt;
VarVar x, y: Real;
x, y: Real;
N: Integer;
N: Integer;
Readln(‘x’, x);
Readln(‘x’, x);
Readln(‘N (1,2,3)’, N);
Readln(‘N (1,2,3)’, N);
x:=1+x+x*x;
x:=1+x+x*x;
Case N of
Case N of
Begin
Begin
EndEnd..
EndEnd;;
Readln
Readln
1: Writeln(‘y=‘, x);
1: Writeln(‘y=‘, x);
2: Writeln(‘y=‘, x*x);
2: Writeln(‘y=‘, x*x);
3: Writeln(‘y=‘, x*x*x)
3: Writeln(‘y=‘, x*x*x)
Else Writeln(‘Нет данных
Else Writeln(‘
Нет данных’);’);
Написать программу, которая по номеру дня недели (от 1 до 7)
Написать программу, которая по номеру дня недели (от 1 до 7)
выдает название дня недели.
выдает название дня недели.
Program nedelja;
Program nedelja;
Uses crt;
Uses crt;
Var x: Integer;
Var x: Integer;
Begin
Begin
Введите день недели (1 (177)’);
)’);
Write (‘Введите день недели
Write (‘
Readln(x);
Readln(x);
Case хх of of
Case
понедельник‘);‘);
1: Writeln(‘понедельник
1: Writeln(‘
вторник’);’);
2: Writeln(‘вторник
2: Writeln(‘
среда‘)‘);;
3: Writeln(‘среда
3: Writeln(‘
четверг‘);‘);
44: Writeln(‘
: Writeln(‘четверг
: Writeln(‘пятница
55: Writeln(‘
пятница’);’);
66: Writeln(‘
: Writeln(‘суббота
суббота‘)‘);;
воскресенье‘)‘);;
77: Writeln(‘
: Writeln(‘воскресенье
Else Writeln (‘
Else Writeln (‘В неделе 7 дней
В неделе 7 дней’);’);
EndEnd;;
EndEnd..
Задача. Написать программу, которая по
введенному с клавиатуры номеру дня недели выводит
на экран рабочий он или выходной.
Program Week;
Program
Week;
UsesUses crt;
crt;
VarVar x: Integer;
x: Integer;
Begin
Begin
EndEnd;;
Readln
Readln
EndEnd..
Readln(‘ВведВведите номер дня в неделе 1 до 7
Readln(‘
Case x of
Case x of
ите номер дня в неделе 1 до 7’, x’, x););
1..5: Writeln(‘рабочий день
рабочий день‘);‘);
1..5: Writeln(‘
выходной день’);’);
77,6: Writeln(‘
,6: Writeln(‘выходной день
Else Writeln (‘В неделе 7 дней!');
(‘В неделе 7 дней!');
Else Writeln
Задача1. Написать
Написать
Задача1.
программу, которая по номеру
программу, которая по номеру
месяца (от 1 до 12) выдает
месяца (от 1 до 12) выдает
название месяца.
название месяца.
Задача2. Написать программу,
Написать программу,
Задача2.
которая по номеру месяца(от 1 до
которая по номеру месяца(от 1 до
12) выдает название времени
12) выдает название времени
года.
года.