воскресенье, 10 апреля 2016 г.

№0075

В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент одной и той же программы, записанный на разных языках программирования, в котором значения элементов сначала задаются, а затем меняются.
Бейсик
Паскаль
FOR i=0 TO 10
A(i)=i
NEXT i
FOR i=0 TO 10
A(i)=A(10-i)
A(10-i)=A(i)
NEXT i
for i:=0 to 10 do
  A[i]:=i;
for i:=0 to 10 do
begin
  A[i]:=A[10-i];
  A[10-i]:=A[i];
end;
Си
Алгоритмический язык
for (i=0;i<=10;i++)
  A[i]=i;
for (i=0;i<=10;i++)
{
  A[i]=A[10-i];
  A[10-i]=A[i];
}
нц для i от 0 до 10
  A[i]:=i
кц
нц для i от 0 до 10
  A[i]:=A[10-i]
  A[10-i]:=A[i]
кц
Чему будут равны элементы этого массива?
  • 1)
    10 9 8 7 6 5 4 3 2 1 0
  • 2)
    0 1 2 3 4 5 6 7 8 9 10
  • 3)
    0 1 2 3 4 5 4 3 2 1 0
  • 4)
    10 9 8 7 6 5 6 7 8 9 10

№0074

Дан фрагмент программы, обрабатывающей массив A из n элементов (известно, что в массиве имеются положительные элементы):
Бейсик
Паскаль
s = 0
k = 0
FOR i = 1 TO n 
IF A(i) > 0 THEN
s = s + A(i) : k = k + 1
ENDIF
NEXT i
s = s / k
s:=0;
k:=0;
for i:=1 to n do
begin
    if A[i]>0 then
    begin
        s:=s+A[i];
        k:=k+1
    end
end;
s:=s/k;
Си
Алгоритмический язык
s = 0;
k = 0;
for (i = 0; i < n; i + +)
  if (A[i] > 0)
  {
    s = s + A[i];
    k + +;
  }
s = s / k;
s:=0
k:=0
нц для i от 1 до n 
    если A[i]>0 то
        s:=s+A[i]
        k:=k+1
    все
кц
s:=s/k
Чему будет равно значение переменной s после выполнения данного алгоритма?
  • 1)
    Среднему арифметическому всех элементов массива A
  • 2)
    Среднему арифметическому всех положительных элементов массива A
  • 3)
    Количеству положительных элементов в массиве A
  • 4)
    Значению последнего положительного элемента в массиве A

Источник: http://opengia.ru/items/D6CA8B319C39A5DC4D2A6603C134F74B

№0073

В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент одной и той же программы, записанный на разных языках программирования, в котором значения элементов сначала задаются, а затем меняются.
Бейсик
Паскаль
FOR i=0 TO 10
A(i)=i
NEXT i
FOR i=0 TO 10
A(i)=A(10-i)
A(10-i)=A(i)
NEXT i
for i:=0 to 10 do
  A[i]:=i;
for i:=0 to 10 do
begin
  A[i]:=A[10-i];
  A[10-i]:=A[i];
end;
Си
Алгоритмический язык
for (i=0;i<=10;i++)
  A[i]=i;
for (i=0;i<=10;i++)
{
  A[i]=A[10-i];
  A[10-i]=A[i];
}
нц для i от 0 до 10
  A[i]:=i
кц
нц для i от 0 до 10
  A[i]:=A[10-i]
  A[10-i]:=A[i]
кц
Чему будут равны элементы этого массива?
  • 1)
    10 9 8 7 6 5 4 3 2 1 0
  • 2)
    0 1 2 3 4 5 6 7 8 9 10
  • 3)
    0 1 2 3 4 5 4 3 2 1 0
  • 4)
    10 9 8 7 6 5 6 7 8 9 10

Источник: http://opengia.ru/items/D47EA7D08627AFBC489A5C9C1B211F48

№0072

В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, записанный на разных языках программирования.
Бейсик
Паскаль
FOR i = 0 TO 10
  A(i) = i-1
NEXT i
FOR i = 0 TO 9
  A(i) = A(i+1)
NEXT i
A(10) = 10
for i := 0 to 10 do
  A[i] := i-1;
