Similar presentations:
Программирование на языке Паскаль. Ветвления
1. Программирование на языке Паскаль
1Программирование
на языке Паскаль
Ветвления
К.Ю. Поляков, Е.А. Ерёмин, 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?
?
Что делает?
b
a
4
6
6
4
2
?
4
c
Данный алгоритм (зелёным цветом) позволяет поменять
местами значения переменных а и b
К.Ю. Поляков, Е.А. Ерёмин, 2013
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
Сложные условия
Задача: набор сотрудников в возрасте 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
10. Составить программу
Алгоритмизация и программирование, Паскаль, 10 класс10
Составить программу
Задача 1: Напишите программу, которая определяет
делимость числа на 5 и 10.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
11. Составить программу
Алгоритмизация и программирование, Паскаль, 10 класс11
Составить программу
Блок-схема алгоритма:
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
12. Составить программу
Алгоритмизация и программирование, Паскаль, 10 класс12
Составить программу
Программа (делимость натурального числа на 5 и 10):
program MyProgram;
var
x : integer;
begin
writeln ('Введите число');
readln (x);
if x mod 10 = 0 then
writeln (‘Число делится на 10 и 5')
else
if x mod 5 = 0 then
writeln (‘Число делится на 5 и не делится на 10')
else
writeln (‘Число не делится на 10 и 5');
end.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
13. Задания
Алгоритмизация и программирование, Паскаль, 10 класс13
Задания
Задача 2: Напишите программу, которая определяет
принадлежит ли точка с координатами x и y
заштрихованной области.
а)
а
y
) x2 y 2 4
x
y x
x 2
Пример выполнения программы:
Введите координаты точки
1.9 1.8
Точка принадлежит
заштрихованной области
К.Ю. Поляков, Е.А. Ерёмин, 2013
program
в
б) бMyProgram;
y sin( x)
y
var
)x,y: real;
)
y 0,5
begin
writeln ('Введите координаты точки');
readln (x,y);
if (x<=2) and (y<=x) and (x*x+y*y>=4)
x and (y>=0)
then
writeln ('Точка принадлежит заштрихованной области')
else
writeln ('Точка не принадлежит заштрихованной области');
end.
http://kpolyakov.spb.ru
14. Задания
Алгоритмизация и программирование, Паскаль, 10 класс14
Задания
Задача 3 Напишите СЛОЖНОЕ УСЛОВИЕ на языке Паскаль,
которое определяет заштрихованную область.
а)
а
б) б
y
) x2 y 2 4
y
)
в
y sin( x)
)
y 0,5
x
y x
x
x 2
Задача 4: Напишите СЛОЖНОЕ УСЛОВИЕ на языке Паскаль,
которое определяет заштрихованную область.
а)
б)
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
15. Задачи домашней работы
Алгоритмизация и программирование, Паскаль, 10 класс15
Задачи домашней работы
Задания на составление программ
выполняются в среде программирования,
тексты программ копируются в один
текстовый файл word и высылаются на
почту учителю. Название файла должно
иметь формат Фамилия_урок 3
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
16. Задачи
Алгоритмизация и программирование, Паскаль, 10 класс16
Задачи
Задача 1: Напишите программу, которая получает три
числа и выводит количество одинаковых чисел в этой
цепочке.
Пример:
Введите три числа:
Напоминание!
5 5 5
Составьте сначала алгоритм
Все числа одинаковые.
решения задачи и оформите его
в виде блок-схемы. Затем
Пример:
напишите программу,
Введите три числа:
реализующую данный алгоритм.
5 7 5
Два числа одинаковые.
Пример:
Введите три числа:
5 7 8
Нет одинаковых чисел.
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
17. Задачи
Алгоритмизация и программирование, Паскаль, 10 класс17
Задачи
Задача 2-4 (три программы): Напишите программу,
которое определяет заштрихованную область.
а)
б)
y
в)
y x
y
y 1
y
x y 1
2
2
y x 1
x
y x2
0
y 2 x
x
x2 y2 1
x
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
18. Задачи
Алгоритмизация и программирование, Паскаль, 10 класс18
Задачи
Задача 5: Напишите программу, которая получает
возраст человека (целое число, не превышающее
120) и выводит этот возраст со словом «год», «года»
или «лет». Например, «21 год», «22 года», «25 лет».
Пример:
Напоминание!
Введите возраст: 18
Не спешите сразу писать
Вам 18 лет.
программу в среде.
Составьте сначала алгоритм
Пример:
решения задачи и оформите его,
Введите возраст: 21
например, в виде блок-схемы.
Затем напишите программу,
Вам 21 год.
реализующую данный алгоритм.
Пример:
Введите возраст: 22
Вам 22 года.
Разрешается использовать только условный оператор (IF
then … else) и используйте вложенный условный оператор.
К.Ю. Поляков, Е.А. Ерёмин, 2013
..
http://kpolyakov.spb.ru
19. Задачи
Алгоритмизация и программирование, Паскаль, 10 класс19
Задачи
Дополнительная задача: Напишите условие, которое
определяет заштрихованную область.
Данное задание выполняется в тетради
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru