Тема:Программирование цикла на Паскале

Содержание

Слайд 2

Проверка домашнего задания:

Какой алгоритм называется циклическим?
Что такое цикл?
Какие виды циклов бывают?
Запишите цикл

Проверка домашнего задания: Какой алгоритм называется циклическим? Что такое цикл? Какие виды
«пока» на естественном языке.
Блок-схема цикла «пока».
Запишите оператор цикла с предусловием.

Слайд 3

Задача 1:
Дано N кубиков с буквами. Сколько различных N-буквенных слов можно составить?
Рассмотрим

Задача 1: Дано N кубиков с буквами. Сколько различных N-буквенных слов можно
конкретный пример.
Из 2 кубиков получается 2 слова

К

И

И

К

Слайд 4

К

И

С

К

И

С

К

И

С

К

И

С

К

И

С

К

И

С

Из 3 кубиков получается 6 слов
2·3=6

К И С К И С К И С К И С

Слайд 5

К

И

С

Из 4 кубиков получается 24 слова
2·3·6=24

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К

И

С

А

К И С Из 4 кубиков получается 24 слова 2·3·6=24 А К

Слайд 6

Просматривается закономерность:

1 кубик – 1 слово
2 кубика – 2 слова
3 кубика –

Просматривается закономерность: 1 кубик – 1 слово 2 кубика – 2 слова
6 слов
4 кубика – 24 слова
5 кубиков -?

1=1
1·2=2
1·2·3=6
1·2·3·4=24
1·2·3·4·5=120

В общем случае:
Из N кубиков можно составить 1·2·…·N слов.

Слайд 7

функция Р= 1·2·…·N=N! -называется факториалом числаN

Построение алгоритма:
Ввести N
Р=1
i=1
Пока i≤N повторять
P =

функция Р= 1·2·…·N=N! -называется факториалом числаN Построение алгоритма: Ввести N Р=1 i=1
P * i
i = i + 1
Конец цикла
Вывести Р

P=P*i; i=i+1

да

нет

Слайд 8

запишем программу на Pascal

Program a1;
Var P,i,N: integer;
Begin
write(‘N=‘); read(N);
P:=1; i:=1;
while i<=N do
begin

запишем программу на Pascal Program a1; Var P,i,N: integer; Begin write(‘N=‘); read(N);
P:=P*I; i:=i+1; end;
write(‘P=‘,P)
End.

P=P*i; i=i+1

да

нет

Задание: дома составить трассировочную таблицу

Слайд 9

Задача 2:
Требуется составить программу наибольшего общего делителя (НОД) двух натуральных чисел N

Задача 2: Требуется составить программу наибольшего общего делителя (НОД) двух натуральных чисел
и M.
Из математики:
НОД(12,18)=6
12: 12,6,4,3,2,1
18: 18,9,6,3,2,1
Формулы нахождения НОД не существует, но известен алгоритмический способ решения.

Слайд 10

Алгоритм Евклида

Идея этого алгоритма основана на том свойстве, что если M>N, то

Алгоритм Евклида Идея этого алгоритма основана на том свойстве, что если M>N,

НОД(M,N)= НОД(M-N,N)
и НОД(M, M)= M

Евклид (Эвклид), древнегреческий математик, известный прежде всего как автор Начал, самого знаменитого учебника геометрии
Дата рожд: ок. 325 года до н.э.
Место рождения: или Афины или Тир
Дата смерти: до 265 года до н.э.
Известен как: «Отец Геометрии»

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

Слайд 11

Вычисление НОД

НОД = наибольший общий делитель двух натуральных чисел – это наибольшее

Вычисление НОД НОД = наибольший общий делитель двух натуральных чисел – это
число, на которое оба исходных числа делятся без остатка.

НОД(a, b)= НОД(a-b, b)= НОД(a, b-a)

Заменяем большее из двух чисел разностью большего и меньшего до тех пор, пока они не станут равны. Это и есть НОД.

НОД (18, 45) = НОД (18, 45-18) = НОД (18, 27)= НОД (18, 9) = =НОД(9,9)=9

Пример :

Слайд 12

Алгоритм Евклида:

Ввести N,M
Пока N≠M повторять
Если N>M то N=N-M иначе M=N-M
Конец цикла
Вывести М

Алгоритм Евклида: Ввести N,M Пока N≠M повторять Если N>M то N=N-M иначе

Слайд 13

program Evklid;
var m, n: integer;
begin
write(‘введите 2 числа');
read(m,n);
while m<>n do
begin
if

program Evklid; var m, n: integer; begin write(‘введите 2 числа'); read(m,n); while
m>n
then m:=m-n
else n:=n-m;
end;
write (‘НОД=',m);
end.

Слайд 14

Исполним алгоритм для M=18, N=12

нет

6

6

6≤12(да)

да

12

6

да

12

18

M≤N

M≠N

N

M

18≤12(нет)

На экране: М=6

Исполним алгоритм для M=18, N=12 нет 6 6 6≤12(да) да 12 6

Слайд 15

Задания практической работы:

Набрать текст программы для нахождения факториала. Выполнить для N=6 (должно

Задания практической работы: Набрать текст программы для нахождения факториала. Выполнить для N=6
получиться 720)
Набрать текст программы для нахождения НОД. Выполнить программу для m=32, n=24 и . m=696, n=234.
Самостоятельно решить задачи на карточке. (записать только программу на Паскале).