- •Ю.П. Чернов, о.П. Шафеева программирование для начинающих
- •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
- •Клавиши с кодами из двух частей
- •Содержание
Порядок выполнения лабораторных работ
Изучить теоретические сведения по теме.
Построить схему алгоритма для решения задач в соответствии с вариантом, выданным преподавателем, для каждого задания.
Подготовить текст программы и набрать его в окне редактора ТП.
Откомпилировать программу (F9) и исправить синтаксические ошибки.
Выполнить программу для реальных исходных данных (Ctrl+F9).
Просмотреть результаты (Alt+F5) и записать в тетрадь.
Оформить отчет по текущей лабораторной работе, в который включить:
номер работы, тему работы, условия задач, схемы алгоритмов, тексты прог- рамм, результаты выполнения программ.
Защитить лабораторную работу преподавателю.
Лабораторная работа 1 Основы программирования в среде Турбо Паскаля.
Оператор присваивания, процедуры ввода - вывода
Оператор присваивания имеет вид <идентификатор>:= <выражение>;
В арифметических выражениях могут использоваться следующие математические функции и соотношения:
SIN(X) - sin X; COS(X) - cos X;
EXP(X) - ех; LN(X) - Ln X;
SQR(X) - х2; SQRT(X) - ;
ABS(X) - абсолютная величина X (|Х|); ARCTAN(X) - arctan X;
ах программируется как EXP(x*LN(a)); lgX - как LN(X)/LN(10).
TRUNC(X) - выделение целой части числа; Pi=3.1415926535897932385;
ROUND(X) - округление Х до ближайшего целого.
Приоритет операций в выражении
№ п/п |
Арифметические |
Логические |
Отношения |
Другие |
1 2 3 4 |
*, /, div, mod +,-
|
NOT аnd,shl,shr, оr, xor
|
<=,>=,<>,<,>,= |
@ адресное преобразование
in |
Для реализации лабораторных работ необходима среда Borland Pascal версии 7.0. Ее запуск производится через файл bp.exe (BP7\BIN\bp.exe).
Пример 1. Вычислить площадь прямоугольника по размерам его сторон А и В. Обозначим площадь переменной S, тогда необходимо найти S=A*B.
Программа набирается в окне редактора и компилируется [F9]:
Program RECT; {заголовок программы с именем RECT}
const {блок описания констант}
A=2; B=3; {определение констант А и В}
var {блок описания переменных}
S:integer; {определение переменной S целым типом}
begin {начало основного блока программы}
S:=A*B; {оператор присваивания}
write('Площадь прямоугольника = ',S); {процедура вывода}
end. {конец основного блока}
В результате выполнения программы (Ctrl+F9) на экран выводится сообщение:
Площадь прямоугольника = 6.
Пример 2. Найти площадь равностороннего треугольника. Если стороны треугольника имеют размер А, то его площадь S = A2 sin(π/3)/2. Схема алгоритма (СА) реализации этой задачи (рис.1) выполнена по ГОСТ 19.701-90 (прил.1).
Текст программы
Program TREUG;
var
A, S: real;
begin
writeln('Введите A'); {процедура вывода текста}
read(A); {процедура ввода}
S: = SQR (A)*sin(PI/3)/2;
writeln ('Результат: S=', S: 6: 2,' для A=', A);
readln {Задержка до нажатия клавиши <ENTER>}
end.
После выполнения программы на экран выводится
сообщение:
Результат: S = 10.83 для А = 5.
Предварительно рассчитанный на калькуляторе
результат для А = 5 при подготовке к лабораторной работе
составил S = 10.8253, что подтверждает верность программы.