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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2017, 22:56   #1
Ksenia2019
 
Регистрация: 15.07.2017
Сообщений: 8
По умолчанию Здравствуйте. Проблема с паскалем..

Мне нужна прога,которая определяет среднюю температуру пациентов по палате. Число пациентов не ограничено.
я думаю так, но в тот же момент поонимаю что это детский сад...и код большой...
Код:
Program task1;
var
a,b,c,d,e,f,n,k:real;
begin
read(n); // число пациентов
if n=1 then 
begin
   read (a); 
  k:=a;
  write(k);
  end;
if n=2 then
begin
  read (a,b);
  k:=(a+b)/n;
  write(k);
  end;
if n=3 then
begin
  read (a,b,c);
  k:=(a+b+c)/n;
  write(k);
  end;
if n=4 then
begin
  read (a,b,c,d);
  k:=(a+b+c+d)/n;
  write(k);
  end;
  if n=4 then
  begin
  read (a,b,c,d,e);
  k:=(a+b+c+d+e)/n;
  write (k);
  end;
    if n=5 then
    begin
  read (a,b,c,d,e,f);
  k:=(a+b+c+d+e+f)/n;
  write (k);
  end;
  end.
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 29.09.2017 в 23:09.
Ksenia2019 вне форума Ответить с цитированием
Старый 29.09.2017, 23:13   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Вы проходили циклы и массивы? Уверен, что от вас требуется, чтобы задача решалась именно через них. Представьте, что у вас пациентов тысяча. Как вы выглядел код вашей программы в таком случае?

Подсказка: ван нужен массив и цикл, чтобы его обрабатывать.
Вадим Мошев вне форума Ответить с цитированием
Старый 30.09.2017, 06:26   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Ну массив необязателен, можно сразу накапливать. Температуры всех ему же не выводить...
p51x вне форума Ответить с цитированием
Старый 30.09.2017, 07:40   #4
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 736
По умолчанию

Ну да, действительно, где автоматизация-то? Не надо вручную считать каждый раз среднее арифметическое - здесь должна быть автоматизация. Надо просто создать динамический массив или статический массив размером = максимальному числу пациентов в палате и потом создать еще функцию Среднее арифметическое() - только по-английски. Допустим, заполнили массив, потом передали его в функцию по указателю или завести глобальный массив, если указатели - слишком сложно. Вотрым параметром в функцию будет n. Функция посчитает сумму n-элементов, поделит на n и вернет результат.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 на форуме Ответить с цитированием
Старый 30.09.2017, 08:09   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

массив то зачем?
Код:
s:=0; for i:=1 to N do begin read(x); s:=s+x; end; среднее:=s/n;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Здравствуйте!Проблема! программа AnyLogic! ChekaGo Помощь студентам 1 28.02.2019 06:27
Проблема с Паскалем Dinarka Паскаль, Turbo Pascal, PascalABC.NET 2 29.09.2016 08:53
Проблема с Паскалем пропускает ввод Veor12 Паскаль, Turbo Pascal, PascalABC.NET 3 22.10.2011 11:46
Проблема с паскалем SkuLLL Помощь студентам 1 23.11.2010 18:19