Программирование на языке Паскаль
Условный оператор
Условный оператор: полная форма
Условный оператор: неполная форма
Условный оператор
Знаки отношений
Вложенный условный оператор
Выделение структуры отступами
Задачи
Задачи
Сложные условия
Задачи
Задачи
Задачи
Множественный выбор
Использование списков и диапазонов
Множественный выбор
Задачи
Задачи
Задачи
524.00K
Category: programmingprogramming

Программирование на языке Паскаль

1. Программирование на языке Паскаль

1
Программирование
на языке Паскаль
§ 57. Ветвления
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

2. Условный оператор

Алгоритмизация и программирование, Паскаль, 10 класс
2
Условный оператор
Задача: изменить порядок действий в зависимости от
выполнения некоторого условия.
да
a > b?
M:= a
полная
форма
ветвления
нет
M:= b
вывод M
?
К.Ю. Поляков, Е.А. Ерёмин, 2013
Если a = b?
http://kpolyakov.spb.ru

3. Условный оператор: полная форма

Алгоритмизация и программирование, Паскаль, 10 класс
3
Условный оператор: полная форма
if a > b then
M:= a
else
M:= b;
!
Перед else знак «;»
НЕ ставится!
if a > b then begin
M:= a;
end
else begin
M:= b;
end;
операторные
скобки
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

4. Условный оператор: неполная форма

Алгоритмизация и программирование, Паскаль, 10 класс
4
Условный оператор: неполная форма
M:= a
да
b > M?
нет
M:= a;
if b > M then
M:= b;
M:= b
неполная
форма
ветвления
вывод M
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

5. Условный оператор

Алгоритмизация и программирование, Паскаль, 10 класс
5
Условный оператор
if a < b then begin
с:= a;
a:= b;
b:= c
end;
?
Можно ли обойтись
без переменной c?
К.Ю. Поляков, Е.А. Ерёмин, 2013
?
Что делает?
b
a
4
6
6
4
2
?
4
c
http://kpolyakov.spb.ru

6. Знаки отношений

Алгоритмизация и программирование, Паскаль, 10 класс
6
Знаки отношений
> <
больше, меньше
>=
больше или равно
<=
меньше или равно
=
<>
равно
не равно
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

7. Вложенный условный оператор

Алгоритмизация и программирование, Паскаль, 10 класс
7
Вложенный условный оператор
Задача: в переменных a и b записаны возрасты Андрея и
Бориса. Кто из них старше?
Сколько вариантов?
if a > b then
writeln('Андрей старше')
else
if a = b then
writeln('Одного возраста')
else
writeln('Борис старше');
?
?
Зачем нужен?
К.Ю. Поляков, Е.А. Ерёмин, 2013
вложенный
условный оператор
http://kpolyakov.spb.ru

8. Выделение структуры отступами

Алгоритмизация и программирование, Паскаль, 10 класс
8
Выделение структуры отступами
if a > b then write('А') else if a = b then
write('=') else write('Б');
if a > b then
write('А')
else
if a = b then
write('=')
else write('Б');
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

9. Задачи

Алгоритмизация и программирование, Паскаль, 10 класс
9
Задачи
«A»: Ввести три целых числа, найти максимальное из
них.
Пример:
Введите три целых числа:
1 5 4
Максимальное число 5
«B»: Ввести пять целых чисел, найти максимальное из
них.
Пример:
Введите пять целых чисел:
1 5 4 3 2
Максимальное число 5
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

10. Задачи

Алгоритмизация и программирование, Паскаль, 10 класс
10
Задачи
«C»: Ввести последовательно возраст Антона, Бориса и
Виктора. Определить, кто из них старше.
Пример:
Возраст Антона: 15
Возраст Бориса: 17
Возраст Виктора: 16
Ответ: Борис старше всех.
Пример:
Возраст Антона: 17
Возраст Бориса: 17
Возраст Виктора: 16
Ответ: Антон и Борис старше Виктора.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

11. Сложные условия

Алгоритмизация и программирование, Паскаль, 10 класс
11
Сложные условия
Задача: набор сотрудников в возрасте 25-40 лет
(включительно). сложное условие
if (v >= 25) and (v <= 40) then
writeln('подходит')
else
writeln('не подходит');
Приоритет :
исключающее
«ИЛИ»
1)not
2)and
3)or, xor
4) отношения (<, >, <=, >=, =, <>)
?
and
or
xor
not
Почему скобки обязательны?
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

