Меню
Разработки
Разработки  /  Информатика  /  Подготовка к ЕГЭ  /  11 класс  /  Алгоритмы обработки массивов

Алгоритмы обработки массивов

Материал позволит проверить знания учащихся на умение описывать алгоритмы на русском языке или на одном из языков программирования.
11.10.2013

Описание разработки

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

Пояснение.

x:=0;

y:=0;

for i:=1 to N do

if (a[i] mod 2=1) then begin

x:=x+a[i];

y:=y+1;

end;

s:=x/y;

writeln(s);

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

Пояснение.

min:=100;

for i:=1 to N do

if (a[i]>=20) and (a[i]<=min) then

min:=a[i];

writeln(min);

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

Пояснение.

Решение на Паскале.

const N = 30;

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

MaxIncr, NumIncr, i: integer;

begin

MaxIncr: =1;

NumIncr: =1;

for i: =1 to N-1 do

if (a[i] < a [i+1]) then

NumIncr: =NumIncr+1

else begin

if (NumIncr> MaxIncr) then

MaxIncr: =NumIncr;

NumIncr: =1;

end;

if (NumIncr> MaxIncr) then

MaxIncr:=NumIncr;

writeln (MaxIncr);

end.

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

Пояснение.

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 }

b[i]:= abs(a[i])

end.

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

Пояснение.

max:= -20;

for i:=1 to N do

if (a[i]<0) and (a[i]>=max) then

max:=a[i];

writeln(max);

end.

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

Пояснение.

const N=30;

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

MaxEven, NumEven, i: integer;

begin

MaxEven:=0;

NumEven:=0;

for i:=1 to N do

if a[i] mod 2 = 0 then

NumEven:=NumEven+1

else begin

if NumEven>=MaxEven then

MaxEven:=NumEven;

NumEven:=0;

end;

if NumEven>=MaxEven then

MaxEven:=NumEven;

Writeln(MaxEven);

end.

Содержимое разработки

Алгоритмы обработки массивов

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

Пояснение.

x:=0;

y:=0;

for i:=1 to N do

if (a[i] mod 2=1) then begin

x:=x+a[i];

y:=y+1;

end;

s:=x/y;

writeln(s);


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

Пояснение.

min:=100;

for i:=1 to N do

if (a[i]=20) and (a[i]

min:=a[i];

writeln(min);


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

Пояснение.

Решение на Паскале.

const N = 30;

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

MaxIncr, NumIncr, i: integer;

begin

MaxIncr: =1;

NumIncr: =1;

for i: =1 to N-1 do

if (a[i]

NumIncr: =NumIncr+1

else begin

if (NumIncr MaxIncr) then

MaxIncr: =NumIncr;

NumIncr: =1;

end;

if (NumIncr MaxIncr) then

MaxIncr:=NumIncr;

writeln (MaxIncr);

end.


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

Пояснение.

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 }

b[i]:= abs(a[i])

end.


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

Пояснение.

max:= -20;

for i:=1 to N do

if (a[i]=max) then

max:=a[i];

writeln(max);

end.


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

Пояснение.

const N=30;

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

MaxEven, NumEven, i: integer;

begin

MaxEven:=0;

NumEven:=0;

for i:=1 to N do

if a[i] mod 2 = 0 then

NumEven:=NumEven+1

else begin

if NumEven=MaxEven then

MaxEven:=NumEven;

NumEven:=0;

end;

if NumEven=MaxEven then

MaxEven:=NumEven;

Writeln(MaxEven);

end.

-80%
Курсы дополнительного образования

Основы HTML

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Алгоритмы обработки массивов (33 КB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт