В начало страницы

Тема Д25 C2

Учитываемые варианты

Различие заданий

(Подсказка: для перехода к заданию нажмите на его название или на его линию.)

Максимальное допустимое различие в подтеме: 0.65. Выбрать другое: 0.35, 0.5.

Подтема 1

Задание 1.1 (ДЕМО-2015, №7452)

Варианты

Текст задания

В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 6; 9; 7; 2; 1; 5; 0; 3; 4; 8 соответственно, т. е. A[0] = 6; A[1] = 9 и т. д. Определите значение переменной c после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.

 

БейсикPython

c = 0

FOR i = 1 TO 9

IF A(i - 1) < A(i) THEN

c = c + 1

t = A(i)

A(i) = A(i - 1)

A(i - 1) = t

ENDIF

NEXT i

c = 0

for i in range(1, 10):

if A[i - 1] < A[i]:

c = c + 1

t = A[i]

A[i] = A[i - 1]

A[i - 1] = t

ПаскальАлгоритмический язык

c := 0;

for i := 1 to 9 do

if A[i - 1] < A[i] then

begin

c := c + 1;

t := A[i];

A[i] := A[i - 1];

A[i - 1] := t

end;

c := 0

нц для i от 1 до 9

если A[i - 1] < A[i] то

c := с + 1

t := A[i]

A[i] := A[i - 1]

A[i - 1] := t

все

кц

Си

#include

c = 0;

for (i = 1; i <= 9; i++)

if (A[i - 1] < A[i]) {

c++;

t = A[i];

A[i] = A[i - 1];

A[i - 1] = t;

}

 

Подтема 2

Задание 2.1 (ОСН-2016, №11321)

Варианты

Текст задания ( )

Дан массив из 2000 элементов. Хорошей парой называется пара элементов, из которых оба оканчиваются на 9, при этом элементы являются соседями. Посчитайте количество хороших пар. Каждый элемент по модулю не превышает 30 000. В ответе укажите кусок программы на месте многоточия. Разрешено не использовать некоторые из инициализированных переменных, но запрещено пользоваться переменными, не указанными ниже.

 

 

БейсикPython

CONST N = 2000

