Реферат: Создание библиотек подпрограмм в Turbo Pascal
Ещё несколько слов о видимости объектов модуля. Если в программе, использующей модуль, имеются идентификаторы, совпадающие с точностью до символа с идентификаторами модуля, то они «перекрывают» соответствующие ресурсы модуля. Тем не менее, даже в такой ситуации доступ к этим ресурсам модуля может быть получен таким образом: <имя модуля>.<имя ресурса>.
В заключение приведем набор заданий, позволяющих получить определенные навыки в разработке модулей.
I. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над комплексными числами: 1) сложение; 2) вычитание; 3) умножение; 4) деление; 5) вычисление модуля комплексного числа; 6) возведение комплексного числа в степень n (n — натуральное).
Комплексное число представить следующим типом:
Type Complex = Record
R, M : Real; {действительная и мнимая часть числа}
End;
Используя этот модуль, решить задачи:
1. Дан массив A — массив комплексных чисел. Получить массив C, элементами которого будут модули сумм рядом стоящих комплексных чисел.
2. Дан массив A[M] — массив комплексных чисел. Получить матрицу B[N, M], каждая строка которой получается возведением в степень, равную номеру этой строки, соответствующих элементов данного массива A.
II. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций с квадратными матрицами: 1) сложение двух матриц; 2) умножение одной матрицы на другую; 3) нахождение транспонированной матрицы; 4) вычисление определителя матрицы.
Матрицу описать следующим образом:
Const NMax = 10;
Type Matrica = Array [1..NMax, 1..Nmax] Of Real;
Используя этот модуль, решить следующие задачи:
1. Решить систему линейных уравнений N-го порядка (2<=N<=10) методом Крамера.
2. Задан массив величин типа Matrica. Отсортировать этот массив в порядке возрастания значений определителей матриц.
III. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над векторами на плоскости: 1) сложение; 2) вычитание; 3) скалярное умножение векторов; 4) умножение вектора на число; 5) длина вектора.
Вектор представить следующим типом:
Type Vector = Record X, Y : Real End;
Используя этот модуль, решить задачи:
1. Дан массив A — массив векторов. Отсортировать его в порядке убывания длин векторов.
2. С помощью датчика случайных чисел сгенерировать 2N целых чисел. N пар этих чисел задают N точек координатной плоскости. Вывести номера тройки точек, которые являются координатами вершин треугольника с наибольшим углом.
IV. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над натуральными числами в P-ичной системе счисления (2<=P<=9): 1) сложение; 2) вычитание; 3) умножение; 4) деление; 5) перевод из десятичной системы счисления в P-ичную; 6) перевод из P-ичной системы счисления в десятичную; 7) логическая функция проверки правильности записи числа в P-ичной системе счисления; 8) функции, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).
P-ичное число представить следующим типом:
Type Chislo = Array [1..64] Of 0..8;
Используя этот модуль, решить задачи:
1. Возвести число в степень (основание и показатель степени записаны в P-ичной системе счисления). Ответ выдать в P-ичной и десятичной системах счисления.
2. Дан массив A — массив чисел, записанных в P-ичной системе счисления. Отсортировать его в порядке убывания. Ответ выдать в P-ичной и десятичной системах счисления.