Итерации в программировании
методическая разработка по информатике и икт (9 класс) на тему

Альшевская Антонина Алексеевна

Урок может быть использован при прохождении темы "Циклические алгоритмы". Дается  понятие итерации в программировании, рассматриваются общие подходы.  Приводятся примеры программ для вычисления факториала, степенной функции и чисел Фиббоначи.

Скачать:

ВложениеРазмер
Microsoft Office document icon iteracii_v_programmirovanii.doc115.5 КБ
Office presentation icon iteracii_v_programmirovanii.ppt225.5 КБ

Предварительный просмотр:

А.А.Альшевская
«Итерации в программировании»,8 класс

P1080333

Тип урока: Урок изучение и закрепление новых приемов программирования.

Основная цель: научить сознательно и рационально использовать возможности ПК для решения поставленных задач.

ОБОРУДОВАНИЕ (материалы):

  • ноутбук, проектор, экран;
  • презентация PowerPoint

ЦЕЛИ УРОКА:

  • Закрепить знания по использованию циклических структур;
  • Освоить приёмы построения циклических структур на практике.

Ход урока

Этапы урока

Действия учителя

Действия ученика

Актуализация опорных знаний

Представляет презентацию опорных знаний. Является координатором фронтального опроса учащихся

Повторение пройденного материала. Фронтальный опрос.

Новый материал

Представляет демонстрационные слайды, которые концентрируют внимание учащихся на поставленной теме

Работа с конспектом,
презентацией, доской

Новый материал.

Представляет демонстрационные слайды, на которых представлены примеры использования итераций. Обсуждение с учениками.

Работа с конспектом, презентацией.

Закрепление материала

Ставит проблему. Является координатором обсуждений

Ответы на вопросы учителя с использованием знаний, полученных на уроке.

Самостоятельное составление программы на компьютере.

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

Представляет презентацию, включающую задачи для домашнего выполнения

Запись домашнего задания

Этап 1. Актуализация опорных знаний.

Сегодня мы с вами познакомимся с новыми задачами, которые решаются на основе циклических конструкций. Тема урока «Итерации в программировании».

Но прежде чем приступить к новой теме, мы вспомним изученные ранее операторы цикла.

Вопросы к классу:

  1. Для чего используются циклические конструкции?
  2. Вспомните основные операторы цикла и их особенности, с которыми мы уже познакомились. Перечислите все операторы цикла.
  3. Особенности работы каждого оператора цикла

1.Оператор цикла с параметром.

Вопросы к классу:

  1. Принцип работы оператора цикла с параметром.
  2. Что такое параметр цикла?
  3. Сколько раз повторяется цикл?
  4. Какие типы данных используются  для параметра цикла?
  5. Что такое тело цикла?
  6. Что требуется выполнить, если тело цикла состоит не из одного оператора?
  7. Обозначение на блок схеме.
  1. Оператор цикла с постусловием.

Вопросы к классу:

  1. Принцип работы оператора.
  2. Особенности работы данного оператора.
  3. От чего зависит, сколько раз будет повторяться цикл?
  4. Что необходимо, чтобы цикл не был бесконечным?
  5. Обозначение на блок- схеме.
  1. Оператор цикла с предусловием.

3.1. Принцип работы.

3.2. Особенности данного оператора

3.3. Чем он похож на цикл с постусловием?

3.4.В чем их разница?

3.3. Обозначение на блок- схеме.

Этап 2. Изучение нового материала. Итерации в программировании.

Работа с конспектом

  1. Записать определения:

Итерация (лат.iteratio— повторение)— в математике, одно из ряда повторений какой-либо математической операции, использующее результат предыдущей аналогичной операции.

Пример:

Факториал(!)— N! = 1 х 2 х 3 x … x (N-1) x N, где N— любое целое число.

Каждое последовательное умножение носит название «итерация».

Итерация в программировании

Итерация— это организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя.

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

Например, нужно вывести 200 раз на экран текст «Hello, World!». Вместо 200-кратного повторения одной и той же команды вывода текста часто создается цикл, который прокручивается 200 раз и 200 раз выполняет то, что написано в теле цикла. Один шаг цикла и называется итерацией.

Математическая модель итерации сводится к повторению некоторого преобразования (отображения) T X→X на множестве переменных программы. Программной реализацией итерации является обычно некоторый цикл, тело которого осуществляет преобразование T.

Пример №1.

В качестве примера можно рассмотреть схему вычисления факториала натурального числа в соответствии с его другим определением:

