СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Урок по теме "Циклы в ПАСКАЛЕ"

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Урок по теме "Циклы в ПАСКАЛЕ"»

Циклы

Циклы

Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл с неизвестным числом шагов (цикл с условием) цикл с известным числом шагов цикл с неизвестным числом шагов (цикл с условием) Задача. Вывести на экран 5  раз слово «Привет». Особенность: одинаковые действия выполняются 5 раз. ?  Можно ли решить известными методами ?  2

Циклы

Цикл – это многократное выполнение одинаковой последовательности действий.

  • цикл с известным числом шагов цикл с неизвестным числом шагов (цикл с условием)
  • цикл с известным числом шагов
  • цикл с неизвестным числом шагов (цикл с условием)

Задача. Вывести на экран 5 раз слово «Привет».

Особенность: одинаковые действия выполняются 5 раз.

?

Можно ли решить известными методами ?

2

Цикл for

Цикл for

Задача: Вывести на экран 5  раз « Hello ».  Решение: умеем составлять линейный алгоритм program primer 1; begin  writeln(' Hello');   writeln(' Hello ');   writeln(' Hello ');   writeln(' Hello ');   writeln(' Hello ');  end. Неэффективная программа

Задача: Вывести на экран 5 раз « Hello ». Решение: умеем составлять линейный алгоритм

program primer 1;

begin

writeln(' Hello');

writeln(' Hello ');

writeln(' Hello ');

writeln(' Hello ');

writeln(' Hello ');

end.

Неэффективная программа

Циклы program qq; begin  { сделай 5 раз }  writeln(' Привет ');  end. ?  Как отсчитать ровно 5 раз ? ?  Как запоминать, сколько раз  уже сделали ?      i  :=  i  +  1;                 5

Циклы

program qq;

begin

{ сделай 5 раз }

writeln(' Привет ');

end.

?

Как отсчитать ровно 5 раз ?

?

Как запоминать, сколько раз уже сделали ?

i := i + 1;

5

Алгоритм начало еще не сделали ни одного раза i  :=  0 ; проверить, все ли сделали  да i  =  5 ? конец нет вывод на экран Привет! i  :=  i  +  1; считаем очередной шаг 5 5

Алгоритм

начало

еще не сделали ни одного раза

i := 0 ;

проверить, все ли сделали

да

i = 5 ?

конец

нет

вывод на экран

Привет!

i := i + 1;

считаем очередной шаг

5

5

Для записи повторяющейся последовательности операторов используют циклы Program primer 1; var i: integer; begin for i:=1 to 5 do  begin  writeln(‘Hello’);  end; end. Здесь переменная i запоминает сколько раз выполнилась повторяющаяся команда (тело цикла)

Для записи повторяющейся последовательности операторов используют циклы

Program primer 1;

var i: integer;

begin

for i:=1 to 5 do

begin

writeln(‘Hello’);

end;

end.

Здесь переменная i запоминает сколько раз выполнилась повторяющаяся команда (тело цикла)

Цикл – это повторяющаяся последовательность операторов. Циклы бывают арифметические и итерационные Арифметический цикл – это такой цикл, число повторений которого известно заранее. В Pascal такой цикл обычно реализуется с помощью оператора for . Итерационный цикл – это такой цикл, число повторений которого заранее неизвестно и выход из цикла производится в случае выполнения или невыполнения какого-то условия. В Pascal такие циклы обычно реализуются с помощью операторов while и  repeat
  • Цикл – это повторяющаяся последовательность операторов.
  • Циклы бывают арифметические и итерационные
  • Арифметический цикл – это такой цикл, число повторений которого известно заранее. В Pascal такой цикл обычно реализуется с помощью оператора for .
  • Итерационный цикл – это такой цикл, число повторений которого заранее неизвестно и выход из цикла производится в случае выполнения или невыполнения какого-то условия. В Pascal такие циклы обычно реализуются с помощью операторов while и repeat
Цикл for Принцип работы: Сначала счетчику цикла присваивается начальное значение. Если это значение не больше конечного значения, то выполняется тело цикла. Затем значение счетчика увеличивается на 1 и опять сравнивается с конечным значением. Если оно по-прежнему не больше конечного значения, то оператор выполняется еще раз и так далее. Замечание: если тело цикла состоит из одного оператора, то begin и end можно опустить

