- •Введение
- •1. Программирование на языке Паскаль
- •1.1. Структура программы
- •1.2. Типы данных
- •1.2.1. Целый тип данных
- •1.2.2. Логические типы данных – Boolean
- •1.2.3. Данные символьного типа
- •1.3. Операторы языка программирования Турбо Паскаль
- •1.3.1. Операции в Турбо Паскаль
- •1.3.2. Правила вычисления выражений
- •1.3.3. Встроенные функции в Турбо Паскаль
- •1.3.4. Описание констант и переменных
- •1.3.5. Операторы в Турбо Паскаль
- •Вопросы для самопроверки
- •Лабораторная работа №1 Организация программ линейных структур
- •2. Организация форматного вывода данных на языке Паскаль
- •Варианты задания
- •3. Организация программ разветвляющихся структур
- •3.1. Полная форма условного оператора
- •3.2. Краткая форма условного оператора
- •Вопросы для самопроверки
- •Лабораторная работа №3 Организация программ разветвляющихся структур
- •Варианты заданий
- •4. Организация циклических процессов
- •Лабораторная работа №4 Составление циклических программ
- •Варианты заданий
- •Методические указания
- •Варианты заданий
- •5. Программирование структур с вложенными циклами
- •Вопросы для самопроверки
- •Лабораторная работа №5 программирование структур с вложенными циклами. Вычисление суммы ряда
- •Методические указания
- •Варианты заданий
- •6. Перечислимые и ограниченные типы данных
- •6.1 Перечислимый тип данных
- •6.2. Ограниченный тип данных
- •6.3. Оператор выбора (варианта)
- •Вопросы для самопроверки
- •Лабораторная работа №6 Перечислимые и ограниченные типы данных
- •Варианты заданий.
- •7. Регулярные типы данных
- •7.1. Одномерные массивы
- •7.1.1. Краткая форма объявления одномерного массива
- •7.1.2. Полная форма объявления одномерного массива
- •7.1.3. Доступ к элементам массива
- •Вопросы для самопроверки
- •Лабораторная работа №7_1 регулярные типы данных. Массивы
- •Варианты заданий
- •7.2. Двумерные массивы
- •Вопросы для самопроверки
- •Лабораторная работа №7_2 регулярные типы данных. МАтрицы
- •Варианты заданий
- •7.3. Сортировка элементов массива
- •7.3.1. Сортировка методом «пузырька»
- •7.3.2. Сортировка вставками
- •7.3.3. Сортировка посредством выбора
- •7.3.4. Быстрая сортировка
- •8. Составление программ с использованием подпрограмм
- •8.1. Область видимости идентификатора переменной
- •8.2. Подпрограммы - процедуры (procedure)
- •8.2.1. Формальные и фактические параметры
- •Вопросы для самопроверки
- •8.3. Подпрограммы-функции (function)
- •Вопросы для самопроверки
- •Лабораторная работа №8_2 составление программ с использованием подпрограмм - функций
- •Варианты заданий
- •8.4. Рекурсия
- •8.4.1. Вычисление факториала
- •8.4.2. Формы рекурсивных процедур
- •8.4.3. Числа Фибоначчи
- •Вопросы для самопроверки
- •9. Модули
- •Вопросы для самопроверки
- •Лабораторная работа №9 составление программ с использованием модулей
- •Варианты заданий
- •10. Строковые типы данных (String)
- •10.1 Операции со строками
- •10.2. Стандартные процедуры и функции для строк
- •10.3. Хранение строк
- •Вопросы для самопроверки
- •Лабораторная работа №10 обработка символьной информации
- •Варианты заданий
- •11. Комбинированные типы. Записи (Record)
- •11.1 Записи с фиксированными частями
- •11.2. Оператор with…do
- •11.3. Вариантные записи
- •Вопросы для самопроверки
- •Лабораторная работа №11 Комбинированные типы. Записи
- •Варианты заданий
- •12. Файлы
- •12.1. Классификация файлов
- •12.1.1. Чтение файла
- •12.1.2. Запись файла
- •Вопросы для самопроверки
- •Лабораторная работа №12 организация работы с внешней памятью
- •Варианты заданий
- •13. Множества
- •13.1. Объявление множества
- •13.2. Операции над множествами
- •13.3. Сравнение множеств
- •13.4. Старшинство множественных операций
- •Вопросы для самопроверки
- •Лабораторная работа №13 множества
- •Варианты заданий
- •Библиографический список
1. Программирование на языке Паскаль
1.1. Структура программы
PROGRAM <ИМЯ_ПРОГРАММЫ>; {ЗАГОЛОВОК ПРОГРАММЫ}
USES <ИМЯ_МОДУЛЯ>;
LABEL
CONST
TYPE РАЗДЕЛ ОПИСАНИЙ
VAR
PROCEDURE, FUNCTION
B EGIN
ОПЕРАТОР1;
ОПЕРАТОР2; РАЗДЕЛ ОПЕРАТОРОВ
…
END.
Готовая программа состоит из двух частей: заголовка и собственно программы, называемой блоком, который разделяется на описательную часть и исполняемую часть. Заголовок означает начало программы, присваивает ей некоторое имя и описывает средства, через которые можно взаимодействовать с этой программой. Блок состоит из разделов, которые располагаются в следующем порядке:
Описательная часть:
раздел меток – LABEL;
раздел констант – CONST;
раздел типов – TYPE;
раздел переменных – VAR;
раздел процедур и функций – PROCEDURE, FUNCTION;
Исполняемая часть:
раздел операторов.
Все используемые в программе имена должны быть описаны до их употребления. Отсюда строгое деление на описательную часть и исполняемую.
Раздел описания служит для объявления новых меток (раздел label), типов (раздел type), переменных (раздел var), констант (раздел const), подпрограмм (раздел procedure, function). Например, описать переменную означает указать компьютеру, по какому адресу она будет храниться, и указать какой объём памяти для неё требуется.
Раздел операторов заключается в операторные скобки begin (начало) end (конец). В нём указывается последовательность действий, которые должны выполняться ЭВМ, необходимых для решения поставленной задачи. Каждое действие в Паскале называется оператором. Все остальные разделы носят описательный характер.
Любой раздел, кроме раздела операторов, может отсутствовать. Разделителем между разделами и операторами служит точка с запятой. В конце программы ставится точка. В любое место программы могут быть включены комментарии, которые не влияют на ход выполнения программы. Комментарии заключаются в фигурные скобки.
Программа в Паскале содержит следующие объекты:
Зарезервированные слова, они являются неотъемлемой частью языка. Например, program, uses, var, begin, end;
Идентификаторы – это последовательность символов, используемая для описания переменных, констант и подпрограмм.
Правила формирования имён идентификаторов:
должен содержать только латинские буквы, цифры и знак подчёркивания;
идентификатор должен начинаться только с буквы;
нельзя использовать зарезервированные слова;
длина идентификатора (имени переменной) произвольная, но значимыми являются первые 63 символа.
Например,
a3,
a3, a*3,
100d,
alfa, max
2,
sin(2),
EA.B.00,
EA_B_00_1, lab1_1,
pi.
1.2. Типы данных
В Турбо Паскале введены следующие типы:
неструктурированный (простой) тип данных;
структурированный тип;
указатель;
процедурный тип;
объект.
Неструктурированный (простой, базовый) тип данных:
целый тип;
логический тип;
символьный тип;
перечисляемый тип;
тип-диапазон;
вещественный тип.
1.2.1. Целый тип данных
В Турбо Паскаль 7.0 введены 5 стандартных целых типов, отличающихся форматами и диапазоном допустимых значений (табл. 1).
Таблица 1
Тип |
Значение |
Формат |
Размер памяти, байт |
BYTE |
0..255 |
Беззнаковый |
1 |
SHORTINT |
-128..127 |
Знаковый |
1 |
INTEGER |
-32768..32767 |
Знаковый |
2 |
WORD |
0..65535 |
беззнаковый |
2 |
LONGINT |
-2147483648..2147483647 |
Знаковый |
4 |