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



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

Паскаль :

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.

Решение :

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

2) здесь требуется найти минимальный элемент из всех, которые имеют чётное значение и не делятся на 3

3) делимость одного целого числа на другое проверяется с помощью операции взятия остатка (в Паскале – операция mod): первое число делится на второе, если остаток от деления равен 0

4) тогда условие, определяющее отбор нужных элементов, запишется в виде

(a[i] mod 2 = 0) and (a[i] mod 3 <> 0)

5) стандартный цикл поиска минимального элемента, удовлетворяющего условию, выглядит так:

for i:=1 to N do

if < условие верно > and (a[i] < min) then

min := a[i];

6) остается один вопрос: каким должно быть начальное значение переменной min? его нужно выбрать таким, чтобы для первого же подходящего элемента выполнилось условие a[i] < min, и это временное начальное значение было бы заменено на реальное

7) к счастью, диапазон входных чисел ограничен (от 0 до 1000), поэтому можно выбрать любое значение, больше 1000, например, 1001 или 9999[2]

8) таким образом, решение задачи на естественном языке выглядит так:

Записываем в переменную min значение 1001.
Затем в цикле просматриваем все элементы массива, с первого до последнего. Если остаток от деления очередного элемента на 2 равен 0 и остаток от его деления на 3 не равен нулю и значение элемента меньше, чем значение переменной
min, записать в переменную min значение рассматриваемого элемента массива. Затем переходим к следующему элементу.
После окончания работы цикла выводим значение переменной
min.

9) аналогичное решение на Паскале:

min:=1001;

for i:=1 to N do

if (a[i] mod 2=0) and (a[i] mod 3 <> 0) and (a[i]<min) then

min:=a[i];

Writeln(min);

Возможные проблемы: · не забудьте сказать, что нужно вывести после окончания работы программы · если вы достаточно хорошо владеете русским языком для того, чтобы понятно излагать свои мысли, с точки зрения тактики рекомендуется писать алгоритм на русском языке – по крайней мере, тут не снизят за пропущенную точку с запятой · просмотрите внимательно диапазон, в котором находятся исходные числа; дело в том, что во многих языках, например, в Паскале и в Си, остаток от деления отрицательного числа на положительное – число отрицательное, например (-7) mod 3 = -1, поэтому определять, например, ″неделимость″ элемента массива на 3 с помощью условия a [ i ] mod 3 = 1 нельзя (не будет работать для отрицательных чисел), нужно использовать условие a [ i ] mod 3 <> 0.

Ещё пример задания:

Р-02. Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа). Полученный массив нужно вывести на экран.

Решение:

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

2) по условию нужно выделить в памяти два массива одинакового размера, назовем их A и B; обозначим размер массивов через N, индексы элементов изменяются от 1 до N;

3) в цикле в каждый элемент B [ i ] массива B нужно записать модуль соответствующего элемента A [ i ] массива A, это нужно сделать для всех i от 1 до N

4) есть небольшая сложность: запрещено использовать стандартную функцию вычисления модуля; согласно определению модуля решение может быть такое: если элемент A [ i ] больше или равен нулю, записываем в B [ i ] его значение без изменений, а если меньше нуля – меняем знак, то есть, в B [ i ] записываем (- A [ i ])

5) решение в виде алгоритма на русском языке может выглядеть так:
Выделяем в памяти второй массив того же размера. В цикле рассматриваем все элементы первого массива с первого до последнего. Если текущий элемент больше нуля или равен нулю, в соответствующий элемент второго массива записываем его значение без изменений; если текущий элемент меньше нуля, во второй массив записываем значение элемента с обратным знаком. Выводим второй массив на экран.

6) осталось написать программу, практически дословно реализующую это решение:

const N = 30;

var a, b:array[1..N] of integer;

I: integer;

Begin

for i:=1 to N do { ввод всех элементов массива с клавиатуры }

read(a[i]);

for i:=1 to N do  { формирование массива B }

if a[i] < 0 then

  b[i]:= -a[i]

else b[i]:= a[i];

Writeln ('Результат:');

for i :=1 to N do { вывод всех элементов массива B }

write(b[i], ' ');

End.

7) размер массива грамотно задавать через константу (const N = 30; ), а не вписывать число в каждый цикл; тогда, если нужно будет переделать программу для массива другого размера, достаточно будет изменить всего одно число в начале программы

Возможные проблемы: · проверяйте правильность минимального и максимального значения переменной цикла в заголовке цикла for · не забывайте вывести результат в конце работы программы

Еще пример задания:

Р-01. Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 30.

Решение:

1) сначала нужно понять задачу; предположим, что в массиве есть одинаковые элементы, стоящие рядом:

1 1 2 2 1 1 1 1 3 3 2 2

2) самая длинная цепочка стоящих рядом элементов в данном случае состоит из 4-х единиц (она выделена желтым фоном)

3) нам нужно по крайней мере две переменных: для хранения номера текущего элемента (при обработке массива в цикле) и для хранения максимального количества идущих подряд элементов (обозначим ее kMax)

4) в целом (пока неточный) алгоритм может выглядеть так: пройти весь массив, подсчитывая для каждого элемента длину цепочки подряд идущих одинаковых чисел, если эта длина больше kMax, то записать ее в kMax ″

5) отсюда сразу следует, что необходима еще одна переменная (обозначим ее через k), показывающая  для каждого элемента массива длину цепочки одинаковых чисел, которая заканчивается на этом элементе:

1 1 2 2 1 1 1 1 3 3 2 2
k 1 2 1 2 1 2 3 4 1 2 1 2
k Max 1 2 2 2 2 2 3 4 4 4 4 4

6) следующий шаг к решению: нужно понять, как изменять переменную k при проходе по массиву; можно сделать так: если очередной элемент равен предыдущему, счетчик k увеличиваем на единицу, а если не равен – записываем в него 1 (цепочка одинаковых чисел кончилась, началась новая, в ней пока один элемент)

7) при таком подходе проблема может возникнуть при просмотре первого элемента, потому что для него нет предыдущего; поэтому описанную выше процедуру будем в цикле применять ко всем элементам массива, начиная со второго (а не с первого); в самом начале программы запишем в k и kMax по единице – таким образом, мы вручную (без цикла) рассмотрели первый элемент массива

8) теперь можно написать алгоритм на русском языке:
Выделим две вспомогательные переменные, k и kMax, и запишем в каждую из них по единице. В цикле рассматриваем все элементы массива со второго до последнего, если очередной элемент равен предыдущему, увеличиваем k; если k > kMax, записываем в kMax значение k. В конце цикла в kMax окажется требуемое значение.

9) этот алгоритм реализуется в такой программе:

const N =30;

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

I, k, kMax: integer;

Begin

for i:=1 to N do readln(A[i]); { ввод массива }

k := 1;                        { обрабатываем A[1] }

kMax := 1;                    

for i:=2 to N do begin    { а теперь в цикле A[2]...A[N} }

if A[i] = A[i-1] then        { цепочка продолжается }

  k := k + 1

else k := 1;                 { цепочка закончилась }

if k > kMax then kMax := k;

End;

Writeln(kMax);

End.

 

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

Еще пример задания:

