Nadezhda Malakhov53
?>

Дан массив из n действительных чисел .Подсчитать сколько в нем отрицательных положительных и нулевых элементов

Информатика

Ответы

denbelousov963
Если число заканчивается на 5 или 0, то по признакам делимости оно кратно 5.

1. Глупый школьный вариант

Перебираем все числа в заданном диапазоне и если встречаем кратное 5, прибавляем его к сумме.

var
  i,s:integer;

begin
  s:=0;
  for i:=1 to 200 do
    if i mod 5=0 then s:=s+i;
  Writeln(s)
end.

Результат:
4100

2. Более умный школьный вариант с циклом while

Первое число, кратное 5 - это 5. А дальше прибавляем по 5 к сумме и ничего не нужно проверять.

var
  i,s:integer;

begin
  i:=5; { первое подходящее число }
  s:=i;
  while i<200 do begin
    i:=i+5;
    s:=s+i
    end;
  Writeln(s)
end.

3. Еще более умный школьный вариант с циклом for

От предыдущего отличается получения нужных чисел.
Замечаем, что ряд 5, 10, 15, 20, ... можно получить из чисел 1, 2, 3, 4, ..., умножая их на 5. И таких чисел будет 40.

var
  i,s:integer;

begin
  s:=0;
  for i:=1 to 40 do s:=s+5*i;
  Writeln(s)
end.

4. Современный вариант на современном Паскале

Генерируем последовательность нужных чисел и находим сумму её элементов.

// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  Range(5,200,5).Sum.Println
end.
tofilev

// Форматирование вывода вещественного числа можно поставить как нравится, я выбрал 3:3

// Считал, что доля с участием нуля равна 0%

program Calc;

var a, b: integer;

begin

 write('Введите a: ');

 readln(a);

 

 write('Введите b: ');

 readln(b);

 

 writeln(a, '+', b, '=', a + b);

 writeln(a, '-', b, '=', a - b);

 writeln(a, '*', b, '=', a * b);

 

 if (b = 0) then begin

   writeln(a, '/', b, ' не определено');

   writeln(a, ' составляет 0% от числа ', b);

 end

 else begin

   writeln(a, '/', b, '=', (a / b):3:3);

   writeln(a, ' составляет ', (a / b * 100):3:3, '% от числа ', b);

 end;

 

 if (a = 0) then

   writeln(b, ' составляет 0% от числа ', a)

 else

   writeln(b, ' составляет ', (b / a * 100):3:3, '% от числа ', a);

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан массив из n действительных чисел .Подсчитать сколько в нем отрицательных положительных и нулевых элементов
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

pisikak999
barinovmisha2013
kapitan19
oserdyuk41
bchukhraev79
Милита1065
vovkiv7864
Андреевич-Екатерина1974
v89167233402
vasenkova1981
anastasiavilina
samsakovs7757
mrvasilev2012
Avshirokova51
dawlatowajana