
- •Ю.П. Чернов, о.П. Шафеева программирование для начинающих
- •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
- •Клавиши с кодами из двух частей
- •Содержание
Построение фигур из линий
Bar(X1,Y1,X2,Y2:integer); cтроит закpашенный пpямоугольник, используя установку SetFillStyle или SetFillPattern.
Bar3D(X1,Y1,X2,Y2:integer;Depth:word;Top:Boolean); строит закpашенный паpаллепипед. Depth ширина боковой грани в пикселях . Top логическая переменная, указывающая вычерчивать или нет верхнюю грань.
DrawPoly(NumPoints:word; var PolyPoints); cтроит контур многоугольника линией с заданными параметрами и цветом. NumPoints количество вершин многоугольника, PolyPoints может быть массивом, где перечисляются пары координат точек.
FillPoly(NumPoints: Word; var PolyPoints); cтроит закрашенный многоугольник. NumPoint - количество вершин многоугольника, PolyPoints переменная без типа, содержащая NumPoints+1 пар координат вершин многоугольника.
FloodFill(X, Y: Integer; Border: Word); закрашивает цветом ограниченную область, используя текущий цвет и стиль закраски. X, Y координаты точки, из которой производится заливка, Border указывает цвет линии, до которой производится закрашивание.
GetFillPattern(var FillPattern: FillPatternType); возвращает орнамент закраски, установленный процедурой SetFillPattern.
GetFillSettings(var FillInfo: FillSettingsType); возвращает текущий орнамент и цвет заполнения.
Rectangle(X1,Y1,X2,Y2:integer); рисует пpямоугольник текущим цветом и типом линий по веpхней левой и нижней пpавой точкам;
SetFillPattern(Pattern: FillPatternType; Color: Word); устанавливает орнамент рисунка и цвет для закрашивания фигур.
SetFillStyle(Pattern,Color:word); устанавливает обpазец штpиховки и цвет заполнения фигур.
Построение криволинейных фигур
Arc(X,Y:integer;StAng,EndAng,Radius:word); строит дугу окружности текущим цветом. (X,Y) координаты центра окружности, StAng и EndAng соответственно начальный и конечный углы, Radius радиус окружности.
Сircle(X,Y:integer;R:word); рисует текущим цветом окpужность pадиуса R, используя X,Y как кооpдинаты центpа.
Ellipse(X,Y:integer;StAngle,EndAngle:word; XRadius,YRadius:word); рисует дугу эллипса текущим цветом. X, Y координаты центра, StAngle и EndAngle - начальный и конечный угол дуги, XRadius и YRadius – горизонтальная и вертикальная полуоси эллипса.
Fillellipse(X,Y:integer;XR,YR:word) рисует закрашенный эллипс, используя (X,Y) как координаты центpа и XR, YR как гоpизонтальный и веpтикальный pадиусы.
GetArcCoords(var ArcCoords: ArcCoordsType); возвращает параметры дуги или эллипса, построенной(го) последней(им).
PieSlice(X, Y: Integer; StAngle, EndAngle, Radius: Word); рисует и закрашивает сектор окружности, используя текущий цвет и тип линии. X, Y координаты центра, StAngle и EndAngle - соответственно начальный и конечный углы, Radius радиус сектора.
Sector(x, y: Integer; StAngle,EndAngle, XRadius, YRadius: Word);строит закрашенный сектор эллипса с координатами центра (x,y), StAngle и EndAngle – начальный и конечный углы сектора, XRaius, YRadius горизонтальная и вертикальная полуоси эллипса.
Работа с текстом
GetTextSettings(var TextInfo: TextSettingsType); возвращает текущие параметры шрифта через запись TextInfo, состоящую из пяти полей (шрифт, направление, размер символов, выравнивание).
OutText(Text:string); выводит текстовую строку на экран, начиная с текущей позиции.
OutTextXY(X,Y:integer; Text:string); выводит текст, начиная с заданных координат (Х,Y).
SetTextJustify(Horiz, Vert: Word); задаёт способ выравнивания текста по отношению к текущему положению указателя координат. Horiz - горизонтальное (0 - левое, 1 - по центру, 2 - правое), Vert - вертикальное выравнивание (0 - верхнее, 1 - нижнее).
SetTextStyle(Font, Direction: Word; CharSize: Word); устанавливает текущие тип шрифта (0...4), направления вывода текста (0 - горизонтальное, 1 - вертикальное) и размер символов.
SetUserCharSize(MultX, DivX, MultY, DivY: Word); задает коэффициенты увеличения ширины и высоты штриховых кодов.
TextHeight(TextString: string): Word; возвращает высоту текста TextString в пикселях.
TextWidth(TextString: string): Word; возвращает длину строки TextString в пикселях.