Вопрос по информатике:
Люди добрые, большая просьба помочь с решением трех задач в Паскале.
1. Дан целочисленный массив из 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.
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. Опишите на русском языке или одном из языков программирования алгоритм подсчета числа элементов, равных максимальному, в числовом массиве из 30 элементов.
- 13.11.2017 04:35
- Информатика
- remove_red_eye 13497
- thumb_up 9
Ответы и объяснения 1
Задача 1
const N=30;
var a: array [1..N] of integer;
i,j,s: integer;
begin
for i:=1 to N do readln(a[i]);
for i:=1 to N do
if (a[i]>99)and(a[i]<1000) then
if (a[i] mod 2)0 then
begin
s:=s+a[i];
j:=j+1;
end;
if j=0 then writeln('в массиве нет нечётных трехзначных чисел')
else writeln('среднее арифметическое нечётных трехзначных чисел: ',s/j);
end.
задача 2
const N=40;
var a: array [1..N] of integer;
i,x,y: integer;
s: real;
begin
for i:=1 to N do readln(a[i]);
x:=abs(a[1]);
for i:=1 to N do
if (a[i]>0)and((a[i] mod x)=0) then
begin
y:=y+1;
s:=s+a[i];
end;
if y=0 then writeln('в массиве нет нечётных трехзначных чисел')
else writeln('среднее арифметическое положительных чисел кратных первому элементу: ',s/y);
end.
задача 3
const N=30;
var a: array [1..N] of integer;
i,s,m: integer;
begin
for i:=1 to N do readln(a[i]);
m:=a[1];
for i:=2 to N do
if a[i]>m then m:=a[i];
for i:=1 to N do
if a[i]=m then s:=s+1;
if s=1 then writeln('в массиве только один максимальный элемент')
else writeln('число элементов, равных максимальному: ',s-1);
end.
- 14.11.2017 23:59
- thumb_up 17
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.