Разветвляющиеся вычислительные процессы

Содержание

Слайд 2

Программирование разветвляющейся структуры.

Цель работы: закрепить знания условного оператора if, оператора переходов go

Программирование разветвляющейся структуры. Цель работы: закрепить знания условного оператора if, оператора переходов
to, научиться составлять программы разветвляющейся структуры.

Слайд 3

Составить программу на языке Паскаль, дать проверить её преподавателю.
Выполнить отладку программы, счет

Составить программу на языке Паскаль, дать проверить её преподавателю. Выполнить отладку программы,
по программе. Записать результаты в отчёт.
Оформить отчёт и сделать выводы по работе.
Составить блок-схему решения задачи.

Порядок выполнения работы

Слайд 4

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

Общий вид оператора

If условие then оператор р_1 Else оператор р_2;
И

Условный оператор if Общий вид оператора If условие then оператор р_1 Else
по ветке then и по ветке Else выполняется только один оператор

Слайд 5

Работа условного оператора: работа каждого варианта оператора определяется соответствующей схемой.

Вариант 1

Вариант 2

да

нет

нет

да

P1

P2

P1

Следующая

Работа условного оператора: работа каждого варианта оператора определяется соответствующей схемой. Вариант 1
строка

Следующая строка

условие

условие

Подчеркнём: после выполнения оператора(ов) P1 или Р2 во всех случаях обеспечивается переход к следующей строке.

Слайд 6

Пример:
Вычислить y = a sin1,3 при a=3. Если
y > 2, закончить

Пример: Вычислить y = a sin1,3 при a=3. Если y > 2,
задачу. В противном случае перейти к печати результата

Слайд 7

начало

а

конец

y=asin1,3

y>2

да

нет

y

начало а конец y=asin1,3 y>2 да нет y

Слайд 8

Программа (случай, когда действия по ветке Else отсутствуют)

Program p_3;
Var
a, y: real;
Begin
Writeln (

Программа (случай, когда действия по ветке Else отсутствуют) Program p_3; Var a,
‘a=‘ ); readln (a);
Y:=a*sin(1.3);
If y<2 then write ( ‘y=‘, y:4:2)
Else
end.

Слайд 9

Пример:
Найти минимальную из двух величин

Пример: Найти минимальную из двух величин

Слайд 10

начало

a,b

конец

a

да

нет

b

a

начало a,b конец a да нет b a

Слайд 11

Программа (действия по обеим веткам присутствуют )

Program p_4;
Var
A, b: real;
Begin
Readln (a);
Readln (b);
If

Программа (действия по обеим веткам присутствуют ) Program p_4; Var A, b:
aWriteln (‘a меньшая’, a)
Else
Writeln (‘b меньшая’, b)
End.

Слайд 12

Конструкция If – then - else

Конструкция If – then - else является

Конструкция If – then - else Конструкция If – then - else
одним оператором (внутри которого могут содержаться другие операторы), поэтому перед else нельзя ставить символ (;), так как это будет означать окончание работы оператора.
Работает он следующим образом. Если значение логического выражения истинно (True), то выполняется оператор 1, если ложно (False), то выполняется оператор 2. Далее в любом случае выполняется оператор, стоящий первым за этой конструкцией.

Слайд 13

Структура оператора if

Случай, когда по ветке then и по ветке Else выполняются

Структура оператора if Случай, когда по ветке then и по ветке Else
несколько операторов
If условие then
Begin
Оператор_1;
Оператор_2;

Оператор_n
End
Else
Begin
Оператор_1;
Оператор_2;

Оператор_n
end

Слайд 14

Квадратное уравнение

Program kv;
Var
A,b,c,d,x,x1,x2: real;
begin
Readln (a, b, c);
D:=b*b-4*a*c;
If d=0 then
begin
Write (‘корень

Квадратное уравнение Program kv; Var A,b,c,d,x,x1,x2: real; begin Readln (a, b, c);
один’, -b/(2*a));
End
Else
If d>0 then
Begin
Write (‘корни действительные’);
X1:=(-b-sqrt(d)/(2*a)); x2:=(-b+sqrt(d)/(2*a));
Writeln (‘x1=‘, x1:4:2);
Writeln (‘x2=‘, x2:4:2);
End
Else
Begin
Write (‘корни мнимые’);
End
End.

Слайд 15

Случай вложения условных операторов друг в друга

If условие then
If подусловие then

