Алгоритмы на различных языках программирования. Заполнение массивов
Схемы алгоритмов и вычисление значений
№44
Чему равно значение A на выходе из фрагмента алгоритма?
а)
б)
в)
г)
№45
Чему равно значение A на выходе из фрагмента алгоритма?
а)
б)
в)
г)
№46
Чему равно значение A на выходе из фрагмента алгоритма?
а)
б)
в)
г)
№47
Чему равно значение А на выходе из фрагмента алгоритма?
а)
б)
в)
г)
№48
Чему равняются А и В на выходе из алгоритма?
а)
1) А=46 В=47
2) А=25 В=26
3) А=20 В=21
4) А=49 В=50
б)
1) А=34 В=37
2) А=39 В=40
3) А=31 В=34
4) А=37 В=38
в)
1) А=34 В=37
2) А=39 В=40
3) А=31 В=34
4) А=37 В=38
г)
1) А=34 В=37
2) А=39 В=40
3) А=31 В=34
4) А=37 В=38
№49
Чему равно значение C на выходе из фрагмента алгоритма?
а)
б)
в)
г)
№50
Определите значения целочисленных переменных а и b после выполнения фрагмента программы:
а)
Бейсик | Паскаль | Алгоритмический |
a = 37 – 19 b = a/6 + 3 a = b MOD 4 b = b – a ‘ MOD – операция, вычисляющая остаток от целочисленного деления первого аргумента на второй | a := 37 – 19; b := a/6 + 3; a := b mod 4; b := b – a; {mod – операция, вычисляющая остаток от целочисленного деления первого аргумента на второй} | a := 37 – 19; b := a/6 + 3; a := mod (a, 4); b := b – a; |mod – функция, вычисляющая остаток от целочисленного деления первого аргумента на второй |
1) a = 2, b = 4
2) a = 3, b = 5
3) a = 1, b = 5
4) a = 1, b = 4
б)
Бейсик | Паскаль | Алгоритмический |
a = 47 – 17 b = a/8 + 3 a = b MOD 5 b = b – a ‘ MOD – операция, вычисляющая остаток от целочисленного деления первого аргумента на второй | a := 47 – 17; b := a/8 + 3; a := b mod 5; b := b – a; {mod – операция, вычисляющая остаток от целочисленного деления первого аргумента на второй} | a := 47 – 17; b := a/8 + 3; a := mod (a, 5); b := b – a; |mod – функция, вычисляющая остаток от целочисленного деления первого аргумента на второй |
1) a = 2, b = 4
2) a = 3, b = 5
3) a = 1, b = 5
4) a = 1, b = 4
№51
Имеются два целочисленных массива А[1..100] и В[1..100], значения элементов которых соответствуют номерам этих элементов. Новый массив С[1..100] заполняют с помощью следующего фрагмента программы:
а)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 to 100 C[101-i]=50–A[i]+2*B[i] NEXT i | for i:=100 downto 1 do C[i]:=50–A[i]+2*B[i]; | нцдля i от 100 до 1 C[i]=50–A[i]+2*B[i] кц |
Чему будет равняться элемент нового массива С[50]?
1) 0 2) 50 3) 100 4) 150
б)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 to 100 C[i]=200–A[i]+B[101–i] NEXT i | for i:=1 to 100 do C[i]:=200–A[i]+B[101–i]; | нцдля i от 1 до 100 C[i]=200–A[i]+B[101–i] кц |
Чему будет равняться элемент нового массива С[25]?
1) 99 2) 151 3) 199 4) 251
№52
Определите значение переменной с после выполнения следующего фрагмента программы.
а)
Бейсик | Паскаль | Алгоритмический |
x = 11 y = 7 x = 2*y – x y = x*2 c = x + y | x = 11; y = 7; x = 2*y – x; y = x*2; c = x + y; | x = 11 y = 7 x = 2*y – x y = x*2 c = x + y |
1) 11 2)14 3)12 4)9
б)
Бейсик | Паскаль | Алгоритмический |
x = 14 y = 9 x = 2*y – x y = x*2 c = x + y | x = 14; y = 9; x = 2*y – x; y = x*2; c = x + y; | x = 14 y = 9 x = 2*y – x y = x*2 c = x + y |
1) 11 2)14 3)12 4)9
№53
а) Дана таблица А, содержащая 4 строки и 5 столбцов.
Укажите, как выражаются ее элементы А(i, j) через i и j ?
1) А(i, j) = i + j
2) А(i, j) = max (i, j)
3) А(i, j) = i* j
4) А(i, j) = { j, при i <= j ; 0, при i < j }
5) А(i, j) = { 0, при i = j ; i+j , при i <> j }
б) Таблица ТАВ, содержащая m строк и n столбцов преобразуется в одномерный массив М так, что вначале переносятся все элементы первой строки, затем все элементы второй строки и т.д. Укажите номер формулы, по которой можно вычислить порядковый номер k, соответствующий положению элемента ТАВ[i,j] в массиве М:
Варианты ответа:
1) k = i*m + j
2) k = (i –1)*n + j
3) k = (j –1)*m + i
4) k = j*n + i
5) k = i*m + j*n
в) Дана таблица А, содержащая 4 строки и 5 столбцов.
Укажите, как выражаются ее элементы А(i, j) через i и j ?
1) А(i, j) = i + j
2) А(i, j) = max (i, j)
3) А(i, j) = i*j
4) А(i, j) = { j, при i <= j ; 0, при i < j }
5) А(i, j) = { 0, при i = j ; i+j , при i <> j }
г) Дана таблица А, содержащая 4 строки и 5 столбцов.
Укажите, как выражаются ее элементы А(i, j) через i и j ?
1) А(i, j) = i + j
2) А(i, j) = max (i, j)
3) А(i, j) = i*j
4) А(i, j) = { j, при i <= j ; 0, при i > j }
5) А(i, j) = { 0, при i = j ; i+j , при i <> j }
№54
Дан фрагмент программы. Чему будет равно значение B[3,4]?
а)
Бейсик | Паскаль | Алгоритмический |
FOR n=1 TO 4 k=n+2 FOR m=1 TO 4 B(n,m)=n^3-m^2-k NEXT m NEXT n | for n:=1 to 4 do begin k:=n+2; for m:=1 to 4 do B[n,m]:=n*n*n-m*m-k; end | нцдля n от 1 до 4 k:=n+2 нцдля m от 1 до 4 B[n,m]:=n*n*n-m*m-k кц кц |
б)
Бейсик | Паскаль | Алгоритмический |
FOR n=1 TO 4 k=n-1 FOR m=1 TO 5 B(n,m)=n^3-m^2-k NEXT m NEXT n | for n:=1 to 4 do begin k:=n-1; for m:=1 to 5 do B[n,m]:=n*n*n-m*m-k; end | нцдля n от 1 до 4 k:=n-1 нцдля m от 1 до 5 B[n,m]:=n*n*n-m*m-k кц кц |
в)
Бейсик | Паскаль | Алгоритмический |
FOR n=1 TO 3 k=n*2 FOR m=1 TO 4 B(n,m)=n^3-m^2-k NEXT m NEXT n | for n:=1 to 3 do begin k:=n*2; for m:=1 to 4 do B[n,m]:=n*n*n-m*m-k; end | нцдля n от 1 до 3 k:=n*2 нцдля m от 1 до 4 B[n,m]:=n*n*n-m*m-k кц кц |
г)
Бейсик | Паскаль | Алгоритмический |
FOR n=1 TO 6 k=n*(n-1) FOR m=1 TO 5 B(n,m)=n^3-m^2-k NEXT m NEXT n | for n:=1 to 6 do begin k:=n*(n-1); for m:=1 to 5 do B[n,m]:=n*n*n-m*m-k; end | нцдля n от 1 до 6 k:=n*(n-1) нцдля m от 1 до 5 B[n,m]:=n*n*n-m*m-k кц кц |
д)
Бейсик | Паскаль | Алгоритмический |
k=10 FOR n=1 TO 4 k=k+2 FOR m=1 TO 4 B(n,m)=k-n^3+m^2 NEXT m NEXT n | k:=10; for n:=1 to 4 do begin k:=k+2; for m:=1 to 4 do B[n,m]:=k-n*n*n+m*m; end | k:=10 нцдля n от 1 до 4 k:=n+2 нцдля m от 1 до 4 B[n,m]:=k-n*n*n+m*m кц кц |
е)
Бейсик | Паскаль | Алгоритмический |
k=7 FOR n=1 TO 4 k=k-1 FOR m=1 TO 5 B(n,m)=n^3-m^2-k NEXT m NEXT n | k:=7; for n:=1 to 4 do begin k:=k-1; for m:=1 to 5 do B[n,m]:=n*n*n-m*m-k; end | k:=7 нцдля n от 1 до 4 k:=k-1 нцдля m от 1 до 5 B[n,m]:=n*n*n-m*m-k кц кц |
ж)
Бейсик | Паскаль | Алгоритмический |
k=1 FOR n=1 TO 3 k=k*2 FOR m=1 TO 4 B(n,m)=n^2+m-k NEXT m NEXT n | k:=1; for n:=1 to 3 do begin k:=k*2; for m:=1 to 4 do B[n,m]:=n*n+m-k; end | k:=1 нцдля n от 1 до 3 k:=k*2 нцдля m от 1 до 4 B[n,m]:=n*n+m-k кц кц |
з)
Бейсик | Паскаль | Алгоритмический |
k=2 FOR n=1 TO 6 k=k*(k-1) FOR m=1 TO 5 B(n,m)=n^3-m^2-k NEXT m NEXT n | k:=2; for n:=1 to 6 do begin k:=k*(k-1); for m:=1 to 5 do B[n,m]:=n*n*n-m*m-k; end | k:=2 нцдля n от 1 до 6 k:=k*(k-1) нцдля m от 1 до 5 B[n,m]:=n*n*n-m*m-k кц кц |
№55
Дан фрагмент программы заполнения массива:
* – Функции MOD, mod и ост_дел вычисляют остаток от деления первого аргумента на второй.
Сколько получиться элементов массива В[i, j] равных 0?
а)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 TO 6 FOR j=1 TO 4 if i MOD (j+1) = 0 * THEN B(i,j)=0 ELSE B(i,j)=1 NEXT j NEXT i | for i:=1 to 6 do for j:=1 to 4 do if i mod (j+1) = 0 * then b[i,j]:=0 else b[i,j]:=1; | нцдля i от 1 до 6 нцдля j от 1 до 4 если ост_дел(i,j+1)=0 * то B[i,j]:=0 иначе B[i,j]:=1 кц кц |
1) 5 2) 7 3) 12 4) 17
б)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 TO 4 FOR j=1 TO 4 if i MOD (j+1) = 0 * THEN B(i,j)=0 ELSE B(i,j)=1 NEXT j NEXT i | for i:=1 to 4 do for j:=1 to 4 do if i mod (j+1) = 0 * then b[i,j]:=0 else b[i,j]:=1; | нцдля i от 1 до 4 нцдля j от 1 до 4 если ост_дел(i,j+1)=0 * то B[i,j]:=0 иначе B[i,j]:=1 кц кц |
1) 4 2) 6 3) 8 4) 11
в)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 TO 5 FOR j=1 TO 4 if i MOD (j+1) = 0 * THEN B(i,j)=0 ELSE B(i,j)=1 NEXT j NEXT i | for i:=1 to 5 do for j:=1 to 4 do if i mod (j+1) = 0 * then b[i,j]:=0 else b[i,j]:=1; | нцдля i от 1 до 5 нцдля j от 1 до 4 если ост_дел(i,j+1)=0 * то B[i,j]:=0 иначе B[i,j]:=1 кц кц |
1) 5 2) 7 3) 9 4)14
г)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 TO 5 FOR j=1 TO 4 if i MOD (j+2) = 0 * THEN B(i,j)=0 ELSE B(i,j)=1 NEXT j NEXT i | for i:=1 to 5 do for j:=1 to 4 do if i mod (j+2) = 0 * then b[i,j]:=0 else b[i,j]:=1; | нцдля i от 1 до 5 нцдля j от 1 до 4 если ост_дел(i,j+2)=0 * то B[i,j]:=0 иначе B[i,j]:=1 кц кц |
1) 15 2) 9 3) 5 4) 3
№56
Дан фрагмент программы заполнения массивов А и В
(изначально все элементы массивов равнялись нулю).
а)
Бейсик | Паскаль | Алгоритмический |
FOR i = 1 TO 100 a(i) = 50 – i NEXT i FOR i = 20 TO 60 b(i) = 2*a(i) - 10 NEXT i | for i:= 1 to 100 do a[i]:= 50 – i; for i:= 20 to 60 do b[i]:= 2*a[i] - 10; | нцдля i от 1 до 100 a[i]:= 50 – i кц нцдля i от 20 до 60 b[i]:= 2*a[i] - 10 кц |
Сколько отрицательных элементов получиться в массиве В?
1) 15 2)25 3) 24 4)14
б)
Бейсик | Паскаль | Алгоритмический |
FOR i = 1 TO 100 a(i) = 50 – i NEXT i FOR i = 20 TO 70 b(i) = 2*a(i) - 15 NEXT i | for i:= 1 to 100 do a[i]:= 50 – i; for i:= 20 to 70 do b[i]:= 2*a[i] - 15; | нцдля i от 1 до 100 a[i]:= 50 – i кц нцдля i от 20 до 70 b[i]:= 2*a[i] - 15 кц |
Сколько положительных элементов получиться в массиве В?
1) 23 2)14 3)28 4)17
в)
Бейсик | Паскаль | Алгоритмический |
FOR i = 1 TO 100 a(i) = i – 50 NEXT i FOR i = 15 TO 65 b(i) = 2*a(i) + 10 NEXT i | for i:= 1 to 100 do a[i]:= i – 50; for i:= 15 to 65 do b[i]:= 2*a[i] + 10; | нцдля i от 1 до 100 a[i]:= i – 50 кц нцдля i от 15 до 65 b[i]:= 2*a[i] + 10 кц |
Сколько отрицательных элементов получиться в массиве В?
1) 29 2) 30 3) 19 4) 20
г)
Бейсик | Паскаль | Алгоритмический |
FOR i = 1 TO 100 a(i) = i – 50 NEXT i FOR i = 25 TO 65 b(i) = 2*a(i) - 5 NEXT i | for i:= 1 to 100 do a[i]:= i – 50; for i:= 25 to 65 do b[i]:= 2*a[i] - 5; | нцдля i от 1 до 100 a[i]:= i – 50 кц нцдля i от 25 до 65 b[i]:= 2*a[i] - 5 кц |
Сколько положительных элементов получиться в массиве В?
1) 12 2) 29 3) 13 4)28
№57
Дан фрагмент программы заполнения массива.
* – Функции MOD, mod и ост_дел вычисляют остаток от деления первого аргумента на второй.
Сколько получиться элементов массива В[i, j] равных 1?
а)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 TO 6 FOR j=1 TO 4 if i MOD (j+1) = 0 * THEN B(i,j)=0 ELSE B(i,j)=1 NEXT j NEXT i | for i:=1 to 6 do for j:=1 to 4 do if i mod (j+1) = 0 * then b[i,j]:=0 else b[i,j]:=1; | нцдля i от 1 до 6 нцдля j от 1 до 4 если ост_дел(i,j+1)=0 * то B[i,j]:=0 иначе B[i,j]:=1 кц кц |
1) 5 2) 7 3) 12 4)17
б)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 TO 4 FOR j=1 TO 4 if i MOD (j+1) = 0 * THEN B(i,j)=0 ELSE B(i,j)=1 NEXT j NEXT i | for i:=1 to 4 do for j:=1 to 4 do if i mod (j+1) = 0 * then b[i,j]:=0 else b[i,j]:=1; | нцдля i от 1 до 4 нцдля j от 1 до 4 если ост_дел(i,j+1)=0 * то B[i,j]:=0 иначе B[i,j]:=1 кц кц |
1) 4 2) 6 3) 8 4) 12
в)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 TO 5 FOR j=1 TO 4 if i MOD (j+1) = 0 * THEN B(i,j)=0 ELSE B(i,j)=1 NEXT j NEXT i | for i:=1 to 5 do for j:=1 to 4 do if i mod (j+1) = 0 * then b[i,j]:=0 else b[i,j]:=1; | нцдля i от 1 до 5 нцдля j от 1 до 4 если ост_дел(i,j+1)=0 * то B[i,j]:=0 иначе B[i,j]:=1 кц кц |
1) 15 2) 7 3) 5 4) 14
г)
Бейсик | Паскаль | Алгоритмический |
FOR i=1 TO 5 FOR j=1 TO 4 if i MOD (j+2) = 0 * THEN B(i,j)=0 ELSE B(i,j)=1 NEXT j NEXT i | for i:=1 to 5 do for j:=1 to 4 do if i mod (j+2) = 0 * then b[i,j]:=0 else b[i,j]:=1; | нцдля i от 1 до 5 нцдля j от 1 до 4 если ост_дел(i,j+2)=0 * то B[i,j]:=0 иначе B[i,j]:=1 кц кц |
1) 3 2) 9 3) 15 4) 17
№58
Дан фрагмент программы:
Бейсик | Паскаль | Алгоритмический |
FOR n=1 TO 4 k = n mod 2 FOR m=1 TO 4 k = k+m B(n,m)=k*n+m NEXT m NEXT n | for n:=1 to 4 do begin k:= n mod 2; for m:=1 to 4 do begin k:= k+m; B[n,m]:=k*n+m; end; end; | нцдля n от 1 до 4 k:= n mod 2 нцдля m от 1 до 4 k:= k+m B[n,m]:=k*n+m кц кц |
а) Чему будет равно значение B[3,4]?
1) 3 2) 37 3) 27 4) 14 5)8
б) Чему будет равно значение B[3,2]?
1) 6 2) 8 3) 14 4) 37 5) 44
в) Чему будет равно значение B[4,2]?
1) 14 2) 15 3) 10 4) 27 5) 44
г) Чему будет равно значение B[4,4]?
1) 8 2) 10 3) 27 4) 44 5) 14
№59
Задан двумерный массив (таблица) М[1..n, 1..n] и фрагмент алгоритма, использующий одномерные массивы A[1..n], B[1..n] и переменная х.
x: = 0
нц для i от 1 до n
A[i]: = M[i,1]; B[i]: = 1
нц для j от 1 до n
если M[i, j] < A[i]
то A[i]: = M[i, j]; B[i]: = j
все
x: = x + M[i, j]
кц
кц
Из следующего списка возможных назначений выберите назначение В и х в данном алгоритме:
1) Содержит сумму всех элементов массива М.
2) Содержит индексы максимальных элементов в соответствующих строках массива М.
3) Содержит индексы минимальных элементов в соответствующих строках массива М.
4) Содержит индексы максимальных элементов в соответствующих столбцах массива М.
5) Содержит количество элементов в массиве М.
Варианты ответа:
1) 3, 4 2) 5, 1 3) 3, 1 4) 2, 1 5) 2, 4
№60
Даны два целых числа х и у, причем х > у. Какое отношение будет справедливо после выполнения следующей последовательности операторов присваивания:
нач
х: = х + у
у: = х – у
х: = x – y
кон
1) у = х 2) y < x 3) y > x 4) y >= x 5) y <= x
№61
Дан массив mas[1..10]: = 1,3,-1,4,0,-4,-4,3,0,-4. Укажите, чему будет равно k после выполнения алгоритма.
n:=10;
m:=mas[1];
k:=5;
for i:=2 to n do
begin
if mas[i]>m then
k:=k+1
else
if mas[i]=m then
k:=k-1
else
begin
m:=mas[i];
k:=1;
end;
end;
№62
Дан массив mas[1..10]: = -2,3,-1,-1,0,-3,-2,-3,0,4. Укажите, чему будет равно k после выполнения алгоритма.
n:=10;
m:=mas[1];
k:=4;
for i:=2 to n do
begin
if mas[i]>m then
k:=k-1
else
if mas[i]=m then
k:=k+1
else
begin
m:=mas[i];
k:=4;
end;
end;
№63
Дан массив mas[1..10]: = -2,-3,-1,-1,4,2,-2,-1,0,4. Укажите, чему будет равно k после выполнения алгоритма.
n:=10;
m:=mas[1];
k:=7;
for i:=2 to n do
begin
if mas[i]<m then
k:=k-1
else
if mas[i]=m then
k:=k+1
else
begin
m:=mas[i];
k:=7;
end;
end;
№64
Какой из перечисленных процессов реализует следующая программа?
const n=5;
var a:array[1..n,1..n] of char; c: char; i,j: integer;
begin
for i:=1 to n do for j:=1 to n do
a[i,j]:=chr(random(255-224)+128);
repeat
c:=a[1,1];
for i:=2 to n do a[i-1,i-1]:=a[i,i];
for i:=n-1 downto 1 do a[i+1,n]:=a[i,n];
for j:=n downto 2 do a[1,j]:=a[1,j-1];
a[1,2]:=c;
until keypressed;
end.
1 заполнение массива русскими буквами и сдвиг элементов по схеме:
2 заполнение массива русскими буквами и сдвиг элементов по схеме:
3 заполнение массива латинскими буквами и сдвиг элементов по схеме:
4 заполнение массива случайными числами и сдвиг элементов по схеме:
5 заполнение массива латинскими буквами и сдвиг элементов по схеме:
№65
Какой из перечисленных процессов реализует следующая программа?
const n=5;
var a:array[1..n,1..n] of char; c: char; i,j: integer;
begin
for i:=1 to n do for j:=1 to n do
a[i,j]:=chr(random(255-224)+128);
repeat
c:=a[5,5];
for i:=n downto 2 do a[i,i]:=a[i-1,i-1];
for j:=2 to n do a[1,j-1]:=a[1,j];
for i:=1 to n-1 do a[i,n]:=a[i+1,n];
a[4,5]:=c;
until keypressed;
end.
1 заполнение массива русскими буквами и сдвиг элементов по схеме:
2 заполнение массива русскими буквами и сдвиг элементов по схеме:
3 заполнение массива латинскими буквами и сдвиг элементов по схеме:
4 заполнение массива случайными числами и сдвиг элементов по схеме:
5 заполнение массива латинскими буквами и сдвиг элементов по схеме:
№66
Какой из перечисленных процессов реализует следующая программа?
const n=5;
var a:array[1..n,1..n] of char; c: char; i,j: integer;
begin
for i:=1 to n do for j:=1 to n do
a[i,j]:=chr(random(255-230)+65);
repeat
c:=a[5,5];
for i:=n downto 2 do a[i,i]:=a[i-1,i-1];
for j:=2 to n do a[1,j-1]:=a[1,j];
for i:=1 to n-1 do a[i,n]:=a[i+1,n];
a[4,5]:=c;
until keypressed;
end.
1 заполнение массива русскими буквами и сдвиг элементов по схеме:
2 заполнение массива русскими буквами и сдвиг элементов по схеме:
3 заполнение массива латинскими буквами и сдвиг элементов по схеме:
4 заполнение массива случайными числами и сдвиг элементов по схеме:
5 заполнение массива латинскими буквами и сдвиг элементов по схеме: