Лекция Паскаль
.pdfОператор выбора
Пример №3: Ввести номер месяца и вывести количество дней в этом месяце.
Решение: Число дней по месяцам: 28 дней – 2 ( февраль)
30 дней – 4 ( апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь) 31 день – 1 ( январь), 3 (март), 5 (май), 7 (июль), 8 (август), 10 (октябрь), 12 (декабрь)
Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от номера месяца.
Алгоритм
начало
ввод M
M = 1?
нет
M = 2?
нет
M = 12?
нет
Ошибка
ни один вариант не подошел
да оператор
D := 31; |
выбора |
|
да
D := 28;
да
D := 31;
Вывод D
конец
Программа
program Example_3; var M, D: integer; begin
writeln('Введите номер месяца:'); readln ( M );
case M of
|
2: D := 28; |
4,6,9,11: D := 30; |
|
1,3,5,7,8,10,12: D := 31 |
|
else |
D := -1; |
end; |
|
ни один вариант не подошел
if D > 0 then
writeln('В этом месяце ', D, ' дней.') else
writeln('Неверный номер месяца'); readln
end.
Что неправильно?
case a of
2: begin b := a; 4: b := c;
end;
case a of 2..5: b := a; 4: b := c;
end;
case a+c/2 of 2: b := a; 4: b := c;
end;
case a of 2: b := a ; 4: b := c
end;
case a of 0..2: b := a; 63..3:6: b := c;
end;
begin case a of
2: b := a; d := 0; end; 4: b := c;
end;
Цикл – это многократное выполнение одинаковой последовательности действий.
цикл с известным числом шагов (цикл с переменной);
цикл с неизвестным числом шагов (цикл с условием).
Цикл с переменной
Увеличение переменной на 1:
for <переменная> := <начальное значение> to <конечное значение> do begin
{тело цикла}
end;
Уменьшение переменной на 1:
for <переменная> := <начальное значение> downto
<конечное значение> do begin
{тело цикла}
end;
Цикл с переменной
Особенности:
•переменная цикла может быть только целой (integer)
•шаг изменения переменной цикла всегда равен 1 (to)
или -1 (downto)
•если в теле цикла только один оператор, слова begin и end можно не писать:
for i:=1 to 8 do
writeln('Привет');
•если конечное значение меньше начального, цикл (to) не выполняется ни разу и наоборот с downto.
Пример №4: Вывести на экран квадраты и кубы целых чисел от 1 до 8.
Особенность: одинаковые действия выполняются 8 раз.
Алгоритм (с блоком "цикл")
начало |
|
начало |
|
|
|
i := 1..8 |
конец |
i := 1..8 |
|
|
i2 := i * i; |
|
i2 := i * i; |
i3 := i2 * i; |
|
i3 := i2 * i; |
i, i2, i3 |
i, i2, i3 |
тело цикла |
i := i+1 |
конец