Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка-v-3-0-0.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

2. Алгоритмизация и программирование

2.1. Схемы алгоритмов и вычисление значений

№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 на выходе из фрагмента алгоритма?

а)

б)

в)

г)

2.2. Алгоритмы на различных языках программирования. Заполнение массивов

№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 столбцов.

2

3

4

5

6

3

4

5

6

7

4

5

6

7

8

5

6

7

8

9

Укажите, как выражаются ее элементы А(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 столбцов.

1

2

3

4

5

2

2

3

4

5

3

3

3

4

5

4

4

4

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 столбцов.

1

2

3

4

5

0

2

3

4

5

0

0

3

4

5

0

0

0

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 заполнение массива латинскими буквами и сдвиг элементов по схеме: