SlideShare a Scribd company logo
1 of 19
Оператор цикла
   FOR…TO




Цикл, дословно с греческого – круг.
Цикл          представляет     собой
последова-тельность        действий,
которая выпол-няется неоднократно,
до тех пор пока выполняется
некоторое       условие.        Саму
последовательность    повторяющихся
действий называют телом цикла.
Рассмотрим алгоритм вычисления суммы
          первых 5 натуральных чисел

   0 шаг: sum0 =0
   1 шаг: i=1                 sum1=sum0+i=0+1=1
   2 шаг: i=2 (i=i+1=1+1)   sum2=sum1+i=1+2=3
   3 шаг: i=3 (i=i+1=2+1)   sum3=sum2+i=3+3=6
   4 шаг: i=4 (i=i+1=3+1)   sum4=sum3+i=6+4=10
   5 шаг: i=5 (i=i+1=4+1)   sum5=sum4+i=10+5=15
    При вычислении суммы повторяются всего две операции,
       причем в определенном порядке:
    1. Прибавить слагаемое к ранее полученной сумме:
    2. Увеличить на 1 значение слагаемого.
Алгоритм решения задачи:
1. Присвоить переменной Sum значение,
  равное 0 (Sum:=0).
2. Присвоить переменной i (слагаемое)
  значение, равное 1 (i:=1).
3. Добавить к сумме значение слагаемого
  i (Sum:= sum+i).
4. Увеличить i на 1 (i:=i+1).
5. Повторить шаги 3 и 4.
На языке Паскаль повторение некоторой после-
 довательности действий известное число раз
 выполняет оператор цикла for. В общем виде
 оператор for представлен в виде:

For <переменная цикла>:= <начальное значение> to
 <конечное значение> do <оператор>;


Кратко:    For i:=N1 to N2 do <оператор>;
For……do – заголовок цикла,
<оператор> - тело цикла.
Тело цикла может быть простым или состав-
ным оператором. Телом цикла может быть не
один оператор, а группа операторов (состав-
ной оператор), которую обязательно надо
заключать в операторные скобки begin… end.
Переменная цикла, ее начальное и конечное
значения должны принадлежать к одному и
тому же типу данных (чаще всего это
целочисленный тип integer, но могут быть и
другие типы, кроме вещественного).
Порядок выполнения цикла FOR
1.   вычисляются значения выражений N1, N2;
2.   параметру цикла i присваивается значение N1;
3.   если полученное значение счётчика i больше N2, то
     выполнение цикла заканчивается;
4.   выполняется тело цикла;
5.   значение параметра i увеличивается на 1, осущест-
     вляется переход к пункту 3. Происходит последо-
     вательное наращивание переменной цикла i каждый
     раз на 1.
Количество проходов цикла можно вычислить по формуле N2 - N1 + 1
Блок-схема цикла
              I: =N1




        ДА               НЕТ
             i < =N2?

тело цикла



 I:=I+1
Сколько раз будет выполнено тело цикла?

 For i:= -3       to -10 do
Цикл не будет выполнен ни разу, так как начальное значение
  больше конечного (-3 >-10)
   For i:=8 to 8 do
Цикл будет выполнен 1 раз для i = 8
   For i:=-1 to 5 do
Цикл будет выполнен для i равному -1,0, 1, 2, 3, 4, 5, т.е. 7 раз
( 5-(-1)+1=7)
Сумма первых десяти натуральных чисел
program summa;
uses CRT;
var i,sum:integer;
begin
write ('n=');
 readln(n);
 sum:=0;
 for i:=1 to n do
   begin
   writeln('i=',i);
   writeln('Sum =',sum,'+',i);
   sum:=sum+i;
   end;
  writeln('Sum =',sum);
end.
Результат выполнения программы: Sum =55
Сумма первых 10 натуральных чисел
program summa_N;
uses CRT;
var i,sum,n:integer;
begin
write ('n=');
 readln(n);
    sum:=0;
 for i:=10 downto 1 do
   begin
   writeln('i=',i);
   writeln('Sum =',sum,'+',i);
   sum:=sum+i;
   end;
  writeln('Sum =',sum);
 end.
