Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Q: 1 . . High (LongInt )

End;

Используя этот модуль решить следующие задачи:

1. Дан массив А обыкновенных дробей. Найти сумму всех дробей, ответ

представить в виде несократимой дроби. Вычислить среднее

арифметическое всех дробей, ответ представить в виде несократимой дроби.

2. Дан массив А обыкновенных дробей. Отсортировать его в порядке

возрастания.

Модуль будет выглядеть следующим образом:

Unit Droby;

Interface

Type

Natur = 1 . . High (LongInt);

Frac = Record

P : LongInt; { числитель дроби}

Q : Natur {знаменатель дроби}

End;

Procedure Sokr (Var A : Frac);

Procedure Summa ( A, B : Frac ; Var C : Frac);

Procedure Raznost ( A, B : Frac ; Var C : Frac);

Procedure Proizvedenie ( A, B : Frac ; Var C : Frac);

Procedure Chastnoe ( A, B : Frac ; Var C : Frac);

Procedure Stepen ( A : Frac ; N : Natur; Var C : Frac);

Function Menshe ( A, B : Frac ): Boolean;

Function Bolshe ( A, B : Frac ): Boolean;

Function Ravno ( A, B : Frac ): Boolean;

Function MensheRavno ( A, B : Frac ): Boolean;

Function BolsheRavno ( A, B : Frac ): Boolean;

Function NeRavno ( A, B : Frac ): Boolean;

{Раздел реализации модуля}

Implementation

{наиб. общ. делитель двух чисел – вспомогательная функция,

ранее не объявлена}

Function NodEvklid ( A, B : Natur ): Natur;

Begin

While A < > B Do

If A > B Then

181

If A Mod B < > 0 Then A:= A Mod B

Else A:= B

Else

If B Mod A <> 0 Then B:= B Mod A

Else B:= B;

NodEvklid := A

End;

Procedure Sokr; {сокр. дроби}

НЕ нашли? Не то? Что вы ищете?

Var M, N : Natur;

Begin

If A. P <>0 Then

Begin

A. P<0 Then M:= Abs(A. P)

Else M:= A. P ; {совмещение типов, т.к. A. P –

LongInt}

N := NodEvklid (M, A. Q);

A. P:= A. P Div N;

A. Q:= A. Q Div N

End

End;

Procedure Summa;

Begin

{знаменатель дроби}

C. Q:= (A. Q * B. Q) Div NodEvklid(A. Q, B. Q );

{числитель дроби}

C. P:= A. P * C. Q Div A. Q + B. P * C. Q Div B. Q;

Sokr ( C )

End;

Procedure Raznost;

Begin

{знаменатель дроби}

C. Q:= (A. Q * B. Q) Div NodEvklid(A. Q, B. Q );

{числитель дроби}

C. P:= A. P * C. Q Div A. Q - B. P * C. Q Div B. Q;

Sokr ( C )

End;

Procedure Proizvedenie;

Begin

{знаменатель дроби} C. Q:= A. Q * B. Q;

{числитель дроби} C. P:= A. P * B. P;

182

Sokr ( C )

End;

Procedure Chastnoe;

Begin

{знаменатель дроби} C. Q:= A. Q * B. P;

{числитель дроби} C. P:= A. P * B. Q ;

Sokr ( C )

End;

Procedure Stepen;

Var I: Natur;

Begin

C. Q:= 1; C. P:= 1; Sokr (A);

For I:=1 to N Do Proizvedenie (A, B, C)

End;

Function Menshe;

Begin Menshe:= A. P * B. Q <A. Q * B. P End;

Function Bolshe;

Begin Bolshe:= A. P * B. Q > A. Q * B. P End;

Function Ravno;

Begin Ravno:= A. P * B. Q = A. Q * B. P End;

Function BolsheRavno;

Begin BolsheRavno:= Bolse (A, B) or Ravno (A, B) End;

Function MensheRavno;

Begin MensheRavno:= Menshe (A, B) or Ravno (A, B) End;

Function NeRavno;

