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

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

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

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

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

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

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

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

Итоги урока

Программирование циклических алгоритмов.

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

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

Презентация по информатике для 9-10 классов на тему "Программирование циклических алгоритмов"

Показать полностью

Просмотр содержимого документа
«Программирование циклических алгоритмов.»

Программирование циклических алгоритмов. Раздел «Программирование» ( 9 – 10 кл . ) Жукова Татьяна Николаевна,  учитель информатики и ИКТ

Программирование циклических алгоритмов.

Раздел «Программирование» ( 9 – 10 кл . )

Жукова Татьяна Николаевна, учитель информатики и ИКТ

Типы операторов цикла Цикл – это многократное выполнение одинаковых действий. Существуют три разновидности операторов цикла: с постусловием, с предусловием, с конечным числом повторений (с параметром).

Типы операторов цикла

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

Существуют три разновидности операторов цикла:

  • с постусловием,
  • с предусловием,
  • с конечным числом повторений (с параметром).
Цикл с предусловием ( цикл ПОКА )  Обеспечивает выполнение блока команд, составляющих тело цикла, пока условие остается истинным (выход из цикла – по ложности условия).

Цикл с предусловием ( цикл ПОКА )

Обеспечивает выполнение блока команд, составляющих тело цикла, пока условие остается истинным (выход из цикла – по ложности условия).

Цикл с постусловием (цикл ДО)  Обеспечивает выполнение команд, составляющих тело цикла, пока условие не станет истинным (цикл выполняется, пока условие ложно).

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

Обеспечивает выполнение команд, составляющих тело цикла, пока условие не станет истинным (цикл выполняется, пока условие ложно).

Цикл с параметром (цикл со счетчиком, цикл ДЛЯ)  При выполнении этого оператора после каждого выполнения тела цикла (блока команд) происходит увеличение параметра цикла на 1. Условием выхода из цикла является превышение параметром конечного .

Цикл с параметром (цикл со счетчиком, цикл ДЛЯ)

При выполнении этого оператора после каждого выполнения тела цикла (блока команд) происходит увеличение параметра цикла на 1. Условием выхода из цикла является превышение параметром конечного .

К.З. , то цикл не выполнится ни разу. Если Н.З. = К.З. цикл выполнится 1 раз. Сколько раз выполнится такой цикл можно определить по формуле: К.З. – Н.З. +1 " width="640"

Общий вид параметра цикла с шагом +1

For := to do

begin

end ;

Если Н.З. параметра цикла К.З. , то цикл не выполнится ни разу.

Если Н.З. = К.З. цикл выполнится 1 раз.

Сколько раз выполнится такой цикл можно определить по формуле: К.З. – Н.З. +1

Общий вид параметра цикла с шагом -1 For  :=  downto  do Begin  end ; Если К.З. параметра цикла   Н.З. , то цикл не выполнится ни разу. Если Н.З. =  К.З. цикл выполнится 1 раз.

Общий вид параметра цикла с шагом -1

For := downto do

Begin

end ;

Если К.З. параметра цикла Н.З. , то цикл не выполнится ни разу.

Если Н.З. = К.З. цикл выполнится 1 раз.

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

Различные варианты программирования циклического алгоритма.

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

Составим программу, пользуясь циклом с предусловием program summa; var a,n,p,f: integer;  s : real ;  begin  writeln (‘Введите основание степени а и количество слагаемых n ‘);    readln(a,n);  s:=0; p:=1; f:=1; i:=1; While i begin  p := p*a;  f := f*i;  s := s + p/f;  i :=i + 1;  end;  writeln(‘s=’,s) end.

Составим программу, пользуясь циклом с предусловием

program summa;

var a,n,p,f: integer;

s : real ;

begin

writeln (‘Введите основание степени а и количество слагаемых n ‘);

 

readln(a,n);

s:=0; p:=1; f:=1; i:=1;

While i

begin

p := p*a;

f := f*i;

s := s + p/f;

i :=i + 1;

end;

writeln(‘s=’,s)

end.

n; writeln(‘s=’,s) end. " width="640"

Составим программу, пользуясь циклом с постусловием

program summa;

var a,n,p,f: integer;

s : real ;

begin

