- •Уфимский государственный нефтяной технический
- •Университет
- •Кафедра вычислительной техники и инженерной кибернетики
- •Учебно-методическое пособие
- •К выполнению заданий по информатике
- •Введение
- •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
3.2.3. Алгоритмы подпрограмм
3.2.3.1. Получение элементов вектора
Вычислить
значения 30 элементов одномерного
целочисленного массива F
в интервале (-7, 8) с использованием
генератора случайных чисел
Алгоритм процедуры vector
n , a, b
f[i..n]
Таблица переменных
Имя |
Тип |
Назначение |
Параметр |
n |
целый |
размерность |
формальный |
i |
параметр цикла |
локальный |
|
a, b |
интервал |
формальный |
|
f[1..n] |
вектор |
procedure vector(n,a,b:integer;var f:vect);
var i:integer;
begin
for i:=1 to n do f[i]:=round((b-a)*random(100)/100+a);
end;
3.2.3.2. Вычисление параметра вектора
Вычислить сумму положительных элементов третьей четверти массива
А лгоритм функции sum
n,f[i..n]
нет
да
sum
Таблица переменных
Имя |
Тип |
Назначение |
Параметр |
n |
целый |
размерность |
формальный |
f[1..n] |
вектор |
||
i |
параметр цикла |
локальный |
|
s |
вспомогательное |
||
sum |
имя функции |
|
function sum(n:integer;f:vect):integer;
var i,s:integer;
begin
s:=0;
for i:=round(n/2)+1 to round(3*n/4) do if f[i] > 0 then s:=s+f[i];
sum:=s;
end;{sum}
3.2.3.3. Определение параметра вектора
Определить наибольший элемент среди
нечетных по номеру элементов второй
трети массива
Алгоритм функции max
n , f[1..n]
нет
да
нет
да
ma max
Таблица переменных
Имя |
Тип |
Назначение |
Параметр |
n |
целый |
размерность |
формальный |
f[1..n] |
вещественный |
вектор |
|
i |
целый |
параметр цикла |
локальный |
mx |
вспомогательное |
||
max |
имя функции |
|
function max(n:integer; f:vect):integer;
var i,mx:integer;
begin
mx:=-1000;
for i:=round(n/3)+1 to round(2*n/3) do
if odd(i) then if f[i] > mx then mx:=f[i];
max:=mx;
end{max};
4.2.3.4. Упорядочение элементов вектора
Упорядочить
нечетные по номеру элементы второй
половины массива по убыванию квадратов
значений
Алгоритм процедуры porjadok
n,f[1..n]
нет f[1..n]
д а
k=i
нет нет
да да
c=fi fi=fk fk=c
нет да
Таблица переменных
Имя |
Тип |
Назначение |
Параметр |
N |
целый |
размерность |
формальный |
f[1..n] |
вектор |
||
i, j |
параметр цикла |
локальный |
|
k, c |
вспомогательное |
procedure porjadok(n:integer;var f:vect);
var i,k,j,c:integer;
begin
for i:=round(n/2)+1 to n-1 do
if odd(i) then
begin k:=i;
for j:=i+2 to n do
if odd(j) then if sqr(f[j]) > sqr(f[k]) then k:=j;
if i <> k then
begin
c:=f[i];
f[i]:=f[k];
f[k]:=c;
end;
end;
end {porjadok};