СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Учебное пособие "Программирование алгоритмов циклической структуры: операторы повтора"

Категория: Информатика

Нажмите, чтобы узнать подробности

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

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

Содержание:

1.Оператор цикла с параметром FOR. 2.Оператор FOR для вычисления функции при изменении аргумента. 3.Оператор цикла FOR на движение объектов. 4.Оператор цикла с предусловием WHILE. 5.Оператор цикла с постусловием REPEAT. 6.Вложенные операторы цикла.

Просмотр содержимого документа
«Учебное пособие "Программирование алгоритмов циклической структуры: операторы повтора"»

Программирование алгоритмов  циклической структуры:  операторы повтора ЕАДК, преподаватель Неверова И.Ю. Turbo Pascal 7.0

Программирование алгоритмов циклической структуры: операторы повтора

ЕАДК, преподаватель Неверова И.Ю.

Turbo Pascal 7.0

План занятия Повторение пройденного материала: Что называется алгоритмом цикла? Виды циклов? Что называется алгоритмом цикла? Виды циклов? Оператор цикла с параметром FOR. Оператор FOR для вычисления функции при изменении аргумента. Оператор цикла FOR на движение объектов. Оператор цикла с предусловием WHILE. Оператор цикла с постусловием REPEAT. Вложенные операторы цикла. Литература : И. Г. Семакин. Основы программирования, с. 65 – 67.

План занятия

  • Повторение пройденного материала:
  • Что называется алгоритмом цикла? Виды циклов?
  • Что называется алгоритмом цикла?
  • Виды циклов?
  • Оператор цикла с параметром FOR.
  • Оператор FOR для вычисления функции при изменении аргумента.
  • Оператор цикла FOR на движение объектов.
  • Оператор цикла с предусловием WHILE.
  • Оператор цикла с постусловием REPEAT.
  • Вложенные операторы цикла.

Литература : И. Г. Семакин. Основы программирования, с. 65 – 67.

Повторение пройденного материала:  1.Что называется алгоритмом цикла?  2.Виды циклов? 1.Цикл – такая форма организации действий, при которой одна и та же последовательность действий совершается несколько раз (или ни разу) до тех пор, пока выполняется некоторое условие. 2. Виды циклов: - с параметром - с предусловием - с постусловием

Повторение пройденного материала: 1.Что называется алгоритмом цикла? 2.Виды циклов?

  • 1.Цикл такая форма организации действий, при которой одна и та же последовательность действий совершается несколько раз (или ни разу) до тех пор, пока выполняется некоторое условие.
  • 2. Виды циклов:
  • - с параметром
  • - с предусловием
  • - с постусловием
Оператор цикла с параметром FOR (со счетчиком) Оператор со счетчиком for («Для») - для каждого параметра, выполняемого пошагово, выполняется цикл (повтор), он используется в тех случаях, когда заранее известно, сколько раз следует повторять те или иные действия. Имеются две формы этого цикла:  Оператор цикла с параметром (для) имеет виды: For (для)  :=   to (увеличивая к…)  do (выполнять) ; For (для)  :=   downto (уменьшить до…)  do (выполнять) ; Виды шага : TO =  1 DOWNTO =  1

Оператор цикла с параметром FOR (со счетчиком)

  • Оператор со счетчиком for («Для») - для каждого параметра, выполняемого пошагово, выполняется цикл (повтор), он используется в тех случаях, когда заранее известно, сколько раз следует повторять те или иные действия. Имеются две формы этого цикла:

  • Оператор цикла с параметром (для) имеет виды:
  • For (для) := to (увеличивая к…) do (выполнять) ;
  • For (для) := downto (уменьшить до…) do (выполнять) ;
  • Виды шага :
  • TO =  1 DOWNTO =  1
 ПРИМЕР цикла for

ПРИМЕР цикла for

Задача1 : Программа, которая выводит на экран таблицу перевода из градусов по шкале Цельсия (С) в градусы по Фаренгейту (F) для значений от 15 до 30 0 С с шагом 1 градус. Перевод осуществляется по формуле: F=C*1.8+32.  Program temperatyra;  Uses CRT;  Var N : integer; F : real;  Begin  Writeln(‘Температура’);  For N := 15 to 30 do {заголовок цикла с параметром}   Begin {начало тела цикла}   F := N*1.8+32;   Writeln (‘По Цельсию’, N, ‘По Фаренгейту’, F:5:2);   End; {конец цикла}  Readln;  End.
  • Задача1 : Программа, которая выводит на экран таблицу перевода из градусов по шкале Цельсия (С) в градусы по Фаренгейту (F) для значений от 15 до 30 0 С с шагом 1 градус. Перевод осуществляется по формуле: F=C*1.8+32.
  • Program temperatyra;
  • Uses CRT;
  • Var N : integer; F : real;
  • Begin
  • Writeln(‘Температура’);
  • For N := 15 to 30 do {заголовок цикла с параметром}
  • Begin {начало тела цикла}
  • F := N*1.8+32;
  • Writeln (‘По Цельсию’, N, ‘По Фаренгейту’, F:5:2);
  • End; {конец цикла}
  • Readln;
  • End.
