Текст программы на языке Паскаль
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Program Example_18;

type mas = array [1..30] of integer

Var  n, m, i : integer; A_cp, B_cp : real; T_a, T_b : boolean;

A, B : mas;

procedure Massiv(X: mas; K: integer; var X_cp: real; var T: boolean);

Var j, S : integer;

Begin

S := 0;

For j := 1 to K do

S := S + D;

X_cp := S / K;

T := True;

For j := 1 to K-1 do

If X[j] > X[j+1] then T := False;

End;

Begin

 writeln;

write(‘Введите количество элементов массива A   N = ‘);

read(n);

write(‘Введите ‘, n, ‘целых чисел – элементы массива А : ‘);

For i := 1 to n do 

read(A[i]);

write(‘Введите количество элементов массива В   M = ‘);

read(m);

write(‘Введите ‘, m, ‘целых чисел – элементы массива B : ‘);

For i := 1 to n do 

read(B[i]);

writeln(‘Результат:‘);

Massiv(A, N, A_cp, T_a);

writeln(‘Среднее арифметическое элементов массива A равно ’, А_ср:5:2);

if T_a then writeln(‘Массив A упорядочен по неубыванию’)

else writeln(‘Массив A не упорядочен по неубыванию’);

Massiv(B, M, B_cp, T_b);

writeln(‘Среднее арифметическое элементов массива В равно ’, В_ср:5:2);

if T_b then writeln(‘Массив B упорядочен по неубыванию’)

else writeln(‘Массив B не упорядочен по неубыванию’);

readln

end.

Данные для тестирования

1) Для n = 8, A = {1, 2, 3, 4, 5, 6, 7, 8}

Для m = 5, B = {7, 2, 1, 4, 5}

ð Результат:

Среднее арифметическое элементов массива A равно 4.50

Массив A упорядочен по неубыванию

Среднее арифметическое элементов массива B равно 3.80

Массив B не упорядочен по неубыванию

Пример 8.3 . Для заданных действительного А и целого М вычислить значение выражения

Возведение некоторого числа X в степень N организовать с помощью функции Stepen(Х, N).

Решение задачи

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

Чтобы получить XN, нужно вычислить произведение .

В функции Stepen(Х, N) введём переменную P для накопления произведения N сомножителей (начальное значение Р=1). Вычисление произведения осуществляется с помощью оператора цикла с параметром (for) – на каждом шаге переменная Р домножается на Х. Если N – отрицательное, то зададим Х = 1 / Х.

Последний выполнимый оператор в функции Stepen – присвоение результата имени функции, т.е. Stepen := Р.

В основной программе после того как будут введены значения А и M, с помощью обращения к функции Stepen с соответствующими аргументами, вычисляем значение выражения для Z.

Блок-схемы алгоритмов основной программы и функции Stepen (Х, N )

Текст программы на языке Паскаль

Program Example_19;

Var  m : integer; A, Z : real;

function Stepen(X: real; N: integer): real;

Var i : integer; P : real

Begin

P := 1;

If N < 0 then X := 1 / X;

For i := 1 to abs(N) do

P := P * X;

Stepen := P

End;

Begin

writeln;

write(‘Введите действительное число  А = ‘);

read(А);

write(‘Введите показатель степени – целое число  М = ‘);

read(m);

Z := (Stepen(A, 5) - Stepen(A, -3)) / 3 / Stepen(A, M);

writeln(‘Результат: Z = ‘, Z:8:4);

readln

end.

Данные для тестирования

1) Для A = 2, М = 3

ð Результат: Z = (25 – 2-3) / 3 / 23 = (32 – 0.125) / 24 = 1.328125

2) Для A = -2, М = -3

ð Результат: Z = ((-2)5 – (-2)-3) / 3 / (-2)-3 = (-32 + 0.125)*(-8) / 3 = 85

 

 

Работа с МАТРИЦами

В задачах этой темы исходная матрица (матрицы) должны считываться из заранее подготовленного текстового файла, в котором записана квадратная матрица размером не менее 6 строк и 6 столбцов. Числа, определяющие размер исходной матрицы (n или n, m) и другие скалярные исходные данные должны вводиться с клавиатуры.

После завершения работы программы исходная матрица и результаты работы программы должны быть выведены на экран и в текстовый файл.

Пример 9.1 .  Дана матрица действительных чисел n ´ m, все элементы которой различны. Найти сумму элементов строки, в которой находится наименьший элемент матрицы и столбца, в котором находится наибольший элемент.

Решение задачи

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

Прежде всего, на устройстве Е: создадим текстовый файл (назовём его data . txt), в котором разместим исходный массив размером не менее 6 строк и 6 столбцов. Это можно сделать с помощью приложения Блокнот или через редактор текста среды Turbo Pascal.

С помощью ввода с клавиатуры зададим размеры n и m исходной матрицы. Считывание элементов матрицы {А} из файла и вывод их на экран организуем с помощью вложенных операторов цикла с параметром (for).

Затем переходим к поиску наименьшего и наибольшего элементов массива. При отыскании наибольшего элемента будем запоминать номер столбца, в котором он находится, а при поиске наименьшего – номер его строки. Введём переменные:

min – значение наименьшего элемента массива;

max – значение наибольшего элемента массива;

k – номер столбца, в котором находится наибольший элемент массива;

r – номер строки, в котором находится наименьший элемент массива;

S – искомая сумма.

Вычисление искомой суммы элементов организуем также с использованием операторов цикла с параметром (for).

Блок-схема алгоритма

Дата: 2019-03-05, просмотров: 179.