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

Содержание

Слайд 2

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

Тема 2. Ветвления

Программирование на языке Паскаль Тема 2. Ветвления

Слайд 3

Разветвляющиеся алгоритмы

Задача. Ввести два целых числа и вывести на экран наибольшее из

Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее
них.
Идея решения: надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого.
Особенность: действия исполнителя зависят от некоторых условий (если … то… иначе …).

Алгоритмы, в которых последовательность шагов зависит от выполнения некоторых условий, называются разветвляющимися.

Слайд 4

Блок-схема

program qq;
var a, b, max: integer;
begin
writeln('Введите два числа');
read ( a, b

Блок-схема program qq; var a, b, max: integer; begin writeln('Введите два числа');
);
if a > b then begin
end
else begin
end;
writeln (‘Большее число ', max);
end.

max := a;

max := b;

Слайд 5

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

if <условие> then begin
{что делать, если условие верно}
end

Условный оператор if then begin {что делать, если условие верно} end else
else begin
{что делать, если условие неверно}
end;

Особенности:
перед else НЕ ставится точка с запятой
вторая часть (else …) может отсутствовать (неполная форма)
если в блоке один оператор, можно убрать слова begin и end

Слайд 6

Вариант 1. Программа


max := a;

max := b;

полная форма условного оператора

program qq;
var a,

Вариант 1. Программа max := a; max := b; полная форма условного
b, max: integer;
begin
writeln('Введите два целых числа');
read ( a, b );
if a > b then begin
end
else begin
end;
writeln ('Наибольшее число ', max);
end.

Слайд 7

Что неправильно?

if a > b then begin
a := b;
end

Что неправильно? if a > b then begin a := b; end
else
b := a;
end;

if a > b then begin
a := b;
else begin
b := a;
end;

if a > b then begin
a := b;
end;
else begin
b := a; end;

if a > b then begin
a := b;
end
else b > a begin
b := a;
end;

begin

end

begin

end

if a > b then
else begin
b := a;
end;
if b > a then
b := a;

Слайд 8

Вариант 2. Блок-схема

неполная форма ветвления

Вариант 2. Блок-схема неполная форма ветвления

Слайд 9

Вариант 2. Программа


program qq;
var a, b, max: integer;
begin
writeln('Введите два целых числа');

Вариант 2. Программа program qq; var a, b, max: integer; begin writeln('Введите
read ( a, b );
max := a;
if b > a then
max := b;
writeln ('Наибольшее число ', max);
end.

неполная форма условного оператора

Слайд 10

Вариант 2Б. Программа

program qq;
var a, b, max: integer;
begin
writeln('Введите два целых числа');

Вариант 2Б. Программа program qq; var a, b, max: integer; begin writeln('Введите
read ( a, b );
max := b;
if ??? then
???
writeln ('Наибольшее число ', max);
end.

max := a;

a > b

Слайд 11

Задания

«3»: Ввести три числа и найти наибольшее из них.
Пример:
Введите три числа:
4

Задания «3»: Ввести три числа и найти наибольшее из них. Пример: Введите
15 9
Наибольшее число 15

Слайд 12

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

Тема 3. Сложные условия

© К.Ю. Поляков, 2006-2009

Программирование на языке Паскаль Тема 3. Сложные условия © К.Ю. Поляков, 2006-2009

Слайд 13

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

Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести

Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно.
возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»).
Особенность: надо проверить, выполняются ли два условия одновременно.

Слайд 14

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

начало

ввод x

'подходит'

да

нет

x >= 25 и
x <= 40?

'не подходит'

Вариант 2. Алгоритм начало ввод x 'подходит' да нет x >= 25 и x 'не подходит'

Слайд 15

Вариант 2. Программа

сложное условие

program qq;
var x: integer;
begin
writeln('Введите возраст');
read ( x

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

Слайд 16

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

Сложное условие – это условие, состоящее из нескольких простых условий (отношений),

Сложные условия Сложное условие – это условие, состоящее из нескольких простых условий
связанных с помощью логических операций:
not – НЕ (отрицание, инверсия)
and – И (логическое умножение, конъюнкция, одновременное выполнение условий)
or – ИЛИ (логическое сложение, дизъюнкция, выполнение хотя бы одного из условий)
xor – исключающее ИЛИ (выполнение только одного из двух условий, но не обоих)
Простые условия (отношения)
< <= > >= = <>

равно

не равно

Слайд 17

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

Порядок выполнения (приоритет = старшинство)
выражения в скобках
not
and
or, xor
<, <=, >, >=,

Сложные условия Порядок выполнения (приоритет = старшинство) выражения в скобках not and
=, <>
Особенность – каждое из простых условий обязательно заключать в скобки.
Пример

4 1 6 2 5 3

if not (a > b) or (c <> d) and (b <> a)
then begin
...
end

Слайд 18

Истинно или ложно при a := 2; b := 3; c :=

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

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

True

True

FALSE

(-∞; 6)


(6; 10)

(10; ∞)

(-∞; 10)

(-∞; 6) ∪ (10;∞)

(-∞; ∞)

(6; ∞)

x < 6

x > 10

x < 10

x > 6

True

True