1. В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 5; 1; 6; 7; 8; 8; 7; 7; 6; 9 соответственно, т.е. A[0] = 5; A[1] = 1 и т.д. Определите значение переменной c после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.
Бейсик | Cи |
c = 0
FOR i = 1 TO 9
IF A(i - 1) >= A(i) THEN
t = A(i)
A(i) = A(i - 1)
A(i - 1) = t
ELSE
c = c + 1
ENDIF
NEXT i
|
c = 0;
for (i = 1; i <= 9; i++)
if (A[i-1] >= A[i])
{
t = A[i];
A[i] = A[i - 1];
A[i - 1] = t;
}
else
c++;
|
Паскаль | Алгоритмический язык |
c := 0;
for i := 1 to 9 do
if A[i - 1] >= A[i] then
begin
t := A[i];
A[i] := A[i - 1];
A[i - 1] := t
end
else
c := c + 1;
|
c := 0
нц для i от 1 до 9
если A[i - 1] >= A[i] то
t := A[i]
A[i] := A[i - 1]
A[i - 1] := t
иначе
c := c + 1
все
кц
|
Введите ответ:
2. Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы:
Бейсик | Cи |
FOR n = 1 TO 5 FOR k = 1 TO 5 B(n,k) = n + k NEXT k NEXT n |
for (i = 1; i <= 5; i++)
for (j = 1; j <= 5; j++)
B[n][k] = n + k;
|
Паскаль | Алгоритмический язык |
for n:=1 to 5 do
for k:=1 to 5 do
B[n,k] := n+k;
| нц для n от 1 до 5 нц для k от 1 до 5 B[n, k] := n + k кц кц |
Чему будет равно значение B[2,4]?
9
8
7
6
3. В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив:
Бейсик | Cи |
s = 0
n = 10
FOR i = 1 TO n
s = s + A(i) - A(i-1)
NEXT i
|
s = 0; n = 10;
for (i = 1; i <= n; i++)
s += A[i] - A[i - 1];
|
Паскаль | Алгоритмический язык |
s := 0; n := 10 ; for i := 1 to n do s := s + A[i] - A[i-1]; |
s := 0
n := 10
нц для i от 1 до n
s := s+ A[i] - A[i-1]
кц
|
В начале выполнения этого фрагмента в массиве находились числа 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, т.е. А[0]=0, А[1]=10 и т.д. Чему будет равно значение переменной s после выполнения данной программы?
10
50
100
110
4. Дан фрагмент программы, обрабатывающий двухмерный массив A размером n x n.
Бейсик | Cи |
FOR i = 1 TO n-1
FOR j = i+1 TO n
IF A(i,1) < A(j,1) THEN
k = A(i,1)
A(i,1) = A(j,1)
A(j,1) = k
END IF
NEXT j
NEXT i
|
for (i = 1; i <= n-1; i++)
for (j = i+1; j <= n; j++)
if (A[i][1] < A[j][1])
{
k = A[i][1];
A[i][1] = A[j][1];
A[j][1] = k;
}
|
Паскаль | Алгоритмический язык |
for i:=1 to n-1 do
for j:= i+1 to n do
if A[i,1] < A[j,1] then begin
k := A[i,1];
A[i,1] := A[j,1];
A[j,1] := k;
end;
|
нц для i от 1 до n-1
нц для j от i+1 до n
если A[i, 1] < A[j, 1]
то
k := A[i, 1]
A[i, 1] := A[j, 1]
A[j, 1] := k
все
кц
кц
|
В этом фрагменте:
упорядочивается первая строка массива по убыванию
упорядочивается первый столбец массива по убыванию
заменяются элементы k-ого столбца таблицы
заменяются элементы k-ой строки таблицы
5. В программе описан одномерный целочисленный массив A с индексами от 1 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
Бейсик | Cи |
FOR i = 1 TO 10 A(i) = 5 * i NEXT i FOR i = 1 TO 10 k = A(i) - 2 A(10 - i + 1) = k
NEXT i | for (i = 1; i <= 10;i++) A[i] = 5*i; for (i = 1; i <= 10;i++)
{ k = A[i] - 2; A[10 - i + 1] = k; } |
Паскаль | Алгоритмический язык |
for i := 1 to 10 do
A[i] := 5 * i;
for i := 1 to 10 do begin
k := A[i] - 2;
A[10 - i + 1] := k;
end;
|
нц для i от 1 до 10
A[i] := 5 * i
кц
нц для i от 1 до 10
k := A[i] - 2
A[10 - i + 1] := k
кц
|
Чему будут равны элементы этого массива?
1 6 11 16 21 23 18 13 8 3
3 8 13 18 23 28 33 38 43 48
48 43 38 33 28 23 18 13 8 3
1 6 11 16 21 26 31 36 41 46
1. В таблице Dat хранятся данные измерений среднесуточной температуры за 10 дней в градусах (Dat[1] — данные за первый день, Dat[2] — за второй и т. д.). Определите, какое число будет напечатано в результате работы следующей программы:
алг
нач
целтаб Dat[1:10]
цел к, m
Dat[1] := 12
Dat[2] := 15
Dat[3] := 17
Dat[4] := 15
Dat[5] := 14
Dat[6] := 12
Dat[7] := 10
Dat[8] := 13
Dat[9] := 14
Dat[10] := 15
m := 0
нц для к от 1 до 10
если Dat[к]=15 то
m : = m+1
все
кц
вывод m
кон
Введите ответ:
2. В таблице Dat представлены данные о количестве голосов, поданных за 10 исполнителей народных песен (Dat[1] — количество голосов, поданных за первого исполнителя, Dat[2] — за второго и т. д.). Определите, какое число будет напечатано в результате работы следующей программы:
алг
нач
целтаб Dat[1:10]
цел к, m
Dat[1] := 56
Dat[2] := 70
Dat[3] := 20
Dat[4] := 41
Dat[5] := 14
Dat[6] := 22
Dat[7] := 30
Dat[8] := 12
Dat[9] := 65
Dat[10] := 35
m := 0
нц для к от 1 до 10
если Dat[к] < 35 то
m : = m+1
все
кц
вывод m
кон
Введите ответ:
3. В таблице Dat хранятся данные о количестве сделанных заданий учениками (Dat[1] заданий сделал первый ученик, Dat[2] — второй и т. д.). Определите, какое число будет напечатано в результате работы следующей программы:
алг
нач
целтаб Dat[1:10]
цел к, m, n
Dat[1] := 7
Dat[2] := 9
Dat[3] := 10
Dat[4] := 5
Dat[5] := 6
Dat[6] := 7
Dat[7] := 9
Dat[8] := 8
Dat[9] := 6
Dat[10] := 9
m := 10; n: = 0
нц для к от 1 до 10
если Dat[к] < m то
m := Dat[к]
n := к
все
кц
вывод n
кон
Введите ответ:
4.
В таблице Dat хранятся оценки (по десятибалльной шкале)
студента по программированию за 8 прошедших с начала
учёбы семестров (Dat[1] — оценка за первый семестр, Dat[2] —
за второй и т. д.). Определите, что будет напечатано в
результате выполнения следующего алгоритма:
алг
нач
целтаб Dat[1:10]
цел к, m, term
Dat[1] := 7
Dat[2] := 7
Dat[3] := 6
Dat[4] := 8
Dat[5] := 4
Dat[6] := 5
Dat[7] := 4
Dat[8] := 7
term:=1 m := Dat[1;]
нц для к от 2 до 8
если Dat[к] < m то
m := Dat[k]
term := k
все
кц
вывод term
кон
Введите ответ:
5. В таблице Dat хранятся данные о количестве
краткосрочных командировок, в которые приходилось
ездить сотруднику за последний год (Dat[1] — количество
командировок в январе, Dat[2] — количество командировок
в феврале и т. д.). Определите, что будет напечатано
в результате выполнения следующего алгоритма:
алг
нач
целтаб Dat[1:12]
цел к, m, month
Dat[1] := 5
Dat[2] := 5
Dat[3] := 6
Dat[4] := 8
Dat[5] := 4
Dat[6] := 5
Dat[7] := 4
Dat[8] := 7
Dat[9] := 4
Dat[10] := 4
Dat[11] := 8
Dat[12] := 7
month:=1; m := Dat[1]
нц для к от 2 до 12
если Dat[к] <= m то
m:= Dat[k];
month := k
все
кц
вывод month
кон
Введите ответ:
Комментариев нет:
Отправить комментарий