Факториал N!целого неотрицательного числа N задается следующими соотношениями:

0!=1

N!:=N*(N-1)!, для N>0

N!:=1*2*3*…*N

При написании программы в соответствии с ним нужно работать с двумя величинами целого типа: числом i, которое будет играть роль счетчика и изменяться от 1 до N включительно, и величиной K, в которой будет накапливаться произведение чисел от 1 до i.

Итак для реализации вычисления факториала необходимо организовать цикл:

k:=1;

For i:=1 to n do

k:=k*i;

Пример №2.

Вычисление степени 2. Каждая следующая степень 2, есть результат умножения ей предшествующей степени на 2, т.е. последовательное накопление произведения.

P:=1;

For I:=1 to n do

P:=p*2;

Пример №3

Числами Фибоначчи Fn называют последовательность величин

0, 1, 1, 2, 3, 5, 8, img291, определяемую равенствами:

F0:=0

F1:=1

F i+1:=Fi+Fi-1

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

F0:=0;

F1:=1;

For I:=1 to 5 do

begin

F2:=F0 + F1;

Writeln(F2);

{подготовка для вычисления следующего числа Фибоначчи}

F0:=F1;

F1:=F2;

End;

Этап 3. Закрепление материала.

Вопрос №1

Запишите фрагмент программы, позволяющий вычислить an  

K:=1;

For I:=1 to n do k:=k*a;

Вопрос №2

Запишите фрагмент программы, позволяющий вычислить nn   

K:=1;

For I:=1 to n do k:=k*n;

Вопрос №3

Рассмотрим следующий пример. (Слайд)

Необходимо вычислить произведение

p:=a*(a+1)*(a+2)*(a+3)…*(a+n-1)

Вопрос к классу.

Какова закономерность?

Проверка Mi+1:=Mi + 1;

Проверьте правильность написания программы.(Слайд)

Program test1;

var

p,n,a,m,i:integer;   {        i – порядковый номер элемента

m – текущее значение элемента последовательности

                        n - количество элементов

                        p– искомое произведение}

begin

writeln(‘Введите количество элементов’);

readln(n);

writeln(‘Введите значение а’);

m:=a; p:=a;

for i:=2 to n

begin

m:=m+1;

p:=p*m;

end;

writeln(p);

end.

Вопрос №4

Вводится число. Необходимо определить, является ли оно числом Фибоначчи?

Последовательно вычисляем числа Фибоначчи.

Вопрос к классу.

До какого момента будем вычислять? Когда закончим?

Проверьте правильность написания программы.

Program test2;

Var

f0,f1,f2,n:integer;

Begin

Readln(n);

f0:=0; f1:=1;

Repeat

f2:=f0+f1;

f0:=f1;

f1:=f2;

Until f2>=n;

If f2=n writeln(‘yes’)

else writeln(‘no’)

end.

Этап 4. Работа на компьютере.

Напишите и отладьте на компьютере программу, вычисляющую данное выражение.

S:=1/a + 1/a2 + 1/a4 + …+1/a2n

Этап 5. Домашнее задание.

  1. Вывести все числа Фибоначчи в диапазоне от n до m.
  2. Найти  сумму 5 элементов последовательности общий элемент, которой  вычисляется о формуле: A i:=(2*i+5)/2i


Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Итерации в программировании . Циклические алгоритмы. 8 класс Учитель информатики: Альшевская А.А.

Слайд 2

Используются, когда необходимо в программе Многократно повторить одни и те же действия. Для чего используются циклические конструкции?

Слайд 3

Перечислите операторы цикла. Цикл с параметром. Цикл с постусловием. Цикл с предусловием.

Слайд 4

Цикл с параметром Структура оператора с шагом +1 For параметр цикла := н.з. to к.з. Do < тело цикла > Структура оператора с шагом -1 For параметр цикла := н.з. downto к.з. Do < тело цикла >

Слайд 5

Обозначение на блок-схеме цикла с параметром. I:=1, 10 x:=x+2 S:=S +x

Слайд 6

Цикл с постусловием. Структура оператора: REPEAT < тело цикла > UNTIL < условие выхода >; истина ложь

Слайд 7

Обозначение на блок-схеме цикла с постусловием. I>=10 x:=x+2; i:=i+x; ложь истина

Слайд 8

Цикл с предусловием. Структура оператора: WHILE < условие входа > DO < тело цикла >; истина ложь

Слайд 9

Обозначение на блок-схеме цикла с предусловием. I<10 x:=x+2; i:=i+x; истина ложь