DIM A (1 TO N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

END

// допускается также использовать

// две целочисленные переменные

// j и k

a = []

n = 2000

for i in range(0, n):

a.append(int(input()))

ПаскальАлгоритмический язык

const

N = 2000;

var

a: array [1..N] of

integer;

i, j, k: integer;

begin

for i := 1 to N do

readln(a[i]);

end.

алг

нач

цел N = 2000

целтаб a[1:N]

цел i, j, k

нц для i от 1 до N

ввод a[i]

кц

кон

Си++

#include

#define N 2000

int main() {

int a[N];

int i, j, k;

for (i = 0; i < N; i++)

cin >> a[i];

return 0;

}

 

Задание 2.2 (ДОСР-2018, №15641)

Варианты

Текст задания ( )

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, который находит количество элементов массива, меньших 100, не делящихся на 3 без остатка, после чего заменяет в массиве соответствующие значения на найденное количество. После чего выводит полученный массив на экран.

 

 

БейсикPython

CONST N = 40

DIM A (1 TO N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

     INPUT A(I)

NEXT I

     END

# допускается также

# использовать две

# целочисленные

# переменные j, k

a = []

n = 40

for i in range(n):

     a.append(int(input()))

...

ПаскальАлгоритмический язык

const n = 40;

var

    a: array [0..n-1] of integer;

     i, j, k: integer;

begin

    for i := 0 to n-1 do

        readln(a[i]);

     ...

end.

алг

нач

цел N = 40

целтаб а[1:N-1]

цел i, j, k

нц для i от 1 до N-1

ввод a[i]

кц

...

кон

Си++

#include <iostream>

using namespace std;

#define n 40

     int main() {

     int a[n]; int i, j, k;

     for (i = 0; i < n; i++) std::cin >> a[i];

    ...

     return 0;

}

 

Задание 2.3 (ОСН-2020, №26968)

Варианты

Текст задания ( )

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать положительные целые значения до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму четных элементов массива, больших 150, а затем меняет все такие элементы массива на полученную сумму.

В качестве результата программа должна вывести измененный массив, по одному элементу в каждой строке.

 

 

БейсикPython

CONST N=30

DIM A(N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# допускается также

#использование #целочисленных

# переменных m, k

a = []

N = 30

for i in range(0, N):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N=30;

var

    a: array [1..N] of integer;

    i, j, k: integer;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=30

    целтаб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    …

кон

Си++

#include <iostream>

using namespace std;

const int N = 30;

int main(){

    int a[N];

    int i, j, k;

    for (i=0; i < N; i++)

        cin >> a[i];

    …

    return 0;

}

 

Задание 2.4 (ДЕМО-2015, №7470)

Варианты

Текст задания ( )

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, сумма которых нечётна и положительна. Под парой подразумевается два подряд идущих элемента массива. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

 

БейсикPython

N = 20

DIM A(N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

...

END

N = 20

i = None

j = None

k = None

a = [int(input()) for i in range(N)]

...

ПаскальАлгоритмический язык

const

N = 20;

var

a: array [1..N] of integer;

i, j, k: integer;

begin

for i := 1 to N do

readln(a[i]);

...

end.

алг

нач

цел N = 20

цел таб a[1:N]

цел i, j, k

нц для i от 1 до N

ввод a[i]

кц

...

кон

Си++Естественный язык

#include <iostream>

using namespace std;

int main(void)

{

const int N = 20;

int a[N];

int i, j, k;

for (i = 0; i < N; i++)

cin >> a[i];

...

}

Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I,

J, K.

В цикле от 1 до 20 вводим элементы

массива A с 1-го по 20-й.

...

 

Задание 2.5 (ДОСР-2015, №8113)

Варианты

Текст задания ( )

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм,

позволяющий найти и вывести количество пар элементов массива, в которых оба числа делятся на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива.

Например, для массива из пяти элементов: 6; 2; 9; –3; 6 – ответ: 2.

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

 

 

БейсикПаскаль

CONST N AS INTEGER = 20

DIM A (1 TO N) AS INTEGER

DIM I AS INTEGER,

    J AS INTEGER,

    K 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, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

 

end.

Си++Алгоритмический язык

#include <iostream>

using namespace std;

#define N 20

    int main() {

    int a[N];

    int i, j, k;

    for (i = 0; i < N; i++)

        cin >> a[i];

    ...

    return 0;

}

алг

нач

    цел N = 20

    целтаб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

 

кон

PythonЕстественный язык

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 20

for i in range(0, n):

    a.append(int(input()))

...

Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.

 

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке

программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Задание 2.6 (ДОСР-2017, №13371)

Варианты

Текст задания ( )

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых оба числа являются чётными. В данной задаче под парой подразумевается два подряд идущих элемента массива.

Например, для массива из пяти элементов: 6; 1; 4; 6; 10 – ответ: 2. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

БейсикPython

CONST N AS INTEGER = 20

DIM A (1 TO N) AS INTEGER

DIM I AS INTEGER,

    J AS INTEGER,

    K AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 20

for i in range(0, n):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N = 20;

var

    a: array [1..N] of integer;

    i, j, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 20

    целтаб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

кон

Си++Естественный язык

#include <iostream>

using namespace std;

#define N 20

int main() {

    int a[N];

    int i, j, k;

    for (i = 0; i < N; i++)

        cin >> a[i];

    ... return 0;

}

Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 20 вводим элементы массива A

с 1-го по 20-й.

 

 

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Задание 2.7 (ДЕМО-2016, №9376)

Варианты

Текст задания ( )

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 6; 2; 9; –3; 6 – ответ: 4.

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

 

БейсикPython

CONST N AS INTEGER = 20

DIM A (1 TO N) AS INTEGER

DIM I AS INTEGER,

       J AS INTEGER,

       K AS INTEGER

 

FOR I = 1 TO N

INPUT A(I)

NEXT I

...

END

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 20

for i in range(0, n):

    a.append(int(input()))

...

ПаскальАлгоритмический язык

const

    N = 20;

var

    a: array [1..N] of integer;

    i, j, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 20

    целтаб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

кон

Си++Естественный язык

#include <iostream>

using namespace std;

#define N 20

int main() {

    int a[N];

    int i, j, k;

    for (i = 0; i < N; i++)

        cin >> a[i];

    ...

    return 0;

}

Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.

 

 

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Задание 2.8 (ДЕМО-2017, №11361)

Варианты

Текст задания ( )

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 2. В данной задаче под парой подразумевается два подряд идущих элемента массива.

Например, для массива из пяти элементов: 16 3 142 55 22 – ответ: 3.

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

БейсикPython

CONST N = 40

DIM A (1 TO N) AS INTEGER

DIM I, J, K, AS INTEGER

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

#допускается также использовать

#две целочисленные переменные j и k

a = []

n = 40

for i in range(0, n):

a.append(int(input()))

...

ПаскальАлгоритмический язык

const

    N = 40;

var

    a: array [1..N] of integer;

    i, j, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 40

    целтаб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

 

кон

Си++Естественный язык

#include <iostream>

using namespace std;

#define N 40

int main() {

    int a[N];

    int i, j, k;

    for (i = 0; i < N; i++)

        cin >> a[i];

    ...

    return 0;

}

Объявляем массив A из 40 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 40 вводим элементы массива A с 1-го по 40-й.

 

 

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Задание 2.9 (ДОСР-2016, №11126)

Варианты

Текст задания ( )

Дан целочисленный массив из 50 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых оба числа двузначные. В данной задаче под парой подразумевается два подряд идущих элемента массива.

Например, для массива из пяти элементов: 16 2 14 91 21 — ответ: 2. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

 

БейсикPython

CONST N = 50

DIM A (1 TO N) AS INTEGER

DIM I, J, K, AS INTEGER

FOR I = 1 TO N

  INPUT A(I)

NEXT I

...

END

//допускается также использовать

//две целочисленные переменные j и k

a = []

n = 50

for i in range(0, n):

  a.append(int(input()))

...

Алгоритмический языкПаскаль

алг

нач

  цел N = 50

  целтаб a[1:N]

  цел i, j, k

  нц для i от 1 до N

    ввод a[i]

  кц

  ...

кон

const

    N = 50;

var

    a: array [1..N] of integer;

    i, j, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

Си++Естественный язык

#include <iostream>

using namespace std;

#define N 50

int main() {

    int a[N];

    int i, j, k;

    for (i = 0; i<N; i++)

        cin >> a[i];

    ...

    return 0;

}

Объявляем массив A из 50 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 50 вводим элементы массива A с 1-го по 50-й.

 

 

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Задание 2.10 (ДОСР-2018, №15865)

Варианты

Текст задания ( )

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму элементов массива, меньших 200 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденной сумме. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из шести элементов:

204

115

27

20

305

4

программа должна вывести следующий массив:

204

135

27

135

305

4

 

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

БейсикPython

CONST N AS INTEGER = 30

DIM A (1 TO N) AS LONG

DIM I, J, K AS LONG

FOR I = 1 TO N

     INPUT A(I)

NEXT I

END

# допускается также

# использовать две

# целочисленные

# переменные j, k

a = []

n = 30

for i in range(0, n):

     a.append(int(input()))

...

ПаскальАлгоритмический язык

const n = 30;

var

    a: array [1..n] of longint;

     i, j, k: longint;

begin

    for i := 1 to n do

        readln(a[i]);

     ...

end.

алг

нач

    цел N = 30

    целтаб а[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

кон

Си++

#include <iostream>

using namespace std;

const int n = 30;

int main() {

    int a[n];

    int i, j, k;

    for (i = 0; i < n; i++)

        std::cin >> a[i];

    ...

     return 0;

}

 

 

качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).

Задание 2.11 (ДОСР-2019, №18453)

Варианты

Текст задания ( )

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, не меньших 1002 и при этом кратных 3, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

 

Например, для исходного массива из шести элементов:

4

1104

74

1005

6

1006

программа должна вывести следующий массив:

4

2

74

2

6

1006

 

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

 

 

БейсикPython

CONST N AS INTEGER = 30

DIM A (1 TO N) AS LONG

DIM I AS LONG,

    J AS LONG,

    K AS LONG

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N=30;

var

    a: array [1..N] of longint;

    i, j, k: longint;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=30

    целтаб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    …

кон

С++

#include <iostream>

using namespace std;

const int N=30;

    int main(){

    int a[N];

    int i, j, k;

    for (i=0; i < N; i++)

        cin >> a[i];

    …

    return 0;

}

 

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).

Задание 2.12 (ДЕМО-2020, №16052)

Варианты

Текст задания ( )

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит минимум среди элементов массива, не делящихся нацело на 6, а затем заменяет каждый элемент, не делящийся нацело на 6, на число, равное найденному минимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

Например, для исходного массива из шести элементов:

14

6

11

18

9

24

программа должна вывести следующий массив:

9

6

9

18

9

24

 

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

 

БейсикPython

CONST N AS INTEGER = 30

DIM A (1 TO N) AS LONG

DIM I AS LONG,

    J AS LONG,

    K AS LONG

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

...

ПаскальАлгоритмический язык

const

N = 30;

var

a: array [1..N] of longint;

i, j, k: longint;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 30

    цел таб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

 

кон

Си++

#include <iostream>

using namespace std;

const int N = 30;

int main() {

long a[N];

long i, j, k;

    for (i = 0; i<N; i++)

    cin >> a[i];

    ...

    return 0;

}

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).

Задание 2.13 (ДОСР-2020, №23923)

Варианты

Текст задания ( )

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

Например, для исходного массива из шести элементов:

141

256

92

148

511

4

программа должна вывести следующий массив:

2

256

92

148

2

4

 

Исходные данные объявлены так, как показано ниже на примерах для пяти языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

 

БейсикPython

CONST N AS INTEGER = 30

DIM A (1 TO N) AS LONG

DIM I AS LONG,

    J AS LONG,

    K AS LONG

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

...

ПаскальАлгоритмический язык

const

N = 30;

var

a: array [1..N] of longint;

i, j, k: longint;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 30

    цел таб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

 

кон

Си++

#include <iostream>

using namespace std;

const int N = 30;

int main() {

long a[N];

long i, j, k;

    for (i = 0; i<N; i++)

    cin >> a[i];

    ...

    return 0;

}

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).

Задание 2.14 (ДЕМО-2018, №13752)

Варианты

Текст задания ( )

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки.

Например, для массива из шести элементов: 4 115 7 195 25 106 программа должна вывести числа 4 2 7 2 25 106

 

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

 

БейсикPython

CONST N AS INTEGER = 30

DIM A (1 TO N) AS LONG

DIM I AS LONG,

    J AS LONG,

    K AS LONG

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

...

ПаскальАлгоритмический язык

const

N = 30;

var

a: array [1..N] of longint;

i, j, k: longint;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 30

    цел таб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

 

кон

Си++

#include <iostream>

using namespace std;

const int N = 30;

int main() {

long a[N];

long i, j, k;

    for (i = 0; i<N; i++)

    cin >> a[i];

    ...

    return 0;

}

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).

