Операторы цикла в среде программирования Pascal ABC

Содержание

Слайд 2

ЦИТАТА «Недостойно человеку одаренному, тратить подобно рабу, часы на вычисления, которые,

ЦИТАТА

«Недостойно человеку одаренному, тратить подобно рабу, часы на вычисления, которые, безусловно,

можно было бы доверить любому лицу, если при этом применить машину»
Готфрид Лейбниц (1646 – 1716) – немецкий
математик, физик, философ, юрист, языковед.
Слайд 3

ЛЕГЕНДА О СОЗДАТЕЛЕ ШАХМАТ Проблемная ситуация: смог ли принц Сирам выполнить

ЛЕГЕНДА О СОЗДАТЕЛЕ ШАХМАТ
Проблемная ситуация: смог ли принц Сирам выполнить желание

Сеты?

По преданию, индийский принц Сирам, восхищенный игрой в шахматы, призвал к себе ее создателя, ученого Сету, и сказал:
- Я желаю достойно наградить тебя за прекрасную игру. Я достаточно богат, чтобы исполнить любое твое желание.
Сета попросил принца положить на первую клетку шахматной доски 1 зерно, на вторую - 2 зерна, на третью - 4 зерна и т. д.
Математическая модель:
1 + 2 + 4 + 8 + 16 + ... =
= 1 + 1∙2 +2∙2 +4∙2 +8∙2 + ...=
= 20 + 21 + 22+ 23 + ... + 263.

Слайд 4

ЗАДАЧА ИЗ «АРИФМЕТИКИ» МАГНИЦКОГО Проблемная ситуация: верно ли, что за гвозди

ЗАДАЧА ИЗ «АРИФМЕТИКИ» МАГНИЦКОГО
Проблемная ситуация:
верно ли, что за гвозди придется

уплатить не более 10 рублей?

Некто продал лошадь за 156 рублей. Но покупатель, приобретая лошадь, раздумал ее покупать и возвратил продавцу, говоря:
- Нет мне расчета, покупать за эту цену лошадь, которая таких денег не стоит.
Тогда продавец предложил другие условия:
- Если, по-твоему, цена лошади высока, то купи только ее подковные гвозди. Лошадь же тогда получишь в придачу бесплатно. Гвоздей в подкове шесть. За первый гвоздь дай мне всего ¼ копейки, за второй ½ копейки. За третий 1 копейку и т. д.
Покупатель, соблазнившись низкой ценой и желая даром получить лошадь, принял условия продавца, рассчитывая, что за эти гвозди придется уплатить не более 10 рублей.

Слайд 5

Задача Вычислить сумму: s = 1 + 2 + 3 +

Задача

Вычислить сумму:
s = 1 + 2 + 3 +

... + п, если значение п задано, не применяя формулу суммы членов арифметической прогрессии.
Алгоритм решения:
Начать сумму с нуля, то есть переменной s присвоить 0
(s :=0).
Переменной i присвоить значение 1 (i :=1).
Добавить к сумме значение i (s := s + i).
Увеличить i на 1 (i:= i + 1).
Повторять пункты 3 и 4, пока не дойдем до слагаемого n.
Слайд 6

Цикл с предусловием Цикл с постусловием пока (условие истинно) повторять (действие)

Цикл с предусловием Цикл с постусловием
пока (условие истинно)
повторять (действие)
while

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

repeat
<группа операторов> until <условие>;
repeat (повторять), until (пока не)

нет
да


нет
да

условие

действие

действие

условие

Слайд 7

Цикл с параметром (со счетчиком) (цикл «для» - for.. .to/downto) Синтаксис

Цикл с параметром (со счетчиком)

(цикл «для» - for.. .to/downto)

Синтаксис оператора цикла

с параметром

for <параметр цикла > :=
< начальное значение параметра цикла>
to < конечное значение параметра цикла >
do begin
<операторы (тело цикла)> end;
for (для), to (до), do (делать), begin (начало), end (конец) - зарезервированные слова

