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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2010, 22:02   #1
xSanchox
Новичок
Джуниор
 
Регистрация: 17.12.2010
Сообщений: 5
По умолчанию Паскаль, цикл с предусловием

задача:
Организуйте цикл, при котором выводятся на экран отрицательные числа и находится среднеарифметическое этих чисел. Условием является ввод числа 0.

я дошел лишь до того что программа выводит отрицательные числа до нуля, но среднее арифметическое...%)

program pr;
var i:integer;
begin
writeln ('vvedite 4islo');
readln(i);
while i<0 do
begin
i:=i+1;
writeln(i);
end;
end.

хотя я уверен что даже не так должно все выглядеть

заранее спасибо
xSanchox вне форума Ответить с цитированием
Старый 17.12.2010, 22:07   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
var
a,s:real;
i:integer;
begin
s:=0;
a:=-1;i:=0;
while a<0 do begiin
readln(a);
if a<0 then
s:=s+a;
inc(i);
end;
if i-1<>0 then
s:=s/(i-1);
writeln('sa',s:6:3);
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 17.12.2010 в 22:37.
Mad_Cat вне форума Ответить с цитированием
Старый 17.12.2010, 22:11   #3
xSanchox
Новичок
Джуниор
 
Регистрация: 17.12.2010
Сообщений: 5
По умолчанию

не очень понял что делает эта программа, но точно не то что надо
xSanchox вне форума Ответить с цитированием
Старый 17.12.2010, 22:17   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Я не уверен с твоим условием , но я поправил твой код

Код:
program pr;
var i:integer;
    num : integer;
    sr: double;
begin
  sr :=0;
  num:= 0;
  write ('vvedite 4islo : ');
  readln(i);
  
  while i<0 do
  begin   
    sr:=sr+i;
    num:=num+1;
    write(i,' '); 
    i:=i+1;
  end;
  
  sr:=sr/num;
  writeln();
  write( 'srednee : ',sr ); 
end.
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 17.12.2010, 22:59   #5
xSanchox
Новичок
Джуниор
 
Регистрация: 17.12.2010
Сообщений: 5
По умолчанию

Спасибо огромное! но что за тип double?
xSanchox вне форума Ответить с цитированием
Старый 17.12.2010, 23:05   #6
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от xSanchox Посмотреть сообщение
Спасибо огромное! но что за тип double?
Вот тут ты можешь почитать про типы , ссылка на страницу .

Если ты знаешь тип real , то можешь заменить на него . Просто среднее это не целое число может быть , я использовал для этого double .
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл с предусловием ТР ГлавБухОЙ Помощь студентам 3 20.12.2009 16:49
Цикл с предусловием glupayastudentka Помощь студентам 2 29.06.2009 21:19
Цикл с предусловием glupayastudentka Помощь студентам 5 28.06.2009 20:11
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34