
- •Министерство образования и науки рф
- •Введение
- •Требования к оформлению отчета*
- •Задания к лабораторным работам.
- •Лабораторная работа 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
10.5.6. Директива interrupt
Директива interrupt предназначена для процедур, обрабатывающих прерывания. Такие процедуры имеют стандартный заголовок:
Рrосеdure IntНаndler(Flags, СS, IP, АХ, ВХ, СХ, DХ, SI, DI, DS, ЕS, ВР: Word); interrupt;
begin
:
end;
В заголовке отдельные параметры можно опускать (но только с начала списка), промежуточные параметры удалять нельзя, например:
Рrосеdure IntНаndler(DI, ЕS, ВР: Word); interrupt; {неправильный заголовок}
Рrосеdure IntНаndler(DI, DS, ЕS, ВР: Word); interrupt; {правильный заголовок}
Нельзя в заголовке процедуры обработки прерываний записывать и какие-либо другие параметры.
10.6. Рекурсивные процедуры и функции
Язык Паскаль допускает, чтобы подпрограмма вызывала саму себя (рекурсивное обращение). Эта возможность связана с тем, что при каждом новом обращении к подпрограмме параметры, которые она использует, заносятся в стек, причем параметры предыдущего обращения также сохраняются.
В ряде случаев (обычно для рекурсивных алгоритмов) рекурсивное оформление подпрограммы может быть более компактным и эффективным, но не следует забывать об опасности переполнения стека.
Пример. Вариант функции, рекурсивно вычисляющей факториал числа N.
function Factorial(N:Byte): LongInt;
begin
if N in [0..1] then Factorial := 1
else Factorial: =N* Factorial(N-1)
end;
11 Организация ввода-вывода
В языке Паскаль ввод-вывод информации осуществляется через файловые переменные.
Перед тем, как осуществлять ввод-вывод, файловая переменная должна быть связана с конкретным внешним файлом с помощью процедуры Assign. Этим файлом может быть файл на магнитном диске или ленте, а также устройство вычислительного комплекса (клавиатура, экран дисплея, принтер и т.д.). Затем файл должен быть открыт для чтения и/или записи. После этого можно осуществлять организацию ввода-вывода.
В Turbo Pascal имеется 3 категории файлов: текстовые (тип Техt), типизированные (file of <тип>) и файлы без типа (file) (см. п. 6.6). Работа с этими категориями файлов несколько отличается друг от друга.
Обычно все файлы считаются файлами последовательного доступа. Однако для типизированных файлов и файлов без типа с помощью процедуры Seek можно установить режим произвольного доступа. При этом нумерация компонент файла начинается с нуля.
После работы с файлом он, как правило, должен быть закрыт процедурой С1оsе. Это требование обязательно должно соблюдаться для файла, в который производилась запись.
При работе с файлами автоматически проверяются ошибки ввода-вывода. Если проверка ошибки включена (по умолчанию или с помощью ключа компилятора {$I+}), то при возникновении ошибки выполнение программы автоматически завершается, если же проверка ошибки отключена (с помощью ключа {$I-}), программа продолжает выполняться и можно проверить результат ввода-вывода с помощью функции IOResult.
11.1. Стандартные процедуры и функции для всех файлов
В данном разделе будут кратко описаны процедуры и функции, которые применимы для всех файлов. Во всех этих процедурах и функциях F- файловая переменная, связанная с конкретным физическим файлом процедурой Assign.
ПРОЦЕДУРЫ
Аssign(F, Name) - связь файловой переменной с внешним файлом.
Связывает файловую переменную F с внешним файлом, имеющим имя Name. Name - переменная или константа типа string (или совместимого для присвания с ним типа) или типа РСhar. Имя типа должно быты написано в соответствии с правилами МS DOS, может включать путь и не должно превышать 79 символов. Если строка имени пустая, осуществляется связь со стандартным файлом ввода или вывода (как правило, консолью).
ChDir(Раth) - изменение текущей директории.
Устанавливает новый текущий каталог, путь к которому (включая, быть может, и имя устройства) находится в параметре Раth. Параметр Раth по своим характеристикам аналогичен параметру Nаmе в процедуре Аssign, но в него не должно входить имя файла и он может быть только типа string (или совместимого для присваивания с ним типа).
Сlоsе(F) - закрытие открытого файла.
Закрывает внешний файл, с которым связана файловая переменная F. При этом в случае необходимости в содержимое файла вносятся все произведенные изменения.
Еrase(F)— уничтожение внешнего файла.
Удаляется внешний файл, с которым связана файловая переменная F.
GetDir(N,S) - получение текущего каталога накопителя. В переменную S типа string записывается текущий каталог накопителя, номер которого указан параметром N. Параметр N имеет следующие значения: 0 - текущий накопитель, 1 - накопитель А;, 2 - накопитель В: и т. д.
МkDir(Раth) - создание каталога. Создается новый каталог, путь до которого указан параметром Раth. Параметр Раth по своим характеристикам аналогичен параметру Name в процедуре Аssign, но в него не должно входить имя файла, и он может быть только типа string (или совместимого для присваивания с ним типа).
Rename(F,NewName) - переименование внешнего файла.
Внешний файл, с которым связана файловая переменная F, получает новое имя, заданное параметром NewName. Параметр NewName по своим характеристикам аналогичен параметру Name в процедуре Assign.
Reset(F[,Size]) - открытие существующего файла.
Открывается существующий файл, с которым связана файловая переменная F, и указатель текущей компоненты файла настраивается на начало файла. Необязательный параметр целого типа Size используется только с файлами безтипа и задает размер пересылаемого элемента информации в байтах. По умолчанию этот размер равен 128.
Rewrite(F[,Size]) - открытие нового файла.
Открывается новый пустой файл, и ему присваивается имя, заданное процедурой Аssign. Если файл с таким именем уже существует, то он уничтожается. Необязательный параметр Size имеет тот же смысл, что и в процедуре Reset.
RmDir(Раth) - удаление пустого каталога.
Удаляется пустой каталог, путь до которого указан параметром Раth. Параметр Раth по cвоим характеристикам аналогичен параметру Name в процедуре Аssign, но в него не должно входить имя файла, и он может быть только типа string (или совместимого для присваивания с ним типа).