Десять задач на массивы

  • docx
  • 14.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 10a-massivy-1.docx

1)      Дан целочисленный массив из 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.

2)      Дан целочисленный массив из 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.

3)      Дан целочисленный массив из 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.

4)     Дан массив, содержащий 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.

5)     Дан массив, содержащий 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.

6)     Дан массив, содержащий 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.

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

const N=40;

var a: array [1..N] of integer; i, j, k: longint;

begin

for i:=1 to N do readln(a[i]);

end.

8)     Дан массив, содержащий 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.

9)     Дан массив, содержащий 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.

10) Дан массив, содержащий 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.

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

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

  максимальный нечётный элемент, если количество нечётных элементов больше, чем чётных. Например, для массива из шести элементов, равных соответственно 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.

12) Дан целочисленный массив из 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.

13) Дан целочисленный массив из 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.

14) Дан целочисленный массив из 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.

15)    Дан целочисленный массив из 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.

16) Дан целочисленный массив из 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.

 

17) Дан целочисленный массив из 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.