Begin NeRavno:= Not Ravno (A, B) End;

{раздел инициализации модуля}

Begin

End.

Рекомендации по разработке модулей:

1. Сначала надо спроектировать модуль, т. е. выделить основные и

вспомогательные подпрограммы;

2. Каждую подпрограмму целесообразно отладить отдельно, после чего

вставить в текст модуля.

183

Сохраним текст разобранной программы в файле droby. pas и откомпилируем

наш модуль. Для этого можно воспользоваться внешним компилятором,

поставляемым вместе с ТР. Компиляция будет выглядеть так : tpc droby. pas

или Run make или Build

Решим задачу суммирования дробей:

Program sum;

Uses Droby;

Var

A: Array [] of frac;

I, N : Integer;

S : Frac;

Begin

Write(‘Введите количество элементов: ‘);

Readln(N);

S. P:=0; S. Q:=1; {первоначальная сумма дробей = 0}

For I:=1 to N do {вводим и суммируем дроби}

Begin

Write(‘Введите числитель ‘, I,’ –й дроби:’);

Readln(A[I].P);

Write(‘Введите знаменатель ‘, I,’ –й дроби:’);

Readln(A[I].Q);

End;

Write(‘Ответ: ‘, S. PI,’ / ’,S. Q);

End.

3. Внимательно прочитать условие задачи согласно варианта.

4. Составить алгоритм решения задачи.

5. Реализовать алгоритм на языке Turbo Pascal.

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ

1. Реализовать в виде модуля набор подпрограмм для выполнения следующих

операций над комплексными числами: 1) сложение; 2) вычитание; 3)

умножение; 4) деление; 5) вычисление модуля комплексного числа; 6)

возведение компл. Числа в степень n (n - натуральное).

Комплексное число представить в следующим типом:

Type Complex=Record

R, M : Real; {действительная и мнимая части числа}

End;

Используя этот модуль решить следующие задачи:

А) Дан массив А комплексных чисел. Получить массив С, элементами

которого будут модули сумм рядом стоящих комплексных чисел.

В) Дан массив A[M] комплексных чисел. Получить матрицу B[N, M] ,

каждая строка которой получается возведением в степень, равную, номеру

этой строки, соответствующих элементов массива А.

184

2. Реализовать в виде модуля набор подпрограмм для выполнения следующих

операций с квадратными матрицами: 1) сложение 2х матриц; 2) умножение

одной матрицы на другую; 3) нахождение транспонированной матрицы;

Матрицу описать следующим образом:

Const Nmax=10;

Type Matrica = Array [1.. Nmax,1.. Nmax] of real;

Используя этот модуль решить следующие задачи:

А) решить систему линейных уравнений N-го порядка (2<=N<=10) методом

Крамера.

В) задан массив величин типа Matrica. Отсортировать этот массив в порядке

возрастания значений определителей матриц.

3. Реализовать в виде модуля набор подпрограмм для выполнения

следующих операций над векторами на плоскости 1) сложение; 2)

вычитание; 3) скалярное умножение; 4) умножение вектора на число; 5)

определение длины вектора

Вектор представить в следующим типом:

Type Vector = Record X, Y : Real End;

Используя этот модуль решить следующие задачи:

А) Дан массив А векторов. Отсортировать его в порядке убывания длин

векторов.

В) С помощью датчика случайных чисел сгенерировать 2N целых чисел.

Эти N пар чисел задают N точек координатной плоскости. Вывести числа,

которые являются координатами вершин треугольника с наибольшим углом.

4. Реализовать в виде модуля набор подпрограмм для выполнения

следующих действий над одномерным числовым массивом: 1) нахождение

максимального элемента массива; 2) нахождение минимального элемента

массива; 3) упорядочения элементов массива по возрастанию; 4)

упорядочения элементов массива по убыванию;

Используя этот модуль решить следующие задачи:

А) для двух массивов A(N) и B(M) разной размерности определить

разность между их максимальными элементами;

В) используя данные массивы A(N) и B(M) создать массив С(N+M),

