I. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над комплексными числами:
1) сложения;
2) вычитания;
3) умножения;
4) деления;
5) модуля комплексного числа;
6) возведения комплексного числа в степень п (п — натуральное).
Комплексное число представить следующим типом:
Type Complex=Record
R: Real;
M: Real
End;
Используя этот модуль, решить следующие задачи.
1. Дан массив А — массив комплексных чисел. Получить массив С, элементами которого будут модули сумм рядом стоящих комплексных чисел.
2. Дан массив А[М] — массив комплексных чисел. Получить матрицу B[N, M], каждая строка которой получается возведением в степень, равную номеру этой строки, данного массива А.
II. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над обыкновенными дробями вида
(Р — целое, Q — натуральное):
1) сложения;
2) вычитания;
3) умножения;
4) деления;
5) сокращения дроби;
6) возведения дроби в степень п (п — натуральное);
7) функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).
|
|
Дробь представить следующим типом:
Type Frac=Record
Р: Integer;
Q: 1..32767
End;
Используя этот модуль, решить задачи 1, 2.
1. Дан массив А — массив обыкновенных дробей. Найти сумму всех дробей, результат представить в виде несократимой дроби. Вычислить среднее арифметическое всех дробей, результат представить в виде несократимой дроби.
2. Дан массив А — массив обыкновенных дробей. Отсортировать его в порядке возрастания.
III. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций с.квадратными матрицами:
1) сложения двух матриц;
2) умножения одной матрицы на другую;
3) нахождения транспонированной матрицы;
4) вычисления определителя матрицы.
Матрицу описать следующим образом:
Const NMax=10;
Type Matrica=Array[l..NMax,!..Nmax] Of Real;
Используя этот модуль, решить следующие задачи.
1. Решить систему линейных уравнений N-го порядка (2 ≤ N ≤ 10) методом Крамера.
2. Задан массив величин типа Matrica. Отсортировать этот массив в порядке возрастания значений определителей матриц.
IV. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над векторами:
1) сложения;
2) вычитания;
3) скалярнго умножения векторов;
4) умножения вектора на число;
5) нахождения длины вектора.
Вектор представить следующим типом:
Type Vector=Record
X,Y: Real
End;
Используя этот модуль, решить задачи 1, 2.
1. Дан массив А — массив векторов. Отсортировать его в порядке убывания длин векторов.
2. С помощью датчика случайных чисел сгенерировать 2N целых чисел. N пap этих чисел задают N точек координатной плоскости. Вывести номера тройки точек, которые являются координатами вершин треугольника с наибольшим углом.
|
|
V. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над натуральными числами в Р-ичной системе счисления (2 ≤ Р ≤ 9):
1) сложения;
2) вычитания;
3) умножения;
4) деления;
5) перевода из десятичной системы счисления в Р-ичную;
6) перевода из Р-ичной системы счисления в десятичную;
7) функции проверки правильности записи числа в Р-ичной системе счисления;
8) функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).
Р-ичное число представить следующим типом:
Type Chislo=Array[l..16] Of 0..9;
Используя этот модуль, решить задачи 1,2.
1. Возвести число в степень (основание и показатель степени записаны в Р-ичной системе счисления). Результат выдать в Р-ичной и десятичной системах счисления.
2. Дан массив А — массив чисел, записанных в Р-ичной системе счисления. Отсортировать его в порядке убывания. Результат выдать в Р-ичной и десятичной системах счисления.
VI. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над натуральными числами в шестнадцатеричной системе счисления:
1) сложения;
2) вычитания;
3) умножения;
4) деления;
5) перевода из двоичной системы счисления в шестнадцате-ричную;
6) перевода из шестнадцатеричной системы счисления в десятичную;
7) функции проверки правильности записи числа в шестнадцатеричной системе счисления;
8) функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше). Используя этот модуль, решить следующие задачи.
1. Возвести число в степень (основание и показатель степени записаны в шестнадцатеричной системе счисления). Результат выдать в шестнадцатеричной и десятичной системах счисления.
2. Дан массив А — массив чисел, записанных в шестнадцатеричной системе счисления. Отсортировать его в порядке убывания. Результат выдать в шестнадцатеричной и десятичной системах счисления.
VII. Определим граф как набор точек, некоторые из которых соединены отрезками, подграф — как граф, являющийся подмножеством данного графа.
Реализовать в виде модуля набор подпрограмм, определяющих:
1) число точек в графе;
2) число отрезков в графе;
3) число изолированных подграфов в графе (подграфов, не соединенных отрезками);
4) диаметр графа — длину максимальной незамкнутой линии в графе (длина каждого звена — 1);
5) граф — объединение двух графов;
6) подграф — пересечение двух графов;
7) подграф — дополнение данного графа до полного (графа с тем же количеством вершин, что и в данном, и с линиями между любыми двумя вершинами);
8) число отрезков, выходящих из каждой вершины графа. При запуске должны инициализироваться переменные: Full_Graph — полный граф с числом вершин NumberOfVertix, Null_Graph — граф без отрезков с числом вершин NumberOfVertix.
Граф представить как объект
Const NumberOfVertix=50;
Type Graph=Array[l..NumberOfVertix,
1..NumberOfVertix] Of Boolean;
Используя модуль, решить следующую задачу. Найти все правильные графы из N вершин (граф правилен, если из всех вершин выходит равное количество отрезков).
VIII. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над длинными числами:
1) сложения;
2) вычитания;
3) умножения;
4) нахождения частного и остатка от деления одного числа на другое;
5) функций, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).
Длинное число представить следующим типом:
Type Tsifra=0..9;
Chislo=Array[l..1000] Of Tsifra;
Используя этот модуль, решить задачи 1,2.
1. Возвести число в степень (основание и показатель степени — длинные числа).
2. Дан массив длинных чисел. Упорядочить этот массив в порядке убывания.
|
|
IX. Реализовать в виде модуля набор подпрограмм для выполнения операций с многочленами от одной переменной (первый многочлен степени т, второй — степени n):
1) сложения;
2) вычитания;
3) умножения;
4) деления с остатком;
5) операций отношения (равно, не равно);
6) возведения в натуральную степень k;
7) вычисления производной от многочлена;
8) вычисления значения в точке x0.
Многочлен представить следующим типом:
Type Mnogochlen= Array [1..500] Of Integer;
Используя этот модуль, решить задачи 1, 2.
1. Найти наибольший общий делитель многочленов Р(х) и Q(x).
2. Вычислить Рs(х) — Qr(x).
X. Разработать способ представления множеств, содержащих более 255 элементов (до 2000). Создать модуль, позволяющий выполнять следующие операции над элементами таких множеств:
а) объединение;
б) пересечение;
в) разность;
г) функция проверки принадлежности элемента множеству;
д) функция проверки, является ли данное множество подмножеством (надмножеством) другого.
Используя созданный модуль, решить следующие задачи.
1. Дан массив множеств. Упорядочить элементы массива в порядке возрастания количества компонент соответствующих множеств.
2. Разработать программу, которая вводит несколько множеств, выражение, операндами которого являются эти множества, с операциями объединения, пересечения и вычитания, вычисляет значение этого выражения и выводит результат.