Задание 2.15 (ДОСР-2020, №25855)

Варианты

Текст задания ( )

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденной сумме. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из шести элементов:

101

128

6

105

4

18

программа должна вывести следующий массив:

206

128

6

206

4

18

Исходные данные объявлены так, как показано ниже на примерах для пяти языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

БейсикPython

CONST N AS INTEGER = 30

DIM A (1 TO N) AS LONG

DIM I AS LONG,

    J AS LONG,

    K AS LONG

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N=30;

var

    a: array [1..N] of longint;

    i, j, k: longint;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=30

    целтаб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    …

кон

С++

#include <iostream>

using namespace std;

const int N=30;

    int main(){

    int a[N];

    int i, j, k;

    for (i=0; i < N; i++)

        cin >> a[i];

    …

    return 0;

}

 

 

Задание 2.16 (ОСН-2020, №26997)

Варианты

Текст задания ( )

Дан массив, содержащий 2020 целых чисел, от −10000 до 10000. Необходимо найти наибольший кратный 4 элемент этого массива. После чего в массиве изменить все элементы кратные 4 на это значение и вывести массив.

Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов 112 4 27 95 148 программа должна вывести числа 148 148 27 95 148 по одному числу в строке. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

БейсикPython

CONST N=2020

DIM A(N) AS INTEGER

