- •Уфимский государственный нефтяной технический
- •Университет
- •Кафедра вычислительной техники и инженерной кибернетики
- •Учебно-методическое пособие
- •К выполнению заданий по информатике
- •Введение
- •1. Состав работы
- •2. Требования к оформлению отчета
- •Часть 3. Определить наибольший элемент среди нечетных по номеру элементов второй трети массива.
- •Часть 4. Упорядочить нечетные по номеру элементы второй половины массива по убыванию квадратов значений.
- •3.2. Алгоритм решения
- •3.2.1. Структура алгоритма
- •3.2.2. Алгоритм основной программы
- •3.2.3. Алгоритмы подпрограмм
- •3.2.3.1. Получение элементов вектора
- •3.2.3.2. Вычисление параметра вектора
- •Вычислить сумму положительных элементов третьей четверти массива
- •3.2.3.3. Определение параметра вектора
- •4.2.3.4. Упорядочение элементов вектора
- •4.2.3.5. Вывод информации Алгоритм процедуры writevect
- •3.3. Паскаль-программа
- •3.4. Распечатка результатов
- •Результаты расчета
- •4. Задание 2. Обработка двумерных массивов.
- •4.1. Постановка задачи.
- •4.2. Алгоритм решения.
- •4.2.1. Структура алгоритма.
- •4.2.2. Алгоритм основной программы
- •4.2.3. Алгоритмы подпрограмм.
- •4.2.3.1. Получение матрицы.
- •Вычислить матрицу а по формуле
- •4.2.3.2. Получение вектора.
- •А n, a[1..N, 1..N] лгоритм процедуры vector
- •4.2.3.3. Матричные операции.
- •4.2.3.4. Упорядочение матрицы.
- •4.2.3.5. Вычисление параметра массива.
- •Вычислить значение функции
- •4.2.3.6. Вывод информации. Алгоритм процедуры вывода матрицы writematr
- •4.3. Паскаль-программа.
- •4.4. Распечатка результатов.
- •Список рекомендуемой литературы
- •Символы к блок-схемам по гост 19.003-80
4.2.2. Алгоритм основной программы
Matrica (n,a)
writmatr
(‘A’,n,a)
vector (n,a,x)
writvect (‘X’,n,x)
matoper (n,x,a,z)
Writmatr
(‘Z’,n.z)
Porjadok (n,a,b)
Writmatr
(‘B’,n,b)
y=znachf
(n,a,x)
Таблица переменных
Имя |
Тип |
Назначение |
Параметр |
n |
целый |
размерность |
глобальный |
a[1..n,1..n] |
вещественный |
матрица |
|
x[1..n] |
вектор |
||
z[1..n,1..n] |
матрица |
||
y |
скаляр |
||
simbol |
символьный |
символ |
|
namber |
целый |
номер |
|
b[1..n,1..n] |
вещественный |
матрица |
begin{Основная программа}
clrscr;
write(' Введите размерность матрица n ');readln(n);
writeln(' ':25,'Исходные данные');
writeln('размерность матрицы n=',n);
writeln(' ':20,'результаты расчетов');
writeln('------------------ часть 1--------------------------');
writeln('Вычислить элементы матрицы А по формуле');
matrica(n,a);writmatr('А',n,a);
writeln('------------------- часть 2--------------------------');
writeln('Из матрицы А получить вектор Х, ');
writeln('элемент которого х[i] определяется как наибольший ');
writeln('среди принадлежащих отрезку [-10,10] ');
writeln('элементов i-го столбца. ');
vector(n,a,x);writevect('X',n,x);
writeln('------------------- часть 3--------------------------');
writeln(' ':7, 'Вычислить Z=(At-E)(A-E)(X-Xи)');
matoper(n,a,x,z);
write('Результат: ');
writmatr('Z',n,z);
writeln('------------------- часть 4--------------------------');
writeln('Упорядочить по убыванию положительные элементы');
writeln('последнего столбца мартицы А');
porjadok(n,a,b);
writmatr('B',n,b);
writeln('-------------------- часть 5------------------------ ');
writeln('Вычислить значение функции y=y1+y2');
y:=znachf(n,a,x);writeln('y=',y:6:3);
writeln('------------------конец задачи---------------------');
end.
4.2.3. Алгоритмы подпрограмм.
4.2.3.1. Получение матрицы.
,
i,
,
где
;
;
.Вычислить матрицу а по формуле
Алгоритм процедуры matrica
n
a[1..n,1..n]
Таблица переменных.
-
Имя
Тип
Название
Параметр
n
целый
размерность матрицы
формальный
a[1..n,1..n]
вещественный
матрица
i, j
целый
параметр цикла
локальный
procedure matrica(n:integer;var a:matr);
var i,j:integer; f1,f2,f3:real;
begin
for i:=1 to n do
for j:=1 to n do
begin
f1:=cos(pi*(8.25+(i+j)/2))/sin(pi*(8.25+(i+j)/2));
f2:=pi*i*(1+i/j);
f3:=ln(sqr(n)-i/j+1)/ln(2);
a[i,j]:=f1/f2*f3;
end;
end{matrica};