Р-00. Дан целочисленный квадратный массив 10 х 10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы максимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке такой элемент единственный.

Решение:

1) суть задачи: среди элементов каждой строки нужно выбрать максимальный, и все эти выбранные значения сложить

2) несложно сразу написать алгоритм на русском языке:
Чтобы накапливать сумму, нужно ввести целую переменную Sum, в которую в самом начале записываем 0 ; далее в цикле просматриваем все строки, для каждой строки находим максимальный элемент и прибавляем его значение к Sum. Для определения максимального элемента в строке вводим переменную max и сначала записываем в нее значение первого элемента этой строки. Затем в цикле просматриваем все остальные элементы, начиная со второго до конца массива. Если очередной элемент больше значения max, записываем в max значение этого элемента.

3) сначала напишем программу на псевдокоде:

const N =10;

{ ввод матрицы N на N }

Sum := 0;

for i:=1 to N do begin

{ max := максимальный элемент в i -ой строке }

Sum := Sum + max;

End;

4) остается записать на Паскале те части, которые взяты в фигурные скобки, и до конца оформить программу; по правилам ЕГЭ можно не писать в программе команды для ввода массива, поэтому мы оставим на этом месте комментарий:

const N=10;

var A: array[1..N,1..N] of integer;

I, k, max, Sum: integer;

Begin

{ ввод матрицы N на N }

Sum := 0;

for i:=1 to N do begin

max := A[i,1];

for k:=2 to N do

if A[i,k] > max then max := A[i,k];

Sum := Sum + max;

End;

Writeln(Sum);

End.

 

Возможные проблемы: · проверьте, правильно ли заданы (и заданы ли вообще) начальные значения для всех переменных · проверьте, правильно ли расставлены операторные скобки begin - end, ограничивающие тело цикла; их обязательно нужно ставить, если в теле цикла несколько операторов · проверяйте, не выйдет ли индекс за границу массива в начале или в конце цикла · не перепутайте номер строки (это первый индекс) и номер столбца (второй индекс) · для надежности не рекомендуется использовать в одной программе переменные i и j, потому что они слишком похоже выглядят, вот пример ошибочного решения в этой задаче: for i:=1 to N do begin max := A[i,1]; for i:=2 to N do if A[j,i] > max then max := A[i,j]; Sum := Sum + max ; end ; · если вы все же используете переменные i и j, нужно писать их очень четко, чтобы они отличались друг от друга

 

Немного тактики: · в этом задании можно написать алгоритм на русском языке, а можно (вместо этого) написать компьютерную программу на одном из языков программирования · если вы хорошо умеете выражать свои мысли по-русски, собаководы эксперты рекомендуют писать только алгоритм на русском языке; дело в том, что если вы сделаете много ошибок в программе, оценка будет снижена даже при абсолютно правильном алгоритме · если вам сложно изъясняться на родном языке, а легче записать свои мысли на Паскале или Си – пишите программу, но тщательно проверяйте ее на предмет возможных случайных ошибок-опечаток, которые можно сделать просто по невнимательности: o задавайте все начальные значения для переменных o проверяйте правильность написания ключевых слов o если в теле цикла несколько операторов, заключайте их в блок b e gin-end (операторные скобки) o проверяйте начальное и конечное значение переменной цикла o если вы используете циклы while или repeat, проверьте, что переменная цикла изменяется в теле цикла (иначе в программе будет зацикливание, а на ЕГЭ – потерянные баллы) o выводите на экран именно то, что требуется по условию o ставьте точку с запятой в конце операторов o НЕ ставьте точку с запятой перед else (Паскаль) o ставьте точку в конце последнего оператора end (Паскаль)

 

За что снимают баллы: · задано неверное начальное значение переменных (или вообще не задано) · неверно указано условие завершения цикла · ″забыли″ изменять переменную цикла в цикле while (repeat) · перепутаны знаки < и >, логические операции or и and · неверно расставлены операторные скобки begin-end · программа не выводит результат или выводит не то, что спрашивают · синтаксические ошибки (знаки пунктуации – запятые, точки, точки с запятой; неверное написание ключевых слов) допускаются в разумных пределах (если они не искажают замысел автора)

Задачи для тренировки[3]:

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

 

2) Опишите на русском языке или одном из языков программирования алгоритм подсчета числа элементов, равных максимальному, в числовом массиве из 30 элементов.

 

3) Опишите на русском языке или одном из языков программирования алгоритм поиска трех последовательных элементов, сумма которых максимальна, в числовом массиве из 30 элементов.

 

4) Дан прямоугольный массив целых положительных чисел 10 х 20. Опишите на русском языке или на одном из языков программирования алгоритм поиска строки с наименьшей суммой элементов. Вывести на печать номер строки и сумму ее элементов. Предполагается, что такая строка единственна.

 

5) Дан квадратный массив целых положительных чисел 10 х 10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы элементов строки, в которой расположен элемент с максимальным значением. Вывести значение суммы на печать. Предполагается, что такой элемент единственный.

 

6) Дан целочисленный прямоугольный массив 6x10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы минимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке минимальный элемент единственный.

 

7) Дан целочисленный массив из 30 элементов. Элементы могут принимать значения от 0 до 100 ­– баллы, полученные на ЕГЭ. Опишите на русском языке или на одном из языков программирования алгоритм, который определяет и выводит средний балл учащихся, сдавших экзамен (получивших оценку более 20 баллов). Гарантируется, что хотя бы один ученик в классе успешно сдал экзамен. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.

Паскаль Естественный язык
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. Объявляется массив A из 30 элементов. Объявляются целочисленные переменные i, x и y, а также вещественная переменная s. В цикле от 1 до 30 заполняются все элементы массива A с 1-ого по 30-ый. ...
Си  
#include<stdio.h> int main(void) {  const int N=30;  int A[N];  int i, x, y;  float s;  for (i=0; i<N; i++)   scanf(″%d″, &A[i]); ... }  

 

8)  Дан целочисленный массив из 30 элементов. Элементы могут принимать значения от 160 до 200 ­– рост учащихся выпускного класса. В баскетбольную команду берут тех, чей рост не менее 180 см. Опишите на русском языке или на одном из языков программирования алгоритм, который определяет и выводит минимальный рост игрока баскетбольной команды. Гарантируется, что хотя бы один ученик играет в баскетбольной команде. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.

Паскаль Естественный язык
const N = 30; var A: array[1..N] of integer; i, x, y: integer; begin for i:=1 to N do readln(A[i]); ... end. Объявляется массив A из 30 элементов. Объявляются целочисленные переменные i, x и y В цикле от 1 до 30 заполняются все элементы массива A с 1-ого по 30-ый. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int A[N]; int i, x, y;  for (i=0; i<N; i++)  scanf(″%d″, &A[i]); ... }  

 

9) Дан целочисленный массив из 31 элемента, в котором записаны значения температуры воздуха в марте. Элементы массива могут принимать значения от (–20) до 20. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит среднюю температуру по всем дням, когда была оттепель (температура поднималась выше нуля). Гарантируется, что хотя бы один день в марте была оттепель. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.