Результат выполнения программы Sum =55
Существует и вторая форма оператора
 For, которая последовательно
 уменьшает переменную цикла на 1:

For <переменная цикла>:= <начальное значение>
 downto <конечное значение> do <оператор>;

Кратко: For i:=N1 downto N2 do
        <оператор>;
    (N1> N2)
Изменение параметра
Важно помнить!
1. Не рекомендуется изменять управляющую переменную цикла в
    теле цикла с помощью команды присваивания. Это может
    привести к «зацикливанию» программы (бесконечному
    повторению тела цикла) либо к неверным результатам
    выполнения программы.
n:=10;                                 n:=30;
for i:=1 to n do                       for i:=n downto 5 do
i:=i+1;                                 readln(i);
2. Если в заголовке оператора for..to начальное значение
    переменной цикла больше конечного значения, то тело цикла
    не выполнится ни разу.
n:=10;
for i:=12 to n do
s:=s+i;
12>10 — цело цикла не выполнится ни разу.
3. Если в заголовке оператора for..downto начальное значение
    переменной цикла меньше конечного значения, то тело цикла
    не выполнится ни разу.
n:=10;
for i:=2 downto n do
s:=s+I;
2< 10 — цело цикла не выполнится ни разу.
4. При выходе из цикла текущее значение переменной цикла
   больше равно конечному значению в операторе for..to и
   наоборот в операторе for..downto.
n:=10;                                      n:=10;
for i:=1 to n do                            for i:=n downto 3 do
s:=s+i;                                     s:=s+i;
Конечное значение i=11.              Конечное значение i=2.

5. Телом цикла может быть не один оператор, а группа операторов
   (составной оператор), которую обязательно надо заключать в
   операторные скобки begin… end.
n:=10;
for i:=1 to n do
   begin
   sum:=sum+i;
   writeln('Sum =',sum);
   end;
Закрепление изученного
          материала.
1. Вывести на экран площади 5
  квадратов, если сторона каждого
  последующего квадрата на 10 больше
  предыдущего.
2.Введите количество учащихся в группе
  по информатике и четвертную отметку
  каждого учащегося. Вычислите средний
  балл успеваемости по информатике в
  группе за четверть.
Ответить ДА (+) или НЕТ (-)
   В теле цикла со счетчиком имеется возможность
    использовать несколько, а не один оператор.
   Для использования цикла со счетчиком необяза-
    тельно знать и невозможно вычислить количество
    повторений.
   Если в заголовке оператора for..to начальное зна-
    чение переменной цикла больше конечного значе-
    ния, то тело цикла не выполнится ни разу.
   Для того, чтобы тело цикла выполнялось при
    уменьшающихся значениях параметрах цикла,
    необходимо использовать в записи данного
    оператора слово DOWNTO.
Рефлексия.

  Что нового вы узнали на сегодняшнем
  уроке?
 Решение какой задачи было для вас
  наиболее сложным?
 С какими именно трудностями вы
  столкнулись при решении этой задачи?
 Какие задания показались вам
  простыми?
Домашнее задание


1) § 3,п.1,2. Составить конспект.
2) Решить задачи
  1.Вывести кубы натуральных чисел от 7 до 12
  в порядке возрастания.
  2. Вывести кубы натуральных чисел от 7 до
  12 в порядке убывания.
  3. На уборке картофеля работали N человек.
  Введите массу картофеля, собранного
  каждым работающим, и вычислите массу
  собранного картофеля.

More Related Content

What's hot

Алгоритмическая конструкция следование
Алгоритмическая конструкция следованиеАлгоритмическая конструкция следование
Алгоритмическая конструкция следованиеAndrey Dolinin
 
практика 4
практика 4практика 4
практика 4student_kai
 
Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмовAndrey Dolinin
 
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...Alexey Paznikov
 
Лекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийЛекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийsimple_people
 
Запись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальЗапись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальAndrey Dolinin
 
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1igorm9so
 