Цикл for

Принцип работы: Сначала счетчику цикла присваивается начальное значение. Если это значение не больше конечного значения, то выполняется тело цикла. Затем значение счетчика увеличивается на 1 и опять сравнивается с конечным значением. Если оно по-прежнему не больше конечного значения, то оператор выполняется еще раз и так далее.

Замечание: если тело цикла состоит из одного оператора, то begin и end можно опустить

Принцип работы: как и в первом случае, только значение счетчика уменьшается. Затем значение счетчика уменьшается на 1

Принцип работы: как и в первом случае, только значение счетчика уменьшается. Затем значение счетчика уменьшается на 1

Цикл с переменной Увеличение переменной на 1:  for   :=   to   do begin  { тело цикла }   end; Уменьшение переменной на 1:  for   :=       downto   do begin  { тело цикла }   end;

Цикл с переменной

Увеличение переменной на 1:

for := to

do begin

{ тело цикла }

end;

Уменьшение переменной на 1:

for := downto

do begin

{ тело цикла }

end;

Сколько раз выполняется цикл? a  :=  1; for i:= 1  to 3 do  a  :=  a+1; a  =  4 a  :=  1; for i:=3 to 1 do  a  :=  a+1; a  =  1 a  :=  1; for i:= 1 down to 3 do  a  :=  a+1; a  =  1 a  :=  1; for i:= 3 down to 1 do  a  :=  a+1; a  =  4

Сколько раз выполняется цикл?

a := 1;

for i:= 1 to 3 do a := a+1;

a = 4

a := 1;

for i:=3 to 1 do a := a+1;

a = 1

a := 1;

for i:= 1 down to 3 do a := a+1;

a = 1

a := 1;

for i:= 3 down to 1 do a := a+1;

a = 4

Задачи: Решение 1) Написать программу, которая выводит на экран все натуральные числа от 1 до n 2) Написать программу, которая подсчитывает сумму натуральных чисел от 1 до n 3) Написать программу, которая считает  x n   для вещественного x и натурального n 4) Написать программу, которая выводит на экран: 20 40 80 160 320 5) Написать программу, которая подсчитывает произведение натуральных чисел от 1 до n

Задачи:

Решение

1) Написать программу, которая выводит на экран все натуральные числа от 1 до n

2) Написать программу, которая подсчитывает сумму натуральных чисел от 1 до n

3) Написать программу, которая считает x n

для вещественного x и натурального n

4) Написать программу, которая выводит на экран: 20 40 80 160 320

5) Написать программу, которая подсчитывает произведение натуральных чисел от 1 до n

Решение задач ОГЭ Дан фрагмент программы. Чему будет равна переменная s в результате работы данной программы? Решение: В этой задаче есть цикл for. Тело цикла будет выполняться 4 раза (при n=2,3,4,5 ) . s=2 n=2 s=2+2*2=6 n=3 s=6+3*2=12 n=4 s=12+4*2=20 n=5 s=20+5*2=30 Программа выводит значение переменной s , значит на экране будет число 30 Ответ: 30

Решение задач ОГЭ

Дан фрагмент программы. Чему будет равна

переменная s в результате работы данной

программы?

Решение:

В этой задаче есть цикл for. Тело цикла будет выполняться 4 раза (при n=2,3,4,5 ) .

s=2

n=2 s=2+2*2=6

n=3 s=6+3*2=12

n=4 s=12+4*2=20

n=5 s=20+5*2=30

Программа выводит значение переменной s , значит на экране будет число 30

Ответ: 30

Задачи  Даны фрагменты программы. Что будет напечатано на экране в результате работы данных  программ?   Ответы:  1) 14 2) 99 3) 11 4) 59 5) 120

Задачи Даны фрагменты программы. Что будет напечатано на экране в результате работы данных программ?

Ответы:

1) 14

2) 99

3) 11

4) 59

5) 120

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

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