Слайд 10

Определение итерации Итерация ( лат. iteratio — повторение)— в математике , одно из ряда повторений какой-либо математической операции, использующее результат предыдущей аналогичной операции. Пример: Факториал(!)— N! = 1 х 2 х 3 x … x (N-1) x N, где N— любое целое число. Каждое последовательное умножение носит название «итерация».

Слайд 11

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

Слайд 12

Итерации в программировании. Математическая модель итерации сводится к повторению некоторого преобразования (отображения) T X→X на множестве переменных программы. Программной реализацией итерации является обычно некоторый цикл, тело которого осуществляет преобразование T в теле цикла.

Слайд 13

Примеры итерации. Факториал. Факториал N !целого неотрицательного числа N задается следующими соотношениями: 0!=1 N !:= N *( N -1)!, для N >0 N !:=1*2*3*…* N k:=1; For i:=1 to n do k:=k*i;

Слайд 14

Примеры итерации. 2 n 2 n =2 n-1 *2 2 n =2 * 2 * … 2 P:=1; For I:=1 to n do P := P *2; n раз

Слайд 15

Примеры итерации. Числа Фиббоначи. Числами Фибоначчи Fn называют последовательность величин 0, 1, 1, 2, 3, 5, 8, , определяемую равенствами: F 0:=0 F1:=1 F i+1 :=F i +F i-1

Слайд 16

Примеры итерации. Числа Фиббоначи F0:=0; F1:=1; For I:=1 to 5 do begin F2:=F0 + F1; Writeln ( F 2); {подготовка для вычисления следующего числа Фиббоначи} F0:=F1; F1:=F2; End ;

Слайд 17

Задание №1 Запишите фрагмент программы, позволяющий вычислить a n K:=1; For I:=1 to n do k:=k*a;

Слайд 18

Задание №2 Запишите фрагмент программы, позволяющий вычислить n n K:=1; For I:=1 to n do k:=k*n;

Слайд 19

Задание №3 Необходимо вычислить произведение : p:=a*(a+1)*(a+2)*(a+3)…*(a+n-1) Очередной сомножитель вычисляется: Mi +1:= Mi + 1;

Слайд 20

Листинг программы . Program test1; var p , n , a , m , i : integer ; { i – порядковый номер элемента m – текущее значение элемента последовательности n - количество элементов p – искомое произведение} begin writeln (‘Введите количество элементов’); readln(n); writeln (‘Введите значение а’); m:=a; p:=a; for i:=2 to n begin m:=m+1; p:=p*m; end; writeln(p); end .

Слайд 21

Задание №4 Вводится число. Необходимо определить, является ли оно числом Фиббоначи? Последовательность действий: В ычисляем числа Фиббоначи. Вопрос : До какого мо м ента будем вычислять?

Слайд 22

Листинг программы. Program test2; Var f0,f1,f2,n:integer; Begin Readln(n); f0:=0; f1:=1; Repeat f2:=f0+f1; f0:=f1; f1:=f2; Until f2>=n; If f2=n writeln(‘yes’) else writeln(‘no’) ; End.

Слайд 23

Работа на компьютере. Написать программу вычисляющую выражение: S:=1/a + 1/a 2 + 1/a 4 + …+1/a 2n

Слайд 24

Домашнее задание. Вывести все числа Фиббоначи в диапазоне от n до m . Найти сумму 5 элементов последовательности общий элемент, которой вычисляется о формуле: A i :=(2*i+5)/2 i


По теме: методические разработки, презентации и конспекты

Тематическое планирование по курсу «Основы алгоритмизации и программирования» в среде программирования VBA

Тематическое планирование  по курсу «Основы алгоритмизации и программирования» в среде программирования VBA  Основы алгоритмизации и программирование1,2(4 час)Повт. Программное об...

Основы программирования: ТЕМА 01. ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ.

ОСНОВЫ ПРОГРАММИРОВАНИЯВВЕДЕНИЕОдним из популярных сегодня ЯП является Паскаль. Он позволяет составлять программы для решения математических задач, обработки текстов, построения изображений на экране ...

Место динамического программирования в подготовке школьников к олимпиадам по программированию

Задачи на применение идей динамического программирования – частое явление на олимпиадах по программированию, поэтому одним из важных шагов подготовки учащихся к успешному выступлению на олимпиаде по п...

Презентация "Метод хорд. Метод касательных. Метод простой итерации"

Содержит теоретический и практический материал по нахождению приближенных корней уравнений численными методами....