writeln (‘Введите основание степени а и количество слагаемых n ‘);

readln(a,n);

s:=0; p:=1; f:=1; i:=1;

repeat

p:=p*a;

f:=f*i;

s:=s+p/f;

i:=i+1

until in;

writeln(‘s=’,s)

end.

Составим программу, пользуясь циклом с конечным числом повторений и шагом +1 program summa; var a,n,p,f: integer;  s : real ; begin  writeln (‘Введите основание степени а и количество слагаемых n ‘);  readln(a,n);  s:=0; p:=1; f:=1;  for i:=1 to n do  begin p:=p*a;  f:=f*i;  s:=s+p/f;  end;  writeln(‘s=’,s) end.

Составим программу, пользуясь циклом с конечным числом повторений и шагом +1

program summa;

var a,n,p,f: integer;

s : real ;

begin

writeln (‘Введите основание степени а и количество слагаемых n ‘);

readln(a,n);

s:=0; p:=1; f:=1;

for i:=1 to n do

begin p:=p*a;

f:=f*i;

s:=s+p/f;

end;

writeln(‘s=’,s)

end.

Составим программу, пользуясь циклом с конечным числом повторений и шагом -1 program summa; var a,n,p,f: integer;  s : real ; begin  writeln (‘Введите основание степени а и количество слагаемых n ‘);  readln(a,n);  s:=0; p:=1; f:=1;  for i:=n downto 1 do  begin p:=p*a;  f:=f*(n-i+1);  s:=s+p/f;  end;  writeln(‘s=’,s) end.

Составим программу, пользуясь циклом с конечным числом повторений и шагом -1

program summa;

var a,n,p,f: integer;

s : real ;

begin

writeln (‘Введите основание степени а и количество слагаемых n ‘);

readln(a,n);

s:=0; p:=1; f:=1;

for i:=n downto 1 do

begin p:=p*a;

f:=f*(n-i+1);

s:=s+p/f;

end;

writeln(‘s=’,s)

end.

n i=1 p=p*a=a 1 ; f=f*i=1*1=1! s=s+p/f=0+a 1 /1!=a 1 /1!; i:=i+1=2 p=p*a= a 1 ; f=f*i=1*1=1! s=s+p/f=0+a 1 /1!= a 1 /1!; i:=i+1=2 i= 2 3 no 2. i=2 p=a 1 *a=a 2 ; f=1*2=2!; s= a 1 /1! + a 2 /2! i=2+1=3 p=a 1 *a=a 2 ; f=1*2=2!; s= a 1 /1! + a 2 /2! i=2+1=3 i=3 3 no 3. i=3 p= a 2 *a=a 3 ; f=1*2*3=3! s= a 1 /1! + a 2 /2! + a 3 /3! i=3+1=4 p= a 2 *a=a 3 ; f=1*2*3=3! s= a 1 /1! + a 2 /2! + a 3 /3! i=3+1=4 i=4 3 yes 4. i=4 выход выход " width="640"

Проверка выполнения циклов в пошаговом режиме (трассировка)

Пусть n = 3; a - основание i: =1; p :=1; f :=1; s :=0;

While i

Repeat … until I n

  • i=1

p=p*a=a 1 ; f=f*i=1*1=1!

s=s+p/f=0+a 1 /1!=a 1 /1!;

i:=i+1=2

p=p*a= a 1 ; f=f*i=1*1=1!

s=s+p/f=0+a 1 /1!= a 1 /1!;

i:=i+1=2

i= 2 3 no

2. i=2

p=a 1 *a=a 2 ; f=1*2=2!;

s= a 1 /1! + a 2 /2!

i=2+1=3

p=a 1 *a=a 2 ; f=1*2=2!;

s= a 1 /1! + a 2 /2!

i=2+1=3

i=3 3 no

3. i=3

p= a 2 *a=a 3 ; f=1*2*3=3!

s= a 1 /1! + a 2 /2! + a 3 /3!

i=3+1=4

p= a 2 *a=a 3 ; f=1*2*3=3!

s= a 1 /1! + a 2 /2! + a 3 /3!

i=3+1=4

i=4 3 yes

4. i=4 выход

выход