Паскаль Естественный язык
const N = 31; var A: array[1..N] of integer; i, x, y: integer; s: real; begin for i:=1 to N do readln(A[i]); ... end. Объявляется массив A из 31 элемента. Объявляются целочисленные переменные i, x и y, а также вещественная переменная s. В цикле от 1 до 31 заполняются все элементы массива A с 1-ого по 31-ый. ...
Си  
#include<stdio.h> int main(void) { const int N=31; int A[N]; int i, x, y; float s; for (i=0; i<N; i++)   scanf(″%d″, &A[i]); ... }  

 

10) Дан целочисленный массив из 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. Объявляется массив A из 30 элементов. Объявляются целочисленные переменные i, j и min. В цикле от 1 до 30 заполняются все элементы массива A с 1-ого по 30-ый. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N]; int i, j, min;   for (i=0; i<N; i++)    scanf(″%d″, &a[i]); ... }  

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

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

12) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса, полученные на экзамене по информатике. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет найти и вывести количество учащихся, чьи баллы на экзамене выше среднего балла по классу. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=30; var a: array [1..N] of integer; i, j: integer; s: real; begin for i:=1 to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, j. Объявляем действительную переменную s. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h>  int main(void) { const int N=30;  int a[N]; int i, j; float s;  for (i=0; i<N; i++) scanf(″%d″, &a[i]); ... }  

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

13) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. С клавиатуры вводится целое число X. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит наименьший номер элемента, равного X, или сообщение, что такого элемента нет. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=30; var a: array [1..N] of integer; i, j, x: integer; begin for i:=1 to N do readln(a[i]); readln(x); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, j , x. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. Вводим переменную X. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N]; int i, j, x; for (i=0; i<N; i++)  scanf(″%d″, &a[i]); scanf(″%d″, &x); ... }  

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

14) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит второй максимум массива (элемент, который в отсортированном по невозрастанию массиве стоял бы вторым). Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=30; var a: array [1..N] of integer; i, k, max, max2: integer; begin for i:=1 to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, k , max , max 2. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30;   int a[N]; int i, k, max, max2; for (i=0; i<N; i++)  scanf(″%d″, &a[i]); ... }  

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

15) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер третьего положительного элемента массива (если из массива вычеркнуть все неположительные элементы, этот элемент стоял бы в получившемся массиве на третьем месте). Если в массиве меньше, чем три положительных элемента, вывести сообщение об этом. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
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. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, j , k. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N]; int i, k, j;   for (i=0; i<N; i++)   scanf(″%d″, &a[i]); ... }  

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

16) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит сумму наибольшей по длине возрастающей последовательности подряд идущих элементов. Если таких последовательностей несколько, можно вывести любую из них. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=30; var a: array [1..N] of integer; i, l, lmax, s, smax: integer; begin for i:=1 to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, l , lmax , s , smax. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N]; int i, l, lmax, s, smax; for (i=0; i<N; i++) scanf(″%d″, &a[i]); ... }  

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

17) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать любые целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер элемента массива, наименее отличающегося от среднего арифметического всех его элементов. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=30; var a: array [1..N] of integer; i, k: integer; s, min: real; begin for i:=1 to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, k. Объявляем действительные переменные s , min. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N]; int i, k; float s, min;  for (i=0; i<N; i++) scanf(″%d″, &a[i]); ... }  

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

18) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номера двух элементов массива, сумма которых минимальна. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=30; var a: array [1..N] of integer; i, j, min, min2, s: integer; begin for i:=1 to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, j , min , min 2, s. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N]; int i, j, min, min2, s; for (i=0; i<N; i++)   scanf(″%d″, &a[i]); ... }  

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

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

Паскаль Естественный язык
const N=30; var a: array [1..N] of integer; i, j, min, min2, s: integer; begin for i:=1 to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, j , min , min 2, s. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N]; int i, j, min, min2, s; for (i=0; i<N; i++)   scanf(″%d″, &a[i]); ... }  

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

20) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от
–1000 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит среднее арифметическое всех элементов массива, оканчивающихся цифрой 5. Гарантируется, что хотя бы один такое элемент в массиве есть.

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

Паскаль Естественный язык
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. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, x , y и вещественную переменную s. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) {  const int N=30;  int a[N];  int i, x, y;  float s;  for (i=0; i<N; i++)   scanf(″%d″, &a[i]); ... }  

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

21) Дан целочисленный массив из 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. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, x , y и вещественную переменную s. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) {  const int N=30;  int a[N];  int i, x, y;  float s;  for (i=0; i<N; i++)   scanf(″%d″, &a[i]); ... }  

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

22) Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих отрицательных элементов в целочисленном массиве длины 30.

23) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целочисленные значение значения от -20 до 20 – сведения о температуре за каждый день ноября. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит максимальную температуру среди дней, когда были заморозки (температура опускалась ниже нуля). Гарантируется, что хотя бы один день в ноябре была отрицательная температура.

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

Паскаль Естественный язык
const N=30; var a: array [1..N] of integer; i, j, max: integer; begin for i:=1 to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, j , max. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N]; int i, j, max; for (i=0; i<N; i++)   scanf(″%d″, &a[i]); ... }  

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

24) Опишите на русском языке или одном из языков программирования алгоритм вычисления среднего арифметического элементов квадратной матрицы размером 5 на 5, стоящих на главной диагонали.

25) Дан целочисленный массив из 30 элементов, все элементы которого – неотрицательные числа, не превосходящие 10000. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит минимальное трехзначное число, записанное в этом массиве. если таких чисел нет, нужно вывести сообщение Таких чисел нет.

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

Паскаль Естественный язык
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. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, j , min. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) {  const int N=30;  int a[N];  int i, j, min;  for (i=0; i<N; i++)   scanf(″%d″, &a[i]); ... }  

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

26) Дан целочисленный массив из 30 элементов, все элементы которого – положительные числа, не превосходящие 100. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер элемента, имеющего максимальное количество целочисленных делителей (если таких элементов несколько, то номер любого из них). Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них

Паскаль Естественный язык
const N=30; var a: array [l..N] of integer;   i,j,k,imax,kmax: integer; begin for i:=l to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные i, j , k, imax, kmax. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) {  const int N=30;  int a[N];    int i, j, k, imax, kmax;  for(i=0; i<N; i++) scanf(″%d″, &a[i]); ... }  

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

27) Дан целочисленный массив из 40 элементов, все элементы которого – целые числа в интервале от -500 до 500. Опишите на русском языке или на одном из языков программирования алгоритм, который находит среднее арифметическое всех положительных элементов массива, которые кратны первому элементу (делятся нацело на первый элемент). Гарантируется, что первый элемент массива положительный. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них

Паскаль Естественный язык
const N=40; var a: array [l..N] of integer;   i,x,y: integer; s: real; begin for i:=l to N do readln(a[i]); ... end. Объявляем массив A из 40 элементов. Объявляем целочисленные переменные i, x , y и вещественная переменная s. В цикле от 1 до 40 вводим элементы массива A с 1-го по 40-й. ...
Си  
#include<stdio.h>  int main(void) { const int N=40; int a[N];   int i, x, y; float s;   for(i=0; i<N; i++) scanf(″%d″, &a[i]); ... }  

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