Цикл с условием  while   do begin  { тело цикла }   end; Особенности: можно использовать сложные условия: если в теле цикла только один оператор, слова begin  и end  можно не писать: можно использовать сложные условия: если в теле цикла только один оператор, слова begin  и end  можно не писать: while (a   { тело цикла } end; while a  a := a + 1;

Цикл с условием

while do begin

{ тело цикла }

end;

Особенности:

  • можно использовать сложные условия: если в теле цикла только один оператор, слова begin и end можно не писать:
  • можно использовать сложные условия:
  • если в теле цикла только один оператор, слова begin и end можно не писать:

while (a

{ тело цикла }

end;

while a

a := a + 1;

b d o a := a – b; a := 4; b := 6; while a d := a + b; " width="640"

Цикл с условием

Особенности:

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

a := 4; b := 6;

while a b d o

a := a – b;

a := 4; b := 6;

while a

d := a + b;

b d o a := a + 1; 1 раз b = -2 a := 4; b := 6; while a зацикливание a := 4; b := 6; while a " width="640"

Сколько раз выполняется цикл ?

2 раза

a = 6

a := 4; b := 6;

while a

1 раз

a = 10

a := 4; b := 6;

while a

0 раз

a = 4

a := 4; b := 6;

while a b d o a := a + 1;

1 раз

b = -2

a := 4; b := 6;

while a

зацикливание

a := 4; b := 6;

while a

= b d o begin { тело цикла } i := i - 1; end; for i:=a downto b d o begin { тело цикла } end; Замена цикла for на while возможна всегда . Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла . " width="640"

Замена for на while и наоборот

i := 1;

while i

{ тело цикла }

i := i + 1;

end;

for i:=1 to 10 d o begin

{ тело цикла }

end;

i := a;

while i = b d o begin

{ тело цикла }

i := i - 1;

end;

for i:=a downto b d o

begin

{ тело цикла }

end;

Замена цикла for на while возможна всегда .

Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла .

Задача: написать программу, которая выводит на экран все натуральные числа от 1 до n  Решение: умеем составлять алгоритм с циклом for Программа с циклом for Program m 1 ; var i,n:integer; begin writeln('Введите n'); readln(n); for i:=1 to n do  write(i,' '); end . Программа с циклом while Program m2; var i,n:integer; begin writeln('Введите n');  readln(n); i:=1; while ido  begin  write(i,' ');  i:=i+1;  end ;  end .

Задача: написать программу, которая выводит на экран все натуральные числа от 1 до n Решение: умеем составлять алгоритм с циклом for

Программа с циклом for

Program m 1 ;

var i,n:integer;

begin

writeln('Введите n');

readln(n);

for i:=1 to n do

write(i,' ');

end .

Программа с циклом while

Program m2;

var i,n:integer;

begin

writeln('Введите n'); readln(n);

i:=1;

while ido

begin

write(i,' '); i:=i+1;

end ;

end .

Программа program qq; var n, count: integer; begin  writeln(' Введите целое число ');  read(n);  count := 0;  while n  0 do begin  count := count + 1;  n := n div 10;  end;  writeln(' В числе ' , n, ' нашли ',  count, ' цифр ' ); end. , n1: integer; n1 := n; выполнять «пока n    0 »  while n  0 do begin  count := count + 1;  n := n div 10;  end; n1, ?  Что плохо ?  23

Программа

program qq;

var n, count: integer;

begin

writeln(' Введите целое число ');

read(n);

count := 0;

while n 0 do begin

count := count + 1;

n := n div 10;

end;

writeln(' В числе ' , n, ' нашли ',

count, ' цифр ' );

end.

, n1: integer;

n1 := n;

выполнять «пока n 0 »

while n 0 do begin

count := count + 1;

n := n div 10;

end;

n1,

?

Что плохо ?

23

Задача: написать программу, которая выводит на экран все натуральные числа от 1 до n   Пока истинно условие i , будет выполняться тело цикла:  1) вывод числа i  2) увеличиваем на единицу значение i

Задача: написать программу, которая выводит на экран все натуральные числа от 1 до n

Пока истинно условие

i , будет выполняться

тело цикла: 1) вывод числа i 2) увеличиваем на единицу значение i

Общий вид цикла while Цикл while организует выполнение тела цикла неизвестное заранее число раз. Выход осуществляется, если условие окажется ложным. Принцип работы: перед каждым выполнением цикла анализируется условие: если оно истинно, выполняется тело цикла и управление передается на повторную проверку условия. Если условие ложно – цикл завершается и управление передается на оператор, следующий за циклом while .

Общий вид цикла while

Цикл while организует выполнение тела цикла неизвестное заранее число раз. Выход осуществляется, если условие окажется ложным.