Проверка выполнения циклов в пошаговом режиме (трассировка) продолжение… For … to…do For…downto…do  i=1 p=p*a=a 1 ; f=f*i=1*1=1! s=s+p/f=0+a 1 /1!= a 1 /1!;    i=3 p=p*a=a 1 ; f=f*(3-i+1)=1*1=1! s=s+p/f=0+a 1 /1!= a 1 /1!;   2. i=2 p=a 1 *a=a 2 ; f=1*2=2!; s= a 1 /1! + a 2 /2!    i=2 p=a 1 *a=a 2 ; f=1*(3-2+1)=1*2=2!; s= a 1 /1! + a 2 /2!   3. i=3 p= a 2 *a=a 3 ; f=1*2*3=3! s= a 1 /1! + a 2 /2! + a 3 /3!    i=1 p= a 2 *a=a 3 ; f=1*2*3=3! s= a 1 /1! + a 2 /2! + a 3 /3!   4. i=4 выход  i=0 выход  Таким образом мы видим, что требуемая формула получения суммы совпадает с исходной.

Проверка выполнения циклов в пошаговом режиме (трассировка) продолжение…

For … to…do

For…downto…do

  • i=1

p=p*a=a 1 ; f=f*i=1*1=1!

s=s+p/f=0+a 1 /1!= a 1 /1!;

 

i=3

p=p*a=a 1 ; f=f*(3-i+1)=1*1=1!

s=s+p/f=0+a 1 /1!= a 1 /1!;

 

2. i=2

p=a 1 *a=a 2 ; f=1*2=2!;

s= a 1 /1! + a 2 /2!

 

i=2

p=a 1 *a=a 2 ; f=1*(3-2+1)=1*2=2!;

s= a 1 /1! + a 2 /2!

 

3. i=3

p= a 2 *a=a 3 ; f=1*2*3=3!

s= a 1 /1! + a 2 /2! + a 3 /3!

 

i=1

p= a 2 *a=a 3 ; f=1*2*3=3!

s= a 1 /1! + a 2 /2! + a 3 /3!

 

4. i=4 выход

i=0 выход

Таким образом мы видим, что требуемая формула получения суммы совпадает с исходной.

Сравнительная характеристика операторов цикла  Если число повторений заранее не известно, то в этом случае используют либо цикл while , либо цикл repeat . Если число повторений известно, то удобнее использовать цикл с параметром.  Давайте сделаем выводы: тело цикла (команды) во всех операторах цикла одинаково, кроме оператора изменения параметра цикла; в операторах цикла с конечным числом повторений For … to … do ; в операторах цикла For … downto … do шаг изменения параметра цикла по умолчанию +1 и -1; цикл Repeat … until хотя бы один раз, но выполнится, а все другие могут и ни разу не выполнится: когда начальное значение параметра цикла больше конечного (для цикла For … to … do ), когда начальное значение меньше конечного (для цикла For … downto … do ), условие, стоящее в заголовке цикла While ложно изначально ; в цикле Repeat … until операторные скобки ( begin … end ) не требуются, т.к. они сами выполняют их роль ; если в операторах цикла While  и Repeat … until не задать изменение параметра цикла, произойдет зацикливание .

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

Если число повторений заранее не известно, то в этом случае используют либо цикл while , либо цикл repeat . Если число повторений известно, то удобнее использовать цикл с параметром.

Давайте сделаем выводы:

  • тело цикла (команды) во всех операторах цикла одинаково, кроме оператора изменения параметра цикла;
  • в операторах цикла с конечным числом повторений For to do ;
  • в операторах цикла For downto do шаг изменения параметра цикла по умолчанию +1 и -1;
  • цикл Repeat until хотя бы один раз, но выполнится, а все другие могут и ни разу не выполнится: когда начальное значение параметра цикла больше конечного (для цикла For … to … do ), когда начальное значение меньше конечного (для цикла For … downto … do ), условие, стоящее в заголовке цикла While ложно изначально ;
  • в цикле Repeat until операторные скобки ( begin … end ) не требуются, т.к. они сами выполняют их роль ;
  • если в операторах цикла While и Repeat until не задать изменение параметра цикла, произойдет зацикливание .