28) Дан целочисленный массив из 20 элементов, все элементы которого – целые числа в интервале от -1000 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который находит минимальное значение из всех нечетных элементов массива, которые делятся на 5. Гарантируется, что хотя бы один такой элемент существует. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них

Паскаль Естественный язык
const N=20; var a: array [l..N] of integer;   i,j,min: integer; begin for i:=l to N do readln(a[i]); ... end. Объявляем массив A из 20 элементов. Объявляем целочисленные переменные i, j , min. В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й. ...
Си  
#include<stdio.h>  int main(void) {  const int N=20;  int a[N];    int i, x, min;  for(i=0; i<N; i++) scanf(″%d″, &a[i]); ... }  

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

29) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести сумму элементов массива, кратных тринадцати. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого делится на тринадцать. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=30; var a: array [l..N] of integer;   i,j,s: integer; begin for i:=l to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, S. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N];   int i, x, s;   for(i=0; i<N; i++) scanf(″%d″, &a[i]); ... }  

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

30) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти среднее арифметическое нечётных трехзначных чисел, записанных в этом массива. Если ни одного такого числа нет, нужно вывести сообщение об этом. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=30; var a: array [l..N] of integer;   i,j,s: integer; begin for i:=l to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30; int a[N];   int i, x, s; for(i=0; i<N; i++) scanf(″%d″, &a[i]); ... }  

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

31) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести произведение элементов массива, которые имеют чётное значение и не оканчиваются на 0. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого чётно и не оканчиваются на 0. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. Исходные данные всегда подобраны так, что результат произведения не выходит за пределы объявленных типов данных.

Паскаль Естественный язык
const N=30; var a: array [1..N] of longint;    і, j, p: longint; begin for і := 1 to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, P. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h> int main(void) { const int N=30;     int a[N]; int і, j, p;  for (i=0; i< N;  i++)    scanf(″%d″, &a[i]); ... }  

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

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

Паскаль Естественный язык
const N=30; var a: array [1..N] of longint;    і, j, p: longint; begin for і := 1 to N do readln(a[i]); ... end. Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, P. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ...
Си  
#include<stdio.h>  int main(void) {  const int N=30;  int a[N];  int і, j, p;  for (i=0; i< N;  i++)    scanf(″%d″, &a[i]); ... }  

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

33) Дан массив, содержащий 70 целых чисел. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести наименьшее положительное нечетное число, содержащееся в массиве. Гарантируется, что в массиве есть хотя бы одно положительное нечетное число. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=70; var a: array [1..N] of integer; i, j, m: integer; begin for i:=1 to N do readln(a[i]); … end. Объявляем массив A из 70 элементов. Объявляем целочисленные переменные I, J, M. В цикле от 1 до 70 вводим элементы массива A с 1-го по 70-й. ...
Си  
#include<stdio.h> int main(void) { const int N=70; int a[N]; int i, j, m; for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

34) Дан массив, содержащий 70 целых чисел. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести наименьшее содержащееся в массиве положительное число, десятичная запись которого оканчивается цифрой 7. Гарантируется, что в массиве есть хотя бы один положительный элемент, десятичная запись которого оканчивается цифрой 7. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=70; var a: array [1..N] of integer; i, j, m: integer; begin for i:=1 to N do readln(a[i]); … end. Объявляем массив A из 70 элементов. Объявляем целочисленные переменные I, J, M. В цикле от 1 до 70 вводим элементы массива A с 1-го по 70-й. ...
Си  
#include<stdio.h> int main(void) {  const int N=70;  int a[N];  int i, j, m;  for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

35) Дан массив, содержащий 70 целых чисел. Опишите на одном из языков программирования эффективный алгоритм, позволяющий найти и вывести наибольшую разность двух чисел, содержащихся в массиве. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных переменных.

Паскаль Естественный язык
const N=70; var a: array [1..N] of integer; i, j, x, y: integer; begin for i:=1 to N do  readln(a[i]); … end. Объявляем массив A из 70 элементов. Объявляем целочисленные переменные I, J, X , Y. В цикле от 1 до 70 вводим элементы массива A с 1-го по 70-й. ...
Си  
#include<stdio.h> int main(void) { const int N=70; int a[N]; int i, j, x, y;   for (i=0; i<N; i++)  scanf(″%d″, &a[i]); … }  

36) Дан массив, содержащий 70 неотрицательных целых чисел. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести наименьшую нечётную сумму двух соседних элементов массива. Гарантируется, что в массиве есть соседние элементы с нечётной суммой. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль Естественный язык
const N=70; var a: array [1..N] of integer; i, j, x, y: integer; begin for i:=1 to N do  readln(a[i]); … end. Объявляем массив A из 70 элементов. Объявляем целочисленные переменные I, J, X , Y. В цикле от 1 до 70 вводим элементы массива A с 1-го по 70-й. ...
Си  
#include<stdio.h> int main(void) { const int N=70; int a[N]; int i, j, x, y;   for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

 

37) Дан массив, содержащий 2014 неотрицательных целых чисел, не превышающих 10 000. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести сумму всех содержащихся в массиве трёхзначных чисел, десятичная запись которых оканчивается на 9, но не на 99. Если подходящих чисел в массиве нет, программа должна вывести число –1. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

Паскаль Алгоритмический язык
const N=2014; var a: array [1..N] of integer; i, j, s: integer; begin for i:=1 to N do readln(a[i]); ... end. алг нач цел N=2014 целтаб a[1:N] цел i, j, s нц для i от 1 до N ввод a[i] кц ... кон
Си  
#include<stdio.h> int main(void) { const int N=2014; int a[N];   int i, j, s; for (i=0; i<N; i++)     scanf(″%d″, &a[i]); ... }  

 

38) Дан массив, содержащий 2014 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество элементов, значение которых более чем в два раза превосходит значение предшествующего элемента. Например, для массива из 6 элементов, содержащего числа 2, 5, 10, 15, 40, 100, программа должна выдать ответ 3 (условию соответствуют элементы со значениями 5, 40 и 100). Программа должна вывести общее количество подходящих элементов, значения элементов выводить не нужно. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных переменных.

Паскаль Алгоритмический язык
const N = 2014; var a: array [1..N] of integer; i, j, k: integer; begin for i:=1 to N do readln(a[i]); … end. алг нач цел N=2014 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц … кон
Си  
#include<stdio.h> int main(void) { const int N=2014; int a[N]; int i, k, j; for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

39) Дан массив, содержащий 2014 положительных целых чисел. Симметричной парой называются два элемента, которые находятся на равном расстоянии от концов массива. Например, 1-й и 2014-й элементы, 2-й и 2013-й и т. д. Порядок элементов в симметричной паре не учитывается: элементы на 1 и 2014 местах – это та же самая пара, что и элементы на 2014 и 1 местах. Напишите на одном из языков программирования программу, которая подсчитывает в массиве количество симметричных пар, у которых сумма элементов больше 20. Программа должна вывести одно число – количество отобранных симметричных пар. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных переменных.

Паскаль Алгоритмический язык
const N=2014; var a: array [1..N] of integer; i, j, k: integer; begin for i:=1 to N do readln(a[i]); … end. алг нач цел N=2014 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц … кон
Си  
include<stdio.h> int main(void) {  const int N= 2014;  int a[N];  int i, k, j;  for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

40) Дан массив, содержащий 2014 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество локальных минимумов. Локальным минимумом называется элемент массива, который меньше всех своих соседей. Например, в массиве из 6 элементов, содержащем числа 4, 6, 12, 7, 3, 8, есть два локальных минимума: это элементы, равные 4 и 3. Программа должна вывести общее количество подходящих элементов, значения элементов выводить не нужно. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

Паскаль Алгоритмический язык
const N=2014; var a: array [1..N] of integer; i, j, k: integer; begin for i:=1 to N do readln(a[i]); … end. алг нач цел N=2014 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц … кон
Си  
#include<stdio.h>  int main(void) {  const int N= 2014;  int a[N];  int i, k, j;  for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

 

41) Дан массив, содержащий 2014 целых чисел в диапазоне от -10000 до 10000. Напишите на одном из языков программирования программу, которая находит в этом массиве количество пар соседних элементов массива, произведение которых нечётно, а сумма – положительна. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

Паскаль Алгоритмический язык
const N=2014; var a: array [1..N] of integer; i, j, k: longint; begin   for i:=1 to N do readln(a[i]); … end. алг нач цел N=2014 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц … кон
Си  
#include<stdio.h>  int main(void) {  const int N=2014;  int a[N];  int i, j, k;  for (i=0; i<N; i++)   scanf(″%d″, &a[i]); … }  

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

Паскаль Алгоритмический язык
const N=20; var a: array [1..N] of integer; i, j, k: longint; 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<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]); … }  

43) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от –100 до 100 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, произведение которых положительно, а сумма кратна 7. Под парой подразумевается два подряд идущих элемента массива.

Паскаль Алгоритмический язык
const N= 4 0; var a: array [1..N] of integer; i, j, k: longint; 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<stdio.h> int main(void) { const int N=40; int a[N]; int i, j, k; for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

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

Паскаль Алгоритмический язык
const N= 4 0; var a: array [1..N] of integer; i, j, k: longint; 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<stdio.h>  int main(void) {  const int N= 40;  int a[N]; int i, j, k; for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

45) Дан массив, содержащий неотрицательные целые числа. Необходимо вывести:

– максимальный чётный элемент, если количество чётных элементов не меньше, чем нечётных;

– максимальный нечётный элемент, если количество нечётных элементов больше, чем чётных.

Например, для массива из шести элементов, равных соответственно 4, 6, 12, 17, 3, 8, ответом будет 12 – наибольшее чётное число, поскольку чётных чисел в этом массиве больше.

Паскаль Алгоритмический язык
const N=2000; var a: array [1..N] of integer; i, j, k, m: longint; begin for i:=1 to N do readln(a[i]); … end. алг нач цел N=2000 целтаб a[1:N] цел i, j, k, m нц для i от 1 до N ввод a[i] кц … кон
Си  
#include<stdio.h> int main(void) { const int N=2000; int a[N]; int i, j, k, m; for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

46) Дан массив, содержащий неотрицательные целые числа, не превышающие 10 000. Необходимо вывести:

– минимальный чётный элемент, если количество чётных элементов не больше, чем нечётных;

– минимальный нечётный элемент, если количество нечётных элементов меньше, чем чётных.

Например, для массива из шести элементов, равных соответственно 4, 6, 12, 17, 9, 8, ответом будет 9 – наименьшее нечётное число, поскольку нечётных чисел в этом массиве меньше.

Паскаль Алгоритмический язык
const N=2000; var a: array [1..N] of integer; i, j, k, m: longint; begin for i:=1 to N do readln(a[i]); … end. алг нач цел N=2000 целтаб a[1:N] цел i, j, k, m нц для i от 1 до N ввод a[i] кц … кон
Си  
#include<stdio.h> int main(void) { const int N=2000;  int a[N];  int i, j, k, m;  for (i=0; i<N; i++) scanf(″%d″, &a[i]); … }  

 

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

Паскаль Алгоритмический язык
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 <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; }  

48) Дан целочисленный массив из 2000 элементов. Если сумма всех элементов массива чётная, нужно вывести количество нечётных (по значению) элементов массива, если нечётная – количество чётных. Например, для массива из 6 элементов, равных соответственно 2, 6, 12, 17, 3, 8, ответом будет 2 – количество нечётных элементов, так как общая сумма всех элементов чётна.

Паскаль Алгоритмический язык
const N = 20 00 ; var a: array [1..N] of integer; i, k: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 2000 целтаб a[1:N] цел i, k нц для i от 1 до N ввод a[i] кц ... кон
Си  
#include <stdio.h> #define N 20 00 int main() { int a[N]; int i, k; for (i = 0; i<N; i++) scanf("%d", &a[i]); ... return 0; }  

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

Паскаль Алгоритмический язык
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 <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; }  

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

Паскаль Алгоритмический язык
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] кц ... кон
Си Python
#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; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

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

Паскаль Алгоритмический язык
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] кц ... кон
Си Python
#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; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

52) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наименьший из элементов массива, восьмеричная запись которого оканчивается на цифру 7. Если таких чисел нет, нужно вывести ответ 0.

Паскаль Алгоритмический язык
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] кц ... кон
Си Python
#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; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

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

Паскаль Алгоритмический язык
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] кц ... кон
Си Python
#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; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

54) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наименьший из элементов массива, шестнадцатеричная запись которого содержит ровно две цифры. Если таких чисел нет, нужно вывести ответ 0.

Паскаль Алгоритмический язык
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] кц ... кон
Си Python
#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; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

55) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наибольший из элементов массива, восьмеричная запись которого содержит не менее трёх цифр и оканчивается на 5. Если таких чисел нет, нужно вывести ответ 0.

Паскаль Алгоритмический язык
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] кц ... кон
Си Python
#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; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

56) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наименьший из элементов массива, шестнадцатеричная запись которого содержит не менее трёх цифр и оканчивается на букву C. Если таких чисел нет, нужно вывести ответ 0.

Паскаль Алгоритмический язык
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] кц ... кон
Си Python
#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; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

57) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причём первая (старшая) цифра меньше второй (младшей).

Паскаль Алгоритмический язык
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] кц ... кон
Си Python
#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; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

58) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальный элементов массива, шестнадцатеричная запись которого содержит ровно две цифры, причём первая (старшая) цифра больше второй (младшей).  Если таких чисел нет, нужно вывести ответ 0.

Паскаль Алгоритмический язык
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] кц ... кон
Си Python
#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; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

59) (Д.В. Богданов) Дан массив, содержащий 2017 целых чисел. Необходимо определить количество «уникальных» значений элементов этого массива, то есть количество значений элементов без учёта их возможных повторов. Например, в массиве из 6 элементов, равных соответственно 2; 0; 1; 0; 0; 1, уникальными значениями являются 0; 1; 2, значит, ответом будет 3 — их количество. Исходные данные объявлены так, как показано ниже. Запрещается использовать не описанные переменные, но допускается не использовать некоторые из них.

