- •Ю.П. Чернов, о.П. Шафеева программирование для начинающих
- •1. Среда программирования turbo pascal 7.0
- •1.1. Структура меню среды
- •1.2. Правила оформления программ
- •1.3. Команды редактора тп
- •Команды удаления и вставки
- •1.4. Компиляция и исправление синтаксических ошибок
- •2. Элементы языка pascal
- •2.1. Алфавит языка
- •2.2. Константы. Идентификаторы
- •2.3. Операторы
- •2.3.1. Оператор присваивания
- •2.3.2. Оператор безусловного перехода
- •Стандартные функции
- •2.3.3. Условный оператор if
- •2.3.4. Опеpатоp варианта case
- •2.3.5. Составной и пустой операторы
- •2.3.6. Операторы цикла
- •2.4. Процедуры прерываний
- •2.5. Типизированные константы
- •2.6. Структура программы
- •2.7. Подпрограммы
- •2.7.1. Определение процедур и функций
- •2.7.2. Вложенные подпрограммы
- •2.7.3. Вызов подпрограмм
- •2.7.4. Процедуры
- •2.7.5. Функции
- •2.7.6. Передача в подпрограмму параметров-массивов и параметров-строк
- •2.7.7. Рекурсия
- •2.8. Типы в Турбо Паскале
- •2.8.1. Целые типы
- •Классификация целых типов
- •Встроенные процедуры и функции для целых типов
- •2.8.2. Логический тип
- •2.8.3. Символьный тип
- •Служебные символы
- •2.8.4. Строковый тип
- •Встроенные функции и процедуры для обработки строк
- •Процедуры преобразования
- •2.8.5. Перечислимый тип
- •2.8.6. Ограниченный тип (диапазон)
- •2.8.7. Вещественные типы
- •Вещественные типы
- •Встроенные функции
- •2.8.8. Структурированные типы данных. Массивы
- •2.8.9. Множества
- •2.8.10. Записи
- •2.9. Изменение типа выражения
- •2.10. Процедурные типы
- •2.11. Файлы
- •Общие процедуры и функции для работы с файлами
- •2.11.1. Текстовые файлы
- •2.11.2. Типизированные файлы
- •2.11.3. Нетипизированные файлы
- •2.12. Указатели и динамическая память
- •2.13. Модули
- •2.14. Библиотека Турбо Паскаля
- •2.14.1. Модуль crt
- •2.14.2. Модуль graph
- •Var driver, Mode: integer переменные драйвера и режима.
- •Управление графическим режимом
- •Управление экраном, окном, страницей
- •Управление цветом и палитрой
- •Работа с точками
- •Работа с линиями
- •Построение фигур из линий
- •Построение криволинейных фигур
- •Работа с текстом
- •Обмен с памятью
- •2.15. Динамические структуры данных
- •2.15.1. Связанные динамические данные. Списки
- •Чтобы сослаться на двунаправленный кольцевой список как на единый программный объект, используется указатель, значением которого является ссылка на заглавное звено списка.
- •2.15.2 Очередь
- •2.15.3. Стек
- •3. Практическое программирование Этапы подготовки и решения задач на компьютере
- •Порядок выполнения лабораторных работ
- •Лабораторная работа 1 Основы программирования в среде Турбо Паскаля.
- •Приоритет операций в выражении
- •Задание 1 (программа 1_1)
- •Лабораторная работа 2 Программирование разветвленных алгоритмов. Операторы передачи управления
- •Лабораторная работа 3 Программирование циклических алгоритмов с заданным числом повторений
- •Лабораторная работа 4 Программирование циклических алгоритмов с предусловием
- •Лабораторная работа 5 Программирование циклических алгоритмов с постусловием
- •Модифицировать программу 3_2 для вычисления функций f1(X) и f2 (X) с применением оператора цикла с постусловием. Выполнить ее и сравнить результаты с полученными ранее.
- •Лабораторная работа 6 Программирование алгоритмов обработки одномерных массивов
- •Задание 1
- •Лабораторная работа 7
- •Лабораторная работа 8 Программирование с использованием функций
- •Лабораторная работа 9 Программирование с использованием процедур
- •Лабораторная работа 10 Обработка символьных и строковых данных
- •Лабораторная работа 11 Файлы
- •Лабораторная работа 12 Записи
- •Лабораторная работа 13 Решение нелинейных уравнений
- •Задание (программа_13)
- •Лабораторная работа 14 Вычисление приближенного значения определенного интеграла
- •Лабораторная работа 15 Модульное программирование
- •Лабораторная работа 16 Графика
- •Библиографический список
- •Обозначения графические в схемах алгоритмов (гост 19.701-90)
- •Зарезервированные слова Turbo Pascal 7.0
- •Приложение в
- •Кодировка символов в соответствии с кодами ascii
- •Приложение г
- •Альтернативная кодировка госТа для кодов 128...255
- •Клавиши с кодами из двух частей
- •Содержание
2.2. Константы. Идентификаторы
В качестве констант в ТП используются целые, вещественные, шестнадцатеричные числа, логические константы, символы, строки символов, конструкторы множеств, признак неопределенного указателя.
Целые константы записываются в естественной форме со знаком или без него.
Вещественные числа записываются в форме основной вещественной константы (естественная запись вещественного числа с десятичной точкой) или в экспоненциальной форме, когда число состоит из основной вещественной константы (или целой константы) и экспоненциальной части. Экспоненциальная часть начинается с признака Е(е), за которым следует десятичный порядок (целое число со знаком или без него). Например: 3.4; 5.56E4; -0.5Е-3; 3Е-1. Перед точкой и за ней должна следовать хотя бы одна цифра.
Шестнадцатеричное число состоит из шестнадцатеричных цифр (0,1,2, ...9,А,В,С,D,E,F), перед которыми ставится признак шестнадцатеричного числа $. Например, $0000AAAA.
Логическая константа может принимать два значения, FALSE(ложь), TRUE (истина);
Символьные константы любой символ персонального компьютера заключенный в апострофы. Для записи символа апострофа он удваивается (''''). Допускается записывать символы путем указания кода, которому предшествует знак #. Например: #97-'а'; #67-'A'; #11 - перевод строки.
Строковая константа это любая последовательность символов языка, заключенная в апострофы. Например: 'Это строка'.
Если две строковые константы отличаются типом букв (прописные или строчные), то такие константы считаются различными. В строке символов могут указываться коды символов, которым предшествует #. Например: #7 'Ошибка' #7.
Конструктор множества список элементов множества, заключенный в квадратные скобки ([1,2,3...7,8] [ ] [TRUE]).
Идентификаторы TurboPascal это имена констант, переменных, типов, объектов, процедур, функций, модулей, программ и полей в записях.
Идентификатор описывается последовательностью латинских букв, цифр и знака подчеркивания, начинающейся с буквы. Она может иметь любую длину, но различимыми являются первые шестьдесят три символа (пробелы и специальные символы в идентификаторы не входят).
Например: ALFA, x353, SENT_3_1995.
В качестве идентификаторов языка нельзя использовать зарезервированные слова и имена, которыми названы стандартные константы, файлы, функции, процедуры, типы.
2.3. Операторы
2.3.1. Оператор присваивания
С помощью этого оператора переменной или функции присваивается значение выражения. Для этого применяется знак присваивания (:=), слева от которого записывается имя переменной или функции, а справа выражение, значение которого вычисляется перед присваиванием. Структура оператора:
<идентификатор>:=<выражение>.
Допускается для идентификаторов использовать любой тип, за исключением файлового. Тип идентификатора (имени) и тип выражения должны быть совместимы для присваивания [1].
В выражениях могут использоваться все математические операции: умножение (*), деление (/), целочисленное деление (DIV), остаток от целочисленного деления (MOD), сложение (+), вычитание (-); логические операции: NOT (отрицание "НЕ"), AND (логическое "И"), OR (логическое "ИЛИ"), XOR ("Исключающее ИЛИ"); операции отношений <, <=, >, >=, =, <>, а также стандартные функции (табл.1).
В первую очередь вычисляются выражения, заключенные в круглые скобки, затем вычисляются значения входящих в выражение функций. Далее выполняются унарные операции (NOT, унарный минус), операции типа умножения (*, /, div, mod, and), операции типа сложения (+, -, or, xor) и в последнюю очередь операции отношений (=, <>, >, <, >=, <=).
Примеры арифметических операторов присваивания:
x:=0; {VAR x: integer;}
y:=x*y+sin(x); {где VAR x,y: real.}
Символьный оператор присваивания S:='+'; где VAR S:char,
логический B:=(X<0)OR(K>1); где VAR X,K: real; B: boolean.