Переход к циклической структуре

Содержание

Слайд 2

Цикл со счетчиком Цикл с предусловием Var i,N: integer; Begin Readln(N);

Цикл со счетчиком

Цикл с предусловием

Var i,N: integer;
Begin
Readln(N);
for i:=1 to

N do
Begin
Writeln(‘Тело цикла’);
End;
End.

Var i,N: integer;
Begin
Readln(N);
i:=0;
while (i Begin
i:=i+1;
Writeln(‘Тело цикла’);
End;
End.

Слайд 3

Задача Написать программу вычисления N! (N факториал): N!=1•2•3•4•…•N причем принято 0!=1

Задача

Написать программу вычисления N! (N факториал):
N!=1•2•3•4•…•N
причем принято 0!=1

Слайд 4

Математическая модель S(N)=1*2*3*…*N

Математическая модель

S(N)=1*2*3*…*N

Слайд 5

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1

Слайд 6

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1 при N=1: S(1)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=1

Слайд 7

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=1
при N=2:

S(2)=1*2
Слайд 8

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=1
при N=2:

S(2)=1*2
при N=3: S(3)=1*2*3
Слайд 9

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=1*1
при N=2:

S(2)=1*2
при N=3: S(3)=1*2*3
Слайд 10

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=1*1
при N=2:

S(2)=1*1*2
при N=3: S(3)=1*2*3
Слайд 11

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=1*1
при N=2:

S(2)=1*1*2
при N=3: S(3)=1*1*2*3
Слайд 12

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=1*1 =S(0)*1
при

N=2: S(2)=1*1*2
при N=3: S(3)=1*1*2*3

Произведем замену текущего значения функции через предыдущее значение

Слайд 13

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=1*1 =S(0)*1
при

N=2: S(2)=1*1*2 =S(1)*2
при N=3: S(3)=1*1*2*3
Слайд 14

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=1*1 =S(0)*1
при

N=2: S(2)=1*1*2 =S(1)*2
при N=3: S(3)=1*1*2*3 =S(2)*3
Слайд 15

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=S(0)*1
при N=2:

S(2)=S(1)*2
при N=3: S(3)=S(2)*3
Слайд 16

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: при N=0: S(0)=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
при N=0: S(0)=1
при N=1: S(1)=S(0)*1
при N=2:

S(2)=S(1)*2
при N=3: S(3)=S(2)*3

Опустим индексы (x), перейдем к последовательному вычислению S по шагам.

Слайд 17

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: S:=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: S:=1 (S=1)
шаг 1: S:=S*1

(S=1)
шаг 2: S:=S*2 (S=2)
шаг 3: S:=S*3 (S=6)
Слайд 18

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: S:=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: S:=1 (S=1)
шаг 1: S:=S*1

(S=1)
шаг 2: S:=S*2 (S=2)
шаг 3: S:=S*3 (S=6)

Введем дополнительную переменную и выполним замену

Слайд 19

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: S:=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: S:=1
шаг 1: a:=1; S:=S*a
шаг

2: S:=S*2
шаг 3: S:=S*3
Слайд 20

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: S:=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: S:=1
шаг 1: a:=1; S:=S*a
шаг

2: a:=2; S:=S*a
шаг 3: S:=S*3
Слайд 21

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: S:=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: S:=1
шаг 1: a:=1; S:=S*a
шаг

2: a:=2; S:=S*a
шаг 3: a:=3; S:=S*a
Слайд 22

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: S:=1

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: S:=1
шаг 1: a:=1; S:=S*a
шаг

2: a:=2; S:=S*a
шаг 3: a:=3; S:=S*a

Действие повторяется

Слайд 23

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: a:=0;

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: a:=0; S:=1
шаг 1: a:=1;

S:=S*a
шаг 2: a:=2; S:=S*a
шаг 3: a:=3; S:=S*a

добавим формально a:=0

Слайд 24

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: a:=0;

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: a:=0; S:=1
шаг 1: a:=a+1;

S:=S*a
шаг 2: a:=2; S:=S*a
шаг 3: a:=3; S:=S*a

Произведем замену a:=1 на формулу a+1

Слайд 25

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: a:=0;

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: a:=0; S:=1
шаг 1: a:=a+1;

S:=S*a
шаг 2: a:=a+1; S:=S*a
шаг 3: a:=3; S:=S*a

Произведем замену a:=2 на формулу a+1

Слайд 26

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: a:=0;

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: a:=0; S:=1
шаг 1: a:=a+1;

S:=S*a
шаг 2: a:=a+1; S:=S*a
шаг 3: a:=a+1; S:=S*a

Произведем замену a:=3 на формулу a+1

Слайд 27

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: a:=0;

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: a:=0; S:=1
шаг 1: a:=a+1;

S:=S*a
шаг 2: a:=a+1; S:=S*a
шаг 3: a:=a+1; S:=S*a

Шаги 1,2,3 полностью повторяются.

Слайд 28

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: a:=0;

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: a:=0; S:=1
шаг 1: a:=a+1;

S:=S*a
шаг 2: a:=a+1; S:=S*a
шаг 3: a:=a+1; S:=S*a

Шаг 0 – присвоение начальных значений

Слайд 29

Переход к циклической структуре возможен только тогда, когда действия на каждом

Переход к циклической структуре возможен только тогда, когда действия на каждом

последующем шаге абсолютно повторяют действия предыдущего шага, начиная с определенного шага (обычно шаг 1 или 2).
Слайд 30

Математическая модель S(N)=1*2*3*…*N Факториал для первых значений N: шаг 0: a:=0;

Математическая модель

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: a:=0; S:=1 – перед

циклом
шаг 1: a:=a+1; S:=S*a – тело цикла
шаг 2: a:=a+1; S:=S*a
шаг 3: a:=a+1; S:=S*a
Слайд 31

Математическая модель Порядок действий имеет значение! S(N)=1*2*3*…*N Факториал для первых значений

Математическая модель

Порядок действий имеет значение!

S(N)=1*2*3*…*N
Факториал для первых значений N:
шаг 0: a:=0;

S:=1
шаг 1: a:=a+1; S:=S*a
шаг 2: a:=a+1; S:=S*a
шаг 3: a:=a+1; S:=S*a
Слайд 32

Начальные значения вставить перед циклом Повторяющиеся шаги поместить внутрь цикла

Начальные значения вставить перед циклом

Повторяющиеся шаги поместить внутрь цикла

Слайд 33