Блок – схема алгоритма программы




Задача 1

Записать на место отрицательных элементов матрицы нули, а на место положительных элементов матрицы — единицы.

 

 

Работа программы

Задается двумерный массив(a[i,j])путем рандомизации, после чего программа переписывает данный массив следующим образом вместо всех положительных чисел пишет единицы, а вместо всех отрицательных нули.

Назначение переменных

Назначение переменных, используемых в задаче, приведено в таблице 1

Таблица 1 – Назначение переменных

Переменная Тип Назначение
а Array of Integer Двумерный массив
I,N,J,M Integer N,M,I,Jцелочисленные переменные

 

Блок – схема алгоритма программы

 

 

Начало
N:=5 m:=5
i:=1 to n do
A[I,j]:=random(10)-5
j:=1 to n do
Вывод массива
 
 
I:=1 to n do
J:=1 to m do
A[I,j]<=0
Да
Нет
a[I,j]:=0
a[I,j]:=1
Вывод массива
Конец

 

 


Рис. 1 Блок схема алгоритма программы

Текстпрограммы

 

program nuli;

uses crt;

var a:array [1..100,1..100] of integer;

i,j,n,m:integer;

begin

randomize;

n:=5;

m:=5;

for i:=1 to n do

begin

for j:=1 to m do

begin

a[i,j]:=random(10)-5;

write(a[i,j]:2,' ');

end;

writeln;

end;

for i:=1 to n do

begin

for j:=1 to m do

begin

if a[i,j]<=0 then

a[i,j]:=0 else

a[i,j]:=1;

write(a[i,j],' ');

end;

writeln;

end;

readln;

end.

 

 

Тестирование

Задается двумерный массив(a[i,j])путем рандомизации, после чего программа переписывает данный массив следующим образом вместо всех положительных чисел пишет единицы, а вместо всех отрицательных нули.

 

1:

Массив 2 3 -3-4-5

2-2 1-5 0

-2-5 4-5 4

-4 3-5 0-2

-5-2-3 4-4

Новый массив 1 1 0 0 0

1 0 1 0 0

0 0 1 0 1

0 1 0 0 0

0 0 0 1 0

Задача 2

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

 

Работа программы

Задаются 2 двухмерных массива(a,b[i,j]) путем рандомизации, после чего программа меняет местами их строки и столбцы.

Назначение переменных

Назначение переменных, используемых в задаче, приведено в таблице 1

Таблица 1 – Назначение переменных

 

Переменная Тип Назначение переменных
А,B Array of integer Исходные массивы
I,N,J,M Integer Целочисленные переменные, n, m=const

 

 

Блок – схема алгоритма программы

 

 

Начало
N:=3 m:=3
>
i:=1 to n do
j:=1 to m do
Заполняем массив
Вывод массива
 
 
j:=1 to m do
i:=1 to n do
b[I,j]:=a[I,j]
Вывод массива
 
 
Конец

 

 


Текстпрограммы

program obmenmestami;

uses crt;

var a,b:array [1..100,1..100] of integer;

i,j,n,m,t:integer;

begin

n:=3;

m:=3;

randomize;

for i:=1 to n do

begin

for j:=1 to m do

begin

a[i,j]:=random(10);

write(a[i,j],' ');

end;

writeln;

end;

writeln;

for i:=1 to n do

begin

for j:=1 to m do

begin

b[i,j]:=a[j,i];

write(b[i,j],' ');

end;

writeln;

end;

readln;

end.

Тестирование

Введите 7 целых чисел, после чего программа выдаст вам новый массив в зависимости от введенных вами чисел.

1:

Первый массив

Второй массив

Задача 3

Дана вещественная матрица размерности n * m. Сформировать вектор b, в котором элементы вычисляются как:

- произведение элементов соответствующих строк;

- среднее арифметическое соответствующих столбцов;

- разность наибольших и наименьших элементов соответствующих строк;

- значения первых отрицательных элементов в столбце.

 

 

Работа программы

Вводится исходный двухмерный массив(a[i,j]), после чего программа начинает выполнять следующие действия, находит произведение элементов соответствующих строк, среднее арифметическое соответствующих столбцов, разность наибольших и наименьших элементов соответствующих строк, значения первых отрицательных элементов в столбцах.

Назначение переменных

Назначение переменных, используемых в задаче, приведено в таблице 1

Таблица 1 – Назначение переменных

Переменная Тип Назначение переменной
a Array of integer Исходный двухмерный массив
i,j,t,b,mi,ma integer Целочисленные переменные необходимые в теле программы.

 

Блок – схема алгоритма программы

Начало
Вывод массива
Заполнение массива
i:=1 to n do
j:=1 to m do
 
 
i:=1 to n do
b:=1
j:=1 to m do
b:=b*a[I,j]
 
 
j:=1 to m do
t:=0
i:=1 to n do
t:=t+a[I,j]
Вывод результата
Вывод результата
 

 

 

 
i:=1 to n do
mi:=0 ma:=0
j:=1 to m do
mi>a[I,j]
Да
Нет
mi:=a[I,j]
ma<a[I,j]
Да
Нет
ma:=a[I,j]
 
Вывод результата
 

 

 

I AQAADwAAAAAAAAAAAAAAAABHBQAAZHJzL2Rvd25yZXYueG1sUEsFBgAAAAAEAAQA8wAAAFEGAAAA AA== " adj="-11796480,,5400" path="m86573,l1921297,r86573,86573l2007870,519430r,l,519430r,l,86573,86573,xe" fillcolor="#f9f9f9" strokecolor="black [3213]" strokeweight=".25pt">

