- •Уфимский государственный нефтяной технический
- •Университет
- •Кафедра вычислительной техники и инженерной кибернетики
- •Учебно-методическое пособие
- •К выполнению заданий по информатике
- •Введение
- •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.3.4. Упорядочение матрицы.
Упорядочить по убыванию положительные элементы последнего столбца матрицы А.
Алгоритм процедуры porjadok
n, a[1..n,1..n]
нет
да
нет
нет
да
да
нет
да
b[1..n,1..n]
Таблица переменных
Имя |
Тип |
Назначение |
Параметр |
n |
целый |
размерность |
формальный |
a[1..n,1..n] |
вещественный |
матрица |
|
b[1..n,1..n] |
|||
i,j,k |
целый |
параметр цикла |
локальный |
c |
вещественный |
вспомогательный |
procedure porjadok(n:integer; a:matr; var b:matr);
var j,i,k:integer; c:real;
begin
for i:=1 to n do
for j:=1 to n do b[i,j]:=a[i,j];
for i:=1 to n-1 do
if b[i,n] > 0 then
begin
k:=i;
for j:=i+1 to n do
if b[j,n]>0 then
if b[j,n]>b[k,n] then k:=j;
if k<>i then
begin
c:=b[i,n];
b[i,n]:=b[k,n];
b[k,n]:=c;
end;
end;
end{porjadok};
4.2.3.5. Вычисление параметра массива.
Вычислить значение функции
Алгоритм функции znachf
да
нет
нет
нет
нет
нет
n, a[1..n,1..n], x[1..n]
znachf
да
да
да
да
Таблица переменных
Имя |
Тип |
Назначение |
Параметр |
y |
вещественный |
имя функции |
- |
n |
целый |
размерность |
формальный |
a[1..n,1..n] |
вещественный |
матрица |
|
x[1..n] |
вектор |
||
i,j,k |
целый |
параметр цикла |
локальный |
s,c |
вещественный |
вспомогательный |
|
y1,y2 |
скаляр |
function znachf(n:integer;a:matr;x:vect):real;
var i,j,k: integer; s,y1,y2,c: real;
begin
y1:=exp(30);
for i:=1 to n do
if odd(i) then
begin s:=0;
for k:=1 to n do
if odd(k)=false then
if abs(a[i,k])>1е-6 then
s:=s+ln(abs(a[i,k]))/ln(10);
if s<y1 then y1:=s;
end;
y2:=0;
for k:=1 to n do
if odd(k)=false then
begin
c:=1;
for j:=1 to k do c:=c*j;
y2:=y2+x[k]*exp(1/k*ln(с));
end;
writeln('y1=',y1:1:3,' y2=',y2:1:3);
y:=y1+y2;
znachf:=y;
end{znachf};