- •Министерство образования и науки рф
- •Введение
- •Требования к оформлению отчета*
- •Задания к лабораторным работам.
- •Лабораторная работа 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
Функции
Еоf(Р) - конец файла. Принимает значение Тruе, если указатель текущей компоненты файла находится за последней компонентой файла (за последним символом, если файл текстовый), и Fаlse - в противном случае.
IOResult - результат последней операции ввода-вывода. Возвращает число 0, если операция ввода-вывода завершилась успешно, и другое число - в противном случае. После применения этой функции параметр состояния последней операции ввода-вывода сбрасывается в 0.
11.2. Стандартные процедуры и функции для текстовых файлов
Текстовый файл представляет собой совокупность символов, разделенных на строки причем в конце каждой строки стрит признак конца строки.
Особенностью работы с текстовыми файлами является то, что параметры, значения которых вводятся и выводятся с помощью процедур Read или Write, могут быть не обязательно типа Сhar или string, а и других простых типов (целых, вещественных типов при вводе, целых, вещественных типов, типа Вооlean -при выводе). Эти процедуры могут также работать и с АSCIIZ-строками.
Имеется две стандартные файловые переменные для текстового файла: Input и Оtput. Переменная Input по умолчанию связана с клавиатурой, а Оutput - c экраном дисплея. Эти устройства автоматически открываются при запуске программы, т. е. фактически выполняются процедуры:
Аssign(Input,’’); Reset(Input);
Аssign(Оutput, ‘’) ; Rewrite(Output);
Они также автоматически закрываются после работы программы.
Если при работе с файлами типа Техt в процедуре или функции не указана файловая переменная, считается, что используется файловая переменная Input или Оutput.
Файл типа Техt может быть открыт либо для чтения процедурой Reset, либо для записи процедурой Rewrite или Арреnd.
Далее кратко описаны процедуры и функции, используемые для файлов типа Техt. Так же как и ранее, в этих подпрограммах F - файловая переменная, связанная с конкретным физическим файлом процедурой .
ПРОЦЕДУРЫ
Арреnd(F) - открытие файла для добавления в конец информации. Открывается существующий файл, с которым связана файловая переменная F и указатель текущей компоненты файла настраивается на конец файла.
Flush(F) - освобождение буфера выходного файла.
Информация из буфера вывода записывается в файл, с которым связана файловая переменная F.
Read(F, <список ввода>) - чтение информации из файла. Из файла, с которым связана файловая переменная F, читаются значения для одной или нескольких переменных списка ввода (см. ниже).
ReadLn(F, <список ввода>) - чтение строки из файла. То же, что и процедура Read, но непрочитанная часть строки, включая признак конца строки, пропускается.
SetTextBuf(F, Buf [, Size])-назначение буфера ввода-вывода.
Для файла, с которым связана файловая переменная F, назначается буфер ввода-вывода в виде переменной Вuf(любого типа). Необязательный параметр Size задает размер буфера в байтах. Если этот параметр не указан, в качестве буфера используется вся переменная Вuf. Если эта процедура не используется, для организации ввода-вывода берется стандартный буфер ввода-вывода размером в 128 байтов.
Write(F, <список вывода>) - запись информации в файл. В файл, с которым связана файловая переменная F, записываются значения выражений списка вывода (см. ниже).
WriteLn(F, <список вывода>) - запись строки в файл. То же, что и процедура Write, но выводимая информация завершается признаком конца строки.
ФУНКЦИИ
Еоln(F) - конец строки файла. Принимает значение Тruе, если текущей компонентой файла является признак конца строки или если функция Еоf(F) принимает значение Тruе. В остальных случаях функция принимает значение Fаlsе.
SeekЕоf(F) - конец файла.
Отличается от Еоf(F) тем, что стояние в конце файла символы пробела и табуляции пропускаются.
SeеkЕоln(F) - конец строки файла.
Отличается от Еоl(F) тем, что стоящие в конце строки символы пробела и табуляции пропускаются.
Пример. Прочитать из текстового файла А все записанные в него целые числа преобразовать их в вещественные и вывести в текстовый файл В по 4 числа в строку.
рrоgram ЕХАМРLE;
vаr F1, F2: Техt;
X: Rеаl;
i:Integer;
begin
{$I-} {внутренняя проверка правильности операции с файлом}
Assign(F1, ‘А’); {связь с файлом А. содержащим только целые числа}
Reset(F1); {открыть файл для чтения}
{$I+} {отключить внутреннюю проверку}
if IOResult <> 0 then
Writeln1(‘Нет файла А’)
Else begin
Аssign(F2, ‘В’); {связь с файлом В}
Rewrite(F2); {открыть файл для записи}
Rереаt
for i :=1 to 4 do
If поt SeekEof(F1) then
bеgin
Read(F1,X);
Write(F2, X: 18) {Форматный вывод- см. ниже}
Еnd;
Writeln(F2) {переход на новую строку}
until SeekEof(F1); Сlоsе(F1); Сlose(F2) еnd
еnd.
Ввод информации из файла осуществляется с помощью процедур Read и ReadLn. Форма использования этих процедур следующая:
Read(F, <список ввода>);
ReadLn(F, «список ввода >);
В этих операторах F - файловая переменная, связанная с файлом, из которого вводится информация. Как указывалось выше, если эта файловая переменная отсутствует, считается, что используется стандартная файловая переменная Input, а ввод стандартно осуществляется с клавиатуры. Список ввода представляет собой перечисленные через запятую имена переменных, которым присваиваются введенные значения. Переменные могут быть целого, вещественного, символьного типа, типа string или типа РСhar. Их количество может быть любым (в том числе и пустым). Так как в текстовом файле информация хранится в виде символов, то при вводе значений целого и вещественного типа автоматически происходит перекодирование информации в двоичный формат. Отдельные числа в текстовом файле должны отделяться пробелами, знаками табуляции или признаками конца строки. При вводе символа из файла читается один символ, в том числе и символ возврата каретки (код 13), если функция Еоln(F) дает значение Тruе, или символ конца файла (код 26), если функция Еоf(F) дает значение Тruе. При вводе величины типа string или РСhar из файла читается необходимое число символов, но в пределах одной строки (до символа конца строки - код 13). При этом, ее чтение осуществляется процедурой Read, признак конца строки не читается при последующем чтении строковой информации в соответствующие переменные ничего заноситься не будет до тех пор, пока не будет прочитан признак конца строки (например, процедурой ReadLn).
Пример
vаr А, В: Integer;
С: Rеаl;
D, Е: Сhar;
ReadLn(А, В, С, D, Е);
В этом примере с клавиатуры дисплея вводятся два целых числа, одно вещественное число и два символа.
Вывод информации в текстовый файл (в том числе и на экран дисплея) осуществляется с помощью процедур Write и WriteLn.
Write(<список вывода>);
WriteLn(<список вывода>);
В этих операторах, как и в операторах ввода, F - файловая переменная. Список же вывода - это перечисленные через запятую выражения, значения которых выводятся в текстовый файл. Выражения могут быть целого, вещественного, логического и символьного типа, а также типа string или, PChar. Число элементов списка вывода может быть любым (в том числе и нулевым; при этом процедура Write не выполняет никаких действий, а процедура WriteLn осуществляет переход на новую строку). При выводе чисел происходит их автоматическая перекодировка в символьную форму. В случае логической величины выводится ее значение словом TRUE или FALSE.
Так как элементы списка вывода в общем случае являются выражениями, то они, в частности, могут быть и строковыми константами. Это позволяет осуществлять комментированный вывод информации, например:
WriteLn('Площадь фигуры равна: ' , SFig);
WriteLn('Строка ', Namе, 'содержит ', Len, ' символов');
В Turbo Pascal при выводе информации в текстовый файл по умолчанию отводится количество позиций, равное размеру этой информации. Так, например, при выводе символа отводится одна позиция, при выводе строки - число позиций, равное длине строки, при выводе целого числа - число позиций, равное числу значащих цифр плюс одна позиция под знак, если число отрицательное. Это необходимо учитывать при выводе последовательных элементов информации (например, нескольких целых чисел) и предусматривать меры, чтобы отдельные элементы информации не сливались друг с другом: вывод разделяющих пробелов, разнесение информации по разным строкам и т.д. Исключение составляют вещественные числа - под них выделяется 17 позиций, и при выводе они выравниваются по правому краю выделенного поля.
Изменить стандартную форму вывода можно используя систему форматов языка Паскаль. Всего в языке существует два формата вывода, которые записываются через двоеточие после соответствующего элемента вывода, например: Write(Ехрrеssion: М: N);
В этом операторе Ехрrеssion - выражение, значение которого выводится в файл данном случае - на экран дисплея); М и N - форматы.
Форматы М и N представляют собой в общем случае выражения целого типа. Формат можно использовать при выводе значений любого типа, и он определяет размер поля, которое выводится данное значение (см. выше программу ЕХАМРLE). Выводимая информация выравнивается по правому краю поля. Если для вывода конкретной информации выделенного поля недостаточно оно автоматически увеличивается до нужного размера. Если при выводе вещественного числа этот формат задан меньше 8, то, он автоматически увеличивается до 8. Второй формат используется только с вещественными числами и определяет число знаков после десятичной точки, которые необходимо отобразить в файле. Если этот формат используется, то вещественное число представляется в форме с фиксированной точкой, в противном случае - с плавающей точкой.
Пример. Вывести на экран дисплея таблицу умножения целых чисел от 1 до 9.
рrоgram ЕХАМРЕ;
var i, j: Вуte;
begin
WriteLn; WriteLn (' ТАБЛИЦА УМНОЖЕНИЯ' : 45); WriteLn; Write(' ':10);
For j := 1 to 9 dо Write(j:6); WriteLn; WriteLn;
For i := 1 to 9 dо begin
Write(i:6, ' ':4); For j := 1 to 9 dо Write(i*j:6); WriteLn;
End
End.