j:=1 to m do
b:=0
i:=1 to n do
A[I,j]<0 and b=0
b:=4
Да
Нет

 

 


 

Вывод результата
 
 
Конец

 


Текстпрограммы

program matrix;

uses crt;

const N=4; M=5;

var A: array[1..N,1..M] of integer;

i,j,b,mi,ma,t: integer;

 

begin

for i:=1 to N do

begin

for j:=1 to M do

begin

A[i,j]:=random(20)-10;

write(A[i,j]:5);

end;

writeln;

end;

writeln;

 

for i:=1 to N do

begin b:=1;

for j:=1 to M do

begin

b:=b*a[i,j];

end;

writeln(b);

end;

writeln;

 

for j:=1 to M do

begin t:=0;

for i:=1 to N do

begin

t:=t+A[i,j];

end;

write(t/N:6:2);

end;

writeln;

writeln;

 

for i:=1 to N do

begin

mi:=0;

ma:=0;

for j:=1 to M do

begin

if mi>A[i,j] then mi:=A[i,j];

if ma<A[i,j] then ma:=A[i,j];

end;

writeln(ma-mi);

end;

writeln;

 

for j:=1 to M do

begin

b:=0;

for i:=1 to N do

begin

if (A[i,j]<0) and (b=0) then

begin b:=4;

write(A[i,j]:6);

end;

end;

end;

end.

Тестирование

Вводится исходный двухмерный массив(a[i,j]), после чего программа начинает выполнять следующие действия, находит произведение элементов соответствующих строк, среднее арифметическое соответствующих столбцов, разность наибольших и наименьших элементов соответствующих строк, значения первых отрицательных элементов в столбцах.

 

1:

9 -9 -4 -9 1

-9 7 8 -3 -5

-4 3 3 7 -7

-2 9 -10 0 4

-2916

-7560

-1.5 2.5 -0.75 -1.25 -1.75

-9 -9 -4 -9 -5

Задача 4

Даны натуральное число n, действительная квадратная матрица порядка n, действительные числа a 1,..., a n+5. Элементы последовательности a 1,..., a n+5 домножить на 10, если наибольший элемент матрицы (в предположении, что такой элемент единственный) находится на главной диагонали, и на 0.5 в противном случае.

Работа программы

Путем рандомизации задается квадратная матрица(двух мерный массив), также задается ряд последовательности чисел (одномерный массив), если наибольший элемент квадратной матрицы лежит на главной диагонали, то каждый элемент последовательности(одномерный массив) домножается на 10, во всех остальных случаях на 0.5

Назначение переменных

Назначение переменных, используемых в задаче, приведено в таблице 1

 

Таблица 1 – Назначение переменных

Переменная Тип Назначение переменной
M,A,B Array of integer Исходный двумерный массив(m). a,bодномерные массивы
I,n,j,max,imax,jmax Integer Различные целочисленные константы используемые в теле программы.

 

Блок – схема алгоритма программы

 

Начало
I:=1 to n do
N:=3
j:=1 to n do
A[I,j]:=random(200)
Вывод массива
 
 
I:=1 to n+5 do
A[I,j]:=random(10)
Вывод массива
 
Max:=m[1,1] imax:=1 jmax:=1
I:=1 to n do
j:=1 to n do
M[I,j]>max
Max:=m[I,j] imax:=i jmax:=j
 
Вывод элементамассива
imax=jmax
Да
Нет
Да
Нет
I:=1 to n+5
B[i]:=a[i]*10
Выводмассива
I:=1 to n+5
B[i]:=a[i]*0.5
Выводмассива

 

 

 
 
Конец

 


Текстпрограммы

program umnogenie;

uses crt;

var m:array [1..100,1..100] of integer;

a:array [1..100] of integer;

b:array [1..100] of real;

i,j,n,max,imax,jmax:integer;

begin

randomize;

n:=3;

for i:=1 to n do

begin

for j:=1 to n do

begin

m[i,j]:=random(200);

write(m[i,j],' ');

end;

writeln;

end;

for i:=1 to n+5 do

begin

a[i]:=random(10);

write(a[i]:3,' ');

end;

max:=m[1,1];

imax:=1;

jmax:=1;

for i:=1 to n do

for j:=1 to n do

if m[i,j]>max then

begin

max:=m[i,j];

imax:=i;

jmax:=j;

end;

writeln('Ìàêñèìàëüíûé ýëåìåíò ìàññèâà m','[',imax,',',jmax,']=',max);

if imax=jmax then

for i:=1 to n+5 do

begin

b[i]:=a[i]*10;

write(b[i],' ');

end

else

for i:=1 to n+5 do

begin

b[i]:=a[i]*0.5;

write(b[i],' ');

end;

readln;

end.

Тестирование

Путем рандомизации задается квадратная матрица(двух мерный массив), также задается ряд последовательности чисел (одномерный массив), если наибольший элемент квадратной матрицы лежит на главной диагонали, то каждый элемент последовательности(одномерный массив) домножается на 10, во всех остальных случаях на 0.5

1:

74 93 197

76 198 72

65 124 9

1 8 2 1 0 3 7 2 Максимальный элемент массива m[2,2]=198

10 80 20 10 0 30 70 20



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: