Алгоритмизация и программирование разветвляющихся алгоритмов

Содержание

Слайд 2

1. Примеры разветвляющихся алгоритмов Разветвляющийся - алгоритм, в котором некоторые действия

1. Примеры разветвляющихся алгоритмов
Разветвляющийся - алгоритм, в котором некоторые действия выполняются

один раз или не выполняются совсем в зависимости от заданного условия.

Пример 1. Составить алгоритм вычисления функции.

Предусмотреть вывод номера расчетной формулы.

Слайд 3

начало Ввод х π x 0 5 . 2 sin 2

начало


Ввод

х


π

<

<

x

0


5

.

2

sin

2

2


=

x

x

y


N=1


x

x

y

2

2

sin

4

+

=


N=3


Вывод


x, y,

n


0

Ј

x


5

.

7

cos

2

3


+

=

x

x

y


N=2


Конец


да


нет


да

нет

Слайд 4

Пример2. Примером разветвляющегося алгоритма может служить алгоритм начисления стипендии по среднему

Пример2. Примером разветвляющегося алгоритма может служить алгоритм начисления стипендии по среднему

баллу.

- в качестве исходного данного задается значение среднего балла сдачи сессии студеном;
- если средний балл меньше 4, то стипендия – 0$;
- если средний балл больше 8, то начисляется стипендия в 500$;
- в остальных случаях начисляется стипендия размером в 200$;
- выводится значение начисленной стипендии.

Слайд 5

Слайд 6

2. Элементы языка программирования, необходимые для реализации разветвляющегося алгоритма. Логические выражения.

2. Элементы языка программирования, необходимые для реализации разветвляющегося алгоритма.

Логические выражения.
Логическое выражение

– любое выражение, возвращающее логическое значение (true или false).
При составлении логического выражения могут быть использованы все виды операций , в том числе операции отношения и логические операции.
Слайд 7

Операции отношения предназначены для сравнения двух величин. Результат сравнения имеет логический

Операции отношения
предназначены для сравнения двух величин. Результат сравнения имеет логический тип.

<

-меньше
<= - меньше или равно
> - больше
>= - больше или равно
<> - не равно
= -равно
Слайд 8

Логические операции. Применяются к величинам логического типа. Результат тоже логический. and

Логические операции.
Применяются к величинам логического типа. Результат тоже логический.
and (и),

or (или), not (не).

Таблица истинности not : пусть А и В – некоторые логические выражения.

Слайд 9

Таблица истинности and и or

Таблица истинности and и or

Слайд 10

Например, пусть a:=3 b:=7 not(a>b) =true not(b>a)=false Примеры логических выражений: (x+1)

Например, пусть a:=3 b:=7
not(a>b) =true not(b>a)=false

Примеры логических выражений:
(x+1)A>=B
Name1=Name
Sin(x+1)>(x+2)/3
((a>0) or

(b<0)) and (c<>0)
Слайд 11

Условный оператор. Реализует алгоритмическую конструкцию Ветвление и изменяет порядок выполнения операторов

Условный оператор.
Реализует алгоритмическую конструкцию Ветвление и изменяет порядок выполнения операторов в

зависимости от истинности или ложности некоторого условия.

а) Полная форма

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

Слайд 12

а) Сокращенная форма if then ;

а) Сокращенная форма

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

Слайд 13

Например, If x>5 Then y:=3*x+1.5;

Например,

If x>5 Then y:=3*x+1.5;

Слайд 14

If a > 5 Then b: = b + a Else b: = b – a;

If a > 5 Then
b: = b + a
Else


b: = b – a;
Слайд 15

Условный оператор выполняется следующим образом. Сначала вычисляется выражение, стоящее в условии.

Условный оператор выполняется следующим образом.
Сначала вычисляется выражение, стоящее в условии.


Если значение выражения равно true, выполняется оператор, стоящий после слова Then, а оператор, стоящий после слова Else игнорируется.
Если значение выражения равно false, выполняется оператор, стоящий после слова Else, а оператор, стоящий после слова Then игнорируется.
Слайд 16

Составной оператор. Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных

Составной оператор.
Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в

операторные скобки begin и end.

begin
<оператор 1>;
<оператор 2>;

<оператор n>
end;

Слайд 17

Он нужен в тех случаях, когда в соответствии с правилами построения

Он нужен в тех случаях, когда в соответствии с правилами построения

конструкций языка можно использовать один оператор, а выполнить нужно несколько действий.

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

Слайд 18

a>0 a=a+5 y=sina y Да y=2y Вывод y Да нет a≥-20

a>0

a=a+5

y=sina

y<0

Да

y=2y

Вывод y

Да

нет

a≥-20

Нет

y=cosa

Да

y=2.5a

Нет

a=a-3

Вывод а

Слайд 19

If a>0 then begin a:=a+5; y:= sin(a); If y begin y:=

If a>0 then

begin

a:=a+5; y:= sin(a);

If y <0 then
begin

y:=

2*y;

Writeln(’y=’,y)

end

end

else

begin

If a>= -20 then y:=cos(a) else y:=2.5*a;

a:=a-3

end;

Writeln(’a=’,a);

Слайд 20

3. Составление программы Составим программу для примера 1. Сначала подберем имена

3. Составление программы

Составим программу для примера 1. Сначала подберем имена для

всех переменных, которые будут использоваться в программе. Эти имена должны соответствовать правилам формирования идентификаторов.
Слайд 21

Таблица соответствия переменных

Таблица соответствия переменных

Слайд 22

program Project2; {$APPTYPE CONSOLE} uses SysUtils; {Раздел описания переменных} var x,y:real;

program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;

{Раздел описания переменных}
var
x,y:real;
n:integer;

begin
{Ввод исходных

данных}
write(' vvedite x');
readln(x);
Слайд 23

{Вычисление значения функции} if (x>0) and (x begin y:=2*sqr(x)/sin(x)-2.5; n:=1 end

{Вычисление значения функции}
if (x>0) and (x begin
y:=2*sqr(x)/sin(x)-2.5; n:=1

end
else
if x<=0 then
begin
y:=2*sqr(cos(x))*cos(x)+abs(x-7.5);
n:=2
end
else
begin
y:=4*sqrt(x*x+sqr(cos(x))); n:=3
end;
Слайд 24

{Вывод исходных данных и результатов} writeln(' x=',x:6:2,' y=',y:7:3); writeln('Raschet proveden po

{Вывод исходных данных и результатов}
writeln(' x=',x:6:2,' y=',y:7:3);
writeln('Raschet proveden po

formule ',n);

{Остановка выполнения программы до нажатия клавиши
ENTER }
readln
end.

Тесты для проверки:
x = -1 y = 8.815 n = 2
x = 0 y = 9.5 n = 2
x =1 y = -0.123 n = 1
x = 3.14 y = 13.188 n = 3
x = 5 y = 20.032 n = 3

Слайд 25

Пример 3. Даны числа a, b, c. Если все они равны

Пример 3.
Даны числа a, b, c. Если все они равны

нулю, вывести об этом сообщение, если среди чисел есть нули, заменить их единицами, в противном случае найти и вывести сумму исходных чисел.

Таблица соответствия переменных

Слайд 26

начало Ввод a, b, c a=0 и b=0 и c=0 Вывод

начало

Ввод a, b, c

a=0 и b=0 и c=0

Вывод
сообщения

Да

a≠0 и b≠0

и c≠0

нет

Да

нет

a=1

нет

S=a+b+c

Вывод S

A

a=0

Да

b=1

нет

b=0

Да

с=1

нет

с=0

Да

Слайд 27

A Вывод а, b, c конец program Project2; {$APPTYPE CONSOLE} uses

A

Вывод а, b, c

конец

program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;

{Раздел описания переменных}
var
a,b,c,S:real;

Слайд 28

begin {Ввод исходных данных} write(' vvedite tri chisla'); readln(a,b,c); if (a=0)and(b=0)and(c=0)

begin
{Ввод исходных данных}
write(' vvedite tri chisla');
readln(a,b,c);

if (a=0)and(b=0)and(c=0)

then

writeln (’vse chisla ravny nulju’)

else
if (a<>0) and (b<>0) and (c<>0) then

begin
S:=a+b+c;

writeln(’summa chisel =’,s:5:2)

end

Слайд 29

else begin if a=0 then a:=1; end; writeln(’a =’,a:5:2,’ b =’,b:5:2,’

else
begin

if a=0 then a:=1;


end;

writeln(’a =’,a:5:2,’ b

=’,b:5:2,’ c =’,c:5:2);

readln

end.

if b=0 then b:=1;

if c=0 then c:=1;

Слайд 30

Оператор выбора. Оператор выбора позволяет выбрать один из нескольких возможных вариантов

Оператор выбора.

Оператор выбора позволяет выбрать один из нескольких возможных вариантов продолжения

программы.

Реализует алгоритмическую структуру «Выбор»

Слайд 31

Общий вид: Case оf : ; : ; … : [Else

Общий вид:

Case <ключ выбора> оf
<список выбора 1>: <оператор 1>;
<список

выбора 2>: <оператор 2>;

<список выбора N>: <оператор N>
[Else <оператор>]
End;

Список выбора содержит перечисленные через запятую константы того же типа, что и ключ выбора.

Ключ выбора - это выражение целого, логического или символьного типа.

Слайд 32

Например, 1 или 4 Y=2x Y=3x Y=x+2 n 2 3 case

Например,

1 или 4

Y=2x

Y=3x

Y=x+2

n

2

3

case n of

1, 4 :

y:=2*x;

2 : y:=3*x;

3 : y:=x+2;

end;

Слайд 33

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

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

Сначала вычисляется значение выражения <ключ выбора>, затем

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

После этого оператор выбора завершает работу.

Если в списках выбора не будет найдена подходящая константа, управление передается операторам, стоящим после слова else.

Если часть else отсутствует, то при отсутствии в списках выбора нужного значения оператор case завершит свою работу.

Слайд 34

Пример. Составить программу, которая доводит до сведения студентов распоряжение деканата. начало

Пример. Составить программу, которая доводит до сведения студентов распоряжение деканата.

начало

Ввод номера


факультета n

1 ЭФ
2 – ФАИС

n

1

2

Ост. случаи

Вывод сообщ.
ЭФ

Вывод сообщ.
ФАИС

Вывод сообщ.
для ост. студ.

конец

Слайд 35

program Project2; {$APPTYPE CONSOLE} uses SysUtils; var n:byte; begin writeln('На каком

program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;

var
n:byte;

begin
writeln('На каком факультете Вы учитесь?');

writeln(' 1 – ЭФ, 2 - ФАИС');

Readln(n);