Пятница, 17.05.2024, 14:19
Приветствую Вас Гость | RSS

Сайт Хлебниковой Натальи Борисовны

Агитки - Цветочное обрамление
Список папок
Наш опрос
Оцените мой сайт
Всего ответов: 32
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа

Каталог файлов

Главная » Файлы » Мои файлы

Урок по теме "Циклы на Паскале"
[ Скачать с сервера (152.5 Kb) ] 29.01.2012, 12:00

Тема: Реализация циклического алгоритма на Паскале. Цели: Образовательная: познакомиться с записью и выработать навыки использования операторов цикла на языке программирования Паскаль, научиться оформлять таблицы и проводить трассировку фрагментов программы. Развивающая: развивать способность воспринимать, обрабатывать и обобщать информацию; развивать логическое, абстрактное мышление; развивать навыки самоконтроля и взаимоконтроля. Воспитательная: воспитывать сознательное отношение и творческий подход к изучаемому предмету, четкость и организованность в труде, аккуратность, внимательность, бережное отношение к технике и к информации.
Методы обучения: словесные, проблемно-поисковые, наглядно-иллюстрационные, репродуктивные, методы самостоятельной работы.
Организационные формы: индивидуальная, групповая, фронтальная.
Оборудование: таблица, доска и фломастеры, мультипроектор, компьютеры, тесты.
Структура урока: Оргмомент, постановка цели урока. Подготовка к восприятию нового материала через повторение и актуализацию опорных знаний. Активное изучение нового материала. Осмысление и применение изученного на практике. Подведение итогов урока. Домашнее задание.
Тип урока: урок закрепления известных знаний, получения новых знаний, их осмысления, закрепления, отработки, практического применения для решения задач.
План урока:
1. Приветствие. Объявление темы и целей урока. (Постановка проблемы.)
2. Подготовка к восприятию нового материала: Какие типы алгоритмов существуют (линейный, разветвляющийся, циклический); Какие типы алгоритмов мы уже можем реализовать на Паскале (линейный, разветвляющийся); Когда применяется циклический алгоритм (при повторении одних и тех же действий несколько раз); Что такое тело цикла (действия внутри цикла, именно они повторяются при исполнении алгоритма); Типы циклических алгоритмов (рассмотрены еще при изучении записи алгоритмов в виде блок-схем: со счетчиком, с предусловием, с постусловием). В алгоритме, записанном ниже, используются целочисленные переменные k и m. Определите значение переменной k после выполнения данного алгоритма: m:= -1; k:=2*m-2; m:=k+2; k:=k*m+5; (13) Определите значение переменной p после выполнения следующего фрагмента программы: (-61) ПаскальАлгоритмический язык
m:=13; n:=21; n:=2*m-n; if m<=n then p:=m+n else p:= 4-m*n; m:=13; n:=21; n:=2*m-n; если m<=n то p:=m+n иначе p:= 4-m*n все

