409.73K
Category: programmingprogramming

Алгоритмы циклической структуры. Программирование циклов на Pascal

1.

Тема занятия:
«Алгоритмы циклической
структуры.
Программирование циклов
на Pascal»
Дисциплина «Информатика»

2.

Основные понятия темы
На данном занятии изучаются
следующие понятия:
понятие цикла;
разновидности циклических
алгоритмов (цикл с предусловием,
цикл с постусловием, цикл с
параметром);
блок-схемы циклических
алгоритмов;
представление операторов циклов
на языке программирования Pascal;
применение циклов при решении
задач.

3.

Понятие цикла
При решении многих задач одна и та же
последовательность действий выполняется несколько
раз.
Например, при поступлении в учебное заведение
учащийся сдает экзамены, при этом подсчитываются
набранные им баллы (переменная S; ее начальное
значение S:=0;).
За каждый сданный экзамен он получает оценку N.
Если оценка больше «2», то S := S + N; иначе —
прекратить вычисления (выход из цикла).

4.

Понятие цикла
Цикл — это последовательность операторов,
которая может выполняться более одного раза.
Циклическим
алгоритмом
называется
алгоритм, предусматривающий многократное
повторение одного и того же действия над
новыми данными
Существует три типа операторов цикла:
циклы с предусловием;
циклы с постусловием;
циклы со счетчиком.

5.

Цикл с предусловием.
Цикл типа ПОКА WHILE
Предписывает
выполнять тело цикла
до тех пор, пока
выполняется условие,
записанное после
слова пока
Блок-схема
цикла с
предусловием

6.

Цикл с предусловием.
Цикл типа ПОКА WHILE
Цикл с предусловием используется
тогда, когда число повторения тела
цикла заранее неизвестно, а зависит от
выполнения условия.
Если условие истинно, то тело цикла
выполняется, затем вновь проверка
условия и так до тех пор пока условие
не станет ложным.

7.

Оператор цикл с предусловием
(цикл типа ПОКА - WHILE)
Этот наиболее часто используемый оператор повторения
имеет общий вид на Pascal (формат):
WHILE <условие> DO <оператор>;
здесь
WHILE, DO — резервированные слова
(от английских: while -пока, do - делать);
<условие> — выражение логического типа;
<оператор> — произвольный (возможно составной) оператор.

8.

Цикл с постусловием.
Цикл типа ДО
Порядок выполнения
оператора цикла с
постусловием
Выполнение операторов 1-N
повторяется, пока условие не
станет верным.
В этом цикле условие
проверяется только после
выполнения тела цикла.
Блок-схема
цикла с постусловием
Отсюда следует, что тело всегда
выполняется хотя бы один раз

9.

Цикл с постусловием.
Цикл типа ДО
ВАЖНО!
Цикл с постусловием выполняется хотя бы
один раз независимо от выполнения условия.
Несомненным удобством цикла с постусловием
является то, что внутри него можно записать
несколько операторов без использования
составного оператора.
Проверка условия находится после тела цикла.
Служебное слово UNTIL

10.

Оператор цикл с постусловием
(цикл типа ДО - UNTIL)
Общий вид (формат) оператора цикла с
постусловием на Pascal следующий:
Repeat
<Оператор 1>;
<Оператор 2>;

<Оператор N>;
Until <условие>;

11.

Пример применения оператора
цикла с постусловием
Для вывода на экран попарно значения переменной
n=1, 2, 3, 4, 5 ,6, 7, 8, 9
и переменной
а=10, 20, 30, 40, 50, 60, 70, 80, 90 этот оператор будет
иметь вид:
n:= 0;
repeat
n:=n+1;
a:=10*n;
writeln(n:2,’
until n>=9;
‘,a:3);

12.

Цикл с параметром.
Цикл типа FOR
Цикл с параметром используется в том
случае, когда требуется выполнить
заданное количество шагов цикла.
Необходимо отметить, что цикл FOR на
Pascal не слишком гибок (в отличие,
например, от этого типа цикла на языке С).
Потому что, на Pascal параметр цикла (или
счетчик) изменяется на величину,
равную единице.
Таким образом, когда требуется выполнить
дробный шаг необходимо использовать
цикл типа WHILE.
Блок-схема цикла с
параметром
(цикл FOR)
Существует две разновидности цикла
FOR: с увеличением и с уменьшением
значений счетчика (или параметра).

13.

Цикл с параметром.
Цикл типа FOR – цикл с заданным
числом повторений

14.

Оператор цикла с параметром.
Цикл типа FOR
Общий вид (формат)
оператора цикла с параметром
for <счетчик> := <начальное значение> to
<конечное значение> do
begin
<Операторы>
end;
for <счетчик> := <начальное значение>
downto <начальное значение> do
begin
<Операторы>
end;
с увеличением
значений
счетчика
(параметра)
с уменьшением
значений
счетчика
(параметра)

15.

Оператор цикла с параметром.
Цикл типа FOR
Оператор, реализующий цикл ДЛЯ – FOR используется, если
необходимо, чтобы фрагмент программы повторился заданное
число раз
FOR <переменная цикла>: = <начальное значение> ТО
<конечное значение> DO <оператор>;
Здесь:
FOR, TO, DO — зарезервированные слова
(англ.: для, до, выполнить);
<счетчик (параметр) цикла> — переменная типа INTEGER, которая
изменяется на отрезке от <начального значения>, увеличиваясь на
единицу в конце каждого шага цикла;
<оператор> — любой (чаще составной) оператор.

16.

Оператор цикла с параметром.
Цикл типа FOR
Оператор FOR состоит из заголовка и тела цикла.
Составной оператор, находящийся в теле цикла, должен
быть заключен в операторные скобки begin и end.
·В качестве идентификатора счетчика обычно
используется "i".
· Переменная счетчика должна быть порядкового типа.
Например, целочисленного типа: byte, integer.
· Начальное и конечное значения параметра цикла
нельзя изменять во время выполнения цикла.
· Оператор FOR используется для организации циклов с
фиксированным, заранее известным или определяемым во
время выполнения программы числом повторений.

17.

Применение циклов
при решении задач
Каждый из описанных выше циклов может быть
использован для программирования на Pascal
одних и тех же задач с циклическим алгоритмом.

18.

Задание № 1
Открыть программу PascalABC.NET
(интегрированная среда разработки программ на
языке программирования Pascal)
Сохранить как...
Сохранить программу в папке с Вашим именем в системной рабочей папке
PABCWork.NET \ Ваше_имя\Cikl_1.pas

19.

Задание № 1
Используя цикл ПОКА (с предусловием) составить и
отладить программу, которая вычисляет
сумму
квадратов всех натуральных чисел от 1 до 100.
ИСХОДНЫЕ ДАННЫЕ:
РЕЗУЛЬТАТ - сумма:
A : integer;
S : Longint;
Program Ex1;
Var
A : Integer;
S : Longint;
{ Длинное целое}
Begin
A:=1;
S:=0;
{ переменная S для накапливания суммы }
While A<=100 Do
{ Начало цикла – проверка условия }
Begin
S:=S+A*A;
A:=A+1
End;
Writeln(‘Вывод результата S= ’ ,S)
End.
Сохранить программу в папке с Вашим именем в системной
рабочей папке PABCWork.NET \ Ваше_имя\Cikl_1.pas

20.

ЗАДАНИЕ 2.
Отладить программу циклической структуры на
языке Pascal в среде PascalABC.NET
Применить оператор цикла с предусловием
для вычисления значения функции y=x2,
при значениях x 2, 4, 6, 8, 10.
Program abc;
var x, у: integer;
begin
x:=2;
while x <= 10 do
begin
Y:=x*x;
writeln(‘вывод х: ’, x, ‘вывод у: ’,
x:= x+2;
end;
end.
y);
Сохранить программу в папке с Вашим именем в системной
рабочей папке PABCWork.NET \ Ваше_имя\Cikl_2.pas

21.

Задание № 3
Составьте программу, используя оператор цикла с постусловием,
для вычисления значений функции y=x2, при значениях аргумента x
равных 2, 4, 6, 8, 10.
Для вычисления квадрата x2 на Pascal используется
функция sqr(х)
Program abc;
var x: integer;
begin
x:=2;
repeat
writeln(x, sqr(x));
x:= x+2;
until x > 10;
end.
Напечатайте и сохраните программу в файле Cikl_3.pas в папке с Вашим именем
в системной рабочей папке
PABCWork.NET \ Ваше_имя\Cikl_3.pas

22.

Задание № 4
Используя цикл с параметром ДЛЯ – FOR cоставить и
отладить программу вычисления суммы квадратов всех
натуральных чисел от 1 до 100.
ИСХОДНЫЕ ДАННЫЕ:
РЕЗУЛЬТАТ - сумма:
A : integer;
S : Longint;
Program Ex3;
Var
A : Integer;
S : Longint;
Begin
S:=0;
For A:=1 To 100 Do
S:=S+A*A;
Writeln(‘Вывод результата S= ’ ,S)
end.
Напечатайте и сохраните программу в файле Cikl_4.pas в папке с Вашим именем
в системной рабочей папке
PABCWork.NET \ Ваше_имя\Cikl_4.pas

23.

Вопросы для самопроверки
1. Какие разновидности циклических структур Вы
знаете?
2. Какова структура цикла с предусловием на языке
программирования Pascal?
3. Как записывается цикл с предусловием на Pascal?
4. Как записывается цикл с постусловием на Pascal?
5. Чем отличается цикл ПОКА от цикла ДО?
6. Какова структура (блок-схема) цикла с
параметром на Pascal?
7. Как записывается на Pascal оператор цикла с
параметром?

24.

Ссылки на источники
И. Г. Семакин и другие. Учебник. Информатика и ИКТ. М.:
БИНОМ. 2008
http://physic.kemsu.ru/pub/library/learn_pos/Free_Pascal/Free%20
Pascal/soder/3_3_3.htm
http://delphihelp.ru/index.php?option=com_k2&view=item&id=1226%3Afor
https://arhivurokov.ru/multiurok/0/4/0/040e0338042723da754f2df85429838
005dfb32a/img5.jpg
https://financiallyfitprofessional.com/wp-content/uploads/2014/07/graph.jpg
ДОМАШНЕЕ ЗАДАНИЕ
И. Г. Семакин и другие. Информатика и ИКТ. М.: БИНОМ. 2008
§39 – прочитать стр. 213 - 215.
•Разобрать Алгоритм СЛОВА .
•Конспект программы WORDS.
• Конспект определений «отладка программы», «тест», «тестирование
программы».

25.

Преподаватель ФКПОУ «НТТИ» Минтруда России И. В. Шепелева
English     Русский Rules