microbik.ru
1

ВАРИАНТ 1

С2 Дан целочисленный квадратный массив 10 х 10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы максимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке такой элемент единственный.

РЕШЕНИЕ

Для хранения текущего наибольшего элемента массива А в просматриваемой части массива будем использовать промежуточную целочисленную переменную Аmах. Кроме того, нам понадобится целочисленная переменная для хранения суммы уже, найденных нами максимальных элементов, обозначим эту переменную S. В теле цикла будем сравнивать очередной элемент строки с уже найденным максимумом. В том случае, если элемент окажется больше, в переменную Аmах занесем значение этого нового элемента. Пример такой программы:

Программа на Паскале

const N = 10;

var a : array [1..N; 1..N]of integer;

Amax, i,j, S: integer

begin

S:= 0;

For i:=1 to N do

Amax:= a[i,l];

For j:=2 to N do

if a[i;j] > Amax then

Amax = a[i;j];

end;

S:=S + Amax;

end;

end.

ВАРИАНТ 2

С 2 Опишите на русском языке или на одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 20 элементов, сумма которых минимальна (если таких пар несколько, то можно выбрать любую из них).

РЕШЕНИЕ

Для хранения минимальной суммы двух последовательных элементов в просмотренной части массива будем использовать промежуточную целочисленную переменную Smin. Кроме того, нам понадобится целочисленная переменная, в которую будем заносить номер первого элемента в этой паре, обозначим эту переменную Nmin. Начальные значения переменных Smin и Nmin будут соответственно равны сумме первых двух элементов массива и 1. В теле цикла будем вычислять сумму элементов очередной пары и сравнивать ее с уже найденным минимумом. В том случае, если новая сумма окажется меньше, в переменную Smin занесем значение этой новой суммы, а в переменную Nmin - номер первого элемента из данной пары. И так до конца цикла, по окончании которого получим номер искомого элемента. Пример такой программы:

Программа на Паскале

const N = 20;

var a : array [ 1 ..N] of integer;

^ Smin, Nmin, i: integer;

begin

Nmin:= 1;

^ Smin:=a[l] + a[2];

For i:= 2 to N-1 do

begin

if a[i] + a[i+1] < Smin then

begin

Nmin:= i;

Smin:=a[i]+a[i+l];

end; end;

writeln(Nmin); end.







ВАРИАНТ 3

С 2 Дан прямоугольный целочисленный массив 10 х 20. Опишите на русском языке или на одном из языков программирования алгоритм поиска строки с наименьшей суммой эле­ментов. Вывести на печать номер строки и сумму ее элементов. Предполагается, что такая строка единственна.

РЕШЕНИЕ Для хранения наименьшей суммы элементов строк в просмотренной части массива будем использовать промежуточную целочисленную переменную Smin. Кроме того, нам понадобится целочисленная переменная для хранения номера строки, в которой текущая сумма элементов оказалась минимальной, обозначим эту переменную Nmin. В теле цикла будем вычислять сумму элементов очередной строки и сравнивать ее с уже найденным минимумом. В том случае, если сумма окажется меньше, в переменную Smin занесем значение этой новой суммы, а в переменную Nmin - номер текущей строки. И так до конца цикла, по окончании которого получим номер искомой строки и сумму ее элементов. Пример такой программы:

Программа на Паскале

const N = 10:

const M = 20;

var a : array [1..N; 1 ..М] of integer;

^ Smin, Nmin, i, j, S: integer;

begin

Nmin:= 1; Smin:=0;

for i:= 1 to N do

begin S:=0;

for j:= 1 to M do

begin S:=S + a[i,j]

end;

if S < Smin then

begin Nmin:= i;

^ Smin:= S; end; end;

writeln(Nmin, Smin); end.




ВАРИАНТ 4

С2 Дан квадратный массив целых положительных чисел 10 х 10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы элементов стро­ки, в которой расположен элемент с максимальным значением. Вывести значение суммы на печать. Предполагается, что такой элемент единственный.

РЕШЕНИЕ Для хранения текущего наибольшего элемента массива А в просмотренной части массива будем использовать промежуточную целочисленную переменную Аmах. Кроме того, нам понадобится целочисленная переменная, для хранения номера строки, в которой расположен элемент с максимальным значением, обозначим эту переменную К. В теле цикла будем срав­нивать очередной элемент с уже найденным максимумом. В том случае, если элемент масси­ва окажется больше, в переменную Аmах занесем значение этого нового элемента, а в пере­менную К - номер текущей строки. И так до конца цикла, по окончании которого получим номер искомой строки. Далее, имея номер строки, находим искомую сумму S. Пример такой программы:

^ Программа на Паскале

const N = 10;

var a : array [1..N; 1..N] of integer;

^ Amax, К, i, j, S: integer;

begin K:=l; Amax :=a[ 1,1]

for i:= I to N do

for j := 1 to N do

begin

if a[i; j] > Amax then Amax=a[i;j];

K:= i;

end; end; end;

S:=0;

for j := 1 to N do

S:=S + a[K,j];

end;

writeln(S); end.






ВАРИАНТ 5

C2 Опишите на русском языке или одном из языков программирования алгоритм подсчета количества элементов, равных минимальному, в целочисленном массиве из 30 элементов.

РЕШЕНИЕ Обозначим наш массив буквой "а". Введем следующие целочисленные переменные:

min -для хранения минимального из просмотренных элементов массива;

к - для подсчета числа повторений минимального элемента в просмотренной части массива. Будем сравнивать очередной элемент массива a[i] с текущим значением переменной min (i -номер очередного элемента массива).

Если a[i] меньше min, то присваиваем его значение переменной min и счетчик к устанавливаем в 1, если же значения a[i] и min равны, значение счетчика к увеличиваем на 1. Для этого организуем цикл. По окончании цикла переменная к будет содержать количество повторений минимального элемента массива. Пример программы:

Программа на Паскале

const N = 30;

var a : arrayf I.. .N] of integer;

min, k, i : integer;

begin

min :=a[l]; k:=l;

for i := 2 to N do

begin

if'a[i] < min then

begin min := a[i]; k:= 1;

end;

Else a[i] = min then k := k + 1;

end;

writeln(k);

end




ВАРИАНТ 6

С2 Дан целочисленный прямоугольный массив 6x10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы минимальных элементов из каж­дой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке такой элемент единственный.

РЕШЕНИЕ Для хранения текущего наименьшего элемента массива А в просматриваемой строке массива будем использовать промежуточную целочисленную переменную Amin. Кроме того, нам пона­добился целочисленная переменная для хранения суммы уже найденных нами минимальных элементов, обозначим эту переменную S. В теле цикла будем сравнивать очередной элемент строки с уже найденным минимумом. В том случае, если элемент окажется меньше, в пере­менную Amin занесем значение этого нового элемента и прибавим его к сумме S. И так до конца цикла, по окончании которого получим искомую сумму. Пример такой программы:

Прграмма на Паскале

const N = 6;

const M = 10;

var a : array (1 ..N; 1 ..M] of integer;

Amin, i,j,S: integer;

begin S:=0;

for i:= 1 to N do begin

Amin:= a[i,l]

For j:=2 toM do

if a[i;j] < Amin then Amin = a[i;j];

end;

S:= S + Amin end;

writeln(S); end.