
- •Министерство образования и науки рф
- •Введение
- •Требования к оформлению отчета*
- •Задания к лабораторным работам.
- •Лабораторная работа 2. Методы численного интегрирования.
- •Указания и требования к выполнению работы.
- •Методы численного интегрирования
- •Лабораторная работа № 3. Расчет реактора смешения для сложной реакции с линейной кинетикой
- •Требования по выполнению работы:
- •Замечания по выполнению работы.
- •Реактор идеального смешения
- •Методы решения систем линейных алгебраических уравнений.
- •Метод Жордана-Гаусса (обращения матриц).
- •Итерационные методы.
- •Лабораторная работа № 4
- •4.1 Обработка экспериментальных данных по парожидкостному равновесию.
- •Обработка экспериментальных данных.
- •38 Метанол-ацетон-гептан
- •43 Метанол-ацетон-циклогексан
- •1. Интерполирование.
- •2. Метод наименьших квадратов
- •4.2. Расчет температуры кипения и точки росы трехкомпонентной смеси.
- •Методы уточнения корней уравнений с одним неизвестным.
- •Расчет производится по следующим
- •Лабораторная работа 5 Расчет реактора идеального вытеснения
- •Требования по выполнению работы:
- •Методы решения обыкновенных дифференциальных уравнений
- •Лабораторная работа № 6 Исследование функции, нахождение ее характерных точек и ее графическое изображение в трехмерных координатах.
- •Содержание
- •Приложение –1 – описание языка турбо паскаль версия № 7.0
- •1. Алфавит языка
- •1.1. Символы, используемые в идентификаторах
- •1.2. Разделители.
- •1.3.2. Знаки операций
- •1.3.3. Зарезервированные слова
- •1.4. Неиспользуемые символы
- •2. Структура программы
- •3. Типы данных
- •3.1. Классификация типов данных
- •3.2. Простые типы данных
- •3.2.3. Символьный тип
- •3.2.4. Перечисляемый тип
- •3.2.6. Вещественные типы
- •4. Выражения
- •4.1. Переменные
- •4.2 .Константы.
- •4.2.1. Целые константы
- •4.2.4. Константные выражения
- •4.2.5. Типизированные константы
- •4.3. Стандартные функции
- •4.3.1. Арифметические функции
- •4.3.2. Функции преобразования типа
- •4.3.3. Функции для величин порядкового типа
- •4.4. Знаки операций
- •4.4.1. Арифметические операции
- •4.4.2. Логические операции
- •4.4.3. Операции с битами информации
- •4.4.4. Операции отношения
- •4.5. Круглые скобки
- •4.6. Порядок вычисления выражений
- •5. Операторы языка
- •5.1. Простые операторы
- •5.1.1. Оператор присваивания
- •5.1.2. Оператор безусловного перехода gото. Использование меток
- •5.1.3. Пустой оператор
- •5.2. Структурированные операторы
- •5.2.1. Составной оператор
- •5.2.2. Условный оператор if
- •5.2.3. Условный оператор саsе
- •5.2.4. Оператор цикла repeat
- •5.2.5. Оператор цикла while
- •5.2.6. Оператор цикла for
- •5.2.7. Использование стандартных процедур Break и Соntinue в операторах циклов repeat, while и for
- •6. Структурированные типы данных
- •6.1. Массив
- •6.2. Строка типа string
- •6.3. Аsciiz-строка
- •6.4. Запись
- •6.5. Множество
- •6.6. Файл
- •7 Динамические структуры — данных
- •7.1. Указатель
- •7.2. Работа с динамической памятью
- •7.3. Работа со структурами данных
- •8. Процедурные типы
- •9. Совместимость и преобразование типов данных
- •10 Процедуры и функции
- •10.1. Процедура
- •10.2. Функция
- •10.3. Формальные и фактические параметры
- •10.3.1 Параметры-значения
- •10.3.2. Параметры-переменные
- •10.3.3. Параметры-константы
- •10.3.4. Параметры без типа
- •10.3.5. Массивы и строки открытого типа
- •10.3.6. Параметры-процедуры и параметры-функции
- •10.4. Процедура еxit
- •10.5. Директивы подпрограмм
- •10.5.1. Директива forward
- •10.5.2. Директивы fаr и near
- •10.5.3. Директива ехтеrnal
- •10.5.4. Директива аssembler
- •Пример. Функция, определяющая максимальное из двух чисел
- •10.5.5. Директива inline
- •10.5.6. Директива interrupt
- •10.6. Рекурсивные процедуры и функции
- •11 Организация ввода-вывода
- •11.1. Стандартные процедуры и функции для всех файлов
- •Функции
- •11.2. Стандартные процедуры и функции для текстовых файлов
- •11.3. Стандартные процедуры и функции для типизированных файлов
- •Осуществляется настройка на элемент файла, с которым связана файловая переменная f. Элемент файла определяется номером №, причем нумерация элементов начинается с нуля.
- •11.4. Стандартные процедуры и функции для файлов без типа
- •11.5. Внешние устройства в качестве файлов
- •12 Объектно-ориентированное программирование в turbo pascal 7.0
- •12.1. Пример использования ооп
- •12.2. Понятие объекта
- •12.2.2. Наследование
- •12.2.3. Полиморфизм
- •12.3. Виртуальные методы
- •13 Модули
- •13.1. Заголовок модуля
- •13.2. Интерфейс модуля
- •13.3. Исполнительная часть модуля
- •13.4. Секция инициализации
- •13.5. Использование модуля в основной программе
- •13.6. Использование идентификаторов элементов модуля
- •14 Стандартные модули
- •14.1 Модуль System
- •Арифметические функции
- •Процедуры работы со строками
- •Функции работы со строками
- •Функции управления вводом-выводом
- •Процедуры управления вводом-выводом
- •Функции управления динамической памятью и адресные функции
- •Include Включение элементов множества
- •14.2. Модуль String
- •14.3. Модуль Сrt
- •C80 с080 Для совместимости с версией 3.0
- •14.4. Модуль Graph
- •14.4. Пример использования подпрограмм модуля Сrарh
14.1 Модуль System
Модуль System является фактически основной библиотекой среды Тurbo Раscаl. Так, в него входят все предопределенные процедуры и функции стандарта языка Паскаль, а также дополнительные подпрограммы, позволяющие выполнять разнообразные действия общего назначения (управление вводом-выводом, работа со строками, статической и динамической памятью и т. д.).
Модуль System автоматически подключается к любой программе, и его не следует упоминать в разделе объявления используемых модулей uses.
В модуле описан ряд переменных, перечень которых приведен в табл. 9. Таблица 9. Переменные модуля Systeт
Имя Тип Назначение
Input
|
Техt
|
Стандартная файловая переменная ввода
|
|
Оutput
|
»
|
Стандартная файловая переменная вывода
|
|
SaveInt00
|
Роinter
|
Переменная для сохранения вектора прерывания $00
| |
SaveInt02
|
То же $02
| ||
SaveInt1В
|
То же $1В
| ||
SaveInt21 SaveInt23 |
То же $21 То же $23 | ||
SaveInt24 |
То же $24
| ||
SaveInt34 |
То же $34
| ||
SaveInt35 |
|
То же $35 |
|
SaveInt36 |
|
То же $36 |
|
SaveInt37 |
|
То же $37 |
|
SaveInt38 SaveInt39 SaveInt3А |
|
То же$38 То же $39 То же $3А |
|
SaveInt3В SaveInt3С |
То же $3В То же $3С | ||
SaveIntЗD |
|
То же $3D |
|
SaveInt3Е SaveInt3F |
То же $ЗЕ То же$3F | ||
SaveInt75 |
|
Тоже $75
|
|
Более подробно о файловых переменных Input и Оutput см. в п. Ввод-вывод.
Помимо переменных в модуле System определен ряд типизированных констант (инициализированных переменных), приведенных в табл. 10.
Таблица 10. Инициализированные переменные модуля System
Имя '
|
Тип '
|
Значение
|
Назначение | ||||||
ЕrrorАddr
|
Рointer
|
nil
|
Адрес ошибки выполнения
| ||||||
ExitCode
|
Integer
|
0
|
Код завершения программы
| ||||||
ЕxitProc
|
Роinter
|
nil |
Адрес процедуры завершения программы
| ||||||
FileMode |
Byte
|
2
|
Режим доступа к файлу
| ||||||
FreeList
|
Pointer
|
nil
|
Указатель списка свободных блоков динамической области
| ||||||
FreeZero
|
Pointer
|
nil |
Резервная переменная .
| ||||||
НеарЕnd
|
Pointer
|
nil
|
Конец-динамической области . | ||||||
НеарЕrrоr
|
Pointer
|
nil
|
Функция обработки ошибок при работе с динамической областью
|
| |||||
НеарОrg
|
Pointer
|
nil |
Начало динамической области
|
| |||||
НеарРtr
|
Pointer
|
nil
|
Указатель динамической области
|
| |||||
InpOutRez
|
Integer
|
0
|
Код результата ввода-вывода
|
| |||||
ОvrСоdeList |
Word |
1
|
Список оверлейных сегментов
|
| |||||
ОvrDebugPtr |
Pointer |
nil
|
Указатель оверлейной отладки
|
| |||||
ОvrDosHandle |
Word |
0
|
Параметр связи оверлейной программы с DOS |
| |||||
ОvrЕmsHandle |
Word |
$FFFF
|
Параметр связи оверлейной программы с расширенной памятью |
| |||||
ОvrHeapEnd |
Word |
0 |
Конец оверлейного буфера
|
| |||||
ОvrНеарОrg |
Word |
0
|
Начало оверлейного буфера
|
| |||||
ОvrНеарРtr
|
LongInt |
0
|
Указатель оверлейного буфера
|
| |||||
ОvrНеарSize
|
Word |
0
|
Минимальный размер оверлейного буфера
|
| |||||
ОvrLoadList |
Word |
0
|
Список загруженных оверлейных блоков
|
| |||||
РrefixSeg |
Word |
0
|
Адрес префиксного сегмента программы
|
| |||||
RandSeed
|
Pointer |
0
|
Параметр генератора случайных чисел
|
| |||||
Seg0040
|
Word |
$0040
|
Селектор сегмента $0040
|
| |||||
SegA000
|
Word |
$А000
|
То же $А000
|
| |||||
SegB000 |
Word |
$В000
|
То же $В000
|
| |||||
SegB800
|
Word |
$В800
|
То же $В800
|
| |||||
SelectorInc
|
Word |
$1000
|
Приращение селектора сегмента
|
| |||||
StackLimit |
Word |
0
|
Граница стека
|
| |||||
Теst808б
|
Вуte
|
0
|
Тип процессора 80х86
|
| |||||
Теst8087
|
Вуtе
|
0
|
Тип сопроцессора 80х87
|
|
Переменная ErrorAddr содержит значение nil, если программа завершена успешно, и адрес сообщения об ошибке, если произошла ошибка выполнения. Переменная ЕхitCode содержит код завершения программы (0 - при нормальном завершении). Переменная ЕхitProc содержит адрес подпрограммы завершения. Переменная FileMode содержит код режима работы с файлом (0 - только чтение, 1 - только запись, 2 - чтение и запись и т. д.). Параметры FreeList, НеарЕnd, НеарЕrror, НеарОrg, НеарРtr можно использовать при работе с динамической областью памяти. Переменная InOutRes содержит код выполнения последней операции ввода-вывода, который затем можно получить с помощью функции IOResult. Параметры ОvrCodeList, ОvrDebugPtr, ОvrDosHandle, ОvrEmsHandle, ОvrHeapEnd, ОvrНеарОrg, ОvrНеарРtr, ОvrНеарSize, ОverLoadList используются при работе с оверлейными структурами. Параметр РrefixSeg содержит адрес 256-байтового префиксного сегмента программы. В переменной RandSeed помещается исходное значение датчика случайных чисел.
Переменные для сохранения векторов прерывания можно использовать для сохранения в них текущих значений векторов прерывания.
Параметр StackLimit содержит минимально допустимое смещение указатели стека. В параметр Теst8086 помещается код, определяющий тип процессора (0 -Процессор 8086, 1 - процессор 80286, 2 - процессор 90386 или следующие модификации). В параметр Теst8087 - результат тестирования сопроцессора, если он используется программой (0 - нет сопроцессора, 1 - сопроцессор 8087, 2 - сопроцессор 80287, 3 - сопроцессор 80387 или следующие модификации).
Таблица 11. Процедуры и функции модуля System
Имя Назначение