- •Аннотация
- •Содержание
- •Интегрированная среда программирования Turbo Pascal 7.0
- •Основные понятия языка Turbo Pascal 7.0
- •Алфавит языка
- •Структура программы
- •Раздел объявления меток
- •Раздел объявления констант
- •Строковые и символьные константы
- •Простые типы данных
- •Выражения Арифметические выражения
- •Математические функции
- •Условные выражения и операции отношения
- •Логические выражения и операции
- •Процедуры ввода – вывода информации Процедуры ввода информации Read, ReadLn
- •Процедуры записи Write, WriteLn
- •Форматы процедуры вывода Write
- •Простые операторы
- •Оператор присваивания
- •Примеры решения задач
- •Оператор безусловного перехода Goto
- •Структурированные операторы
- •Составной оператор
- •Условный оператор If
- •Примеры решения задач
- •Условный оператор Case
- •Примеры решения задач
- •Оператор цикла For
- •Особенности выполнения оператора For
- •Примеры решения задач
- •Оператор цикла Repeat…Until
- •Особенности выполнения оператора Repeat
- •Примеры решения задач
- •Оператор повтора While
- •Особенности выполнения оператора While
- •Примеры решения задач
- •Вложенные циклы
- •Массивы
- •Одномерные массивы Основные понятия
- •Описание массива
- •Заполнение массива
- •6.1.4 Примеры решения задач
- •1. Алгоритмы поиска и присвоения значений элементам массива
- •2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
- •3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
- •6.2 Двумерные массивы
- •6.2.1 Основные понятия
- •6.2.2 Описание массива
- •6.1.3 Заполнение и вывод элементов двумерного массива
- •6.1.4 Примеры решения задач
- •1. Алгоритмы действий над элементами двумерного массива
- •2 Алгоритмы формирования одномерного массива
- •3 Алгоритмы нахождения наибольшего и наименьшего элементов двумерного массива
- •7. Множества
- •7. 1 Операции над множествами
- •7.2 Примеры решения задач
- •8. Строки
- •8.1 Строковые выражения
- •8.2 Стандартные процедуры и функции для обработки строковых данных
- •Обнаруживает первое появление в строке St2 подстроки St1. Результат равен номеру той позиции, где находится первый символ подстроки St1.
- •8.3 Примеры решения задач
- •1.Задачи на подсчет символов.
- •2. Задачи на замену символов.
- •3. Задачи на удаление символов.
- •4. Задачи на вставку символов.
- •9. Процедуры и функции, определенные пользователем
- •9.1 Процедуры пользователя
- •1 Вариант
- •2 Вариант
- •9.2 Функции пользователя Формат описания функции:
- •9.3 Параметры
- •9.3.1 Параметры – значения
- •9.3.2 Параметры - переменные
- •10 Модуль crt. Процедуры и функции модуля crt
- •11 Модуль Graph
- •11.1 Классификация типов драйверов и видеорежимов
- •11.2 Инициализация графики
- •11.3 Переключение между текстовым и графическим режимами
- •11.4 Система координат
- •Отображение строк
- •11.5 Управление текущим указателем
- •11.6 Отображение точки на экране
- •11.7 Определение параметров пикселов
- •11.8 Отображение отрезков прямых линий
- •11.9 Вычерчивание линий различных стилей
- •11.10 Построение прямоугольников
- •11.10.1 Построение прямоугольника на плоскости
- •11.10.2 Построение закрашенного прямоугольника
- •11.11 Установка стиля заполнения
- •11.13 Построение заполненных областей изображения
- •11.13.1 Построение заполненного сектора эллипса
- •11.13.2 Построение заполненного эллипса
- •11.13.3 Построение заполненных сложных геометрических фигур
- •Список литературы
Оператор цикла Repeat…Until
Этот оператор называется циклом с постусловием, т.к. проверка условия осуществляется после каждого выполнения тела цикла.
Формат:
Repeat
<тело цикла>;
Until <условие>;
Условие – выражение булевского типа. При написании условия допустимы булевские операции (And, Or, Not) и операции отношения. Операторы, заключенные между словом Repeat и Until, являются телом цикла. Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Если результат выражения –False, тело цикла выполняется еще раз, если результат – True, то происходит выход из цикла.
Особенности выполнения оператора Repeat
-
Тело цикла выполняется, по крайней мере, один раз, так как условие проверяется после выполнения тела цикла.
-
Тело цикла выполняется пока условие False.
-
В теле цикла может находиться произвольное число операторов без операторных скобок Begin …End.
-
По крайней мере один из операторов тела цикла должен влиять на значение условия, иначе цикл буде выполняться бесконечно.
Например:
-
D:=1; S:=0;
Repeat
S:=S+D;
Until (D>100);
{бесконечный цикл}
D:=1; S:=0;
Repeat
S:=S+D;
D:=D+1; {изменение переменной, влияющей на условие}
Until (D>100);
{цикл имеет завершение}
-
Чтобы прервать выполнение оператора Repeat досрочно, необходимо использовать процедуру Break, которая прерывает выполнение циклов. Процедура Continue начинает новую итерацию цикла, даже если предыдущая не была завершена.
Примеры решения задач
-
Составить программу ввода отрицательного числа.
Var X:Integer;
Begin
Repeat
Write(‘Введите отрицательное число’);
ReadLn(X);
If X>=0 Then WriteLn(‘Введено неправильное число’);
Until X<0;
End.
-
Просуммировать натуральные числа от 1 до 50 и вывести результат вычислений на экран.
Var I,Sum:Integer;
Begin
Sum:=0;
I:=0;
Repeat
I:=I+1;
Sum:=Sum+I;
Until I=50;
WriteLn(‘Сумма чисел от 1 до 50 = ’),Sum;
End.
-
В подъезде N ступенек. Сколько шагов будет сделано, если шагать через 3 ступеньки (один шаг – три ступеньки).
Var S, KS, N: Byte;
{S-подсчет количества ступенек, KS-количество шагов}
Begin
S:=0; KS:=0;
Repeat
S:=S+3;
KS:=KS+1;
Until I>N;
WriteLn(‘Количество шагов= ’,KS);
End.
Примеры для самостоятельного решения:
-
Составить программу ввода натурального числа в интервале от N до M.
-
начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней.
Оператор повтора While
Этот оператор называется циклом с предусловием, т.к. проверка условия осуществляется до начала очередной итерации.
Формат:
While <условие> Do
<тело цикла>;
Цикл выполняется, пока условие истинно. Как только условие нарушается, выполнение цикла завершается
Особенности выполнения оператора While
-
Так как условие проверяется до начала выполнения тела цикла, цикл может ни разу не выполнится.
-
Тело цикла выполняется пока условие True.
-
По крайней мере один из операторов тела цикла должен влиять на значение условия, иначе цикл буде выполняться бесконечно.
В ряде случаев возникает необходимость в бесконечном цикле. Тогда в условии записывается константа True или условие, которое имеет значение True.
Например:
While True Do Write(‘Бесконечный цикл’);
While 1=1 Do Write(‘Бесконечный цикл’);