Вы находитесь на странице: 1из 13

ПРОГРАММИРОВАНИЕ

РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ

НАЧАЛА ПРОГРАММИРОВАНИЯ
Ключевые слова

•условный оператор
•неполный условный оператор
•составной оператор
•вложенные ветвления
Общий вид условного оператора
Полная форма условного оператора:
if <условие> then <оператор_1> else <оператор_2>
Неполная форма условного оператора:
if <условие> then <оператор>

! Перед else знак «;» не ставится.

Условия - логические выражения

Простые Сложные

Операции Логические
отношений операции
Условный оператор

program n_9;
var x, a, b: real;
begin a, b, x
writeln ('Определение принадлежности
точки отрезку'); да нет
write ('Введите а, b>>'); (x>=a) and (x<=b)
readln (a, b);
write ('Введите x>>');
ДА НЕТ
readln (x);
if (x>=a) and (x<=b) then
writeln ('Точка принадлежит отрезку')
else writeln ('Точка не принадлежит отрезку')
еnd.
Неполный условный оператор
program n_10;
var y, a, b, c: integer;
begin
Y:=A
writeln ('Нахождение наибольшей из трёх величин');
write ('Введите а, b, с>>'); да нет
B>Y
readln (a, b, c);
y:=a; Y:=B
if (b>y) then y:=b;
да нет
if (c>y) then y:=c; C>Y
writeln ('y=', y)
Y:=C
end.
Составной оператор

В условном операторе и после then, и после else


можно использовать только один оператор.

Если в условном операторе после then или после else


нужно выполнить несколько операторов, то
используют составной оператор – конструкцию вида:
begin <последовательность операторов> end
Блок-схема решения КВУР
Начало

Введите коэффициенты a, b, c

d:=b*b-4*a*c

да нет
d<0
да нет
Вывод d:= 0
«Корней нет»
x:=-b/2/a

Вывод х1:=(-b+sqrt(d))/2/a
«Корень уравнения х=», х

х2:=(-b-sqrt(d))/2/a

Вывод
«Корни уравнения:
Конец х1=», х1, «х2=», х2
program n_11;
var a, b, c: real;
var d: real;
var x, x1, x2: real;
begin
writeln ('Решение квадратного уравнения');
write ('Введите коэффициенты a, b, c >>');
readln (a, b, c);
d:=b*b-4*a*c;
if d<0 then writeln ('Корней нет')
else
if d=0 then
begin
x:=-b/2/a;
writeln ('Корень уравнения x=', x:9:3)
end
else
begin
x1:=(-b+sqrt(d))/2/a;
x2:=(-b-sqrt(d))/2/a;
writeln ('Корни уравнения:');
writeln ('x1=', x1:9:3);
writeln ('x2=', x2:9:3)
end
end.
Вложенные ветвления

if <условие1> then
if <условие2> then <оператор1>
else <оператор2>
else <оператор3>

! else всегда относится к ближайшему оператору if


Решение линейного уравнения
Список данных
a, b, x - вещ

a, b
да нет
a<>0
x:=-b/a да нет
b<>0
program n_12; Корней нет Любое число
var a, b, x: real;
begin
writeln ('Решение линейного уравнения');
write ('Введите коэффициенты a , b>>');
readln (a, b);
if a<>0 then
begin
x:=-b/a;
writeln ('Корень уравнения x=', x:9:3)
end
else if b<>0 then writeln ('Корней нет')
else writeln ('x – любое число');

end.
Самое главное
При записи на языке Паскаль разветвляющихся
алгоритмов используют условный оператор:
if <условие> then <оператор_1> else <оператор_2>
Для записи неполных ветвлений используется
неполный условный оператор:
if <условие> then <оператор>
Если при некотором условии требуется выполнить
определённую последовательных операторов, то их
объединяют в один составной оператор, имеющий вид:
begin <последовательность операторов> end
Вопросы и задания
Полетришахматной
Напишите
Напишите
Составьте
Даны программу,
программу,
Дано
программу
натуральных доски
определяющую,
трёхзначное
для определяется
вычисляющую
числа.
решения число.
Напишите лежит
задачи: ли парой
точка
значение
программу,
Дан
Напишите
А(ха,
натуральных условный
ya ): чисел, оператор:
программу, каждое которая
из производит
которых не обмен
превосходит 8.
функции: Напишите
определяющую,
Известно, что программу,
существует
31 января которая
2011
ли определяет:
треугольник
года приходитсяс такимина
значений
Напишите
а)
If на
a<5
Используя прямой
then переменных
y = kx
программу,
c:=1
составной + l xнад
, y,ней
и которая
оператор, если илиx больше
под
по
упростите ней; yследующий
.
введённым
длинами
понедельник.
Имеются сторон.
Является Какие
данные
Что такоезначения
о
ли количестве
составной должны
условным быть оператором
полных
оператор? присвоены
лет трёх
есть
Даны
координатам
фрагмент
Напишителидве
среди точки
двух
программы: цифр в
полей
программу, плоской
заданного
-1 прямоугольной
lx) <0 целого
(вk,валгоритме,
при и (m, то
которой трёхзначного
n)определите
определяет,системе
пользователю
литерной
Если
является
призёров
Пример такойпеременной
последовательность
Для чеголитреугольник
спартакиады.
else if
входных число
a>5
он then
данных y
используется существует,
«перевёртышем»,
c:=2
символов? Пример
в условном определяющем
т.
выходных е.
операторе?данныхего
числом,
КакПример
числа
координат.
являются ли входных
наодинаковые
языке этиПаскаль; данных
Напишите
поля записывается
полями Пример
программу,
одного выходных
полное
цвета.определяющую, данных
и неполное
тип
день (равносторонний,
недели
предлагается
десятичная
Напишите
которая из
для
точек
любого
дополнить
запись
программу,
y = if
находится
равнобедренный,
которого
a>b0 числа
до
при 100 (chislo)
некоторое
читается
выбирающую
then
ветвление? x
ближе =0
c:=1;
к
января
началу
разносторонний).
целое
одинаково
и 2011
выводящую
координат. слеваа
года?
число
K,
x а)
>>L>>-1
if5x<y 5 then x:=0 elseelse
chislo:=c:=3 readТочка
chislo 5 лежит
=(y)
x100).mod 7 под прямой
(а - случайное число, меньшее
направо
возраст и справа
самого налево.
младшего призёра.
Пример
Какое входных
значение данных
имеет Пример
переменная выходныха данных
xa,
yОтвет ya >>1 2
>> 6 пользователя если
if a>bchislo=3
1 при x = 6 и комментируется. в
то
>0
theny d:=2;
проверяется у:='…‘ , если
K,
б) if x>=y
Пример
результате
Координаты
Пример
Пример
Пример
L>>-1 5 1then
входных

