
- •Министерство образования и науки рф
- •Введение
- •Требования к оформлению отчета*
- •Задания к лабораторным работам.
- •Лабораторная работа 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
13.5. Использование модуля в основной программе
Чтобы использовать подпрограммы, константы, типы, переменные, описанные в интерфейсе модуля, в основной программе следует записать слово uses, после которого указать имя (имена) модуля (модулей). После этого в основной программе можно использовать идентификаторы, указанные в интерфейсах перечисленных модулей.
Пример. Программа, меняющая в массиве максимальное и минимальное числа.
program EXAMPLE26; {заголовок программы}
uses Unit1, Unit2; {используемые модули}
var i: Integer;
begin
Change(Arr); {процедура замены Unit1, массив Arr – в Unit2}
for 1 := 1 to N do
WriteLn(Arr[i])
end.
{модули, расположенные в других файлах}
unitUnit1; {модуль с основной подпрограммой}
interface{интерфейс первого модуля}
usesUnit2; { использование модуля с параметрами}
procedure Change(var Am Mass); {заголовок процедуры}
implementation {исполнительная часть}
uses Unit3; {использование модуля с вспомогательной подпрограммой}
procedure Change; {сокращенный,заголовок}
var Max, Min, i: Integer;
begin
Max:=l;
Min:=1;
for i := 1 to N do
begin
if Arr[i] > Arr[Max] then Max:= i;
if Arr[il <Arr[Min] then Min := i
end;
Swap(Arr[Max],Arr[Min]) {замена местами макс, и мин. чисел, процедура в Unit3}
end
end. {конец UNIТ1}
unit Unit2; {модуль с параметрами}
interface {интерфейс второго модуля}
constN=5; {число элементов}
type Mass = array[l..N] of Real; {тип массива}
constArr:Mass= (0.5, -2.0, 1.0, 3.5, 7.0); {типизированная константа}
implementation {исполнительная часть}
end. {конец UNIТ2}
unitUnit3; {модуль с вспомогательной подпрограммой}
interface {интерфейс третьего модуля}
procedure Swap(var X, Y: Real);
implementation {исполнительная часть}
procedureSwap(varX,Y:Real); {перемещение двух чисел}
var Z: Real;
begin
Z := X; X := Y; Y := Z
end. {конец UNIТ3}
13.6. Использование идентификаторов элементов модуля
Как правило, идентификаторы объектов модуля используются в основной программе (или другом модуле) обычным образом. Однако может оказаться, что используемый идентификатор элемента модуля совпадает с идентификатором использующей его программы. Чтобы различить их, при обращении к элементу модуля указывается имя модуля, а затем через точку - идентификатор объекта (аналогично использованию полей записи).
Пример.
program ЕХАМРLE;
uses Unit1;
vаr Result, X: Reа1;
begin
Read(Х); {чтение переменной программы}
Read(Unit1,X:real); {чтение переменной модуля}
Result:= X {переменная программы}
+Unit1.Х {переменная модуля}
еnd.
Unut Unit1;
interface
var X:Real; {переменная модуля)
implementation
еnd.
14 Стандартные модули
Как указывалось выше, модули можно использовать для создания библиотек стандартных подпрограмм и данных. В Тurbo Раscаl в настоящее время имеется большое количество стандартных подпрограмм и данных, объединенных в несколько стандартных модулей. Они позволяют упростить процедуру написания программ, более полно использовать возможности компьютеров типа IВМ РС, возможности операционной системы МS DOS. В библиотеке имеются следующие стандартные модули:
System - - основная библиотека;
Strings - работа с АSCIIZ-строками;
Crt - работа с консолью;
Graph - графическая библиотека;
Dos - использование, возможностей ДОС;
WinDos - использование возможностей ДОС с использованием АSСIIZ-строк
Оverlaу - организация оверлейных сруктур;
Рrinter -работа с принтером;
Turbo3 - связь с программами Тurbo Раsсаl 3.0;
Graph3 - связь с графикой Тurbo Раscal 3.0.
Модули Strings, Graph, WinDos, Тurbo3 и Graph3 находятся соответственно в файлах Strings.TPU. GRAPH.TPU, WINDOS.TPU, TURBO3.TPU и GRAPH.ТРU, остальные – в файле ТURBO.ТРL.
Так как необходимость обеспечить совместимость с программами, написанными в терминах среды Тurbo Раscаl 3.0, возникает. все реже и реже, модули Тurbo3 и Graph3 рассматриваться не будут.
При описании каждого модуля вначале приводятся сводные данные об элементах модуля (константы. переменные, типы, подпрограммы),.а затем краткие характеристики подпрограмм. Учитывая, что в среде Тurbo Раscаl 7.0 имеется хорошо развитая система помощи, включая и многочисленные примеры, которые можно непосредственно использовать в создаваемой программе, при описании ; каждой стандартной подпрограммы будут приведены лишь ее название и назначение.