Принцип работы: перед каждым выполнением цикла анализируется условие: если оно истинно, выполняется тело цикла и управление передается на повторную проверку условия. Если условие ложно – цикл завершается и управление передается на оператор, следующий за циклом while .

Замечания : Если условие во время цикла не будет изменяться, то возможна ситуация зацикливания, т.е. цикл не закончится никогда. Поэтому внутри цикла должны находится операторы, приводящие к изменению условия, чтобы цикл мог корректно завершиться Если тело цикла состоит из одного оператора, то begin и end можно опустить

Замечания :

  • Если условие во время цикла не будет изменяться, то возможна ситуация зацикливания, т.е. цикл не закончится никогда. Поэтому внутри цикла должны находится операторы, приводящие к изменению условия, чтобы цикл мог корректно завершиться
  • Если тело цикла состоит из одного оператора, то begin и end можно опустить
Задачи: Решение 1) Напечатать целые числа -10, -5, 0, 5…20 2) Найти произведение чисел из диапазона от A до B ( A Вход: 1 15 5 Вход: 10 100 30  Выход: 66 Выход: 2800000 3) Для заданного натурального n и действительного x подсчитать сумму  Вход: 3 Вход: 2  Выход: 14 Выход: 5 4) Напечатать таблицу перевода расстояний в дюймах в сантиметры для значений 10, 11, 12,…20 дюймов (1 дюйм=2,54 см)  Выход:  10 дюймов=25,4 см  11 дюймов=27,94 см …  20 дюймов=50,8 см

Задачи:

Решение

1) Напечатать целые числа -10, -5, 0, 5…20

2) Найти произведение чисел из диапазона от A до B ( A

Вход: 1 15 5 Вход: 10 100 30

Выход: 66 Выход: 2800000

3) Для заданного натурального n и действительного x подсчитать сумму

Вход: 3 Вход: 2

Выход: 14 Выход: 5

4) Напечатать таблицу перевода расстояний в дюймах в сантиметры для значений 10, 11, 12,…20 дюймов (1 дюйм=2,54 см)

Выход:

10 дюймов=25,4 см

11 дюймов=27,94 см

20 дюймов=50,8 см

Задачи: Решение 5) Напечатать все целые значения от A до B с шагом h .  Вход: 1 10 2 Вход: 5 20 5  Выход: 1 3 5 7 9 Выход: 5 10 15 20 6) Найти сумму чисел из диапазона от A до B с шагом 3.  Вход: 1 15 Вход: 0 10  Выход: 35 Выход: 18 7) Для заданного натурального n и действительного x подсчитать сумму  Вход: 3 Вход: 5  Выход: 1.83 Выход: 2.28 8) Напечатать таблицу соответствия между весом в фунтах и весом в килограммах для значений 5,10,15…50 фунтов (1 фунт=0,453 кг)  Выход:  5 фунтов=2,265 кг  10 фунтов=4,53 кг …  50 фунтов=22,65 кг

Задачи:

Решение

5) Напечатать все целые значения от A до B с шагом h .

Вход: 1 10 2 Вход: 5 20 5

Выход: 1 3 5 7 9 Выход: 5 10 15 20

6) Найти сумму чисел из диапазона от A до B с шагом 3.

Вход: 1 15 Вход: 0 10

Выход: 35 Выход: 18

7) Для заданного натурального n и действительного x подсчитать сумму

Вход: 3 Вход: 5

Выход: 1.83 Выход: 2.28

8) Напечатать таблицу соответствия между весом в фунтах и весом в килограммах для значений 5,10,15…50 фунтов (1 фунт=0,453 кг)

Выход:

5 фунтов=2,265 кг

10 фунтов=4,53 кг

50 фунтов=22,65 кг

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

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

0? нет условие ВЫХОДА да основной алгоритм блок «типовой процесс» конец " width="640"

Цикл с постусловием: алгоритм

начало

ввод n

тело цикла

n 0?

нет

условие ВЫХОДА

да

основной алгоритм

блок «типовой процесс»

конец

Общий вид цикла Принцип работы: выполняется тело цикла. Если  истинно, то выполнение цикла завершится. Если  ложно, то снова выполняется тело цикла

Общий вид цикла

