Тема: Оператор цикла с постусловием

Цели и задачи:

  • Проверить знания матриала по теме “Цикл с предусловием”.
  • Научить решать задачи по теме “Оператор цикла с постусловием”, составление блок-схем.
  • Активизировать знания по теме “Оператор цикла с постусловием” для решения задач по данной теме.

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

I. Проверка домашнего задания

Задания:

1. Дана последовательность операторов:

a:=1; b:=1;
while a+b; b:=b+2 end;
s:=a+b
сколько раз будет повторен цикл, и какими будут значения переменных a, b и s после завершения этой последовательности операторов?

Ответ: 2 раза, s=8, a=3, b =5.

2. Что будет выведено на экране монитора после выполнения следующего фрагмента программы:

b:=0;
while a<>0 do
begin
a:=a div 10;
h:=b*10+a mod 10;
end;
write(h);
если а=13305?

Ученик изображают на доске блок-схему.

Вопросы:

– Как записывается оператор с предусловием?

– В каких случаях целесообразно использовать оператор с предусловием?

II. Изучение нового материала

Цикл с постусловием

В этом цикле условие проверяется после выполнения тела цикла. Цикл будет повторяться до тех пор, пока проверка этого условия будет давать результат “ложь”(false), то есть пока условие не выполнено. Даже если условие сразу оказывается истинным, цикл выполнится хотя бы один раз.

– Вот как это тип цикла реализуется на языке Паскаль:

– Обратите внимание на то, что данный оператор цикла предполагает наличие нескольких операторов в теле цикла, поэтому служебные слова begin и end не нужны.

– Запишем цикл с постусловием на языке блок-схем:

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

– Составим блок-схему алгоритма:

Запишем программу на языке Паскаля:

(Гимнастика для глаз)

– Самостоятельно осуществите досрочный выход из цикла при условии, что Вы приобрели вещи на сумму Р/2.

б) за компьютерами по карточкам-заданиям (карточки раздаются каждому ученику по вариантам):

Карточки-задания по теме “Цикл с постусловием”

Задача № 1 (вариант1):

Введите два числа (например A=5 и В=8) и найдите их произведение, используя только операцию сложения.

Задача № 2 (вариант 2):

Введите два числа (например A=45 и В=8) и найдите их частное от деления нацело(в переменной А), используя только операцию вычитания.

Задание № 3 (вариант 3):

Определить значение переменной S после выполнения следующих операторов:

S:=0; i=l;
Repeat S:=S+5 div i; i:= l – l;
Until i =у, тогда если у=0, то НОД(х,у)=х, а если у<>0, то для чисел х, у и r, где r – остаток от деления на х на у выполняется равенство НОД(х,у)= НОД(у, r)

V. Подведение итогов

Выводы:

  1. Выполнение цикла с постусловием прекращается, как только логическое условие принимает значение “истина”;
  2. Цикл с постусловием будет выполнен хотя бы один раз.
  3. При использовании нескольких операторов в теле цикла repeat…until операторская скобка (begin … end) не нужна, так как пара (repeat…until) сама является операторской скобкой.

Разбор вопросов учащихся. Оценка работ учащихся комментируется, объясняются допущенные оценки. Завершается занятие.

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

Литература:

  1. Д.М. Ушаков, Т.А. Юркова. “Паскаль для школьниов”, Изд.дом “Питер”, 2006 г.
  2. Г.Г. Рапаков, С.Ю. Ржеуцкая. “Turbo Pascal для студентов и школьников”, “БХВ-Петербург”, 2005 г.
  3. В.В. Фараонов. “Turbo Pascal начальный курс”, М. “Нолидж”, 2002 г.

Как мы уже говорили, в паскале существуют 3 способа организации цикла (типа):

2) Цикл с постусловием

3) Цикл с предусловием

Тело цикла выполняется пока условие ИСТИННО.

Если в теле цикла действий несколько — используются операторные скобки begin … end;

Рассмотрим пример, аналогичный рассмотренному в теме «Цикл со счетчиком», но реализуем его с помощью цикла WHILE.

Требуется на экране вывести:

Привет
Привет
Привет
Привет

Для реализации данного примера с помощью цикла с предусловием нам потребуется переменная n:

Данный цикл будет выполнять команду writeln(‘Привет’) бесконечное число раз. Почему? Потому что переменная n не изменяется и всегда будет меньше 4. Поэтому необходимо в цикле добавить код, изменяющий переменную n. Например: n:=n+1.

Теперь переменная n будет изменяться с каждым выполнением команд тела цикла (с каждой итерацией).

Нужно запомнить: чтобы не произошло зацикливание в цикле WHILE — необходимо проследить за тем, чтобы переменная из условия изменялась в теле цикла. В цикле со счетчиком такого не случится (зацикливание), т.к. мы указываем точное число итераций.

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

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

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

Зачем два раза используем ввод числа а (readln(a);)? Первый раз вводим число а для того, чтобы войти в цикл с некоторым значением переменной a, которое будет использоваться в условии цикла WHILE. Второй раз команда readln(a) используется внутри цикла — вводим числа до тех пор, пока не введем ноль.

Даны два отрезка А и B (A>B). Не используя операции умножения и деления, определить, сколько отрезков В уместится в отрезке А.

Информатика в школе. Цикл WHILE

Т.е. из рисунка видно, что нам нужно складывать длины отрезка A до тех пор, пока сумма не станет больше длины отрезка В. В этом нам поможет цикл с предусловием — цикл while.

Рассмотрим работу программы на примере: А=5, В=21. Рассуждения запишем в таблицу:

Информатика в школе. Цикл WHILE

Используя алгоритм Евклида, найти НОД двух чисел.

Рассмотрим блок-схему алгоритма Евклида:

Запишем данной алгоритм с помощью Паскаля, опираясь на данную блок-схему. Как видим, у нас имеется цикл с предусловием (M>N). Внутри цикла еще одно условие (M>N), т.е. оператор IF… THEN.

Аналогично задаче 2 можно проверить данный алгоритм, записав рассуждения в таблицу.

Для дошкольников и учеников 1-11 классов

Рекордно низкий оргвзнос 25 Р.

Урок по информатике «Циклы с предусловием и с постусловием» 9-11 класс

Разработка урока по теме «Циклы с предусловием и постусловием». Материал может быть использован для 9, 10, 11 класса при изучении языка Паскаль.
Изложение темы дается в сравнительной характеристике двух циклов. При разработке данного материала использовался учебник Попова В.Б. «Turbo Pascal для школьников».

Урок по теме: «Циклы с предусловием и с постусловием»

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

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

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

Орг. момент (2 мин)

— приветствие, проверка отсутствующих
— сообщение темы и целей урока

Актуализация знаний (10 мин)

— Чем характерен цикл с параметром?
— Написать на доске общий вид убывающего и возрастающего цикла с параметром (2 учащихся у доски)
— Разобрать у доски домашнее задание
— Работа по карточкам на местах – см. приложение (4 учащихся)

Объяснение нового материала (15 мин)

Помимо цикла с параметром в языке Паскаль существуют еще две циклические конструкции: цикл с предусловием и цикл с постусловием, реализуемые специальными операторами.
Рассмотрим данные конструкции в сравнительной характеристике. Для этого построим следующую таблицу:

Цикл с предусловием «Пока»

Цикл с постусловием «До»

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

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

Начальное значение задается вручную. Изменения параметра тоже происходят вручную на задаваемый программистом шаг. Причем действия над параметром цикла (счетчик выполнения) может совпадать с телом цикла. В отличии от цикла «Для» параметр может быть и вещественным числом.

Обязательно должно быть истинным. Является полностью противоположным условию выхода цикла «До»

Обязательно должно быть ложным. Является полностью противоположным условию выхода цикла «Пока»

Реализация на языке Паскаль:

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

Особенностью данного цикла является то, что операторные скобки для заключения действий, выполняемых в цикле не ставятся, при этом надо учесть, что перед Until «;» не ставится.

Пример: Из промежутка [a, b], где а

Program pr1;
Uses crt;
Label k;
Var a,b, i: integer;
Begin
Clrscr;
K:Writeln ( ‘ Введите границы промежутка ’);
Readln(a,b);
If a>b tden goto k;
If a mod 2 = 0 tden I:=a else i:=a+1;
While i

Program pr2;
Uses crt;
Label k;
Var a,b, i: integer;
Begin
Clrscr;
K:Writeln ( ‘ Введите границы промежутка ’);
Readln(a,b);
If a>b tden goto k;
If a mod 2 = 0 tden I:=a else i:=a+1;
repeat
Write (i:5);
I:=i+2
Until i>b;
Readln
End.

Закрепление материала (10 мин)

— у доски двое учащихся решают задачу двумя способами:
Вычислить сумму натурального ряда чисел от 1 до n

Подведение итогов (3 мин)

— запись домашнего задания: учить конспект; составить программу для решения задачи: Вычислить сумму всех нечетных чисел в интервале (1;2k-1)
— выставление оценок за работу на уроке.
Приложение.

Карточки по теме «Цикл с параметром»
К-1
Определите значение целочисленной переменной S после выполнения операторов:

Постройте блок-схему к этой части программы.

Карточки по теме «Цикл с параметром»
К-2
Определите значение целочисленной переменной S после выполнения операторов:

for i:=1 to 3 do begin

Постройте блок-схему к этой части программы.

Карточки по теме «Цикл с параметром»

