- •Оглавление
- •Тема1 41
- •Тема 2 Условный оператор, оператор выбора 41
- •Тема 4. Строки и символы 43
- •Предисловие
- •1 Основы построения программы на языке Турбо-Паскаль
- •1.1 Алфавит языка и специфика его использования
- •1.2 Этапы решения задачи на эвм
- •1.3 Общая структура программы на языке Паскаль
- •1.4 Выражения
- •1.4.1 Арифметические выражения
- •1.4.2 Логические выражения
- •1.5 Стандартные функции
- •2 Типы данных
- •2.1 Стандартные типы данных
- •2.1.1 Целочисленные типы
- •2.1.2 Логический тип (булевый тип).
- •2.1.3 Символьный тип
- •2.1.4 Перечисляемый тип
- •2.1.5 Интервальный тип
- •2.1.6 Вещественный тип
- •2.2 Объявление констант
- •2.3 Объявление переменных
- •3 Алгоритмизация вычислительных процессов
- •3.1. Понятие алгоритма
- •3.2 Операторы для записи линейных процессов
- •3.2.1 Оператор присваивания
- •3.2.2 Оператор ввода числовых данных
- •3.2.3 Оператор вывода числовых данных
- •3.2.4 Вывод числовых данных с форматом
- •4 Разветвляющиеся вычислительные процессы
- •4.1 Типы разветвляющихся алгоритмов
- •4.2 Операторы перехода
- •4.2.1 Условный оператор
- •4.2.3 Оператор выбора
- •4.2.4 Метка. Оператор перехода
- •5 Итерационные циклические процессы
- •5.1 Типы циклических процессов
- •5.2 Итерационные циклические процессы
- •5.2.1 Оператор цикла с предварительным условием
- •5.2.2 Оператор цикла с последующим условием
- •5.3 Оператор цикла с параметром
- •6 Структурированные типы данных
- •6.1 Массивы
- •6.2 Записи
- •6.2.1 Оператор присоединения
- •6.3 Множества
- •6.4 Строки
- •6.4.1 Основные операции
- •7 Подпрограммы
- •7.1 Процедуры
- •7.2 Функции
- •8 Работа с файлами
- •8.1 Инициация файла
- •8.2 Процедуры и функции для работы с файлами
- •8.3 Текстовые файлы
- •8.4 Типизированные файлы
- •8.5 Нетипизированные файлы
- •9 Указатели и динамическая память
- •9.1 Выделение и освобождение динамической памяти
- •10 Модули
- •10.1 Компиляция модулей
- •10.2 Стандартные модули
- •10.2.1 Модуль crt
- •10.2.2 Модуль Graph
- •10.2.3 Модуль Overlay
- •Индивидуальные задания
- •Тема 2 Условный оператор, оператор выбора
- •Тема 3.
- •Задание в - обработка числовых последовательностей
- •Тема 4. Строки и символы
- •Тема 5. Массивы
- •Тема 6. Файлы
- •Тестовые задания
- •Электронные образовательные интернет-ресурсы Дистанционные курсы
- •Электронные учебники
5.2 Итерационные циклические процессы
Циклический процесс называется итерационным, если заранее неизвестно количество повторений цикла, а конец вычисления определяется при достижении некоторой величиной заранее заданной точности вычисления.
При программировании итерационных процессов принято их разделять на циклы с "предусловием" и с "постусловием". Их отличие заключается в том, что проверка достижения некоторой величиной заданной точности вычисления осуществляется соответственно либо в начале цикла, либо в конце цикла.
Особенность цикла с "постусловием" заключается в том, что повторяющийся участок алгоритма выполнится хотя бы один раз, в то время как в цикле с "предусловием" этот участок может не выполниться ни разу.
Для записи итерационных процессов на языке ПАСКАЛЬ имеется два вида операторов цикла:
1) оператор с предварительным условием (предусловием);
2) оператор цикла с последующим условием (постусловием).
Для всех операторов цикла характерны следующие особенности:
- повторяющиеся вычисления записываются лишь один раз;
- вход в цикл возможен только через его начало;
- переменные оператора цикла должны быть определены до входа в циклическую часть;
- необходимо предусмотреть выход из цикла: или по естественному его окончанию, или по оператору перехода. Если этого не предусмотреть, то циклические вычисления будут повторяться бесконечно и это приведет к "зацикливанию" программы.
5.2.1 Оператор цикла с предварительным условием
Синтаксис оператора цикла с "предусловием":
While <логическое выражение> Do
Begin
<предложения тела цикла>
End
Здесь While (пока) и Do (выполнить) - служебные слова.
Оператор цикла действует следующим образом. Предварительно проверяется значение логического выражения. Пока оно истинно, выполняются предложения циклической части. Как только оно становится ложным, происходит выход из цикла. Если с самого начала значение логического выражения ложно, то предложения циклической части не выполнятся ни разу.
Предложения циклической части, заключенные в операторные скобки Begin - End, представляют собой составной оператор.
Если в циклической части стоит всего одно предложение, то операторные скобки Begin - End можно не использовать и оператор цикла принимает вид:
While <логическое выражение> Do <оператор>; .
Пример: Найдем сумму первых ста членов числовой последовательности 1, 2,…
Program Summa;
Var I, Sum : Integer;
Begin
I:=1; S:=0;
While I<=100 do
Begin
S:=S+I; I:=I+1;
End;
Writeln(S);
End.
Читателю предлагается самостоятельно написать программу для нахождения произведения первых 10 чисел бесконечной последовательности 1,2,3,….
5.2.2 Оператор цикла с последующим условием
Синтаксис оператора цикла с "постусловием":
Repeat
< предложения тела цикла >
Until < логическое выражение> ;.
Здесь Repeat (повторить) и Until (до тех пор) - служебные слова.
Оператор с "постусловием" работает следующим образом. Предложения циклической части выполняются повторно (по крайней мере один раз). Условием прекращения циклических вычислений является истинное значение логического выражения. Итак, сначала выполняется циклическая часть, а затем проверяется условие. Так как нижняя граница предложений циклической части четко обозначена словом Until, нет необходимости заключать предложения циклической части в скобки вида Begin - End.
Пример: найти сумму первых ста членов числовой последовательности 1, 2,…
Program Summa;
Var I, Sum : Integer;
Begin
I:=0; S:=0;
Repeat
I:=I+1; S:=S+I;
Until I=100;
Writeln(S);
End.