Домашнее задание: 1. Повторить все операторы цикла (структура, как работает). 2.  Составить программы для вычисления: накопить сумму квадратов чисел из интервала 10, 30 длина последовательности не определена, но последний элемент равен 0, вычислить сумму элементов последовательности вычислить произведение P = (1-1/2 2 )*(1-1/3 2 )*…*(1- 1/ n 2 ) , n вводится с клавиатуры

Домашнее задание:

1. Повторить все операторы цикла (структура, как работает).

2. Составить программы для вычисления:

  • накопить сумму квадратов чисел из интервала 10, 30
  • длина последовательности не определена, но последний элемент равен 0, вычислить сумму элементов последовательности
  • вычислить произведение P = (1-1/2 2 )*(1-1/3 2 )*…*(1- 1/ n 2 ) , n вводится с клавиатуры
Заключение…    Мы провели обобщающий анализ операторов цикла. Теперь решение за вами: каким и когда вы будете пользоваться при решении поставленных задач.  Успехов вам в программировании.

Заключение…

Мы провели обобщающий анализ операторов цикла. Теперь решение за вами: каким и когда вы будете пользоваться при решении поставленных задач. Успехов вам в программировании.

Используемая литература: Информатика и ИКТ: учебник для 9 класса / Л.Л. Босова, А.Ю. Босова. – М.: БИНОМ. Лаборатория знаний, 2013. Информатика. Углубленный уровень : учебник для 10 класса / К.Ю.  Поляков, Е.А. Еремин. – М.: БИНОМ. Лаборатория знаний, 2013. Пильщиков В.Н. Сборник упражнений по языку Паскаль :  Учебное пособие для вузов. – М. : Наука. Гл. ред. физ.- мат. лит., 1989. Практикум по информатике и информационным технологиям.  Учебное  пособие для общеобразовательных учреждений. Изд. 2-е, испр. / Н.Д. Угринович, Л.Л. Босова, Н.И. Михайлова – М. : БИНОМ. Лаборатория знаний, 2004. Информатика и ИКТ. Задачник-практикум : в 2 т. / Л.А. Залогова [ и др.];  под ред. И.Г. Семакина, Е.К. Хеннера. – М. : БИНОМ. Лаборатория знаний, 2013. 6.   Информатика : Полный справочник для подготовки к ЕГЭ /   О.Б. Богомолова. – Москва : АСТ: Астрель, 2014.

Используемая литература:

  • Информатика и ИКТ: учебник для 9 класса / Л.Л. Босова, А.Ю. Босова. – М.: БИНОМ. Лаборатория знаний, 2013.
  • Информатика. Углубленный уровень : учебник для 10 класса / К.Ю.

Поляков, Е.А. Еремин. – М.: БИНОМ. Лаборатория знаний, 2013.

  • Пильщиков В.Н. Сборник упражнений по языку Паскаль :

Учебное пособие для вузов. – М. : Наука. Гл. ред. физ.- мат. лит., 1989.

  • Практикум по информатике и информационным технологиям.

Учебное пособие для общеобразовательных учреждений. Изд. 2-е, испр. / Н.Д. Угринович, Л.Л. Босова, Н.И. Михайлова – М. : БИНОМ. Лаборатория знаний, 2004.

  • Информатика и ИКТ. Задачник-практикум : в 2 т. / Л.А. Залогова [ и др.]; под ред. И.Г. Семакина, Е.К. Хеннера. – М. : БИНОМ. Лаборатория знаний, 2013.

6. Информатика : Полный справочник для подготовки к ЕГЭ /

О.Б. Богомолова. – Москва : АСТ: Астрель, 2014.

Электронное сопровождение: 1.  Набор цифровых образовательных ресурсов  ( http :// metodist . lbz . ru / autors / informatica /) 2.  Федеральный центр образовательных  ресурсов  (http://fcior.edu.ru) 3.  Материалы сайта  (http://fipi.ru)

Электронное сопровождение:

1. Набор цифровых образовательных ресурсов

( http :// metodist . lbz . ru / autors / informatica /)

2. Федеральный центр образовательных ресурсов

(http://fcior.edu.ru)

3. Материалы сайта

(http://fipi.ru)


Скачать

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

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

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