Цель повторения: определить, что мы успели понять и усвоить за предыдущие уроки, и, соответственно, ликвидировать пробелы в знаниях; закрепить знания.
3. Новый материал – совместное изучение (на партах у учащихся таблица). Таблицы выдаются детям (и остаются у них, подклеиваются в рабочие тетради): Операторы цикла на Паскале Цикл с параметром (со счетчиком)Цикл с предусловиемЦикл с постусловием
Оператор цикла с параметром применяют тогда, когда заранее известно число повторений одной и той же последовательности операторов Цикл с параметром по возрастающим значениям параметра For I: = А to В do <тело цикла>; Тело цикла – простой или составной оператор. Составной оператор – группа операторов между begin и end. I – переменная, порядкового типа (integer, char) Начальное (А) и конечное (В) значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями. Оператор цикла с параметром данного вида выполняется следующим образом- вычисляются значения выражений А и В. Если А<=В, то <параметр> последовательно принимает значения, равные А, А+1, …., В-1, В (шаг+1) и для каждого из этих значений выполняется <тело цикла>. Если А>В, то <тело цикла> не выполняется ни разу. Цикл с параметром по убывающим значениям параметра: For I:=А downto В do <тело цикла>; Параметр I меняет свое значение от А до В с шагом –1 (для целого типа), если А< В, цикл не выполняется ни разу. Цикл с предусловием используется тогда, когда число повторений оператора цикла заранее не известно, а задается некоторое условие продолжения цикла. While <условие> do <тело цикла>; Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова While. Если оно соблюдается, то выполняется <тело цикла>, затем вновь проверяется условие и т. д. Как только при очередной проверке окажется, что условие не соблюдается, <тело цикла> выполнятся не будет. Цикл выполняется пока условие истинно (верно), если условие сразу не верно – цикл не выполняется ни разу. Примечание: 1. Если <тело цикла> состоит из нескольких операторов, то они объединяются операторными скобками. 2. В теле цикла обязательно должен быть оператор, влияющий на соблюдение условия, в противном случае произойдет зацикливание. Для программной реализации циклических алгоритмов с неизвестным заранее числом повторений имеется ещё один оператор – оператор цикла с постусловием, который имеет следующий вид: Repeat <оператор 1>; <оператор 2>; ……………. <оператор n>; Until <условие>;{ до тех пор, пока не} Этот оператор отличается от цикла с предусловием тем, что проверка условия производится после очередного выполнения тела цикла. Это обеспечивает выполнение цикла хотя бы один раз. Данный оператор цикла предлагает наличие нескольких операторов в теле цикла, поэтому служебные слова Begin и End не нужны. Последовательность операторов, входящих в тело цикла, выполняется один раз, после чего проверяется соблюдение условия, записанного следом за служебным словом Until. Если условие соблюдается, цикл завершается. В противном случае – тело цикла выполняется еще раз, после чего снова проверяется соблюдение условия. Цикл выполняется пока условие ложно.
В ходе объяснения учитель приводит примеры решения задач на все виды циклов: Пример 1
Из чисел от 10 до 99 вывести те, сумма цифр которых равна n (0
Program Example_9; Var s, k, n, p1, p2: Integer; Begin
Writeln (‘Введите целое число ’); Readln (n); For k:= 10 to 99 do Begin P1:= k div 10; P2:= k mod 10; S:= p1+p2; If s=n Then writeln (k); End; Writeln (‘ нажмите ’); Readln ; End. Трассировка примера Рассмотрим выполнение программы в пошаговом режиме для n=2: nkР1Р2SУсловие s=n
210101Нет
11112Да
12123Нет
……………
999918нет
В результате работы программы на экране появится 2 числа: 11 20
Пример 2 Подсчитать количество цифр заданного натурального числа n. Решение Подсчет количества цифр начнем с последней цифры числа. На очередном шаге цикла увеличим счетчик цифр на единицу, а число уменьшим в 10 раз (тем самым мы избавляемся от последней цифры числа). Далее с получившимся числом проделаем ту же последовательность действий и т. д. пока число не станет равным нулю.
Program Example_13; Var m, n, k: Longint;
Begin
Writeln (‘введите натуральное число’); Readln (n); m:= n; k:=0; While m<>0 Do Begin Inc (k); m := m div 10; End; writeln (‘В числе ’, n,’-‘,k,’цифр’); Readln ; End. Трассировка примера Рассмотрим выполнение программы в пошаговом режиме для числа 65387: nmk
65387653870
6538765381
653876532
65387653
6538764
6538705
В результате работы программы на экране появится предложение: В числе 65387 – 5 цифр.
Пример 3. Составьте программу планирования закупок в магазине на сумму, не превышающую заданную величину. Решение Обозначим через x и k цену и количество товара, через p- заданную предельную сумму, через s – стоимость покупки. Начальное значение общей стоимости покупки s равно нулю. Значение предельной суммы считывается с клавиатуры. Необходимо повторять запрос цены и количества выбранного товара, вычислять его стоимость, суммировать её с общей стоимостью и выводить результат на экран до тех пор, пока стоимость не превысит предельную сумму p.
Program Example_17; Var x, k, p, s: integer;
Begin
Writeln (‘Предельная сумма - ’); Readln ( p); s:=0; Repeat Writeln (‘Введите цену товара и его количество’); Readln (x, k); s:= s + x*k ; writeln (‘Стоимость покупки равна ’,s); Until s> p; Writeln (‘ Суммарная стоимость покупки превысила предельную сумму’); Readln ; End. Трассировка примера Рассмотрим выполнение программы в пошаговом режиме для суммы 100 рублей: рsxk Условие s>p
1000162
0+32=32 32>100 нет
65
32+30=62 62>100 нет
252
62+50=112 112>100 да
В результате работы программы на экране: Введите цену товара и его количество 16 2 Стоимость покупки равна 32 Введите цену товара и его количество 6 5 Стоимость покупки равна 62 Введите цену товара и его количество 25 2 Стоимость покупки равна 112 Суммарная стоимость покупки превысила предельную сумму
4.Осмысление и применение изученного на практике. Задание 1. Выполнить трассировку всех трех примеров для следующих значений: Пример 1. n=5 Пример 2. n = 2543 Пример 3. S= 250 x=100 k= 3 Задание 2. 1) Сколько раз будет выполнено тело цикла в следующих фрагментах программ: a) For k:= -1 to 1 do …. b) For k:= 10 to 20 do… c) For k:= 20 to 10 do … 2) Дана последовательность операторов: a:= 1; b:=1; While a+b<8 Do Begin a:=a+1; b:=b+2 End; S:=a+b; Сколько раз будет повторен цикл и какими будут значения переменных a, b и s После завершения этой последовательности операторов?
3)Какое значение будет принимать переменная у после выполнения программы:
5.Подведение итогов урока.
– Итак, мы познакомились с циклами, важнейшей составной частью большинства программ. Завершим мы тему "Циклы” решением задач на следующем уроке. 6.Домашнее задание. Выполнить по карточкам домашнюю самостоятельную работу в трёх вариантах : Вариант 1 Составить программу, используя цикл с параметром: Подсчитать сумму всех нечётных чисел от 230 до 430 Вариант2 Составить программу, используя цикл с предусловием: Вычислить сумму цифр числа. Вариант3 Напишите программу, используя цикл с постусловием для задачи: Найти сумму цифр четырёхзначного числа. РАЗДАТОЧНЫЙ МАТЕРИАЛ ПО ТЕМЕ «ЦИКЛЫ» Повторение Какие типы алгоритмов существуют? Какие типы алгоритмов мы уже можем реализовать на Паскаль? Когда применяется циклический алгоритм? Что такое тело цикла? Типы циклических алгоритмов. В алгоритме, записанном ниже, используются целочисленные переменные k и m. Определите значение переменной k после выполнения данного алгоритма: m:= -1; k:=2*m-2; m:=k+2; k:=k*m+5; (13) Определите значение переменной p после выполнения следующего фрагмента программы: (-61) ПаскальАлгоритмический язык
m:=13; n:=21; n:=2*m-n; if m<=n then p:=m+n else p:= 4-m*n; m:=13; n:=21; n:=2*m-n; если m<=n то p:=m+n иначе p:= 4-m*n все
Закрепление Задание 1. Выполнить трассировку всех трех примеров для следующих значений: Пример 1. n=5 Пример 2. n = 2543 Пример 3. S= 250 x=100 k= 3 Задание 2. 1) Сколько раз будет выполнено тело цикла в следующих фрагментах программ: a) For k:= -1 to 1 do …. b) For k:= 10 to 20 do… c) For k:= 20 to 10 do … 2) Дана последовательность операторов: a:= 1; b:=1; While a+b<8 Do Begin a:=a+1; b:=b+2 End; S:=a+b; Сколько раз будет повторен цикл и какими будут значения переменных a, b и s, после завершения этой последовательности операторов?
3)Какое значение будет принимать переменная у после выполнения программы:
Операторы цикла на Паскале Цикл с параметром (со счетчиком)Цикл с предусловиемЦикл с постусловием
Оператор цикла с параметром применяют тогда, когда заранее известно число повторений одной и той же последовательности операторов Цикл с параметром по возрастающим значениям параметра For I: = А to В do <тело цикла>; Тело цикла – простой или составной оператор. Составной оператор – группа операторов между begin и end. I – переменная, порядкового типа (integer, char) Начальное (А) и конечное (В) значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями. Оператор цикла с параметром данного вида выполняется следующим образом- вычисляются значения выражений А и В. Если А<=В, то <параметр> последовательно принимает значения, равные А, А+1, …., В-1, В (шаг+1) и для каждого из этих значений выполняется <тело цикла>. Если А>В, то <тело цикла> не выполняется ни разу. Цикл с параметром по убывающим значениям параметра: For I:=А downto В do <тело цикла>; Параметр I меняет свое значение от А до В с шагом –1 (для целого типа), если А< В, цикл не выполняется ни разу. Цикл с предусловием используется тогда, когда число повторений оператора цикла заранее не известно, а задается некоторое условие продолжения цикла. While <условие> do <тело цикла>; Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова While. Если оно соблюдается, то выполняется <тело цикла>, затем вновь проверяется условие и т. д. Как только при очередной проверке окажется, что условие не соблюдается, <тело цикла> выполнятся не будет. Цикл выполняется пока условие истинно (верно), если условие сразу не верно – цикл не выполняется ни разу. Примечание: 3. Если <тело цикла> состоит из нескольких операторов, то они объединяются операторными скобками. 4. В теле цикла обязательно должен быть оператор, влияющий на соблюдение условия, в противном случае произойдет зацикливание. Для программной реализации циклических алгоритмов с неизвестным заранее числом повторений имеется ещё один оператор – оператор цикла с постусловием, который имеет следующий вид: Repeat <оператор 1>; <оператор 2>; ……………. <оператор n>; Until <условие>;{ до тех пор, пока не} Этот оператор отличается от цикла с предусловием тем, что проверка условия производится после очередного выполнения тела цикла. Это обеспечивает выполнение цикла хотя бы один раз. Данный оператор цикла предлагает наличие нескольких операторов в теле цикла, поэтому служебные слова Begin и End не нужны. Последовательность операторов, входящих в тело цикла, выполняется один раз, после чего проверяется соблюдение условия, записанного следом за служебным словом Until. Если условие соблюдается, цикл завершается. В противном случае – тело цикла выполняется еще раз, после чего снова проверяется соблюдение условия. Цикл выполняется пока условие ложно.
Пример 1
Из чисел от 10 до 99 вывести те, сумма цифр которых равна n (0






В результате работы программы на экране появится ____ числа:
Пример 2 Подсчитать количество цифр заданного натурального числа n. Трассировка примера Рассмотрим выполнение программы в пошаговом режиме для числа ___________: nmk






В результате работы программы на экране появится предложение: В числе _________ – ___ цифр. Пример 3 Составьте программу планирования закупок в магазине на сумму, не превышающую заданную величину. Трассировка примера Рассмотрим выполнение программы в пошаговом режиме для суммы _____ рублей: рsxk Условие s>p






В результате работы программы на экране: Введите цену товара и его количество ____ _____ Стоимость покупки равна _____ Введите цену товара и его количество ____ _____ Стоимость покупки равна ____ Введите цену товара и его количество ____ _____ Стоимость покупки равна _____ Сум
Категория: Мои файлы | Добавил: natasha
Просмотров: 3412 | Загрузок: 295 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: