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Автор(ы): Ободова М. В.
Скачать: Информатика 10кл - Презентация к уроку.ppt