DIM I, M, K AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# допускается также

#использование #целочисленных

# переменных m, k

a = []

N = 2020

for i in range(0, N):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N=2020;

var

    a: array [1..N] of integer;

    i, m, k: integer;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=2020

    целтаб a[1:N]

    цел i, m, k

    нц для i от 1 до N

        ввод a[i]

    кц

    …

кон

Си++

#include <iostream>

using namespace std;

const int N = 2020;

int main(){

    int a[N];

    int i, m, k;

    for (i=0; i < N; i++)

        cin >> a[i];

    …

    return 0;

}

 

 

В качестве ответа необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и версию языка программирования). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.

Задание 2.17 (ОСН-2019, №18831)

Варианты

Текст задания ( )

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения, по абсолютной величине не превышающих 10 000. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, оканчивающихся на 4, а затем меняет такие элементы массива на полученное количество. Изменённый массив выводится на экран.

Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов 112 4 27 95 148 программа должна вывести числа 112 1 27 95 148 по одному числу в строке (все элементы, оканчивающиеся на 4, были заменены на количество таких элементов).

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

 

 

БейсикPython

CONST N=30

DIM A(1 TO N) AS LONG

DIM I, K, M AS LONG

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# кроме уже указанных

# допускается использование

# целочисленных переменных