входных
входных
входных x:=0;данных
выполнения
го если
поля данных
данных
данных y:=0
chislo=4
>> 2 2 else
Пример
Поля
Пример
Пример
Пример
Точка
write
условного
то у:='…‘
одного (z)цвета
выходных
выходных
выходных
выходных
лежит над
данных
оператора
данных
данных
данных
прямой
x >> 6 x=5
переменной
Пример
Координаты
a b c>> 1 2входных
2 го ifданных
с1–присваивается
если
поля a<=bchislo=5
>> 3 then
3 Не c:=3;
то
значение
Примеру:='…‘ 3?
выходных
существует данных
в)
xa,
y >> if
ya5x<y
Координаты
123
123 >>1 <z10 then a:=a+1
1-й точки>>1,
если chislo=6 y
2 Нет = 6
Первая
Нет то у:='…‘ точка ближе
Координаты
K,
-5 L>>-1 5 1 – го поля if >> 2 then
a<=b 3 y Поля
Точка
=d:=4
-1 разного
лежит цвета
на прямой
a b c>>
Координаты 2 2 2 2-й если chislo=0
точки>>3, 4 то у:='…‘
Равносторонний
121
121
Координаты 2 – го поля >> 3 3 Перевёртыш Да
xa, ya >>1 4 если chislo=1 то у:='…‘
0a b c>>
Координаты 20 20
1 – 30
го поля >> 2 7 yРавнобедренный
= 0 одного цвета
Поля
222
222 если chislo=2 Дато у:='…‘
Перевёртыш
Координаты
5a b c>> 3 4 25– го поля >> 5 4 yРазносторонний =1
Опорный конспект

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

Полная форма

if <условие> then <оператор_1> else <оператор_2>

Неполная форма

if <условие> then <оператор>


Составной оператор

begin <последовательность операторов> end

Вам также может понравиться