К-3
Вычисление n! (n! = 1 * 2 * 3 * … * n)

Program Factorial;
uses crt;
var n,f,i :integer;
BEGIN
clrscr;
writeln(‘ Задайте n’);
readln(n);
for i:=1 to n do
f:=f*i;
writeln(‘F = ’,f);
readln;
END.

Верно ли написана Даная программа, если да, то определите значение F при n=3, если нет – запишите исправленный вариант программы.

Карточки по теме «Цикл с параметром»

Напишите фрагмент программы для решения следующей задачи: Вычислить сумму чисел от 3 до 9, кратных четырем (описательную часть программы пропустите).

Чтобы скачать материал, введите свой E-mail, укажите, кто Вы, и нажмите кнопку

Нажимая кнопку, Вы соглашаетесь получать от нас E-mail-рассылку

Если скачивание материала не началось, нажмите еще раз "Скачать материал".

  • Информатика

Аннотация

Разработка урока по теме «Циклы с предусловием и постусловием». Материал может быть использован для 9, 10, 11 класса при изучении языка Паскаль.
Изложение темы дается в сравнительной характеристике двух циклов. При разработке данного материала использовался учебник Попова В.Б. «Turbo Pascal для школьников».

Урок по теме: «Циклы с предусловием и с постусловием»

Цели урока:

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

Ход урока:

  1. Орг. момент (2 мин)

— приветствие, проверка отсутствующих
— сообщение темы и целей урока

  1. Актуализация знаний (10 мин)

— Чем характерен цикл с параметром?
— Написать на доске общий вид убывающего и возрастающего цикла с параметром (2 учащихся у доски)
— Разобрать у доски домашнее задание
— Работа по карточкам на местах – см. приложение (4 учащихся)

Объяснение нового материала (15 мин)

Помимо цикла с параметром в языке Паскаль существуют еще две циклические конструкции: цикл с предусловием и цикл с постусловием, реализуемые специальными операторами.
Рассмотрим данные конструкции в сравнительной характеристике. Для этого построим следующую таблицу:

Цикл с постусловием «До»

Характеристика:

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

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

Параметр цикла:

Начальное значение задается вручную. Изменения параметра тоже происходят вручную на задаваемый программистом шаг. Причем действия над параметром цикла (счетчик выполнения) может совпадать с телом цикла. В отличии от цикла «Для» параметр может быть и вещественным числом.

Условие выхода

Обязательно должно быть истинным. Является полностью противоположным условию выхода цикла «До»

Обязательно должно быть ложным. Является полностью противоположным условию выхода цикла «Пока»

Блок — схема

Реализация на языке Паскаль:

Операторные скобки

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

Особенностью данного цикла является то, что операторные скобки для заключения действий, выполняемых в цикле не ставятся, при этом надо учесть, что перед Until «;» не ставится.

Пример: Из промежутка [a, b], где а

Program pr1;
Uses crt;
Label k;
Var a,b, i: integer;
Begin
Clrscr;
K:Writeln ( ‘Введите границы промежутка’);
Readln(a,b);
If a>b tden goto k;
If a mod 2 = 0 tden I:=a else i:=a+1;
While i b tden goto k;
If a mod 2 = 0 tden I:=a else i:=a+1;
repeat
Write (i:5);
I:=i+2
Until i>b;
Readln
End.

Закрепление материала (10 мин)

— у доски двое учащихся решают задачу двумя способами:
Вычислить сумму натурального ряда чисел от 1 до n

Подведение итогов (3 мин)

— запись домашнего задания: учить конспект; составить программу для решения задачи: Вычислить сумму всех нечетных чисел в интервале (1;2k-1)
— выставление оценок за работу на уроке.
Приложение.

Карточки по теме «Цикл с параметром»
К-1
Определите значение целочисленной переменной S после выполнения операторов:

for i:=1 to 4 do

Постройте блок-схему к этой части программы.

Карточки по теме «Цикл с параметром»
К-2
Определите значение целочисленной переменной S после выполнения операторов:

for i:=1 to 3 do begin

Постройте блок-схему к этой части программы.

Карточки по теме «Цикл с параметром»

К-3
Вычисление n! (n! = 1 * 2 * 3 * … * n)

Program Factorial;
uses crt;
var n,f,i :integer;
BEGIN
clrscr;
writeln(‘Задайте n’);
readln(n);
for i:=1 to n do
f:=f*i;
writeln(‘F = ’,f);
readln;
END.

Верно ли написана Даная программа, если да, то определите значение F при n=3, если нет – запишите исправленный вариант программы.

Карточки по теме «Цикл с параметром»

К-4

Напишите фрагмент программы для решения следующей задачи: Вычислить сумму чисел от 3 до 9, кратных четырем (описательную часть программы пропустите).

Цикл с предусловием «Пока»