
- •Алгоритмы.
- •Условие
- •Типы данных.
- •Целые числа.
- •Вещественный тип данных.
- •Символьные и строковые типы данных.
- •Булевские данные.
- •Указатели.
- •Идентификаторы.
- •Операторы.
- •Операторы присваивания.
- •Арифметические операторы.
- •Побитовые операторы.
- •Операторы отношений.
- •Логические операторы.
- •Адресные операторы.
- •Операторы над множествами.
- •Строковые операторы.
- •Создание программ в среде turbo pascal Структура программ.
- •1: WriteLn(' I меньше 10 ');
- •Тип константы компилятор определяет по типу значения. Описание типов используется при создании типов данных, отличных от базовых.
- •Обзор управляющих структур языка pascal
- •Интегрированная среда turbo pascal Назначение и состав среды.
- •Строка статуса
- •Справочник.
- •Работа с блоками текста
- •Компиляция и выполнение
- •Выполнение по шагам и трассировка
- •Управляющие структуры языка Паскаль. Условные операторы.
- •Пустой оператор
- •Условный оператор
- •If Flag then Writeln(‘Истинно’)
- •If not Flag then Writeln(‘Ложно’)
- •Оператор выбора
- •Операторы цикла Оператор цикла с предусловием (while)
- •Оператор цикла с постусловием (repeat…until)
- •Оператор цикла с параметром (for...Do)
- •I : Integer; { описание параметров циклов}
- •Процедуры и функции.
- •Структура процедуры и функции.
- •Локальные и глобальные элементы.
- •I : Integer; {I - глобальная}
- •I : Integer; {I - локальная }
- •Параметры.
- •I : Integer; {I - локальная }
- •Var { описание переменных }
- •Var { описание внутренних переменных}
- •Структурированные типы данных языка паскаль Перечисляемый тип.
- •Структурированные типы
- •Массивы
- •If eq then Write(“Массивы одинаковы”);
- •Множества
- •Совместимость и преобразование типов.
- •Символы и строки Символы:
- •Строки.
- •Строка- это массив символов.
- •Доступ к файлам.
- •Логические устройства
- •Открытие файла
- •Процедуры и функции для работы с файлами.
- •Текстовые файлы.
- •Типизированные файлы.
- •Нетипизированные файлы.
- •Модуль graph.
- •Драйверы.
- •Координатная система.
- •Текущий указатель.
- •Фигуры и стили.
- •Окна и битовые образы.
- •Обработка ошибок.
- •Пример простой программы:
- •Справочник по модулю Graph
- •Модуль crt
- •Ввод данных с клавиатуры. Более подробно о cтандартных операторах ввода.
- •Функции crt.
- •Текстовый вывод на экран.
- •Некоторые процедуры модуля crt.
- •Программирование звукового генератора.
- •Указатели.
- •Динамические переменные.
- •Проблема ограничения памяти.
Оператор цикла с постусловием (repeat…until)
Рассмотренный выше оператор цикла с предусловием решает, выполнять свое тело или нет, до первой итерации. Если это не соответствует логике алгоритма, то можно использовать цикл с постусловием, т.е. решающий, делать или нет очередную итерацию, лишь после завершения предыдущей. Это имеет принципиальное значение лишь на первом шаге, а далее циклы ведут себя идентично. Цикл с постусловием всегда будет выполнен хотя бы один раз.
Оформляется такой цикл с помощью служебных слов REPEAT и UNTIL (повторять до):
REPEAT
Оператор 1;
Оператор2;
…
Оператор N
UNTIL Условие;
Первое из них объявляет цикл и открывает его тело, а второе – закрывает тело и содержит условие окончания цикла. Тело цикла может быть пустым или содержать один и более операторов. В последнем случае слова BEGIN и END не нужны: их роль играют слова REPEAT и UNTIL.
Условие — это логическое значение, переменная или выражение с логическим результатом. Но работает оно здесь совсем не так, как в цикле WHILE. Если в цикле WHILE подразумевается алгоритм «пока условие истинно, выполнять операторы тела цикла», REPEAT...UNTIL соответствует алгоритму «выполнять тело цикла пока не станет истинным условие».
Иными словами, в цикле с REPEAT...UNTIL условием продолжения итераций будет невыполнение условия (его значение False). Хорошей иллюстрацией к вышесказанному может быть конструкция "вечного цикла"
REPEAT UNTIL False;
Этот цикл пустой и никогда не прекращающийся. Он хорош только в случае, когда нужно заблокировать программу, и, возможно весь компьютер. (Но если отбросить шутки, то можно и его пристроить в дело. Обычно так организуются программы с повторяющимися действиями: вначале программы ставится REPEAT, а в конце – UNTIL False. А прервать цикл можно специальными операторами Exit, Halt. Это имеет смысл, если условий завершения программы много или они очень сложны.)
Если условие конца цикла более гибкое, чем константа False, то в теле цикла должны содержаться операторы, влияющие на само условие. О предварительной корректности условия, как в случае цикла WHILE, заботиться уже необязательно.
Оператор цикла с параметром (for...Do)
Операторы циклов с пред- и с постусловием, хотя и обладают значительной гибкостью, не слишком удобны для организации "строгих" циклов- которые должны быть проделаны данное число раз. Цикл с параметром вводится именно для таких случаев. Синтаксис оформления циклов с параметром следующий:
For ПараметрЦикла := НачальноеЗначение ТО КонечноеЗначение DO Оператор;
Если НачальноеЗнач > КонечноеЗнач то TO меняется на DOWNTO
Слова FOR ..TO (DOWNTO)...DO можно перевести как «для параметра от...до...делать».
Оператор, представляющий собой тело цикла, может быть простым, составным или пустым. В последнем случае за словом DO сразу ставится точка с запятой.
Параметр цикла, а также диапазон его изменения (от стартового до конечного значения включительно) может быть только целочисленного или перечислимого типа. Сам параметр должен быть описан совместно с прочими переменными. Шаг цикла FOR всегда постоянный и равен «интервалу» между двумя ближайшими значениями типа параметра цикла.
VAR