Методический электронный образовательный центр Министерства образования Оренбургской области и Оренбургского государственного университета

Учителю
  • Быстрый поиск
  • Расширенный поиск
Тип материала:
Разделы:
Темы:

Цикл с переменной (Ободова М. В.)

Текст урока

  • Конспект

     28.Цикл с переменной
    
    Название предмета Информатика
    Класс 10
    УМК 
     Поляков К. Ю,  Еремин ,  Е.А. Информатика и ИКТ. Углубленный уровень: учебник для 10 класса: в 2 частях. Ч. 2 / К.Ю. Поляков, Е.А. Еремин,  –  Москва: Бином. Лаборатория знаний, 2013, - 304 с.: ил.
    Уровень обучения (Углубленный уровень)
    Тема урока     Цикл с переменной.
    Общее количество часов, отведенное на изучение темы 1 час
    Место урока в системе уроков по теме 1 урок
    Цель урока: сформировать знания и умения учащихся по данной теме.
    Задачи урока:
    сформировать у учащихся понятия цикл с переменной; 
    способствовать развитию познавательной деятельности учащихся,     алгоритмического мышления,  навыков работы на компьютере
    воспитывать необходимость связывать изучение нового материала с уже известными фактами,  воспитание чувства уверенности в себе и своих знаниях, чувства ответственности за результаты своего труда;
    
    Учащиеся должны знать:
    
    -  структуру программ на Паскале
      операторы  цикла;
    
    Учащиеся должны уметь:
    - составлять программы с  циклом.
    
    
    Техническое обеспечение урока: персональный компьютер, проектор, презентация, 
    
    
    
    
    
    
    Содержание урока
    Этапы
    Деятельность учителя
    Деятельность учащихся
    1. Организационный момент
    Приветствие. Проверка отсутствующих. Организация внимания всех учащихся.
    Подготовка учащихся к работе.
    2. Проверка выполнения домашнего задания
     Задача № 2 (стр. 140). Напишите программ «Найти сумму всех натуральных чисел от 1 до n»,
      цикл  WHILE
    program zadacha1b;
         var i,n,s:integer;
    Begin
       writeln('введите натуральное n');
      readln(n);
       s:=0;    i: =1;
       while i<=n do
            begin
               s:=s+i;
               i:=i+1;
            end;
       writeln('сумма от 1 до',n,'=',s);
    end.
      цикл  REPEAT
    program zadacha1c;
          var i,n,s:integer;
    Begin
        writeln(' введите  натуральное n');  readln(n);
        s:=0; i:=1;
        repeat
              begin
                   s:=s+i;
                   i:=i+1;
              end;
        until i>n;
        writeln('сумма от 1 до',n,' = ',s);
    End.
    Эту задачу можно решить другим способом,
    
    
    
    
    
    
    
    
    
    
    выполняют
    задание на компьютере.
    3. Подготовка к основному этапу занятий
    В информатике важную роль играют степени числа 2 (2, 4, 8, 16 и т. д.) Чтобы вывести все степени двойки от 21 до 210, мы уже можем написать такую программу с циклом «пока»:
    к: = 1
    п:=2
    нц пока к<=10
    вывод n,нс
    n:=n*2
    k:=k+1
    кц
    
    к: = 1;
    п:=2;
    while к<= 10  do begin
    writeln(n);
    n:=n * 2;
    к:=к+1
    end;
    Вы наверняка заметили, что переменная к используется трижды (см. выделенные блоки): в операторе присваивания начального значения, в условии цикла и в теле цикла (увеличение на 1). Чтобы собрать все действия с ней в один оператор, во многие языки программирования введён особый вид цикла — цикл с переменной.
    Цикл с параметром -  используется целая переменная – счётчик (или параметр цикла), которая автоматически при каждом повторении изменяется на 1 от начального значения до конечного
    
    
      
    
    
    
    .
    
    
    
    Слушают учителя
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     составляют свое определение поданному понятию
    
    
    
    
    Записываем тему урока в тетради.
    
     
    4. Усвоение новых знаний и способов действий
     В заголовке этого цикла задаются начальное и конечное значения этой переменной, а шаг её изменения по умолчанию равен 1:
    
    n: =2
    нц для к от 1 до 10
    вывод n, нc
    n:=n*2
    кц
    
    
    n: =2;
    for к:=1 tо 10 dо begin
    writeln(n);
    n:=n*2;
    еnd;
    Здесь, в отличие от цикла «пока», переменная цикла может быть только целой.
    С каждым шагом цикла переменная цикла может не только увеличиваться, но и уменьшаться на 1. Для этого в школьном
    алгоритмическом языке добавляется параметр шаг, а в Паскале ключевое слово tо заменяется на downtо («движение вниз до»).
    Следующая программа выводит квадраты натуральных чисел от 10 до 1 в порядке убывания:
    нц     для к от 10 до 1 шаг -1
    вывод       к*к, нс
    кц  
    
    for  k:=10   downto 1 dо
     writeln(k*k);
    В школьном алгоритмическом языке шаг изменения переменной цикла может быть любым целым числом, а в Паскале —
    только 1 или  (-1).
    
    Вложенные циклы
    В более сложных задачах часто бывает так, что на каждом шаге цикла нужно выполнять обработку данных, которая также
    представляет собой циклический алгоритм. В этом случае получается конструкция «цикл в цикле» или вложенный цикл.
    Предположим, что нужно найти все простые числа в диапазоне от 2 до 1000. Простейший (но не самый быстрый) алгоритм 
    решения такой задачи на псевдокоде выглядит так:
    нц для n от 2 до 1000
       если число n простое то
         вывод n, нc
      все
    кц
    Как же определить, что число простое? Как известно, простое число делится только на 1 и само на себя. Если число п не имеет
    делителей в диапазоне от 2 до л-1, то оно простое, а если хотя бы один делитель в этом интервале найден, то составное.
    Чтобы проверить делимость числа  на некоторое число к, нужно взять остаток от деления n на k. Если этот остаток равен
    нулю, то n делится на k. Таким образом, программу можно записать так (здесь n, k и соunt  — целочисленные переменные, соunt
    обозначает счётчик делителей):
    
    
    
    
    
    Попробуем немного ускорить работу программы. Делители числа обязательно идут в парах, причём в любой паре меньший из делителей не превосходит √n (так как произведение двух делителей, каждый из которых больше , √n будет больше, чем n). Поэтому внутренний цикл можно выполнять только до значения √n  вместо n-1. Для того чтобы работать только с целыми числами (и таким образом избежать вычислительных ошибок), лучше заменить условие к <  н√n  на равносильное ему условие к2 <=√n. При этом потребуется перейти к внутреннему циклу с условием:
    
    
    
    Чтобы ещё ускорить работу цикла, заметим, что когда найден хотя бы один делитель, число уже заведомо составное, и искать другие делители в данной задаче не требуется. Поэтому можно закончить цикл. Для этого в условие работы цикла добавляется условие соunt = 0, связанное с имеющимся условием с помощью
    операции «И»: 
    
    В любом вложенном цикле переменная внутреннего цикла изменяется быстрее, чем переменная внешнего цикла. Рассмотрим например, такой вложенный цикл:
    
    На первом шаге (при i =1) переменная k  принимает единственное значение 1. Далее, при i = 2 переменная к принимает последовательно значения 1 и 2. На следующем шаге при 1 - 3 переменная  k проходит значения 1, 2 и 3, и т. д.
    
    
    
    
     
    
    
    
    
    Запись в тетрадь
    
    
    
    
    
    Запись в тетрадь
    
    
    
    
    
    5. Первичная проверка понимания
    № 2. Домашняя задача 3 вариант
    цикл  FOR
    program zadacha1;
         var i, n, s: integer;
    Begin
         writeln(' введите  натуральное n');  readln(n);
         s:=0;
         for i:=1  to n do 
                       s:=s+i;
         writeln('сумма  от  1  до',n,' = ',s);
    End.
    № 12. Найти сумму пяти введенных с клавиатуры чисел
    
    program zadacha2;
    var i, a, S : integer;
    begin
    for i:=1 to 5 do
      begin
         writeln('Введите ',i,' -е число');
           readln(a);
                 S:=S+a;
       end;
        writeln('Сумма равна ', s);
    end.
    
    
    Составляют программу на компьютере
    6. Подведение итогов урока.
    
    
    Делаем анализ полученного материал ( на слайде ответ) и оцениваем нашу работу.
    Проверяют результаты
    7. Домашнее задание
    
    
    
    
    
    
    
    
    8.Рефлексия
    §59
    Задача
    Определить количество трёхзначных натуральных чисел, сумма цифр которых равна заданному числу N.
    
    
    
    Ответьте на вопросы
    Сегодня я узнал…
    Было понятно…
    Было трудно…
    Я понял, что…
    Теперь я могу…
    
    
    
    
    
    
    
    
    
     

    Автор(ы): Ободова М. В.

    Скачать: Информатика 10кл - Конспект.docx

Презентация к уроку