22.01.2015 решение задач 11 и 14 информатика егэ 2015 (1)
22.01.2015 решение задач 11 и 14 информатика егэ 2015 (1)22.01.2015 решение задач 11 и 14 информатика егэ 2015 (1)
22.01.2015 решение задач 11 и 14 информатика егэ 2015 (1)Жанна Егожева
 
цикл в блог
цикл в блогцикл в блог
цикл в блогisva69
 
Презентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатикаПрезентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатика2berkas
 
лекция 3. программирование циклов
лекция 3. программирование цикловлекция 3. программирование циклов
лекция 3. программирование цикловstudent_kai
 
10 класс алгоритмы с повторениями
10 класс алгоритмы с повторениями10 класс алгоритмы с повторениями
10 класс алгоритмы с повторениямиleskonog_elena
 

What's hot (20)

forFor
forForforFor
forFor
 
Алгоритмическая конструкция следование
Алгоритмическая конструкция следованиеАлгоритмическая конструкция следование
Алгоритмическая конструкция следование
 
практика 4
практика 4практика 4
практика 4
 
Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмов
 
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
Лекция 6. Параллельная сортировка. Алгоритмы комбинаторного поиска. Параллель...
 
Лекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийЛекция 1 Скорость роста функций
Лекция 1 Скорость роста функций
 
Циклы
ЦиклыЦиклы
Циклы
 
Запись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальЗапись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка Паскаль
 
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1
 
операторы цикла
операторы циклаоператоры цикла
операторы цикла
 
условия, подпрограммы
условия, подпрограммыусловия, подпрограммы
условия, подпрограммы
 
8 3-3
8 3-38 3-3
8 3-3
 
22.01.2015 решение задач 11 и 14 информатика егэ 2015 (1)
22.01.2015 решение задач 11 и 14 информатика егэ 2015 (1)22.01.2015 решение задач 11 и 14 информатика егэ 2015 (1)
22.01.2015 решение задач 11 и 14 информатика егэ 2015 (1)
 
цикл в блог
цикл в блогцикл в блог
цикл в блог
 
Goto
GotoGoto
Goto
 
циклы
циклыциклы
циклы
 
паскаль
паскальпаскаль
паскаль
 
Презентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатикаПрезентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатика
 
лекция 3. программирование циклов
лекция 3. программирование цикловлекция 3. программирование циклов
лекция 3. программирование циклов
 
10 класс алгоритмы с повторениями
10 класс алгоритмы с повторениями10 класс алгоритмы с повторениями
10 класс алгоритмы с повторениями
 

Similar to Цикл

22 pascal urok_6
22 pascal urok_622 pascal urok_6
22 pascal urok_6Ann Eres
 
Цикл For
Цикл ForЦикл For
Цикл Forradgrad51
 
Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмовAndrey Dolinin
 
циклы
циклыциклы
циклыAndEdr
 
алгоритм циклический
алгоритм циклическийалгоритм циклический
алгоритм циклическийKhydosilova
 
Оператор цикла с параметром.
Оператор цикла с параметром.Оператор цикла с параметром.
Оператор цикла с параметром.EmmachkaBabul
 
алгоритмическая структура «цикл»
алгоритмическая структура «цикл»алгоритмическая структура «цикл»
алгоритмическая структура «цикл»Артём Хухорев
 
операторы цикла в Visual basic
операторы цикла в Visual basicоператоры цикла в Visual basic
операторы цикла в Visual basicanastastish
 
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей ВасилийSolit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василийsolit
 
задания части С олейник
задания части С олейникзадания части С олейник
задания части С олейникprojekt92
 
задания с олейник
задания с олейникзадания с олейник
задания с олейникguest1a21938
 

Similar to Цикл (20)

22 pascal urok_6
22 pascal urok_622 pascal urok_6
22 pascal urok_6
 
Цикл For
Цикл ForЦикл For
Цикл For
 
Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмов
 
циклы
циклыциклы
циклы
 
циклы 1 урок
циклы 1 урокциклы 1 урок
циклы 1 урок
 
алгоритм циклический
алгоритм циклическийалгоритм циклический
алгоритм циклический
 
8 оператор цикла с параметром
8 оператор цикла с параметром8 оператор цикла с параметром
8 оператор цикла с параметром
 