# k, m

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N=30;

var

    a: array [1..N] of longint;

    i, k, m: longint;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=30

    целтаб a[1:N]

    цел i, k, m

    нц для i от 1 до N

        ввод a[i]

    кц

    …

кон

С++

#include <iostream>

using namespace std;

const int N=30;

    int main(){

    int a[N];

    int i, j, k;

    for (i=0; i<N; ++i)

        cin >> a[i];

    …

    return 0;

}

 

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.

Задание 2.18 (ОСН-2019, №18804)

Варианты

Текст задания ( )

Дан массив, содержащий 2019 положительных целых чисел, элементы массива могут принимать значения не превышающие 30 000. Необходимо найти наименьший кратный 4 элемент этого массива. После этого изменить элементы массива кратные 4 на найденное значение и вывести изменённый массив на экран.

Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов 112 4 27 95 148 программа должна вывести числа 4 4 27 95 4 по одному числу в строке (все элементы кратные 4 были приравнены минимальному из них).

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

 

 

БейсикPython

CONST N=2019

DIM A(1 TO N) AS LONG

DIM I, K, M AS LONG

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# кроме уже указанных

# допускается использование

# целочисленных переменных

# k, m

a = []

n = 2019

for i in range(0, n):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N=2019;

var

    a: array [1..N] of longint;

    i, k, m: longint;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=2019

    целтаб a[1:N]

    цел i, k, m

    нц для i от 1 до N

        ввод a[i]

    кц

    …

кон

С++

#include <iostream>

using namespace std;

const int N=2019;

    int main(){

    int a[N];

    int i, j, k;

    for (i=0; i<N; ++i)

        cin >> a[i];

    …

    return 0;

}

 

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.

Задание 2.19 (ОСН-2019, №18727)

Варианты

Текст задания ( )