Задача2: Программа, которая на белом фоне в середине экрана выводит номера первых четырнадцати цветов (1-14) в порядке убывания, где каждый номер будет тем цветом, который он обозначает.  Program Cvet;  Uses CRT;  Var N : Byte;  Begin  Text Back Ground (15); {белый цвет экрана}  ClrScr;  GotoXY (1, 12); {установка курсора в нужную позицию}  For N := 14 down to 1 do {заголовок цикла с параметром}   Begin {начало тела цикла}   Text Color (N);   Write (N : 5);   End; {конец цикла}  Readln;  End.
  • Задача2: Программа, которая на белом фоне в середине экрана выводит номера первых четырнадцати цветов (1-14) в порядке убывания, где каждый номер будет тем цветом, который он обозначает.
  • Program Cvet;
  • Uses CRT;
  • Var N : Byte;
  • Begin
  • Text Back Ground (15); {белый цвет экрана}
  • ClrScr;
  • GotoXY (1, 12); {установка курсора в нужную позицию}
  • For N := 14 down to 1 do {заголовок цикла с параметром}
  • Begin {начало тела цикла}
  • Text Color (N);
  • Write (N : 5);
  • End; {конец цикла}
  • Readln;
  • End.
Оператор FOR для вычисления функции при изменении аргумента Вывести на экран таблицу вычислений значений у при изменении х от а = - 5 до Ь = + 5 с шагом h  = 0.5 по соответствующим формулам: ШАГ 1: Определить число повторов :  N = (b-a)/h+1 = (5-(-5))/0.5+1 = 21. ШАГ 2: Составление программы: End;

Оператор FOR для вычисления функции при изменении аргумента

  • Вывести на экран таблицу вычислений значений у при изменении х от а = - 5 до Ь = + 5 с шагом h = 0.5 по соответствующим формулам:

ШАГ 1: Определить число повторов : N = (b-a)/h+1 = (5-(-5))/0.5+1 = 21.

ШАГ 2: Составление программы:

End;

Оператор цикла FOR на движение объектов Моделирование движения: Сначала необходимо подключить библиотеки CRT и GRAPH . Затем прописать путь подключения графического драйвера  Dr := detect; Initgraph(dr, md, ‘C:\tp70\BGI’); После этого необходимо указать цикл повтора координаты^  по оси X рисования объекта: For X := 1 to 640 do  по оси Y рисования объекта: For Y := 1 to 480 do Теперь приступаем к рисованию объекта необходимого цвета и с указанием его координат. Делаем задержку экрана в миллисекундах Delay (150) для просмотра рисунка;. После этого повторяем рисование объекта, но цветом фона экрана (стираем объект). Для предварительного выхода из цикла в ходе программы используем клавиши CTRL+Pause (1 раз при нажатии клавиш происходит остановка цикла, 2 раз – выход из программы).

Оператор цикла FOR на движение объектов

  • Моделирование движения:
  • Сначала необходимо подключить библиотеки CRT и GRAPH .
  • Затем прописать путь подключения графического драйвера Dr := detect; Initgraph(dr, md, ‘C:\tp70\BGI’);
  • После этого необходимо указать цикл повтора координаты^ по оси X рисования объекта: For X := 1 to 640 do по оси Y рисования объекта: For Y := 1 to 480 do
  • Теперь приступаем к рисованию объекта необходимого цвета и с указанием его координат.
  • Делаем задержку экрана в миллисекундах Delay (150) для просмотра рисунка;.
  • После этого повторяем рисование объекта, но цветом фона экрана (стираем объект).
  • Для предварительного выхода из цикла в ходе программы используем клавиши CTRL+Pause (1 раз при нажатии клавиш происходит остановка цикла, 2 раз – выход из программы).