Паскаль Алгоритмический язык
const N = 2017; var a : array [0..N - 1] of integer; i, j, count : integer; begin for i := 0 to N - 1 do readln(a[i]); ... end. алг нач цел N = 2017 целтаб a[0:N-1] цел i, j, count   нц для i от 0 до N-1 ввод a[i] кц ... кон
Си Python
#include <stdio.h> #define N 2017 int main() { int a[N]; int i, j, count; for (i = 0; i < N; i++) scanf("%d", &a[i]); ... return 0; } # допускается также использо- # вание целочисленных # переменных j, count N = 2017 a = [] for i in range(N): a.append(int(input())) ...

60) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальный элементов массива, шестнадцатеричная запись которого содержит ровно две цифры, причём вторая (младшая) цифра – это буква (от A до F). Если таких чисел нет, нужно вывести ответ 0.

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 40; int main() { int a[N]; int i, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a.append(int(input()))

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

15 71 21 111 41

программа должна вывести (по одному числу в строке) числа

15 71 2 2 41.

Паскаль Алгоритмический язык
const N = 2018; var a: array [1..N] of integer; i, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 2018 целтаб a[1:N] цел i, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 2018; int main() { int a[N]; int i, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #k и s а = [] n = 2018 for і in range(n): a.append(int(input()))

62) Дан массив, содержащий 40 положительных целых чисел, не превышающих 1000. Необходимо уменьшить все элементы, которые больше 50, на одно и то же значение, при этом минимальный из них должен стать равным 50. Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов

15 71 21 111 41

программа должна вывести (по одному числу в строке) числа

15 50 21 90 41

 (все элементы, большие 50, уменьшены на 21, минимальный из них стал равен 50).

Паскаль Алгоритмический язык
const N = 40; var a: array [1..N] of integer; i, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 40 целтаб a[1:N] цел i, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 40; int main() { int a[N]; int i, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #k и s а = [] n = 40 for і in range(n): a.append(int(input()))

63) Дан массив, содержащий 40 положительных целых чисел, не превышающих 1000. Необходимо уменьшить все элементы, которые больше 80, на одно и то же значение, при этом максимальный из них должен стать равным 80. Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов

15 91 21 111 41

программа должна вывести (по одному числу в строке) числа

15 60 21 80 41

 (все элементы, большие 80, уменьшены на 31, максимальный из них стал равен 80).

Паскаль Алгоритмический язык
const N = 40; var a: array [1..N] of integer; i, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 40 целтаб a[1:N] цел i, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 40; int main() { int a[N]; int i, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #k и s а = [] n = 40 for і in range(n): a.append(int(input()))

64) Дан массив, содержащий 2018 положительных целых чисел, не превышающих 30000. Необходимо уменьшить (или увеличить) все чётные элементы на одно и то же значение, так чтобы при этом минимальный из них стал равен 20. Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов

16 91 22 112 41

программа должна вывести (по одному числу в строке) числа

20 91 26 116 41

 (все чётные элементы увеличены на 4, минимальный из них стал равен 20).

Паскаль Алгоритмический язык
const N = 2018 ; var a: array [1..N] of integer; i, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 2018 целтаб a[1:N] цел i, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <i o stream> using namespace std; const int N = 2018; int main() { int a[N]; int i, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #k и s а = [] n = 2018 for і in range(n): a.append(int(input()))

65) Дан массив, содержащий 2018 положительных целых чисел, не превышающих 30000. Необходимо уменьшить (или увеличить) все нечётные элементы на одно и то же значение, так чтобы при этом максимальный из них стал равен 1. Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов

16 91 22 112 41

программа должна вывести (по одному числу в строке) числа

16 1 22 112 -49

 (все нечётные элементы уменьшены на 90, максимальный из них стал равен 1).

Паскаль Алгоритмический язык
const N = 2018; var a: array [1..N] of integer; i, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 2018 целтаб a[1:N] цел i, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 2018; int main() { int a[N]; int i, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #k и s а = [] n = 2018 for і in range(n): a.append(int(input()))

66) (А.Г. Минак) Дан массив, содержащий 2018 положительных целых чисел, не превышающих 10000. Необходимо умножить все элементы массива, меньшие 40, на одно и то же значение, так чтобы при этом максимальный из них стал как можно больше, но не превысил значения 10000. Гарантируется, что в массиве есть хот бы один элемент, меньший 40. Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов

1 21 315 81 57

программа должна вывести (по одному числу в строке) числа

476 9996 315 81 57

(все элементы, меньшие 40 умножены на 476).

Паскаль Алгоритмический язык
const N = 2018; var a: array [1..N] of integer; i, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 2018 целтаб a[1:N] цел i, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 2018; int main() { int a[N]; int i, k, s; for (i = 0; i<N; i++)   cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #k и s а = [] n = 2018 for і in range(n): a.append(int(input()))

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

204 115 27 20 305 4

программа должна вывести (по одному числу в строке) числа

204 135 27 135 305 4

Паскаль Алгоритмический язык
const N = 30 ; var a: array [1..N] of integer; i, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 30 целтаб a[1:N] цел i, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 30 ; int main() { int a[N]; int i, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #k и s а = [] n = 30 for і in range(n): a.append(int(input()))

68) Дан целочисленный массив из 2018 элементов, в котором записаны значения последовательных результатов измерений. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который выполняет сглаживание последовательности: каждый элемент заменяется на целочисленное среднее арифметическое данного элемента и его ближайших соседей. Считается, что у крайних элементов только один сосед, а у остальных элементов – по два. Например, для исходного массива из шести элементов:

1 9 2 10 3 11

программа должна вывести (по одному числу в строке) числа

5 4 7 5 8 7

Паскаль Алгоритмический язык
const N = 2018 ; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 2018 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#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; } #допускается также использовать #две целочисленные переменные #k и j а = [] n = 2018 for і in range(n): a.append(int(input()))

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

6 0 6 10 11 7 5 9

программа должна вывести (по одному числу в строке) числа

5 5 5 5 8 8 8 8

Паскаль Алгоритмический язык
const N = 200; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 20 0 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 20 0 ; int main() { int a[N]; int i, j, k; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #k и j а = [] n = 20 0 for і in range(n): a.append(int(input()))

 

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

6 1 6 10 11 7 2 9

программа должна вывести (по одному числу в строке) числа

6 0 6 0 0 7 0 9

Паскаль Алгоритмический язык
const N = 200; var a: array [1..N] of integer; i, k: integer; s: real; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 200 целтаб a[1:N] цел i, k вещ s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 200; int main() { int a[N]; int i, k; float s for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #k и s а = [] n = 200 for і in range(n): a.append(int(input()))

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

7 1 3 2 14 5 9 6

программа должна вывести (по одному числу в строке) числа

0 0 0 2 14 0 0 6

Паскаль Алгоритмический язык
const N = 200; var a: array [1..N] of integer; i, j, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 200 целтаб a[1:N] цел i, j, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 200; int main() { int a[N]; int i, j, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #j, k и s а = [] n = 200 for і in range(n): a.append(int(input()))

 

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

7 1 3 2 14 5 9 6

программа должна вывести (по одному числу в строке) числа

7 1 3 14 14 5 9 14

Паскаль Алгоритмический язык
const N = 200; var a: array [1..N] of integer; i, j, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 200 целтаб a[1:N] цел i, j, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 200; int main() { int a[N]; int i, j, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #j, k и s а = [] n = 200 for і in range(n): a.append(int(input()))

 

73) Дан целочисленный массив из 200 элементов, в котором записаны значения последовательных результатов измерений. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который выполняет выбраковку данных в массиве: если элементов, заканчивающихся на цифру 3, меньше, чем элементов, заканчивающихся на цифру 5, все элементы, заканчивающие на цифру 3 заменяются на минимальный из них. Иначе все элементы, заканчивающиеся на цифру 5, заменяются на максимальный из них. Например, для исходного массива из восьми элементов:

15 13 3 27 145 5 93 65

программа должна вывести (по одному числу в строке) числа

15 3 3 27 145 5 3 65

Паскаль Алгоритмический язык
const N = 200; var a: array [1..N] of integer; i, j, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 200 целтаб a[1:N] цел i, j, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 200; int main() { int a[N]; int i, j, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } #допускается также использовать #две целочисленные переменные #j, k и s а = [] n = 200 for і in range(n): a.append(int(input()))

 

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

29 4 115 7 195 25 4 106

программа должна вывести (по одному числу в строке) числа:  

29 195 115 7 195 25 195 106

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#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; } # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

 

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

1 2 6 3 2 7 3 4

программа должна вывести (по одному числу в строке) числа:  

4 10 7 2 10 10 2 1

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#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; } # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

 

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

21 2 9 3 2 7 14 4

программа должна получить массив

5 2 9 3 2 5 5 4

вывести (по одному числу в строке) числа:  

5 2 9 3 4 5 5 2

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#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; } # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

 

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

7 15 9 333 22 71 14 95

программа должна получить массив

7 17 9 333 22 17 14 17

и вывести (по одному числу в строке) числа:  

22 17 14 17 7 17 9 333

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#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; } # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

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

7, 5, 9, 4, 8, 7, 14, 9

программа должна получить массив

14, 10, 9, 8, 8, 14, 14, 9

и вывести (по одному числу в строке) числа:  

9 14 14 8 8 9 10 14

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#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; } # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

 

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

7, 5, 9, 4, 8, 7, 14, 9

программа должна получить массив

7, 5, 5, 4, 8, 7, 10, 5

и вывести (по одному числу в строке) числа:  

5 10 7 8 4 5 5 7

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#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; } # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

 

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

7, 5, 2, 4, 8, 10, 14, 15

программа должна получить массив

7, 3, 2, 4, 8, 8, 14, 13

и вывести (по одному числу в строке) числа:  

13 14 8 8 4 2 3 7

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#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; } # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

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

7, 5, 2, 4, 8, 10, 14, 15

программа должна получить массив

7, 5, -3, -1, 3, 5, 9, 15

и вывести (по одному числу в строке) числа:  

15 9 5 3 -1 -3 5 7

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#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; } # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

 

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

7, 5, 2, 4, 8, 10, 14, 15

программа должна получить массив

7, 5, 2, 4, 1, 3, 7, 8

и вывести (по одному числу в строке) числа:  

8 7 3 1 4 2 5 7

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 30; int main() { long a[N]; long i, k, m; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные k и m a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

 

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

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

156 138 121 28 102

программа должна вывести числа 156 156 121 156 156, по одному числу в строке.

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

Паскаль Алгоритмический язык
const N = 5 0; var a: array [1..N]   of longint; i, k, m: longint; begin for i := 1 to N do    readln(a[i]); ... end. алг нач цел N = 50 целтаб a[1:N] цел i, k, m нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 5 0; int main() { long a[N]; long i, k, m; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные k и m a = [] n = 50 for i in range(0, n): a.append(int(input())) ...

 

84) (А.Н. Носкин) Дан массив, содержащий 50 положительных целых чисел, не превышающих 30 000. Необходимо найти количество элементов в этом массиве, для которых последняя цифра в шестнадцатеричной записи и в восьмеричной записи одинаковая, и заменить все четные элементы массива на это количество. Гарантируется, что такой элемент есть.

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

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

22 38 14 23 11

программа должна вывести числа 3 3 3 23 11, по одному числу в строке.

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

Паскаль Алгоритмический язык
const N = 50; var a: array [1..N]   of longint; i, k, m: longint; begin for i := 1 to N do    readln(a[i]); ... end. алг нач цел N = 50 целтаб a[1:N] цел i, k, m нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 50; int main() { long a[N]; long i, k, m; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные k и m a = [] n = 50 for i in range(0, n): a.append(int(input())) ...

 

85) (А.Н. Носкин) Дан целочисленный массив из 50 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Требуется написать программу, которая находит в массиве количество пар соседних элементов

– сумма которых положительна;

– сумма которых отрицательна. 

Под парой подразумевается два подряд идущих элемента массива. Затем нужно заменить все элементы массива с чётными значениями на количество пар элементов, сумма которых положительна, а нечетные элементы массива на количество пар элементов, сумма которых отрицательна.

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

1 2 -3 -5 4 -7

программа должна вывести числа 4 1 4 4 1 4, по одному числу в строке.

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

Паскаль Алгоритмический язык
const N = 50; var a: array [1..N]   of longint; i, k, m: longint; begin for i := 1 to N do    readln(a[i]); ... end. алг нач цел N = 50 целтаб a[1:N] цел i, k, m нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 50; int main() { long a[N]; long i, k, m; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные k и m a = [] n = 50 for i in range(0, n): a.append(int(input())) ...

 

86) (А.Н. Носкин) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 1000 включительно. Найти количество двузначных элементов массива, сумма цифр которых кратна 5, а затем заменить каждый такой элемент на количество таких элементов. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

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

32 14 320 110 5 50

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

3 3 320 110 5 3

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

Паскаль Алгоритмический язык
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] кц ... кон
С++ Python
#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; } # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

87) (А.Н. Носкин) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10000 включительно. Найти количество элементов массива, сумма цифр которых кратна 5, а затем заменить каждый такой элемент на количество таких элементов. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

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

1121 3002 50 5 33 27

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

4 4 4 4 33 27

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

Паскаль Алгоритмический язык
const N = 30; var a: array [1..N]   of longint; i, j, k, s: longint; begin for i := 1 to N do    readln(a[i]); ... end. алг нач цел N = 30 целтаб a[1:N] цел i, j, k, s нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 30; int main() { long a[N]; long i, j, k, s; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные j, k, s a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

88) (А.Н. Носкин) Дан целочисленный массив из 50 элементов. Элементы массива могут принимать натуральные значения от 1 до 10000 включительно. Все числа в массиве различные. Найти количество чисел, которые располагаются между числами 15 и 45 (не включая эти числа), а затем заменить все двузначные элементы на это количество. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Гарантируется, что элементы 15 и 45 в массиве есть.

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

15 6 11 18 9 45

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

4 6 4 4 9 4

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

Паскаль Алгоритмический язык
const N = 50; var a: array [1..N]   of longint; i, j, k: longint; begin for i := 1 to N do    readln(a[i]); ... end. алг нач цел N = 50 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 50; int main() { long a[N]; long i, j, k; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные j, k a = [] n = 50 for i in range(0, n): a.append(int(input())) ...

89) (А.М. Кабанов) Дан целочисленный массив из 100 элементов. Элементы массива могут принимать неотрицательные целые значения до 10000 включительно. Необходимо найти количество элементов массива, в десятичной записи которых содержатся ровно две шестёрки, а затем заменить элементы, которые в шестнадцатеричной записи оканчиваются на A, на число, равное найденному значению. Гарантируется, что такие элементы в массиве есть. В качестве результата необходимо вывести изменённый массив в обратном порядке, каждый элемент выводится с новой строчки.

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

170 6 666 6126 26 66

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

66 2 6126 2 6 2

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

Паскаль Алгоритмический язык
const N = 100; var a: array [1..N] of longint; i, k, x, b: longint; begin for i := 1 to N do    readln(a[i]); ... end. алг нач цел N = 100 целтаб a[1:N] цел i, k, x, b нц для i от 1 до N  ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 100; int main() { long a[N]; long i, k, x, b; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные k, x, b a = [] n = 100 for i in range(n): a.append(int(input())) ...

 

90) (А.М. Кабанов) Дан целочисленный массив из 100 элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно. Необходимо найти элемент c максимальной суммой цифр в десятичной записи (если таких элементов несколько, то берётся первый из них), а затем увеличить элементы, которые в восьмеричной записи состоят из двух цифр на число, равное найденному значению. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

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

170 16 1777 61 26 55

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

170 1793 1777 1838 1803 1832

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

Паскаль Алгоритмический язык
const N = 100; var a: array [1..N] of longint; i, m, ma, x, b: longint; begin for i := 1 to N do       readln(a[i]); ... end. алг нач цел N = 100 целтаб a[1:N] цел i, m, ma, x, b нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 100; int main() { long a[N]; long i, m, ma, x, b; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные m, ma, x, b a = [] n = 100 for i in range(n): a.append(int(input())) ...

91) (А.М. Кабанов) Дан целочисленный массив из 100 элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно. Необходимо найти минимальный из тех элементов массива, которые в двоичной записи содержат не менее пяти единиц. Затем нужно заменить элементы, у которых в десятичной записи сумма цифр не превышает 12, на число, равное найденному значению. Гарантируется, что такие элементы в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

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

158 31 123 61 97 55

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

158 31 31 31 97 31

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

Паскаль Алгоритмический язык
const N = 100; var a: array [1..N] of longint; i, m, ma, x, b: longint; begin for i := 1 to N do    readln(a[i]); ... end. алг нач цел N = 100 целтаб a[1:N] цел i, m, x, b нц для i от 1 до N  ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 100; int main() { long a[N]; long i, m, x, b; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные m, x, b a = [] n = 100 for i in range(n): a.append(int(input())) ...

92) (Е. Джобс) Дан целочисленный массив из 100 элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно. Необходимо определить количество четных и нечетных чисел. Если количество чётных чисел больше, чем количество нечётных, заменить каждое нечетное число на произведение нечетных цифр в его десятичной записи. Если количество нечётных чисел больше, заменить каждое чётное число на произведение чётных цифр в его десятичной записи. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

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

48 31 20 61 97 12 18

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

48 3 20 1 63 12 18

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

Паскаль Алгоритмический язык
const N = 100; var a: array [1..N] of longint; i, k, sp: longint; begin for i := 1 to N do readln(a[i]); ... end. алг нач цел N = 100 целтаб a[1:N] цел i, k , sp нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 100; int main() { long a[N]; long i, k, sp; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные k , sp a = [] n = 100 for i in range(n): a.append(int(input())) ...

93) (А. Кабанов) Дан целочисленный массив из 1000 элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно. Необходимо найти минимальный чётный и минимальный нечётный элемент массива (если в массиве отсутствуют чётные или нечётные числа, соответствующие им значения считаются равными 0). Затем необходимо уменьшить всё нечётные элементы на величину минимального чётного, а все чётные элементы уменьшить на величину минимального нечётного. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

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

98 87 76 65 54 43 32 21

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

77 55 55 33 33 11 11 -11

(Минимальный чётный равен 32, минимальный нечётный равен 21. Все нечётные числа уменьшены на 32, всё чётные числа уменьшены на 21)

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

Паскаль Алгоритмический язык
const N = 1000; var a: array [1..N] of longint; i, m, k: longint; begin for i := 1 to N do    readln(a[i]); ... end. алг нач цел N = 1000 целтаб a [1: N ] цел i, m, k нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 1000; int main() { long a[N]; long i, m, k; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные m, k a = [] n = 1000 for i in range(n): a.append(int(input())) ...

94) (А. Кабанов) Дан целочисленный массив из 1000 элементов. Элементы массива могут принимать неотрицательные целые значения до 10 000 включительно. Необходимо найти минимальный кратный 3 и минимальный кратный 5 элемент массива. Затем необходимо уменьшить каждый кратный 3 и кратный 5 на соответствующий им минимум. При этом кратные 15 должны быть уменьшены на сумму этих минимумов. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

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

5 9 10 11 12 13 14 15 16

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

0 0 5 11 3 13 14 1 16

(Минимальный кратный трём равен 9, минимальный кратный 5 равен 5. Все кратные трём уменьшены на 9, всё кратные пяти уменьшены на 5, все кратные пятнадцати уменьшены на 14)

Паскаль Алгоритмический язык
const N = 1000; var a: array [1..N] of longint; i, m, k: longint; begin for i := 1 to N do    readln(a[i]); ... end. алг нач цел N = 1000 целтаб a [1: N ] цел i, m, k нц для i от 1 до N ввод a[i] кц ... кон
С++ Python
#include <iostream> using namespace std; const int N = 1000; int main() { long a[N]; long i, m, k; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } # допускается также # использовать две # целочисленные переменные m, k a = [] n = 1000 for i in range(n): a.append(int(input())) ...

 


[1] По традиции нумерация элементов массива в Паскале обычно начинается с единицы, далее N обозначает размер массива (количество элементов).

[2] Вообще говоря, в данной задаче не требуется находить номер минимального элемента, поэтому сначала можно записать в переменную min число 1000 – проверьте, что программа все равно выдаст верное значение.

[3] Источники заданий:

1. Демонстрационные варианты ЕГЭ 2004-2013 гг.

2. Тренировочные работы МИОО.

3. Гусева И.Ю. ЕГЭ. Информатика: раздаточный материал тренировочных тестов. — СПб: Тригон, 2009.

4. Самылкина Н.Н., Островская Е.М. Информатика: тренировочные задания. – М.: Эксмо, 2009.

5. Якушкин П.А., Ушаков Д.М. Самое полное издание типовых вариантов реальных заданий ЕГЭ 2010. Информатика. — М.: Астрель, 2009.

6. Крылов С.С., Ушаков Д.М. ЕГЭ 2015. Информатика. Тематические тестовые задания. — М.: Экзамен, 2015.

7. Ушаков Д.М. ЕГЭ-2015. Информатика. 20 типовых вариантов экзаменационных работ для подготовки к ЕГЭ. — М.: Астрель, 2014.


Дата добавления: 2021-05-18; просмотров: 110; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!