for i := 0 to 9 do
  A[i] := A[i+1];
A[10] := 10;
Си
Алгоритмический язык
for (i = 0; i <= 10; i++)
  A[i] = i-1;
for (i = 0; i <= 9; i++)
  A[i] = A[i+1];
A[10] = 10;
нц для i от 0 до 10
  A[i] := i-1
кц
нц для i от 0 до 9
  A[i] := A[i+1]
кц
A[10] := 10
Чему окажутся равны элементы этого массива после выполнения фрагмента программы?
  • 1)
    9
    9
    9
    9
    9
    9
    9
    9
    9
    9
    10
  • 2)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    10
  • 3)
    –1
    –1
    –1
    –1
    –1
    –1
    –1
    –1
    –1
    –1
    10
  • 4)
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

Источник: http://opengia.ru/items/ea7254649e1be3119859001fc68344c9

№0071

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, делящихся на 4. Если в исходном массиве нет трёхзначного элемента, кратного 4, то вывести сообщение «Не найдено».
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Бейсик
Паскаль
N = 20
DIM A(N) AS INTEGER
DIM I, J, MAX AS INTEGER
FOR I = 1 TO N
    INPUT A(I)
NEXT I
...
END
const
    N = 20;
var
    a: array [1..N] of integer;
    i, j, max: integer;
begin
    for i := 1 to N do
        readln(a[i]);
    ...
end.
Си
Алгоритмический язык
#include <stdio.h>
#define N 20
void main() {
    int a[N];
    int i, j, max;
    for (i = 0; i<N; i++)
        scanf("% d", &a[i]);
...
}
алг
нач
    цел N = 20
    целтаб a[1:N]
    цел i, j, max
    нц для i от 1 до N
        ввод a[i]
    кц
    ...
кон

Естественный язык
Объявляем массив A из 20 элементов.
Объявляем целочисленные переменные I, J, MAX.
В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. 

№0070

Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы:
Бейсик
Паскаль
Алгоритмический
FOR n=1 TO 100
A(n)=n-10
NEXT n
FOR n=1 TO 100
B(n)=A(n)*n 
NEXT n
for n:=1 to 100 do
  A[n]:=n-10;
for n:=1 to 100 do
  B[n]:=A[n]*n
нц для n от 1 до 100
  A[n]=n-10
кц
нц для n от 1 до 100
  B[n]=A[n]*n
кц
Сколько элементов массива B будут иметь положительные значения?
  • 1)
    10
  • 2)
    50
  • 3)
    90
  • 4)
    100

Источник: http://opengia.ru/items/925A046F26A9B3C54520D3AF585D4E7E

№0069

В программе описаны одномерный целочисленный массив A с индексами от 0 до 9 и целочисленные переменные i и t. Ниже представлен фрагмент этой программы, записанный на разных языках программирования.
Бейсик
Паскаль
FOR i = 0 TO 9
  A(i) = i+1
NEXT i
t = A(9)
FOR i = 8 TO 0 STEP -1
  A(i+1) = A(i)
NEXT i
A(0) = t
for i := 0 to 9 do
  A[i] := i+1;
t := A[9];
for i := 8 downto 0 do
  A[i+1] := A[i];
A[0] := t;
Си
Алгоритмический
for (i = 0; i <= 9; i++)
  A[i] = i+1;
t = A[9];
for (i = 8; i >= 0; i--)
  A[i+1] = A[i];
A[0] = t;
нц для i от 0 до 9
  A[i] := i+1
кц
t := A[9]
нц для i от 8 до 0 шаг -1
  A[i+1] := A[i]
кц
A[0] := t
Чему окажутся равны элементы этого массива после выполнения фрагмента программы?
  • 1)
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
  • 2)
    10
    1
    1
    1
    1
    1
    1
    1
    1
    1
  • 3)
    10
    1
    2
    3
    4
    5
    6
    7
    8
    9
  • 4)
    10
    3
    4
    5
    6
    7
    8
    9
    10
    10

Источник: http://opengia.ru/items/88f5ae6b9e1be3119859001fc68344c9

№0075

В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент одной и той же программы, записанн...