состоящий из элементов этих массивов и упорядоченный по убыванию.

5. Реализовать в виде модуля набор подпрограмм для выполнения

следующих действий над одномерным числовым массивом: 1) нахождение

суммы положительных элементов массива; 2) нахождение произведения

отрицательных элементов массива; 3) нахождение среднего

арифметического элементов массива; 4) нахождение среднего

геометрического элементов массива;

Используя этот модуль решить следующие задачи:

А) вычислить сумму положительных элементов массива A(N) и

отрицательных элементов массива B(M);

185

B) вычислить разность между средним арифметическим элементов массива

A(N) и средним геометрическим элементов массива B(M).

6. Реализовать в виде модуля набор подпрограмм для выполнения следующих

действий над матрицами: 1) объединение двух матриц с одинаковым числом

столбцов в одну матрицу : матрица B(L, M) присоединяется снизу к матрице

A(N, M), в результате получается матрица R(L+N, M); 2) объединение двух

матриц с одинаковым числом строк в одну матрицу: матрица B(N, L)

присоединяется справа к матрице A(N, M), в результате получается матрица

R(N, M+L); 3) сортировка элементов строк матрицы по возрастанию; 4)

сортировка элементов столбцов матрицы по убыванию; 5) вывод элементов

матрицы в общепринятом виде;

Используя этот модуль решить следующие задачи:

A) объединить две матрицы с одинаковым числом столбцов в одну матрицу и

в полученной матрице упорядочить элементы строк по возрастанию;

B) объединить две матрицы с одинаковым числом строк в одну матрицу и в

полученной матрице упорядочить элементы столбцов по убыванию;

7. Реализовать в виде модуля набор подпрограмм для выполнения следующих

действий над матрицами: 1) нахождение наибольшего элемента матрицы; 2)

нахождение наименьшего элемента матрицы; 3) сложение двух матриц

A(N, M) и B(N, M) ; 4) нахождение суммы элементов каждой строки данной

матрицы; 5) вывод матрицы в общепринятом виде.

Используя этот модуль решить следующую задачу:

Сложить две матрицы A(N, M) и B(N, M). Полученную матрицу напечатать в

общепринятом виде, найти в ней наибольший и наименьший элементы, а

также вычислить суммы элементов каждой строки;

8. Реализовать в виде модуля набор подпрограмм для выполнения следующих

операций над строками:

1) подсчет длины строки; 2) “переворот строки”; 3) конкатенация слов

строки, начинающихся с буквы “c”; 4) удаление из строки слов,

заканчивающихся буквой ( литерой)“k”.

Используя этот модуль решить следующие задачи:

А) Дан непустой текстовый файл f, разбитый на строки. Вывести на печать

самую длинную строку этого файла с указанием ее порядкового номера в

файле.

В) Дан текстовый файл g, разбитый на непустые строки. Создать и вывести на

печать текстовый файл g1, получаемый из g путем “ переворота” нечетных

строк и удаления из четных строк всех слов, начинающихся с буквы “k”.

9. реализовать в виде модуля набор подпрограмм для выполнения следующих

операций над строками:

1) подсчет слов, начинающихся с буквы “а”; 2) подсчет количества слов в

строке; 3) проверка “ вхождения ” какого-либо слова в строку; 4)

186

перепись слов строки в обратном порядке ( Мама мыла раму -- раму

мыла Мама);

используя этот модуль решить следующие задачи :

А) Переписать в текстовый файл f1 строки из непустого текстового файла

f состоящие из не менее, чем 7 слов или в которых имеется по крайней

мере 2 слова, начинающихся с буквы “а”.

В) переписать в текстовый файл g1 строки из текстового файла g в

неизменном виде, если они не содержат слово “тур”. В противном случае

их необходимо переписать в обратном порядке слов.

10. Реализовать в виде модуля набор подпрограмм для выполнения

следующих операций над натуральными числами в системах счисления с

основанием p (2<=p<=9): 1) сложение; 2) вычитание; 3) умножение; 4)

деление; 5) перевод из десятичной системы счисления в систему счисления

с основанием p; 6) перевод из системы счисления c основанием p в

десятичную систему ; 7) логическая функция поверки правильности записи

числа в системе счисления с основанием p; 8) функции, реализующие

операции отношения (=, <>, >=, <=, >, <)

Число в системе счисления с основанием p представить следующим типом:

Type Chislo = Array [1 .. 64] of 0..8;

Используя этот модуль решить следующие задачи:

А) Возведение числа в степень (основание и показатель степени записать в

системе счисления с основанием p). Ответ выдать в десятичной системе

счисления и системе счисления с основанием p.

В) Дан массив A чисел, записанных в системе счисления с основанием p.

Упорядочить его по убыванию. Ответ выдать в десятичной системе

счисления и системе счисления с основанием p.

11. Реализовать в виде модуля набор подпрограмм для выполнения

следующих операций над натуральными числами в шестнадцатеричной

системе счисления : 1) сложение; 2) вычитание; 3) умножение; 4) деление;

5) перевод из двоичной системы счисления в 16-чную ; 6) перевод из 16-ти

ой системы счисления в десятичную; 7) функция поверки правильности

записи числа в 16- ой системе счисления; ; 8) функции, реализующие

операции отношения (=, <>, >=, <=, >, <)

Используя этот модуль, решить следующие задачи :

А) Возведение числа в степень (основание и показатель степени записать в

16 –ой системе счисления). Ответ выдать в 16- ой и десятичной системах

счисления.

В) Дан массив A чисел, записанных в 16 ой системе счисления.

Упорядочить его по убыванию. Ответ выдать в 16-ой и десятичной системах

счисления.

12. Определим граф как набор точек, некоторые из которых соединены

отрезками, подграф-ком граф, представляющей собой подмножество

187

некоторого графа. Реализовать в виде модуля набор подпрограмм,

определяющих 1) число точек в графе; 2) число отрезков в графе;

3) число изолированных подграфов в графе (подграфов несоединенных

отрезками); 4) диаметр графа – длину максимальной незамкнутой линии в

графе ( длина каждого звена – единица); 5) граф-объединение двух графов;

6) подграф – пересечение двух графов; 7) подграф-дополнение данного

графа до полного (графа с тем же количеством вершин, что и в заданном, и с

отрезками между некоторыми двумя вершинами); 8) число отрезков,

выходящих из каждой вершины графа.

При запуске должны инициализироваться переменные:

Full_Graph – полный граф с числом вершин NumberOfVertix,

Null_Graph – граф без отрезков с числом вершин NumberOfVertix

Граф описать следующим образом:

Const NumberOfVertix=50;

Type Graph = Array[1 .. NumberOfVertix, 1 .. NumberOfVertix] of Boolean;

Используя модуль решить следующую задачу: найти все правильные графы

с N вершинами (граф правилен, если из всех вершин выходит равное

количество отрезков).

13. Реализовать в виде модуля набор подпрограмм для выполнения

следующих операций над длинными целыми числами (числами,

выходящими за диапазон допустимых значений некоторого целого типа): 1)

сложение; 2) вычитание; 3) умножение; 4) нахождение частного и остаток

от деления одного числа на другое; 5) функции, реализующие операции

отношения (=, <>, >=, <=, >, <)

“Длинное” число представить следующим типом:

Type Tsifra = 0 .. 9;

Shislo = Array [1] of Tsifra;

Используя _______этот модуль, решить следующие задачи :

А) Возведение числа в степень (основание и показатель степени «длинные»

числа).

В) Дан массив «длинных» чисел. Упорядочить этот массив по убыванию.

14. Реализовать в виде модуля набор подпрограмм для выполнения

следующих операций с многочленами от одной переменной ( первый

многочлен степени m, второй степени n): 1) сложение; 2) вычитание; 3)

умножение; 4) деление с остатком; 5) операции отношения (=, <>); 6)

возведение в нат. степень k одного из многочленов; 7) вычисление

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20