Пример программы: Program koloboc; Uses CRT,Graph; Var dr, md: integer;  x : integer ; Begin dr:=detect;   initgraph(dr,md,'C:\TP70\BGI'); {идентификатор программы}   For X:=0 to 640 do {Подключение библиотек}       Begin {Описание переменных}     ClearViewPort; {Начало первого блока программы} SetBkColor(15);   {Идентификатор графического драйвера} SetLineStyle(0,1,3); {Путь к графическому драйверу} SetColor(14); SetFillStyle(1,14);     {Счетчик цикла переменной X}   PieSlice( x+50 ,200,0,360,40); {Начало второго блока программы}   SetColor(9); {Очистка графического экрана} SetFillStyle(1,9);   {Цвет фона экрана}   Sector( x+30 ,190,0,360,5,10); {Установка стиля толстой линии}   {Установка цвета линий} Sector( x+70 ,190,0,360,5,10);   {Установка стиля и цвета заливки} SetColor(4);   {Рисование закрашенной окружности} Arc( x+50 ,210,200,340,20);   Delay(150); {Установка цвета линий} End;   {Установка стиля и цвета заливки}   {Рисование сектора круга 1} Delay(20);   End. {Рисование сектора круга 2}   {Установка цвета линий}   {Рисование дуги} {Задержка экрана} {Конец второго блока программы} {Задержка перед выходом из цикла} {Конец программы.}

Пример программы:

Program koloboc;

Uses CRT,Graph;

Var dr, md: integer;

x : integer ;

Begin

dr:=detect;

 

initgraph(dr,md,'C:\TP70\BGI');

{идентификатор программы}

 

For X:=0 to 640 do

{Подключение библиотек}

 

 

 

Begin

{Описание переменных}

 

 

ClearViewPort;

{Начало первого блока программы}

SetBkColor(15);

 

{Идентификатор графического драйвера}

SetLineStyle(0,1,3);

{Путь к графическому драйверу}

SetColor(14);

SetFillStyle(1,14);

 

 

{Счетчик цикла переменной X}

 

PieSlice( x+50 ,200,0,360,40);

{Начало второго блока программы}

 

SetColor(9);

{Очистка графического экрана}

SetFillStyle(1,9);

 

{Цвет фона экрана}

 

Sector( x+30 ,190,0,360,5,10);

{Установка стиля толстой линии}

 

{Установка цвета линий}

Sector( x+70 ,190,0,360,5,10);

 

{Установка стиля и цвета заливки}

SetColor(4);

 

{Рисование закрашенной окружности}

Arc( x+50 ,210,200,340,20);

 

Delay(150);

{Установка цвета линий}

End;

 

{Установка стиля и цвета заливки}

 

{Рисование сектора круга 1}

Delay(20);

 

End.

{Рисование сектора круга 2}

 

{Установка цвета линий}

 

{Рисование дуги}

{Задержка экрана}

{Конец второго блока программы}

{Задержка перед выходом из цикла}

{Конец программы.}

Оператор цикла с предусловием WHILE Оператор While («Пока») – пока выполняется условие (True), совершаем действие до тех пор, пока условие не перестанет выполняться (False), здесь проверка условия выполнения тела цикла производится в самом начале оператора. Цикл «пока» может не выполниться ни разу, если значение логического выражения сразу же оказывается False (ложно).   Оператор цикла с предусловием (пока) имеет вид: While (пока)  do (выполнять) ;

Оператор цикла с предусловием WHILE

  • Оператор While («Пока») – пока выполняется условие (True), совершаем действие до тех пор, пока условие не перестанет выполняться (False), здесь проверка условия выполнения тела цикла производится в самом начале оператора.
  • Цикл «пока» может не выполниться ни разу, если значение логического выражения сразу же оказывается False (ложно).
  •   Оператор цикла с предусловием (пока) имеет вид:
  • While (пока)
  • do (выполнять) ;
0) do {условие выполнения цикла} Begin S := S+С; Writeln(‘сумма введенных чисел равна: ’, S); end; Readln; End. " width="640"
  • Задача: Программа производящая суммирование десяти произвольно введенных чисел.
  • Program Wast;
  • Uses CRT;
  • Var C, S: integer;
  • Begin
  • Clrscr;
  • Writeln(‘Вычислить сумму чисел, для окончания цикла ввести число ноль’);
  • Write(‘введите целое число: ’); Readln (С); {ввод очередного числа c клавиатуры}
  • S := 0; {обнуление суммы чисел}
  • While (C 0) do {условие выполнения цикла}
  • Begin
  • S := S+С;
  • Writeln(‘сумма введенных чисел равна: ’, S); end;
  • Readln;
  • End.
