Размер шрифта: A AA Изображения Выключить Включить Цвет сайта Ц Ц Ц Х
Бесплатный конструктор сайтов - uCoz
Пятница, 17.05.2024, 06:51
Приветствую Вас Гость | RSS

Сайт учителя информатики  и ИКТ Шинкаренко Евгения Александровича

Реклама
Оцените сайт
Оцените мой сайт
Всего ответов: 837
Программирование
Какой язык программирования выбрать для подготовки к ЕГЭ
Всего ответов: 804

Решение задачи №3.

Задача №3.
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от –1000 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет подсчитать и вывести среднее арифметическое положительных элементов массива. Если в массиве нет положительных элементов, программа должна вывести сообщение «положительных элементов нет».
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
ПаскальБейсикСиЕстественный язык
const
N=30;
var
a: array [1..N] of integer;
i, x, y: integer;
s: real;
begin
for i:=1 to N do readln(a[i]);

end.

N=30
DIM A(N) AS INTEGER
DIM I, X, Y AS INTEGER
DIM S AS SINGLE
FOR I = 1 TO N
INPUT A(I)
NEXT I

END

#include <stdio.h>
#define N 30
void main(void)
{int a[N];
int i, x, y;
float s;
for (i=0; i<N; i++)
scanf("%d", &a[i]);

}

Объявляем массив A из 30
элементов.
Объявляем целочисленные
переменные I, X, Y.
Объявляем вещественную
переменную S.
В цикле от 1 до 30 вводим
элементы массива A с 1-го по
30-й.

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

Решение задачи №3
ПаскальБейсикСиЕстественный язык
x:=0;
y:=0;
for i:=1 to N do
if a[i]>0 then begin
x:=x+a[i];
y:=y+1;
end;
if y>0 then
writeln(x/y);
else
writeln('положительных
элементов нет');

X = 0
Y = 0
FOR I = 1 TO N
IF A(I) > 0 THEN
X = X + A(I)
Y = Y + 1
ENDIF
NEXT I
IF Y>0 THEN
PRINT X/Y
ELSE
PRINT "положительных элементов
нет"
ENDIF

x=0;
y=0;
for (i=0; i<N; i++)
if (a[i]>0) {
x+=a[i];
y++;
}
if (y>0)
printf("%f", (float)x/y);
else
printf("положительных
элементов нет");

Записываем в переменные X и Y
начальное значение, равное нулю. В
цикле от первого элемента до
тридцатого сравниваем значение
элемента исходного массива с нулем.
Если элемент массива больше нуля, то
увеличиваем счетчик суммы X на
значение текущего элемента массива,
а счетчик количества Y на 1.
Переходим к следующему элементу.
После цикла проверяем значение
счетчика Y. Если Y>0, то выводим
частное от деления X на Y, иначе
выводим сообщение «положительных
элементов нет».
Алгоритм решения задачи
  • Переменные X и Y будут принимать значения суммы положительных элементов и количество положительных элементов соответственно, начальное значение переменных равно нулю.
  • В цикле от 1 до 30 проверяем является ли элемент массива положительным, если да, то переменная X увеличивает свое значение на величину элемента массива, а переменная Y увеличивается на единицу. Таким образом мы подсчитали сумму положительный элементов массива и их количество.
  • Далее проверяем есть ли в массиве положительные элементы (Y>0), если есть, то выводим на экран среднее арифметическое (writeln(x/y)), если нет положительных элементов , то выводим надпись "положительных
    элементов нет"
Возврат к списку задач

Реклама
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Счетчик яндекс
Яндекс.Метрика