12. Задачи

Алгоритмизация и программирование, Паскаль, 10 класс
12
Задачи
«A»: Напишите программу, которая получает три числа и
выводит количество одинаковых чисел в этой
цепочке.
Пример:
Введите три числа:
5 5 5
Все числа одинаковые.
Пример:
Введите три числа:
5 7 5
Два числа одинаковые.
Пример:
Введите три числа:
5 7 8
Нет одинаковых чисел.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

13. Задачи

Алгоритмизация и программирование, Паскаль, 10 класс
13
Задачи
«B»: Напишите программу, которая получает номер
месяца и выводит соответствующее ему время года
или сообщение об ошибке.
Пример:
Введите номер месяца:
5
Весна.
Пример:
Введите номер месяца:
15
Неверный номер месяца.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

14. Задачи

Алгоритмизация и программирование, Паскаль, 10 класс
14
Задачи
«C»: Напишите программу, которая получает возраст
человека (целое число, не превышающее 120) и
выводит этот возраст со словом «год», «года» или
«лет». Например, «21 год», «22 года», «25 лет».
Пример:
Введите возраст: 18
Вам 18 лет.
Пример:
Введите возраст: 21
Вам 21 год.
Пример:
Введите возраст: 22
Вам 22 года.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

15. Множественный выбор

Алгоритмизация и программирование, Паскаль, 10 класс
15
Множественный выбор
if m = 1 then
write('январь');
if m = 2 then
write('февраль');
...
if m = 12 then
write('декабрь');
case
1:
2:
...
12:
else
end;
m of
write('январь');
write('февраль');
write('декабрь')
write('ошибка')
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

16. Использование списков и диапазонов

Алгоритмизация и программирование, Паскаль, 10 класс
16
Использование списков и диапазонов
Число дней в месяце:
case m of
2: d:= 28; { невисокосный год }
1,3,5,7,8,10,12: d:= 31
else d:= 30
end;
Социальный статус:
case v of
0..6: write('дошкольник');
7..17: write('школьник')
else
write('взрослый')
end;
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

17. Множественный выбор

Алгоритмизация и программирование, Паскаль, 10 класс
17
Множественный выбор
var c: char;
несколько
...
операторов в
case c of
блоке
'а': begin
writeln('антилопа');
writeln('Анапа');
end;
...
'я': begin
writeln('ягуар');
writeln('Якутск');
end
else writeln('ошибка')
end;
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

18. Задачи

Алгоритмизация и программирование, Паскаль, 10 класс
18
«A»: Напишите программу, которая получает номер месяца и выводит его название и время года.
Пример:
Введите номер месяца:
5
Этот месяц – май, время года - весна.
Пример:
Введите номер месяца:
15
Неверный номер месяца.
«B»: На вход подается два числа: номер месяца и день. Напишите программу, которая
определяет дату следующего дня. Считайте, что год високосный (366 дней).
Пример:
Введите месяц и день: 12 25
Следующий день: 26 декабря
Пример:
Введите месяц и день: 2 29
Следующий день: 1 марта
Пример:
Введите месяц и день: 31 2
Неверная дата.
«C»: Напишите программу, которая получает день и номер месяца, а выводит количество
дней, оставшихся до 1 сентября или прошедших после 1 сентября. Считайте, что год
високосный. Учтите, что слово «дней» может иметь также формы «день» и «дня».
Пример:
Введите день и месяц: 17 1
Осталось 227 дней до 1 сентября.
Пример:
Введите день и месяц: 11 12
Прошло 102 дня после 1 сентября.
Пример:
Введите день и месяц: 31 2
Неверная
дата.
К.Ю. Поляков,
Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

19. Задачи

Алгоритмизация и программирование, Паскаль, 10 класс
19
Задачи
«A»: Напишите условие, которое определяет
заштрихованную область.
а)
а
б) б
y
) x2 y 2 4
y
)
в
y sin( x)
)
y 0,5
x
y x
x
x 2
«B»: Напишите условие, которое определяет
заштрихованную область.
а)
б)
y
в)
y x
y
y 1
y
x2 y 2 1
y x 1
x
y x2
0
y 2 x
x
x2 y2 1
x
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru

20. Задачи

Алгоритмизация и программирование, Паскаль, 10 класс
20
Задачи
«C»: Напишите условие, которое определяет
заштрихованную область.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
English     Русский Rules