
- •Цель работы
- •Краткая теоретическая справка
- •2.1 Среда Turbo Pascal
- •2.2 Текстовый редактор среды Турбо Паскаля
- •2.3 Словарь языка Turbo Pascal
- •2.4 Структура программы на языке Turbo Pascal
- •2.5 Операторы ввода-вывода
- •Read ([ф.П.], сп. Ввода); или read (сп. Ввода); и readln ([ф.П.], сп. Ввода); или readln (сп. Ввода); или readln;.
- •Write ([ф.П.], сп. Вывода); или write (сп. Вывода); и writeln ([ф.П.], сп. Вывода); или writeln (сп. Вывода); или writeln;.
- •Порядок выполнения работы
- •Второй блок выводимой на экран информации:
- •Третий блок выводимой на экран информации:
- •Четвёртый блок выводимой на экран информации:
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •2.1 Организация цикла с предусловием
- •2.2 Организация цикла с постусловием
- •2.3 Организация цикла с параметром
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •2.1 Процедуры
- •Procedure имя_процедуры;
- •2.2 Функции
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •Методы численного интегрирования
- •2.1.1 Метод прямоугольников
- •2.1.2 Метод трапеций
- •2.1.3 Метод Симпсона
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •2.1 Понятие массивов, описание массивов в Turbo Pascal
- •А) с использованием разделов типа и переменных:
- •Б) с использованием только раздела переменных:
- •А) разделов типа и переменных в виде
- •Б) только раздела переменных в виде
- •2.2 Действия над массивами
- •2.3 Ввод данных в массивы
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •2.1 Понятия динамических переменных
- •2.2 Ссылочный тип данных и адресация
- •2.3 Создание и удаление динамических переменных
- •2.4 Динамические массивы
- •Пример 1.
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •2.1 Строковый тип данных
- •#7'Допущена ошибка !'#13'Нажмите клавишу ввода "Enter"',
- •2.2 Операции над строками
- •Concat ('abc', 'def');
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •2.1 Понятие файла
- •2.2 Взаимодействие программ с файлами
- •2.3 Инициализация файла
- •2.4 Процедуры и функции для работы с файлами
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •2.1 Модуль Graph
- •InitGraph (var Driver, Mode: integer; Path: string);
- •2.2 Вывод точек
- •2.3 Вывод отрезков прямых линий
- •SetLineStyle (Type, Pattern, Thickness);
- •2.4 Вывод прямоугольников и многоугольников
- •2.5 Вывод окружностей, эллипсов и их дуг
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
- •1 Цель работы
- •2 Краткая теоретическая справка
- •2.1 Особенности вывода текста в графическом режиме
- •2.2 Стандартные средства Graph, обеспечивающие вывод текста
- •2.3 Шрифты
- •2.4 Вывод функциональных зависимостей
- •(* Определение начальных b конечных координат графика *)
- •(* Блок вычисления и рисования синусоидальной функции.
- •(* Получение номера ошибки, если инициализация режима не произошла *)
- •(* Блок вычисления и рисования синусоиды *)
- •(* Рисование синусоиды с помощью процедуры DrawPoly)
- •3 Порядок выполнения работы
- •4 Содержание отчета
- •5 Варианты заданий
- •6 Контрольные вопросы
А) с использованием разделов типа и переменных:
type
am = array [1..50] of real;
var
A1 : am;
Б) с использованием только раздела переменных:
var
A1 : array [1..50] of real;
Массив как структурированный тип данных может иметь своим компонентом другой компонент структурированного типа, т.е. массив. Глубина вложенности структурированных типов данных есть величина произвольная. Количество выражений вида array [интервал] of в описании многомерного массива (имеющего два и более порядковых номеров у каждого элемента) не ограничено, однако суммарная длина внутреннего представления каждого массива не может быть больше 65520 байт.
В тех случаях, когда массивы двумерные или более высокого порядка, описание типа массива можно выполнить также двумя способами:
а) с использованием раздела типов и раздела переменных:
type
<имя типа массива> = array [<тип 1 индекса>] of array [<тип 2 индекса>] of array [<тип 3 индекса>] … of array [<тип n индекса>] of <базовый тип элементов>;
var
<имя переменной>: <имя типа массива>;
б) с использованием только раздела переменных:
var
<имя переменной>: array [<тип 1 индекса>] of array [<тип 2 индекса>] of array [<тип 3 индекса>] . . of array [<тип n индекса>] of <базовый тип элементов>;
Например, в программе многомерные массивы можно описать с использованием:
а) разделов типа и переменных в виде
type
Bm = array [1..50] of array [-3..5] of integer; {Двумерный массив целых чисел}
Mass_3 = array [7..25] of array [-1..5] of array ['a' .. 'd'] of real; {Трёхмерный массив действительных (вещественных) чисел}
var
d: Bm;
mas_0: Mass_3;
б) только раздела переменных в виде
var
d: array [1 .. 50] of array [-3 .. 5] of integer;
mas_0: array [7 .. 25] of array [-1 .. 5] of array ['a' .. 'd'] of real;
Переменную d можно трактовать как массив, состоящий из двух одномерных массивов, либо как один двумерный массив (матрица). Для сокращения записи при описании многомерных массивов можно использовать эквивалентную форму определения регулярных типов, где в квадратных скобках указывается список типов индексов, разделенных запятыми. Например, с использованием:
А) разделов типа и переменных в виде
type
Bm = array [1 .. 50, -3 .. 5] of integer;
Mass_3 = array [7 .. 25, -1 .. 5, 'a' .. 'd'] of real;
var
d, f : Bm;
mas_0: Mass_3;
Б) только раздела переменных в виде
var
d, f : array [1 .. 50] of array [-3 .. 5] of integer;
mas_0: array [7 .. 25] of array [-1 .. 5] of array ['a' .. 'd'] of real;
Кроме перечисленных способов, массив можно описать в разделе описания констант как типизированную константу. Список значений элементов массива в этом случае должен быть указан в круглых скобках после указания типа данных. Например,
const
a: array [1..5] of integer = (1, 3, 5, 7, 9); {Одномерный массив}
b: array [1..2, 1..5] of char = (‘a’, ’b’, ’c’, ’d’, ’e’), (’m’, ’n’, ‘o’, ‘p’, ‘q’); { Двумерный массив из двух строк и пяти столбцов}
В этом случае элементы массива "а" получат значения 1, 3, 5, 7 и 9, а элементы массива "b" – a b c d e
m n o p q .
2.2 Действия над массивами
В Паскале различают действия над массивами как над целыми переменными и действия над элементами массивов.
Над массивами как целыми объектами допускается только одна операция – операция присваивания, в которой массивы одного типа являются операндами. Например, если раздел описаний программы имеет вид
type mas1 = array [1 .. 50] of integer;
mas2 = array [1 .. 50] of integer;
var a, b: mas1;
c, d: mas2;
то в разделе операторов программы допустимы операции a := b; и d := c; но недопустимы c := a; и d := a;
Здесь массив "а" будет являться точной копией массива "b", а массив "d" – точной копией массива "с", так как они имеют одинаковые типы друг с другом. Операции c := a; и d := a; недопустимы, так как массивы в левых и правых частях операторов имеют разные типы, а именно mas1 и mas2.
Действия над массивами как над целыми используют довольно редко.