Пример задачи Найти максимальное число из всех введенных целых чисел

Пример задачи

Найти максимальное число из всех введенных целых чисел

Оператор цикла с постусловием REPEAT Оператор Repeat («До») - совершаем действие до тех пор, пока не выполнится условие (с False на True), здесь условие проверяется после очередного выполнения операторов тела цикла и таким образом гарантируется хотя бы однократное выполнение цикла . Цикл с постусловием (до) прекращает выполняться, как только значение выражения условия, записанного после слова Until, становится равным истине (True).  Оператор цикла с постусловием (до) имеет вид: Repeat (повторять) ;  …  ; Until (до) ;

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

  • Оператор Repeat («До») - совершаем действие до тех пор, пока не выполнится условие (с False на True), здесь условие проверяется после очередного выполнения операторов тела цикла и таким образом гарантируется хотя бы однократное выполнение цикла .
  • Цикл с постусловием (до) прекращает выполняться, как только значение выражения условия, записанного после слова Until, становится равным истине (True).
  • Оператор цикла с постусловием (до) имеет вид:
  • Repeat (повторять) ; ;
  • Until (до) ;
Задача : программа которая вводит и суммирует любое количество целочисленных значений. Если введено число ноль, то на экран выводится результат суммирования. Program Reshenie; Uses CRT; Var X : integer;  Sum : real; Begin Writeln (‘Вычисление суммы чисел, при вводе числа 0 программа выходит из цикла’); Sum := 0; Repeat {повторять} Write (‘Значение X=’); {начало тела цикла} Readln(X); {считать очередное значение X с клавиатуры} If X  0 then Sum := Sum+X; Until X = 0; {условие окончания цикла} Writeln (‘сумма введенных чисел =’, Sum); Readln; End.
  • Задача : программа которая вводит и суммирует любое количество целочисленных значений. Если введено число ноль, то на экран выводится результат суммирования.
  • Program Reshenie;
  • Uses CRT;
  • Var X : integer;
  • Sum : real;
  • Begin
  • Writeln (‘Вычисление суммы чисел, при вводе числа 0 программа выходит из цикла’);
  • Sum := 0;
  • Repeat {повторять}
  • Write (‘Значение X=’); {начало тела цикла}
  • Readln(X); {считать очередное значение X с клавиатуры}
  • If X 0 then
  • Sum := Sum+X;
  • Until X = 0; {условие окончания цикла}
  • Writeln (‘сумма введенных чисел =’, Sum);
  • Readln;
  • End.
Пример задачи Найти максимальное число из всех введенных целых чисел

Пример задачи

Найти максимальное число из всех введенных целых чисел

Вложенные операторы цикла Если телом цикла является циклическая структура, то такие циклы называются вложенными.  Цикл, содержащий другой цикл, называется внешним , а цикл, содержащийся в теле другого цикла, называется внутренним.  Внешние и внутренние циклы могут быть трех видов:  - циклами с предусловие while,  - циклами с постусловием repeat,  - циклами с параметром for. Внимание ! Все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.

Вложенные операторы цикла

  • Если телом цикла является циклическая структура, то такие циклы называются вложенными.
  • Цикл, содержащий другой цикл, называется внешним , а цикл, содержащийся в теле другого цикла, называется внутренним.
  • Внешние и внутренние циклы могут быть трех видов: - циклами с предусловие while, - циклами с постусловием repeat, - циклами с параметром for.
  • Внимание ! Все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.
Вложенный оператор цикла FOR Задача 1 : С использованием цикла for решение задачи вывода на экран таблицы умножения может быть следующим: Program Tab_Umn; Uses CRT; Var n, m : byte; Begin For n := 1 to 10 do {внешний цикл}  For m := 1 to 10 do {внутренний цикл}   Writeln (n, ‘*’ ,m, ’=’ ,n*m); {тело внутреннего цикла} Readln; End.

Вложенный оператор цикла FOR

  • Задача 1 : С использованием цикла for решение задачи вывода на экран таблицы умножения может быть следующим:
  • Program Tab_Umn;
  • Uses CRT;
  • Var n, m : byte;
  • Begin
  • For n := 1 to 10 do {внешний цикл}
  • For m := 1 to 10 do {внутренний цикл}
  • Writeln (n, ‘*’ ,m, ’=’ ,n*m); {тело внутреннего цикла}
  • Readln;
  • End.
Домашнее задание Решить задания в рабочей тетради Тема 4.8 Желаю успехов!

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

  • Решить задания в рабочей тетради
  • Тема 4.8
  • Желаю успехов!