осо

Действие
(тело цикла)

счетчик

Три программы

Слайд 8

Решение задачи о создателе шахмат s = 1.8446744074Е19 s= 1.844674Е+19 S

Решение задачи о создателе шахмат

s = 1.8446744074Е19

s= 1.844674Е+19

S = 1 +

1∙2 +2∙2 +4∙2 +8∙2 + ...=
= 20 + 21 + 22+ 23 + ... + 263
Слайд 9

Величина награды 18 446 744 407 000 000 000 зерен. 18

Величина награды

18 446 744 407 000 000 000 зерен.
18 квинтиллионов
446 квадриллионов


744 триллиона
407 миллиардов.
Чтобы поместить эти зерна в амбар нужно высоту взять равной 150 000 000 км – она совпадает с расстоянием от Земли до Солнца!
Слайд 10

Решение задачи о покупке лошади Если, по-твоему, цена лошади высока, то

Решение задачи о покупке лошади

Если, по-твоему, цена лошади высока, то купи

только ее подковные гвозди. Лошадь же тогда получишь в придачу бесплатно. Гвоздей в подкове шесть. За первый гвоздь дай мне всего ¼ копейки, за второй ½ копейки. За третий 1 копейку и т. д.

1. Сколько слагаемых во второй сумме?
2. Какую сумму надо вычислить?
3. Какие можно сделать изменения в программе на языке Qbasic для решения второй задачи?
4. Что изменить на языке Pascal?
S = 1/4+ 1/2 + 1 + 2 + 4 + ... =
=2-2 + 2-1 + 20+21 + 22 + ... +221

Слайд 11

Решение задачи о покупке лошади 4194303,75 коп = 41943 руб 4194304 коп = 41943 руб

Решение задачи о покупке лошади

4194303,75 коп = 41943 руб

4194304 коп =

41943 руб
Слайд 12

Рассмотрим задачу Вычислить факториал числа п. Произведение n последовательных натуральных чисел

Рассмотрим задачу

Вычислить факториал числа п. Произведение n последовательных натуральных чисел

называется факториалом числа n.
n! = 1∙2∙3∙...∙ (n - 1) ∙n;
5! = 1∙2∙3∙4∙5
Замечание: Если при вычислении суммы счетчику суммы присваивается 0, то при вычислении произведения счетчику произведения присваиваем 1.

Три способа

Слайд 13

Цикл for Program factorial; var f, n, i : integer; begin

Цикл for

Program factorial;
var f, n, i : integer;
  begin
write('n

= ');
readln(n);
f := 1;
for i:=1 to n do
f := f * i;
writeln('n! = ', f);
end.
Слайд 14

Цикл с предусловием (цикл while) Program factorial; var f, n, r:

Цикл с предусловием (цикл while)

Program factorial;
var f, n, r: integer;
begin
write('Введите

n');
readln(n);
f:=1;
r:=1;
while r<=n do
begin
f:=f*i;
r:=r+1
end;
write(' n!= ', f )
end.
Слайд 15

Цикл с постусловием (цикл repeat) Program factorial; var f, n, i:

Цикл с постусловием (цикл repeat)

Program factorial;
var f, n, i: integer;
begin
write('Введите

n');
readln(n);
f:=1;
i:=1;
repeat
begin
f:=f*i;
i:=i+1
end;
until i>n ;
write(' n!= ', f )
end.
Слайд 16

Памятка для выбора типа оператора цикла Цикл с предусловием (цикл while)

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

Цикл с предусловием (цикл while) применяйте,

если необходимо, чтобы проверка была прежде, чем выполнение тела цикла.
Цикл с постусловием (цикл repeat) применяйте, если необходимо, чтобы тело цикла выполнялось хотя бы один раз.
Цикл для (цикл for) применяйте, если точно знаете, сколько раз должно быть выполнено тело цикла.