Дан массив, содержащий 2018 положительных целых чисел, элементы массива могут принимать значения не превышающие 30 000. Необходимо найти количество элементов этого массива, меньших 100 и кратных 5. После этого изменить элементы массива меньшие 100 и кратные 5 на найденное количество и вывести изменённый массив на экран.

Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов 112 87 27 95 38 программа должна вывести числа 112 87 27 1 38 по одному числу в строке (все элементы кратные 5 и меньшие 100 были приравнены количеству таких элементов в исходном массиве).

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

 

 

БейсикPython

CONST N=2018

DIM A(1 TO N) AS LONG

DIM I, K, M AS LONG

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# кроме уже указанных

# допускается использование

# целочисленных переменных

# k, m

a = []

n = 2018

for i in range(0, n):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N=2018;

var

    a: array [1..N] of longint;

    i, k, m: longint;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=2018

    целтаб a[1:N]

    цел i, k, m

    нц для i от 1 до N

        ввод a[i]

    кц

    …

кон

С++

#include <iostream>

using namespace std;

const int N=2018;

    int main(){

    int a[N];

    int i, j, k;

    for (i=0; i<N; ++i)

        cin >> a[i];

    …

    return 0;

}

 

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.

Задание 2.20 (ОСН-2018, №15993)

Варианты

Текст задания ( )

Дан массив, содержащий 30 целых чисел, элементы массива могут принимать значения от −10 000 до 10 000 включительно. Необходимо найти минимальный элемент массива кратный 5, а затем заменить каждый элемент массива кратный 5 на найденный минимальный элемент. Гарантируется, что хотя бы один элемент кратный 5 в массиве есть.

Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 6 элементов 204 115 27 20 305 4 программа должна вывести числа 204 20 27 20 20 4 по одному числу в строке (все элементы кратные 5 были приравнены минимальному из них).

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

 

 

БейсикPython

CONST N=30

DIM A(1 TO N) AS LONG

DIM I, J, K AS LONG

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# кроме уже указанных

# допускается использование

# целочисленных переменных

# j, k

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N=30;

var

    a: array [1..N] of longint;

    i, j, k: longint;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=30

    целтаб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    …

кон

С++

#include <iostream>

using namespace std;

const int N=30;

    int main(){

    int a[N];

    int i, j, k;

    for (i=0; i<N; ++i)

        cin >> a[i];

    …

    return 0;

}

 

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.

Задание 2.21 (ДОСР-2019, №18094)

Варианты

Текст задания ( )

Дан массив, содержащий 70 положительных целых чисел. Необходимо найти сумму чисел не меньших 49 и кратных 7. Далее алгоритм должен заменить такие значения на найденную сумму и вывести измененный массив на экран (по одному элементу в строке).

Напишите на одном из языков программирования программу для решения этой задачи.

Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

 

БейсикPython

CONST N=70

DIM A(N) AS INTEGER

DIM I, J, X AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# кроме уже указанных

# допускается использование

# целочисленных переменных

# j, x

a = []

n = 70

for i in range(0, n):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N=70;

var

    a: array [1..N] of integer;

    i, j, x: integer;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=70

    целтаб a[1:N]

    цел i, j, x

    нц для i от 1 до N

        ввод a[i]

    кц

    …

кон

С++

#include <iostream>

using namespace std;

const int N=70;

    int main(){

    int a[N];

    int i, j, x;

    for (i=0; i<N; ++i)

        cin >> a[i];

    …

    return 0;

}

 

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.

Подтема 3

Задание 3.1 (ОСН-2016, №11334)

Варианты

Текст задания ( )

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись обеих чисел оканчивается на 6.

Под парами понимайте два смежных, соседних элемента массива.

Подтема 4

Задание 4.1 (ОСН-2016, №11330)

Варианты

Текст задания ( )

Дается последовательность чисел. Нужно определить, сколько есть пар чисел, в которых есть хотя бы одно число, оканчивающееся на "3".

 

В данной задаче под парой подразумевается два подряд идущих элемента массива.

Подтема 5

Задание 5.1 (ОСН-2016, №11325)

Варианты

Текст задания ( )

Дан массив. Необходимо найти количество соседних пар элементов таких, что оба числа из пары делятся нацело на 4. Объявлены переменные N, k, i, массив а из N элементов.