Принцип работы: выполняется тело цикла. Если истинно, то выполнение цикла завершится. Если ложно, то снова выполняется тело цикла

Замечания: т. к. условие завершения цикла проверяется в конце цикла, то операторы тела цикла выполнятся хотя бы один раз В цикле repeat , так же как и в операторе while возможна ситуация зацикливания в случае, если  всегда будет оставаться ложным

Замечания:

  • т. к. условие завершения цикла проверяется в конце цикла, то операторы тела цикла выполнятся хотя бы один раз
  • В цикле repeat , так же как и в операторе while возможна ситуация зацикливания в случае, если всегда будет оставаться ложным
0; ... { основной алгоритм } end. repeat writeln(' Введите положительное число '); read(n); until n 0; условие ВЫХОДА until n 0; Особенности: тело цикла всегда выполняется хотя бы один раз после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла тело цикла всегда выполняется хотя бы один раз после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла " width="640"

Программа

program qq;

var n: integer;

begin

repeat

writeln(' Введите положительное число ');

read(n);

until n 0;

... { основной алгоритм }

end.

repeat

writeln(' Введите положительное число ');

read(n);

until n 0;

условие ВЫХОДА

until n 0;

Особенности:

  • тело цикла всегда выполняется хотя бы один раз после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла
  • тело цикла всегда выполняется хотя бы один раз
  • после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла

b; 1 раз a = 10 a := 4; b := 6; repeat a := a + b ; until a b; a := 4; b := 6; repeat a := a + b ; until a зацикливание a := 4; b := 6; repeat b := a - b ; until a 2 раза b = 6 a := 4; b := 6; repeat a := a + 2 ; until a зацикливание " width="640"

Сколько раз выполняется цикл ?

3 раза

a = 7

a := 4; b := 6;

repeat a := a + 1; until a b;

1 раз

a = 10

a := 4; b := 6;

repeat a := a + b ; until a b;

a := 4; b := 6;

repeat a := a + b ; until a

зацикливание

a := 4; b := 6;

repeat b := a - b ; until a

2 раза

b = 6

a := 4; b := 6;

repeat a := a + 2 ; until a

зацикливание

n end . Программа с циклом while Program m2; var i,n:integer; begin writeln('Введите n'); readln(n); i:=1; while ido begin write(i,' '); i:=i+1; end ; end . " width="640"

Задача: написать программу, которая выводит на экран все натуральные числа от 1 до n

Программа с циклом repeat

Program m 3 ;

var i,n:integer;

begin

writeln('Введите n'); readln(n);

i:=1;

repeat

write(i,' ');

i:=i+1;

until in

end .

Программа с циклом while

Program m2;

var i,n:integer;

begin

writeln('Введите n'); readln(n);

i:=1;

while ido

begin

write(i,' '); i:=i+1;

end ;

end .

Задачи: Решение 1 ) Напечатать все целые значения от A до B с шагом h .  Вход: 1 10 2 Вход: 5 20 5  Выход: 1 3 5 7 9 Выход: 5 10 15 20  2 ) Для заданного натурального n и действительного x подсчитать сумму  Вход: 3 Вход: 2  Выход: 14 Выход: 5 3 )  Для заданного натурального n и действительного x подсчитать сумму  Вход: 3 Вход: 5  Выход: 1.83 Выход: 2.28

Задачи:

Решение

1 ) Напечатать все целые значения от A до B с шагом h .

Вход: 1 10 2 Вход: 5 20 5

Выход: 1 3 5 7 9 Выход: 5 10 15 20

2 ) Для заданного натурального n и действительного x подсчитать

сумму

Вход: 3 Вход: 2

Выход: 14 Выход: 5

3 ) Для заданного натурального n и действительного x подсчитать

сумму

Вход: 3 Вход: 5

Выход: 1.83 Выход: 2.28

Источники информации М. В. Огнева, Е. В. Шуринова, Turbo Pascal : первые шаги. Саратов: издательство «Стило», 2001 http://opengia.ru/subjects/informatics-9 http://kpolyakov.spb.ru

Источники информации

  • М. В. Огнева, Е. В. Шуринова, Turbo Pascal : первые шаги. Саратов: издательство «Стило», 2001
  • http://opengia.ru/subjects/informatics-9
  • http://kpolyakov.spb.ru


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!