Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2021, 08:32   #1
RalphStormy
Новичок
Джуниор
 
Регистрация: 11.10.2021
Сообщений: 1
По умолчанию Pascal Массивы

Есть код, никак не могу понять задание.

Код:
Program SRARIFM;
   Var
   N, K, I: integer;
   S, SA, a, b: real;
   x: array [1..50] of real;
begin
write ('Введите границы интервала [a, b] ');
readln (a, b);
write ('Введите кол-во элементов в массиве ');
readln (N);
{Организация ввода значений элементов массива Х}
for i:=1 to N do
begin
write ('Введите х [', i, '] ');
readln (x[i])
end;
{Расчетная часть программы}
S:=0;
K:=0;
For i:=1 to N do
If (x[i]>=a) and (x[i]<=b)
then
  begin
S:=s+x[i];
K:=k+1
                    End;
             if k=0
             then
              SA:=0
            Else SA:=S/K;
{Вывод результата подсчета} 
     writeln ('Средне арифметическое элементов, принадлежащих промежутку [', a:7:3, ',', b:7:3, ']=', SA:7:3); 
readln 
end.
Условие задания : Вычислить среднее арифметическое чисел, небольших А и стоящих на четных местах; подсчитать количество ненулевых чисел.
RalphStormy вне форума Ответить с цитированием
Старый 11.10.2021, 09:32   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,551
По умолчанию

Задание ясное. Прога, сдутая откуда-то, выполняет немножко другое. Нужно её допилить? Если включить бошку, то запросто. Ну а если включать нечего, то:
Код:
write ('Введите граничное значение а ');
readln (a);
............................
For i:=1 to (N div 2)  do
If (x[i+i]<=a) then
  begin
      S:=s+x[i+i];
      K:=k+1
  end;
.....................................
writeln ('Средне арифметическое элементов, удовлетворяющих условию: ', S:7:3);
Ну и посчитать количество ненулевых - таким же макаром. Можно в одном и том же цикле, но от 1 до N, используя
if (i mod 2) = 0
Код:
............................
For i:=1 to N  do
begin
   if x[i] <> 0 then Inc (N0) ;
   if (x[i]<=a) and ((i mod 2) = 0) then
     begin
        S:=s+x[i];
        K:=k+1
    end;
end;

Последний раз редактировалось digitalis; 11.10.2021 в 10:09.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы в Pascal. sss2208 Паскаль, Turbo Pascal, PascalABC.NET 7 05.10.2020 13:18
Массивы (Pascal) kvinkelman Паскаль, Turbo Pascal, PascalABC.NET 3 26.03.2016 14:07
Pascal: Массивы, подпрограммы, текст на языке Pascal WarriorCow Помощь студентам 4 22.02.2012 15:28
Pascal-массивы Айдар Помощь студентам 3 20.10.2009 20:15
pascal, массивы nastya8984999 Помощь студентам 1 31.03.2009 20:12