Случай вложения условных операторов друг в друга If условие then If подусловие
Begin
……………….
end
else
begin
……………….
end
else
begin
……………
end;
При вложениях условных операторов всегда действует правило: альтернатива else считается принадлежащей ближайшему условному оператору if, имеющему ветвь else.

Слайд 16

Логические операции в конструкции If – then - else

Помимо логических отношений,

Логические операции в конструкции If – then - else Помимо логических отношений,
в конструкции If – then - else используются логические операции.
Пример: можно ли построить треугольник из отрезков заданной длины х, у, z (x > 0, у > 0, z > 0).
Запись в программе:
If (х + у > z) And (х + z > у) And (у + z > х) then
Writeln('треугольник построить можно')
else
Writeln ('треугольник построить нельзя');
В данном случае оператор Writeln позволяет вывести на экран дисплея нужное сообщение. Следует обратить внимание, что логические выражения, связываемые через логические операции, всегда заключаются в круглые скобки.

Слайд 17

Пример: Найти наибольшее из трёх чисел.

Program max_3; var
A, b, c: real;
begin
Writeln (‘b=’); readln (b);
Writeln

Пример: Найти наибольшее из трёх чисел. Program max_3; var A, b, c:
(‘a=’); readln (a);
Writeln (‘c=’); readln (c);
If (a>b) and (a>c) then
begin
Writeln (‘a большая’, a)
end
Else
begin
If (b>a) and (b>c) then
Writeln (‘b большая’, b)
else
Writeln (‘c большая’, c)
end
end.

Слайд 18

Оператор варианта Case

Оператор варианта Case является более общим условным оператором, чем If-then-else.

Оператор варианта Case Оператор варианта Case является более общим условным оператором, чем
Он дает возможность выполнить один из нескольких операторов (или групп операторов) в зависимости от значения некоторого выражения. В общем случае оператор имеет вид:
Case <выражение> of
<список значений 1>: <оператор_1>;
<список значений 2>: <оператор _2>;
<список значений 3>: <оператор _3>;
….
<список значений n>: <оператор _n>
else
альтернативный оператор
end;

Слайд 19

Оператор варианта Case

Оператор варианта работает следующим образом. Если выражение принимает значение из

Оператор варианта Case Оператор варианта работает следующим образом. Если выражение принимает значение
списка значений 1, то выполняется оператор_1. Если выражение принимает значение из списка значений 2, то выполняется оператор_2.. Если выражение принимает значение из списка значений n, то выполняется оператор _n. Если выражение не принимает ни одно значение из имеющихся списков значений, то выполняется альтернативный оператор. Каждый оператор, идущий за двоеточием, отделяется от следующего списка значений точкой с запятой. Ветвь else , отвечающая всем неперечисленным значениям выражения, необязательна. В списках значение оператора case допустимыми являются целые и некоторые другие (но не вещественные) типы.

Слайд 20

Составить программу ввода величины t - времени в течении суток, и выдачи

Составить программу ввода величины t - времени в течении суток, и выдачи
текста:

«Вы уже проснулись?», если t<10
«Не пора ли обедать?», если t=12
«Ещё не вечер», если t ≥18
«Как работается?», в остальных случаях.

Слайд 21

C$ = «Вы уже проснулись?»
S$ = «Не пора ли обедать»

«Как работается?»

t

t<10

t=12

t≥18

начало

конец

нет

нет

нет

да

да

да

С$

S$

«Ещё не

C$ = «Вы уже проснулись?» S$ = «Не пора ли обедать» «Как
вечер»

Слайд 22

Программа

Program vremja_1;
Var
T: integer;
Begin
writeln (‘t=‘); readln (t);
case t of
8, 9: writeln (‘вы уже

Программа Program vremja_1; Var T: integer; Begin writeln (‘t=‘); readln (t); case
проснулись?‘);
12: writeln (‘не пора ли обедать?‘);
18, 19: writeln (‘ещё не вечер‘)
Else
writeln (‘как работается?‘);
End;
End.

Слайд 23

Программирование разветвляющейся структуры. Контрольные вопросы.

Какой алгоритм называется разветвляющимся?
Какие блоки используются при построении схем

Программирование разветвляющейся структуры. Контрольные вопросы. Какой алгоритм называется разветвляющимся? Какие блоки используются
разветвляющихся алгоритмов?
Какой блок называется логическим?
Каково назначение условного оператора?
Какой формат имеет условный оператор IF?
Как записывается полная форма условного оператора?
Можно ли после оператора _1 в структуре If-then-else ставить «;»?
Как записывается краткая форма условного оператора?
Какую структуру имеет составной оператор?
Какую структуру имеет оператор выбора?