циклы 1 урок
циклы 1 урокциклы 1 урок
циклы 1 урок
 
Оператор цикла с параметром.
Оператор цикла с параметром.Оператор цикла с параметром.
Оператор цикла с параметром.
 
алгоритмическая структура «цикл»
алгоритмическая структура «цикл»алгоритмическая структура «цикл»
алгоритмическая структура «цикл»
 
8 2-4-3
8 2-4-38 2-4-3
8 2-4-3
 
операторы цикла в Visual basic
операторы цикла в Visual basicоператоры цикла в Visual basic
операторы цикла в Visual basic
 
Python
PythonPython
Python
 
лр4
лр4лр4
лр4
 
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей ВасилийSolit 2014, Минусы ООП на примере языка PHP, Соловей Василий
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василий
 
задания части С олейник
задания части С олейникзадания части С олейник
задания части С олейник
 
задания с олейник
задания с олейникзадания с олейник
задания с олейник
 
Repeat
RepeatRepeat
Repeat
 
106170
106170106170
106170
 
106170
106170106170
106170
 

Цикл

  • 1. Оператор цикла FOR…TO Цикл, дословно с греческого – круг.
  • 2. Цикл представляет собой последова-тельность действий, которая выпол-няется неоднократно, до тех пор пока выполняется некоторое условие. Саму последовательность повторяющихся действий называют телом цикла.
  • 3. Рассмотрим алгоритм вычисления суммы первых 5 натуральных чисел  0 шаг: sum0 =0  1 шаг: i=1 sum1=sum0+i=0+1=1  2 шаг: i=2 (i=i+1=1+1) sum2=sum1+i=1+2=3  3 шаг: i=3 (i=i+1=2+1) sum3=sum2+i=3+3=6  4 шаг: i=4 (i=i+1=3+1) sum4=sum3+i=6+4=10  5 шаг: i=5 (i=i+1=4+1) sum5=sum4+i=10+5=15 При вычислении суммы повторяются всего две операции, причем в определенном порядке: 1. Прибавить слагаемое к ранее полученной сумме: 2. Увеличить на 1 значение слагаемого.
  • 4. Алгоритм решения задачи: 1. Присвоить переменной Sum значение, равное 0 (Sum:=0). 2. Присвоить переменной i (слагаемое) значение, равное 1 (i:=1). 3. Добавить к сумме значение слагаемого i (Sum:= sum+i). 4. Увеличить i на 1 (i:=i+1). 5. Повторить шаги 3 и 4.
  • 5. На языке Паскаль повторение некоторой после- довательности действий известное число раз выполняет оператор цикла for. В общем виде оператор for представлен в виде: For <переменная цикла>:= <начальное значение> to <конечное значение> do <оператор>; Кратко: For i:=N1 to N2 do <оператор>;
  • 6. For……do – заголовок цикла, <оператор> - тело цикла. Тело цикла может быть простым или состав- ным оператором. Телом цикла может быть не один оператор, а группа операторов (состав- ной оператор), которую обязательно надо заключать в операторные скобки begin… end. Переменная цикла, ее начальное и конечное значения должны принадлежать к одному и тому же типу данных (чаще всего это целочисленный тип integer, но могут быть и другие типы, кроме вещественного).
  • 7. Порядок выполнения цикла FOR 1. вычисляются значения выражений N1, N2; 2. параметру цикла i присваивается значение N1; 3. если полученное значение счётчика i больше N2, то выполнение цикла заканчивается; 4. выполняется тело цикла; 5. значение параметра i увеличивается на 1, осущест- вляется переход к пункту 3. Происходит последо- вательное наращивание переменной цикла i каждый раз на 1. Количество проходов цикла можно вычислить по формуле N2 - N1 + 1
  • 8. Блок-схема цикла I: =N1 ДА НЕТ i < =N2? тело цикла I:=I+1
  • 9. Сколько раз будет выполнено тело цикла?  For i:= -3 to -10 do Цикл не будет выполнен ни разу, так как начальное значение больше конечного (-3 >-10)  For i:=8 to 8 do Цикл будет выполнен 1 раз для i = 8  For i:=-1 to 5 do Цикл будет выполнен для i равному -1,0, 1, 2, 3, 4, 5, т.е. 7 раз ( 5-(-1)+1=7)
  • 10. Сумма первых десяти натуральных чисел program summa; uses CRT; var i,sum:integer; begin write ('n='); readln(n); sum:=0; for i:=1 to n do begin writeln('i=',i); writeln('Sum =',sum,'+',i); sum:=sum+i; end; writeln('Sum =',sum); end. Результат выполнения программы: Sum =55
  • 11. Сумма первых 10 натуральных чисел program summa_N; uses CRT; var i,sum,n:integer; begin write ('n='); readln(n); sum:=0; for i:=10 downto 1 do begin writeln('i=',i); writeln('Sum =',sum,'+',i); sum:=sum+i; end; writeln('Sum =',sum); end. Результат выполнения программы Sum =55
  • 12. Существует и вторая форма оператора For, которая последовательно уменьшает переменную цикла на 1: For <переменная цикла>:= <начальное значение> downto <конечное значение> do <оператор>; Кратко: For i:=N1 downto N2 do <оператор>; (N1> N2)
  • 14. Важно помнить! 1. Не рекомендуется изменять управляющую переменную цикла в теле цикла с помощью команды присваивания. Это может привести к «зацикливанию» программы (бесконечному повторению тела цикла) либо к неверным результатам выполнения программы. n:=10; n:=30; for i:=1 to n do for i:=n downto 5 do i:=i+1; readln(i); 2. Если в заголовке оператора for..to начальное значение переменной цикла больше конечного значения, то тело цикла не выполнится ни разу. n:=10; for i:=12 to n do s:=s+i; 12>10 — цело цикла не выполнится ни разу. 3. Если в заголовке оператора for..downto начальное значение переменной цикла меньше конечного значения, то тело цикла не выполнится ни разу. n:=10; for i:=2 downto n do s:=s+I; 2< 10 — цело цикла не выполнится ни разу.
  • 15. 4. При выходе из цикла текущее значение переменной цикла больше равно конечному значению в операторе for..to и наоборот в операторе for..downto. n:=10; n:=10; for i:=1 to n do for i:=n downto 3 do s:=s+i; s:=s+i; Конечное значение i=11. Конечное значение i=2. 5. Телом цикла может быть не один оператор, а группа операторов (составной оператор), которую обязательно надо заключать в операторные скобки begin… end. n:=10; for i:=1 to n do begin sum:=sum+i; writeln('Sum =',sum); end;
  • 16. Закрепление изученного материала. 1. Вывести на экран площади 5 квадратов, если сторона каждого последующего квадрата на 10 больше предыдущего. 2.Введите количество учащихся в группе по информатике и четвертную отметку каждого учащегося. Вычислите средний балл успеваемости по информатике в группе за четверть.
  • 17. Ответить ДА (+) или НЕТ (-)  В теле цикла со счетчиком имеется возможность использовать несколько, а не один оператор.  Для использования цикла со счетчиком необяза- тельно знать и невозможно вычислить количество повторений.  Если в заголовке оператора for..to начальное зна- чение переменной цикла больше конечного значе- ния, то тело цикла не выполнится ни разу.  Для того, чтобы тело цикла выполнялось при уменьшающихся значениях параметрах цикла, необходимо использовать в записи данного оператора слово DOWNTO.
  • 18. Рефлексия.  Что нового вы узнали на сегодняшнем уроке?  Решение какой задачи было для вас наиболее сложным?  С какими именно трудностями вы столкнулись при решении этой задачи?  Какие задания показались вам простыми?
  • 19. Домашнее задание 1) § 3,п.1,2. Составить конспект. 2) Решить задачи 1.Вывести кубы натуральных чисел от 7 до 12 в порядке возрастания. 2. Вывести кубы натуральных чисел от 7 до 12 в порядке убывания. 3. На уборке картофеля работали N человек. Введите массу картофеля, собранного каждым работающим, и вычислите массу собранного картофеля.