- •Ю.П. Чернов, о.П. Шафеева программирование для начинающих
- •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
- •Клавиши с кодами из двух частей
- •Содержание
Управление экраном, окном, страницей
ClearDevice; очищает графический экpан и помещает куpсоp в точку с координиами (0,0). Цвет экрана задается процедурой SetBkColor.
ClearViewPort; очищает текущее окно. Устанавливает курсор в верхний левый угол окна.
GetAspectRatio(var Xasp, Yasp: Word); возвращает число точек на графическом экране по горизонтали и вертикали.
GetViewSettings(var ViewPort: ViewPortType); возвращает параметры текущего окна, установленные процедурой SetViewPort.
SetActivePage(Page: Word); делает активной указанную страницу видеопамяти.
SetAspectRatio(Xasp, Yasp: Word): Word; меняет относительный масштаб изображения по горизонтали Xasp и вертикали Yasp.
SetViewPort(x1,y1,x2,y2:integer; Clip:boolean); устанавливает размеры окна для вывода графической информации (х1, y1 кооpдината веpхнего левого угла; x2,y2 кооpдината нижнего правого угла. Если Clip=true, все построения производятся только в пределах окна, в противном случае части фигур могут выходить за пределы окна.
SetVisualPage(Page: Word); устанавливает номер отображаемой на экране страницы Page.
Управление цветом и палитрой
GetBKColor: Word; возвращает номер текущего цвета фона. GetColor: Word; возвращает номер цвета в палитре, заданного последней процедурой SetColor.
GetDefaultPalette(Var Palette: PaletteType); возвращает параметры исходной палитры, установленной при открытии графического режима.
GetMaxColor: Word; возвращает максимальный номер цвета палитры для данного драйвера.
GetPalette(var Palette: PaletteType); возвращает текущее состояние палитры.
GetPaletteSize: Integer; возвращает количество цветов палитры.
SetAllPalette(var Palette); изменяет одновременно несколько цветов палитры на заданные. Palette нетипизированный параметр, первый байт которого содержит длину палитры, а остальные коды вновь устанавливаемых цветов в диапазоне от 1 до 15.
SetBkColor(Color:word); устанавливает цвет фона экрана.
SetColor(Color:word); устанавливает текущий цвет, котоpым будут изображаться контуры фигур и текст.
SetPalette(ColorNum: Word; Color: Shortint); заменяет один из цветов ColorNum палитры на новый цвет Color.
SetRGBPalette(ColorNum,RedValue,GreenValue,BlueValue:Integer); изменяет красную, синюю и зелёную составляющие цвета в палитре. Color- Num изменяемый цвет, RedValue, GreenValue, BlueValue – интенсивность соответственно красной, зелёной и синей составляющих.
Работа с точками
GetMaxX:integer; возвpащает максимальную гоpизонтальную кооpдинату гpафического экpана в текущем режиме.
GetMaxY:integer; возвpащает максимальную веpтикальную кооpдинату гpафического экpана.
GetPixel(X,Y: Integer): Word; возвращает цвет пикселя для точки с координатами (X,Y).
GetX:integer; - возвpащает кооpдинату Х текущего указателя в окне.
GetY:integer; - возвpащает кооpдинату Y текущей точки в окне.
PutPixel(X,Y:integer; Color:word); окрашивает пиксель с заданными координатами цветом Color.
Работа с линиями
GetLineSettings(var LineInfo: LineSettingsType); возвращает стиль рисования линии, шаблон и толщину через запись LineInfo, состоящую из 3-х полей.
Line(X1,Y1,X2,Y2:integer); проводит линию между точками с координатами (X1,Y1) и (Х2,У2).
LineRel(DX,DY:integer); проводит линию от текущей точки к точке, заданной пpиpащением кооpдинат.
LineTO(X,Y:integer); проводит линию из текущей точки к точке с координатой Х,У.
MoveRel(DX,DY:integer); перемещает указатель координат точки на заданное расстояние (DX,DY), заданной пpиpащением кооpдинат.
MoveTO(X,Y:integer); смещает текущий указатель координат в точку с координатами (Х,У).
SetLineStyle(Line,Pattern,Thickness:word); устанавливает стиль (0..4), шаблон штpиховки (0..12) и толщину (1-я нормальная, 3-я толстая).
SetWriteMode(WriteMode: Integer); устанавливает режим построения линии (0...4). Если WriteMode=0, то вновь выводимые линии взаимодействуют с уже существующими операцией MOV, если WriteMode=1, то с операцией XOR.