ЕГЭ, вопрос 17: П. Умение создавать собственные программы (20–40 строк) для обработки целочисленной информации
Проверяемые элементы содержания по спецификации (2019): Умение составить алгоритм и записать его в виде простой программы (10–15 строк) на языке программирования.
Кодификатор 1.7.2/1.1.5. Уровень сложности П, 1 балл (был П, 2 балла).
Время выполнения — 15 мин. (было 30 мин.).
Задания
Демо 2021 ().
Демо 2020 (25). Дублирует задание 2019 года.
Демо 2019 (25). Дан целочисленный массив из 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()))
...
Алгоритмический язык
Паскаль
алг
нач
цел N = 30
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
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.
Си++
#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).
В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).
Демо 2018 (25). Дан целочисленный массив из 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()))
...
Алгоритмический язык
Паскаль
алг
нач
цел N = 30
цел таб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
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.
Си++
#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). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце,
записанном на Алгоритмическом языке).
D2018 (25). Дан целочисленный массив из 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 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()))
...
Алгоритмический язык
Паскаль
алг
нач
цел N = 30
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
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.
Си++
#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). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие
были предложены в условии (например, в образце, записанном на Алгоритмическом языке).
R2018 (25). Дан целочисленный массив из 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()))
...
Си++
Паскаль
#include <iostream> #define n 40
int main() {
int a[n];
int i, j, k;
for (i = 0; i < n; i++)
std::cin >> a[i];
... return 0; }
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.
Демо 2017 (25). Дан целочисленный массив из 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()))
...
Алгоритмический язык
Паскаль
алг
нач
цел N = 40
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
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.
Си
Естественный язык
#include <stdio.h>
#define N 40
int main() {
int a[N];
int i, j, k;
for (i = 0; i < N; i++)
scanf("%d", &a[i]);
...
return 0;
}
Объявляем массив A из 40 элементов.
Объявляем целочисленные переменные I, J, K.
В цикле от 1 до 40 вводим элементы массива A с 1-го по 40-й.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на
месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка
программирования, например, Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и
переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Демо 2016 (25). Дан целочисленный массив из 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()))
...
Алгоритмический язык
Паскаль
алг
нач
цел N = 20
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
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 <stdio.h>
#define N 20
int main() {
int a[N];
int i, j, k;
for (i = 0; i<N; i++)
scanf("%d", &a[i]);
...
return 0;
}
Объявляем массив A из 20 элементов.
Объявляем целочисленные переменные I, J, K.
В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.
…
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также
на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать
те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Демо 2015 (25). Дан целочисленный массив из 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)]
...
Алгоритмический язык
Паскаль
алг
нач
цел N = 20
цел таб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
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 <stdio.h>
int main(void)
{
const int N = 20;
int a[N];
int i, j, k;
for (i = 0; i < N; i++)
scanf("%d", &a[i]);
...
}
Объявляем массив A из 20 элементов.
Объявляем целочисленные переменные I, J, K.
В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.
...
Демо 2014 (C2). Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования
алгоритм, позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на 9. Если в исходном массиве нет элемента, значение которого является трёхзначным числом
и при этом не кратно 9, то выведите сообщение «Не найдено».
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается
использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Бейсик
Паскаль
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-й.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение
также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать
те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Демо 2013 (C2).
Паскаль
Алгоритмический язык
const
N=30;
var
a: array [1..N] of longint;
i, j, p: longint;
begin
for i := 1 to N do
readln(a[i]);
…
end.
алг
нач
цел N=30
целтаб a[1:N]
цел i, j, p
нц для i от 1 до N
ввод a[i]
кц
...
кон
Бейсик
Си
N=30
DIM A(N) AS LONG
DIM I, J, P AS LONG
FOR I = 1 TO N
INPUT A(I)
NEXT I
…
END
#include <stdio.h>
#define N 30
void main(void){
long a[N];
long i, j, p;
for (i=0; i<N; i++)
scanf("%ld", &a[i]);
…
}
Русский (естественный язык)
Объявляем массив A из 30 элементов.
Объявляем целочисленные переменные I, J, P.
В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке
программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и
переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Демо 2012 (C2). Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм,
позволяющий найти и вывести минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на три. Гарантируется, что в исходном массиве есть хотя бы один элемент,
значение которого чётно и не кратно трем.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но использовать все описанные переменные не обязательно.
Паскаль
Алгоритмический язык
const
N = 20;
var
a: array [1..N] of integer;
i, j, min: integer;
begin
for i := 1 to N do
readln(a[i]);
…
end.
алг
нач
цел N = 20
целтаб a[1:N]
цел i, j, MIN
нц для i от 1 до N
ввод a[i]
кц
...
кон
Бейсик
Си
N = 20
DIM A(N) AS INTEGER
DIM I, J, MIN AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
…
END
#include <stdio.h>
#define N 20
void main(void){
int a[N];
int i, j, min;
for (i=0; i<N; i++)
scanf("% d", &a[i]);
…
}
Русский (естественный) язык
Объявляем массив A из 20 элементов.
Объявляем целочисленные переменные I, J, MIN.
В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.
В качестве ответа вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия.
Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Borland Pascal 7.0) или в виде блок-схемы.
В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Демо K-2012 (C1). Составьте программу, которая вводит с клавиатуры три целых числа: a, b, c (каждое число — с новой строки) и выводит на экран минимальное из них.
Ничего, кроме этого числа, программа выводить не должна.
Демо K-2012 (C2). Составьте программу, которая вводит с клавиатуры 8 целых неотрицательных чисел (каждое число — с новой строки отдельной командой «ввод»), записывает их в массив,
выводит на экран сначала в прямом порядке все без исключения элементы массива, затем, в обратном порядке относительно следования в массиве, все чётные элементы.
Например, для массива «1 2 5 4 5 3 7 8» программа должна выводить числа в таком порядке: 1 2 5 4 5 3 7 8 8 4 2.
Каждое число программа должна выводить в отдельной строке; ничего, кроме чисел, программа выводить не должна.
Демо 2011 (C2). Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм,
который позволяет подсчитать и вывести среднее арифметическое элементов массива, имеющих нечетное значение. Гарантируется, что в исходном массиве хотя бы один элемент имеет нечетное значение.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
Паскаль
Бейсик
const
N=30;
var
a: array [1..N] of integer;
i, x, y: integer;
s: real;
begin
for i:=1 to N do readln(a[i]);
…
end.
N=30
DIM A(N) AS INTEGER
DIM I, X, Y AS INTEGER
DIM S AS SINGLE
FOR I = 1 TO N
INPUT A(I)
NEXT I
…
END
Си
Естественный язык
#include <stdio.h>
#define N 30
void main(void)
{int a[N];
int i, x, y;
float s;
for (i=0; i<N; i++)
scanf("%d", &a[i]);
…
}
Объявляем массив A из 30 элементов.
Объявляем целочисленные переменные I, X, Y.
Объявляем вещественную переменную S.
В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.
…
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также
на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать переменные,
аналогичные переменным, используемым в алгоритме, записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования.
Демо 2010 (C2). Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 — баллы учащихся выпускного класса за итоговый тест по информатике.
Для получения положительной оценки за тест требовалось набрать не менее 20 баллов. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет найти
и вывести минимальный балл среди учащихся, получивших за тест положительную оценку. Известно, что в классе хотя бы один учащийся получил за тест положительную оценку.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
Паскаль
Бейсик
const
N=30;
var
a: array [1..N] of integer;
i, j, min: integer;
begin
for i:=1 to N do readln(a[i]);
…
end.
N=30
DIM A(N) AS INTEGER
DIM I, J, MIN AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
…
END
Си
Естественный язык
#include
#define N 30
void main(void)
{int a[N];
int i, j, min;
for (i=0; i
scanf("% d", &a[i]);
…
}
Объявляем массив A из 30 элементов.
Объявляем целочисленные переменные I, J, MIN.
В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.
…
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия.
Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы.
В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Демо 2009 (C2). Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива,
который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа).
Демо 2008 (C2). Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 30.
(т2-2012/1).
(т2-2012/2).
с114 (25). Дан массив, содержащий 2017 положительных целых чисел, не превышающих 10000. Необходимо найти и вывести количество таких элементов этого массива, шестнадцатеричная запись которых содержит
ровно два знака, причём последний из них — буква от A до F. Например, для массива из 4 элементов, содержащего числа 42, 255, 162, 266, ответ будет равен 2:
в шестнадцатеричной системе эти числа записываются как 2A, FF, A2, 10A; первые два подходят, в третьем — последняя цифра не записывается буквой, в четвертом — больше двух знаков.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
Бейсик
Python
CONST N=2017
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 = 2017
for i in range(0, N):
a.append(int(input()))
…
Алгоритмический язык
Паскаль
алг
нач
цел N=2017
целтаб a[1:N]
цел i, m, k
нц для i от 1 до N
ввод a[i]
кц
…
кон
const
N=2017;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for i:=1 to N do
readln(a[i]);
…
end.
Си
#include <stdio.h>
#define N 2017
int main(){
int a[N];
int i, m, k;
for (i=0; i<N; i++)
scanf("%d", &a[i]);
…
return 0;
}
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования
(укажите название и версию языка программирования). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
с124 (25). Дан массив, содержащий 2017 положительных целых чисел, не превышающих 10000. Необходимо найти и вывести сумму таких элементов этого массива,
шестнадцатеричная запись которых содержит ровно три знака, причём последний из них — буква от A до F. Например, для массива из 4 элементов, содержащего числа 522, 4095, 296, 205, ответ будет равен 4617:
в шестнадцатеричной системе эти числа записываются как 20A, FFF, 128, CD; первые два подходят, в третьем — последняя цифра не записывается буквой, в четвёртом — меньше трёх знаков.
Если таких чисел в массиве нет, сумма считается равной 0.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
Бейсик
Python
CONST N=2017
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 = 2017
for i in range(0, N):
a.append(int(input()))
…
Алгоритмический язык
Паскаль
алг
нач
цел N=2017
целтаб a[1:N]
цел i, m, k
нц для i от 1 до N
ввод a[i]
кц
…
кон
const
N=2017;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for i:=1 to N do
readln(a[i]);
…
end.
Си++
#include <stdio.h>
#define N 2017
int main(){
int a[N];
int i, m, k;
for (i=0; i<N; i++)
scanf("%d", &a[i]);
…
return 0;
}
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования
(укажите название и версию языка программирования). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
с113 (25). Дан массив, содержащий 2017 положительных целых чисел, не превышающих 10000. Необходимо найти и вывести количество таких элементов этого массива, шестнадцатеричная запись которых содержит
ровно два знака, и при этом первая цифра больше второй. Например, для массива из 4 элементов, содержащего числа 160, 148, 63, 528, ответ будет равен 2. В шестнадцатеричной системе
эти числа записываются как A0, 94, 3F, 210; первые два числа подходят, в третьем — первая цифра не больше второй, в четвёртом — больше двух знаков.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
Бейсик
Python
CONST N=2017
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 = 2017
for i in range(0, N):
a.append(int(input()))
…
Алгоритмический язык
Паскаль
алг
нач
цел N=2017
целтаб a[1:N]
цел i, m, k
нц для i от 1 до N
ввод a[i]
кц
…
кон
const
N=2017;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for i:=1 to N do
readln(a[i]);
…
end.
Си
#include <stdio.h>
#define N 2017
int main(){
int a[N];
int i, m, k;
for (i=0; i<N; i++)
scanf("%d", &a[i]);
…
return 0;
}
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название
и версию языка программирования). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
с123 (25). Дан массив, содержащий 2017 положительных целых чисел, не превышающих 10000. Необходимо найти и вывести количество таких элементов этого массива, шестнадцатеричная запись которых содержит
ровно два знака, и при этом первая цифра меньше второй. Например, для массива из 4 элементов, содержащего числа61, 191, 146, 528, ответ будет равен 2. В шестнадцатеричной системе эти числа
записываются как 3D, BF, 92, 210; первые два числа подходят, в третьем — первая цифра не меньше второй, в четвертом — больше двух знаков.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
Бейсик
Python
CONST N=2017
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 = 2017
for i in range(0, N):
a.append(int(input()))
…
Алгоритмический язык
Паскаль
алг
нач
цел N=2017
целтаб a[1:N]
цел i, m, k
нц для i от 1 до N
ввод a[i]
кц
…
кон
const
N=2017;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for i:=1 to N do
readln(a[i]);
…
end.
Си
#include <stdio.h>
#define N 2017
int main(){
int a[N];
int i, m, k;
for (i=0; i<N; i++)
scanf("%d", &a[i]);
…
return 0;
}
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название
и версию языка программирования). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.