![Задания части А Задания части С](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img0.jpg)
Задания части А
Задания части С
![1. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов массива B будут иметь положительные значения? for n:=1 to 100 do A[n]:=n-10; for n:=1 to 100 do B[n]:=A[n]*n; 10 50 90 100](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img1.jpg)
1. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Сколько элементов массива B будут иметь положительные значения?
for n:=1 to 100 do A[n]:=n-10; for n:=1 to 100 do B[n]:=A[n]*n;
10
50
90
100
![2. Значения двух массивов A[1..300] и B[1..300] задаются с помощью следующего фрагмента программы. Сколько элементов массива B будут иметь отрицательные значения? for n:=1 to 300 do A[n]:=100-n; for n:=1 to 300 do B[n]:=2*A[n]+1; 200 199 151 150](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img2.jpg)
2. Значения двух массивов A[1..300] и B[1..300] задаются с помощью следующего фрагмента программы. Сколько элементов массива B будут иметь отрицательные значения?
for n:=1 to 300 do A[n]:=100-n; for n:=1 to 300 do B[n]:=2*A[n]+1;
200
199
151
150
![3. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Какой элемент массива B будет наибольшим? for n:=1 to 100 do A[n]:= (n-80)*(n-80); for n:=1 to 100 do B[101-n]:=A[n]; B[10] B[30] B[70] B[90]](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img3.jpg)
3. Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы. Какой элемент массива B будет наибольшим?
for n:=1 to 100 do
A[n]:= (n-80)*(n-80);
for n:=1 to 100 do
B[101-n]:=A[n];
B[10]
B[30]
B[70]
B[90]
![4. Значения элементов массива A[1..15] задаются с помощью следующего фрагмента программы. Какие значения будут присвоены элементам A[5], A[8]? for n:=1 to 15 do A[n]:=sqr(n); for n:=1 to 15 do begin if n mod 20 then А [n] := sqrt(A[n]) else A[n] := A[1]; end; Ответ: A[5]=5 B[8]=1](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img4.jpg)
4. Значения элементов массива A[1..15] задаются с помощью следующего фрагмента программы. Какие значения будут присвоены элементам A[5], A[8]?
for n:=1 to 15 do A[n]:=sqr(n); for n:=1 to 15 do
begin
if n mod 20
then А [n] := sqrt(A[n])
else A[n] := A[1];
end;
Ответ:
A[5]=5
B[8]=1
![5 . Чему равно значение В(2,4)? For n:=1 to 5 do For k:=1 to 5 do B[n,k]:=n+k; Ответ: 6 6 . Чему равно значение В( 19 , 21 )? Ответ: 210 For n:=1 to 500 do For k:=1 to 500 do B[n,k]:=(n+1) * k/2;](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img5.jpg)
5 . Чему равно значение В(2,4)?
For n:=1 to 5 do
For k:=1 to 5 do
B[n,k]:=n+k;
Ответ:
6
6 . Чему равно значение В( 19 , 21 )?
Ответ:
210
For n:=1 to 500 do
For k:=1 to 500 do
B[n,k]:=(n+1) * k/2;
![](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img6.jpg)
7. Значения элементов массива A[1..4, 1..4] задаются с помощью фрагмента программы. Какова сумма отрицательных элементов массива?
0
1
-1
1
-2
0
1
-3
-1
2
-2
3
2
4
3
4
for i:=1 to 4 do
begin for j:=1 to 4 do
begin
if j 5 div 2
then A[i, j] := i
else A[i, j] := j - i; end;
1
1
2
2
3
3
4
4
Ответ:
-9
![9. Все элементы массива А размером 4х4 элемента первоначально были равны 0. Затем элементы массива меняются с помощью следующего фрагмента программы. Сколько элементов будут равны 1? 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 For n:=1 to 4 do For k:=N to 4 do begin А [n,k]:= 1; End; 1 1 2 2 3 3 4 4 Ответ: 10](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img7.jpg)
9. Все элементы массива А размером 4х4 элемента первоначально были равны 0. Затем элементы массива меняются с помощью следующего фрагмента программы. Сколько элементов будут равны 1?
1
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
For n:=1 to 4 do
For k:=N to 4 do
begin
А [n,k]:= 1;
End;
1
1
2
2
3
3
4
4
Ответ:
10
![10 . Дана квадратная матрица. Что будет являться результатом работы следующего фрагмента программы? k:=1 FOR i:=1 TO n DO BEGIN c := A[i, i]; A[i, i] := A[k, i]; A[k, i] := c; END 1 1 2 2 3 3 4 4 5 5 Произойдет обмен элементов главной диагонали и элементов первой строки.](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img8.jpg)
10 . Дана квадратная матрица. Что будет являться результатом работы следующего фрагмента программы?
k:=1
FOR i:=1 TO n DO
BEGIN
c := A[i, i];
A[i, i] := A[k, i];
A[k, i] := c;
END
1
1
2
2
3
3
4
4
5
5
Произойдет обмен элементов главной диагонали и элементов первой строки.
![11. Начальные значения элементов массива A[1..5, 1..4] равны нулю. С помощью следующего фрагмента программы элементы массива изменяются. Сколько элементов будут равны нулю? -1 -2 -2 -3 -1 0 -4 -4 0 -2 0 -1 0 -3 -2 -4 -4 -3 0 -4 for i:=1 to 5 do begin for j:=1 to 4 do begin if i mod 2 = 0 then A[ i, j ]:= A[ i, j ]+ A[ j, i ] else A[ i, j ]:= A[ i, j ] - j; end; end; 1 1 2 2 3 3 4 4 5 Ответ: 5](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img9.jpg)
11. Начальные значения элементов массива A[1..5, 1..4] равны нулю. С помощью следующего фрагмента программы элементы массива изменяются. Сколько элементов будут равны нулю?
-1
-2
-2
-3
-1
0
-4
-4
0
-2
0
-1
0
-3
-2
-4
-4
-3
0
-4
for i:=1 to 5 do begin
for j:=1 to 4 do begin
if i mod 2 = 0
then
A[ i, j ]:= A[ i, j ]+ A[ j, i ]
else
A[ i, j ]:= A[ i, j ] - j;
end;
end;
1
1
2
2
3
3
4
4
5
Ответ:
5
![12. Начальные значения элементов массива A[1.. 10 , 1.. 10 ] равны нулю. Сколько элементов будут равны единице после выполнения программы? 2 1 1 1 2 1 1 1 1 1 2 0.. 0.. 1 1 0.. 1 1 0.. 0.. 0.. 2 0.. 0.. 0.. Ответ: 12 For n:=1 to 4 do for k:=n to 4 do begin a[ n, k ]:= a[ n, k ]+1; a[ k, n ]:= a[ k, n ]+1; end;](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img10.jpg)
12. Начальные значения элементов массива A[1.. 10 , 1.. 10 ] равны нулю. Сколько элементов будут равны единице после выполнения программы?
2
1
1
1
2
1
1
1
1
1
2
0..
0..
1
1
0..
1
1
0..
0..
0..
2
0..
0..
0..
Ответ: 12
For n:=1 to 4 do
for k:=n to 4 do
begin
a[ n, k ]:= a[ n, k ]+1;
a[ k, n ]:= a[ k, n ]+1;
end;
![13. Начальные значения элементов массива A[1.. 10 , 1.. 10 ] равны 1 . Сколько элементов будут равны 0 после выполнения программы? 0 -2 0 0 -2 -3 1 -2 0 -4 1 -4 -2 -5 1 1 1 -6 1 -4 … … -6 1 -7 1 … 1 1 … -8 … … … 1 -9 1 … … … … … Ответ: 4 For n:=1 to 4 do For k:=1 to n+1 do begin a[ n, k ]:= a[ n, k ]-1; a[ n, k+1 ]:= a[ n, k ]-1; end;](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img11.jpg)
13. Начальные значения элементов массива A[1.. 10 , 1.. 10 ] равны 1 . Сколько элементов будут равны 0 после выполнения программы?
0
-2
0
0
-2
-3
1
-2
0
-4
1
-4
-2
-5
1
1
1
-6
1
-4
…
…
-6
1
-7
1
…
1
1
…
-8
…
…
…
1
-9
1
…
…
…
…
…
Ответ: 4
For n:=1 to 4 do
For k:=1 to n+1 do
begin
a[ n, k ]:= a[ n, k ]-1;
a[ n, k+1 ]:= a[ n, k ]-1;
end;
![1. Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна. Если таких пар несколько, то можно выбрать любую из них. Решение](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img12.jpg)
1. Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна. Если таких пар несколько, то можно выбрать любую из них.
Решение
![](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img13.jpg)
Program c1;
const N=30;
var A: array[1..N] of integer;
i, nom1, S: integer;
begin
For i:=1 to N do readln(A[i]);
nom1 := 1; { номер первого элемента }
S := A[1] + A[2]; { максимальная сумма }
For i:=2 to N-1 do
if A[i]+ A[i+1] S then
begin
nom1 := i;
S := A[i] + A[i+1];
end;
writeln(nom1);
Readln;
end.
![2. Опишите на русском языке или на одном из языков программирования алгоритм поиска второго по величине (т.е. следующего по величине за максимальным) элемента в числовом массиве из 30 различных элементов. Решение](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img14.jpg)
2. Опишите на русском языке или на одном из языков программирования алгоритм поиска второго по величине (т.е. следующего по величине за максимальным) элемента в числовом массиве из 30 различных элементов.
Решение
![](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img15.jpg)
Program c2;
const N=30;
var a: array [1..N] of integer;
i, k, max, max2: integer;
begin
for i:=1 to N do readln(a[i]);
if a[1] a[2] then begin
max:=a[1]; max2:=a[2]; end
else begin
max:=a[2]; max2:=a[1];
end;
for i:=3 to N do
if a[i] max then begin
max2 := max; max := a[i]; end
else
if a[i] max2 then max2 := a[i];
writeln ( max 2); readln;
end.
![3. Опишите алгоритм поиска трех последовательных элементов, сумма которых максимальна, в числовом массиве из 30 элементов. Решение запишите в словесной форме или на алгоритмических языках Бейсик или Паскаль. Решение](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img16.jpg)
3. Опишите алгоритм поиска трех последовательных элементов, сумма которых максимальна, в числовом массиве из 30 элементов. Решение запишите в словесной форме или на алгоритмических языках Бейсик или Паскаль.
Решение
![](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img17.jpg)
Program c3;
var a:array[1..30] of integer;
Max, S, i, k: integer;
Begin
for i:=1 to 30 do readln(A[i]);
S:=a[1]+a[2]+a[3]; { текущая сумма }
Max:=S; { максимальная сумма }
k:=1; { номер первого элемента тройки }
for i:=2 to 28 do begin
S:=a[i]+a[i+1]+a[i+2];
if S Max then begin
Max:=S;
k:=i;
end;
end;
for i:=k to k+2 do
writeln('A[', I , ']=', a[i]); readln;
end.
![4 . Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 30. Решение](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img18.jpg)
4 . Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 30.
Решение
![](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img19.jpg)
Program c4;
var a: array[1..30] of integer;
i, k, kMax: integer;
begin
for i:=1 to 30 do readln(A[i]);
k := 1; { число элементов в цепочке }
kMax := 1; { максимум в цепочке }
for i:=2 to 30 do begin
if A[i] = A[i-1] then k := k + 1
else { цепочка закончилась }
begin if k kMax then kMax := k;
k := 1;
end;
end;
if k kMax then
kMax := k; { если цепочка стоит в конце}
writeln(kMax); readln;
end.
![5. Дан целочисленный массив из 5 0 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся за итоговый тест по информатике. Для получения положительной оценки за тест требовалось набрать не менее 20 баллов. Опишите на русском языке или на одном из языков программирования алгоритм, который выводит минимальный балл среди учащихся, получивших за тест положительную оценку. Известно, что в классе есть хотя бы один такой учащийся. Решение](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img20.jpg)
5. Дан целочисленный массив из 5 0 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся за итоговый тест по информатике. Для получения положительной оценки за тест требовалось набрать не менее 20 баллов. Опишите на русском языке или на одном из языков программирования алгоритм, который выводит минимальный балл среди учащихся, получивших за тест положительную оценку. Известно, что в классе есть хотя бы один такой учащийся.
Решение
![](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img21.jpg)
Program c 5 ;
var a: array[1.. 5 0] of integer;
i, min: integer;
begin
for i:=1 to 50 do begin
write(‘ Введите число из [ 0, 100 ]’);
repeat { не пропускаем другие числа }
readln(A[i]);
until ( A[i]=0 ) and ( A[i] ) ;
end;
min := 101; {минимальный балл }
for i:=1 to 50 do
if (a[i] = 20) and (a[i]
then min := a[i];
writeln ( min ); Readln;
end.
![6 . Дан прямоугольный массив целых положительных чисел 10 х 20. Опишите на русском языке или на одном из языков программирования алгоритм поиска строки с наименьшей суммой элементов. Вывести на печать номер строки и сумму ее элементов. Предполагается, что такая строка единственна. Решение](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img22.jpg)
6 . Дан прямоугольный массив целых положительных чисел 10 х 20. Опишите на русском языке или на одном из языков программирования алгоритм поиска строки с наименьшей суммой элементов. Вывести на печать номер строки и сумму ее элементов. Предполагается, что такая строка единственна.
Решение
![Program c 6 ; const N= 1 0; M=20; var a:array[1..N,1..M] of integer; Min, Sum, nMin, i, k: integer; Begin {заполнение матрицы N на M….. } Sum := 0; for k:=1 to M do Sum := Sum + a[1,k]; Min := Sum; { минимальная сумма в строке } nMin := 1; { номер строки с минимальной суммой } for i:=2 to N do begin Sum := 0; for k:=1 to M do Sum := Sum + a[i,k]; if Sum Min := Sum; nMin := i; end; end; write(‘ Номер строки: ', nMin); writeln(‘ , ее сумма= ', Min ); Readln; end.](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img23.jpg)
Program c 6 ;
const N= 1 0; M=20;
var a:array[1..N,1..M] of integer;
Min, Sum, nMin, i, k: integer;
Begin {заполнение матрицы N на M….. }
Sum := 0;
for k:=1 to M do Sum := Sum + a[1,k];
Min := Sum; { минимальная сумма в строке }
nMin := 1; { номер строки с минимальной суммой }
for i:=2 to N do begin
Sum := 0;
for k:=1 to M do Sum := Sum + a[i,k];
if Sum
Min := Sum; nMin := i;
end;
end;
write(‘ Номер строки: ', nMin);
writeln(‘ , ее сумма= ', Min );
Readln;
end.
![7 . Дан целочисленный прямоугольный массив 6x10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы минимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке минимальный элемент единственный. Решение](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img24.jpg)
7 . Дан целочисленный прямоугольный массив 6x10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы минимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке минимальный элемент единственный.
Решение
![Program c 7 ; const N=6, M=10; var A: array[1..N,1..M] of integer; Min, Sum, i, k: integer; Begin {заполнение матрицы N на M ….. } Sum := 0; for i:=1 to N do begin Min := A[i,1]; { поиск минимума в i- ой строке } for k:=2 to M do if A[i,k] Sum := Sum + Min; end; writeln(Sum); readln; end.](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img25.jpg)
Program c 7 ;
const N=6, M=10;
var A: array[1..N,1..M] of integer;
Min, Sum, i, k: integer;
Begin {заполнение матрицы N на M ….. }
Sum := 0;
for i:=1 to N do begin
Min := A[i,1]; { поиск минимума в i- ой строке }
for k:=2 to M do
if A[i,k]
Sum := Sum + Min;
end;
writeln(Sum);
readln;
end.
![8. Дан целочисленный массив из 20 элементов. Элементы массива могут принимать любые целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер элемента массива, наименее отличающегося от среднего арифметического всех его элементов. Решение](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img26.jpg)
8. Дан целочисленный массив из 20 элементов. Элементы массива могут принимать любые целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер элемента массива, наименее отличающегося от среднего арифметического всех его элементов.
Решение
![Program c 8 ; const N= 2 0; var a: array [1..N] of integer; i, k: integer; s, Rmin: real; begin For i:=1 to N do readln(a[i]); s:=0; For i:=1 to N do s:=s+a[i]; s:=s/N; { среднее арифметическое } k:=1; { номер искомого элемента } Rmin:= abs(a[1]-s); { минимальная разность } For i:=2 to N do if abs(a[i]-s) Rmin:= abs(a[i]-s); k:=i; end; writeln(k); end.](https://fsd.videouroki.net/html/2017/01/06/v_586f536109d83/img27.jpg)
Program c 8 ;
const N= 2 0;
var a: array [1..N] of integer;
i, k: integer;
s, Rmin: real;
begin
For i:=1 to N do readln(a[i]);
s:=0;
For i:=1 to N do s:=s+a[i];
s:=s/N; { среднее арифметическое }
k:=1; { номер искомого элемента }
Rmin:= abs(a[1]-s); { минимальная разность }
For i:=2 to N do
if abs(a[i]-s)
Rmin:= abs(a[i]-s);
k:=i; end;
writeln(k);
end.