Вариант 1. Алгоритм
Вариант 1. Программа на ШАЯ (Кумир)
Вариант 2. Алгоритм
Вариант 2. Программа на ШАЯ (Кумир)
Сложные условия
Сложные условия
Сложные условия на ШАЯ (Кумир)
Сложные условия на ШАЯ (Кумир)
747.00K
Категория: ПрограммированиеПрограммирование

Алгоритмическая конструкция ветвление

1.

АЛГОРИТМИЧЕСКАЯ
КОНСТРУКЦИЯ ВЕТВЛЕНИЕ
Сложные условия
ОСНОВНЫЕ
АЛГОРИТМИЧЕСКИЕ
КОНСТРУКЦИИ

2.

Простые и составные условия
Простые условия состоят из одной операции сравнения.
Составные условия получаются из простых с помощью
логических связок and (и), or (или), not (не).
Пример. Алгоритм определения принадлежности точки Х
отрезку [A; B].
A, B, X
да
(X>=A) and (X<=B)
ДА
нет
НЕТ
Ответ:
Ответ:Не
Принадлежит
принадлежит
A=2
B=4
X=4
B=6
X=6

3.

Программирование на алгоритмическом языке
3
Сложные условия
Задача. Фирма набирает сотрудников от 25 до 40 лет
включительно. Ввести возраст человека и определить,
подходит ли он фирме (вывести ответ «подходит» или
«не подходит»).
Особенность: надо проверить, выполняются ли два
условия одновременно.
?
Можно ли решить известными методами?
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

4. Вариант 1. Алгоритм

Программирование на алгоритмическом языке
4
Вариант 1. Алгоритм
начало
ввод x
да
да
“подходит”
x <= 40?
x >= 25?
нет
нет
“не подходит”
“не подходит”
конец
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

5. Вариант 1. Программа на ШАЯ (Кумир)

Программирование на алгоритмическом языке
5
Вариант 1. Программа на ШАЯ (Кумир)
алг Сотрудник
нач
цел x
вывод "Введите ваш возраст", нс
ввод x
если x >= 25 то
если x <= 40 то
вывод "Подходит!"
иначе
вывод "Не подходит."
все
иначе
вывод "Не подходит."
все
кон
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

6.

Вариант 1. Программа на языке Паскаль
program p1;
var x: integer;
begin
writeln('Введите возраст');
read ( x );
if x >= 25 then
if x <= 40 then
writeln ('Подходит')
else writeln ('Не подходит')
else
writeln ('Не подходит');
end.
6

7. Вариант 2. Алгоритм

Программирование на алгоритмическом языке
7
Вариант 2. Алгоритм
начало
ввод x
да
x >= 25
и
x <= 40?
“подходит”
нет
“не подходит”
конец
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

8. Вариант 2. Программа на ШАЯ (Кумир)

Программирование на алгоритмическом языке
8
Вариант 2. Программа на ШАЯ (Кумир)
алг Сотрудник
нач
цел x
вывод "Введите ваш возраст", нс
ввод x
если x >= 25 и x <= 40 то
вывод "Подходит!"
иначе
сложное
вывод "Не подходит."
условие
все
кон
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

9.

Вариант 2. Программа на языке Паскаль
program qq;
var x: integer;
begin
сложное
writeln('Введите возраст');
условие
read ( x );
if (x >= 25) and (x <= 40) then
writeln ('Подходит')
else writeln ('Не подходит')
end.
9

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

Программирование на алгоритмическом языке
10
Сложные условия
равно
Простые условия (отношения)
<
<=
>
>=
=
<>
не равно
Сложное условие – это условие, состоящее из нескольких
простых условий (отношений), связанных с помощью
логических операций:
• И (and – И одновременное выполнение условий))
x >= 25 И x <= 40
• ИЛИ (or – ИЛИ (выполнение хотя бы одного из
условий))
x <= 25 ИЛИ x >= 40
• НЕ (not – НЕ (отрицание, инверсия, обратное условие))
НЕ (x > 25)
x???
<= 25
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

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

Программирование на алгоритмическом языке
11
Сложные условия
Порядок выполнения (приоритет = старшинство)
ШАЯ (Кумир):
• выражения в скобках
• НЕ
• <, <=, >, >=, =, <>
• И
• ИЛИ
Пример на ШАЯ (Кумир):
Паскаль:
• выражения в скобках
• not
• and
• or
• <, <=, >, >=, =, <>
Особенность – каждое из простых условий
обязательно заключать в скобки.
2
1
6
3
5
4
если не (a > 2) или c <> 5 и b < a то
...
все
Пример на языке Паскаль:
4
1
6
2
5
3
if not (a > b) or (c <> d) and (b <> a)
then begin
...
end
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

12. Сложные условия на ШАЯ (Кумир)

Программирование на алгоритмическом языке
12
Сложные условия на ШАЯ (Кумир)
Истинно или ложно при a := 2; b := 3; c := 4; d:=5
Да
не (a > b)
Да
a < b и b < c
Нет
a > c или b > c
a < b и b > c
Нет
a > c и b > d
Нет
Да
не (a >= b) или c = d
Да
a >= b или не (c < b)
a > c или b > c или b > a
К. Поляков, 2010-2011
Да
http://kpolyakov.narod.ru

13. Сложные условия на ШАЯ (Кумир)

Программирование на алгоритмическом языке
13
Сложные условия на ШАЯ (Кумир)
Для каких значений x истинны условия:
x
x
x
x
x
x
x
x
<
<
>
>
<
<
>
>
6
6
6
6
6
6
6
6
К. Поляков, 2010-2011
и x
и x
и x
и x
или
или
или
или
<
>
<
>
x
x
x
x
x<6
10
нет таких
10
6 < x < 10
10
x > 10
10
x < 10
< 10
> 10
все x
< 10
x>6
> 10
http://kpolyakov.narod.ru

14.

Сложные условия на языке Паскаль
Истинно или ложно при a := 2; b := 3; c := 4;
True
not (a > b)
True
(a < b) and (b < c)
True
not (a >= b) or (c = d)
True
(a < c) or (b < c) and (b < a)
(a < b) and (b > c)
FALSE
Для каких значений
(x
(x
(x
(x
(x
(x
(x
(x
<
<
>
>
<
<
>
>
6)
6)
6)
6)
6)
6)
6)
6)
x истинны условия:
and (x < 10)
and (x > 10)
and (x < 10)
and (x > 10)
or (x < 10)
or (x > 10)
or (x < 10)
or (x > 10)
(- ; 6)
(6; 10)
(10; )
(- ; 10)
(- ; 6) (10; )
(- ; )
(6; )
x<6
x > 10
x < 10
x>6
14

15.

Программирование на алгоритмическом языке
15
Задания
«3»: Ввести три числа и определить, верно ли, что они
вводились в порядке возрастания.
Пример:
Введите три числа:
4 5 17
да
«4»: Ввести номер месяца и вывести название времени
года.
Пример:
Введите номер месяца:
4
весна
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

16.

Программирование на алгоритмическом языке
16
Задания
«5»: Ввести возраст человека (от 1 до 150 лет) и вывести
его вместе с последующим словом «год», «года»
или «лет».
Пример:
Введите возраст:
24
Вам 24 года
К. Поляков, 2010-2011
Введите возраст:
57
Вам 57 лет
http://kpolyakov.narod.ru

17.

Программирование на алгоритмическом языке
К. Поляков, 2010-2011
http://kpolyakov.narod.ru

18.

Наибольшая из 3-х величин
Переменной Y присваивается значение большей из трёх
величин A, B и C.
YY
B==>Y
AB
C
Шаг
Y:=A
да
B>Y
нет
Y:=B
1
Константы
А
В
С
10
30
20
Переменная
Y
10
2
да
Y:=C
C>Y
30 > 10 (Да)
нет
3
Условие
30
4
20 > 30 (Нет)
Ответ: Y = 30

19.

Решение линейного уравнения ax + b = 0
Список данных
a, b, x - вещ
a, b
да
x:=-b/a
нет
a<>0
да
Корней нет
b<>0
нет
Любое число

20.

Самое главное
Для записи любого алгоритма достаточно трёх
основных алгоритмических конструкций (структур):
следования, ветвления, повторения.
Ветвление - алгоритмическая конструкция, в которой
в зависимости от результата проверки условия (да или
нет)
предусмотрен
выбор
одной
из
двух
последовательностей действий (ветвей).
Алгоритмы, в основе которых лежит структура
«ветвление», называют разветвляющимися.

21.

Опорный конспект
Ветвление - алгоритмическая конструкция, в которой в
зависимости от результата проверки условия (да или нет)
предусмотрен выбор одной из двух последовательностей действий
(ветвей).
Алгоритмы, в основе которых лежит структура «ветвление»,
называют разветвляющимися.
Да
Действие 1
Условие
Нет
Действие 2
Полная форма ветвления
Да
Условие
Нет
Действие 1
Неполная форма ветвления
English     Русский Правила