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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2009, 22:47   #1
Neytron
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 20
По умолчанию подредактируйте программу

var i,n,k,l: integer;
pr: real;
begin
i:= 1;
l:= 2;
k:= 0;
pr:= 1;
ReadLn(n);
while k<n do
begin
inc(k);
pr:= i/l*pr;
i:= i+6;
l:= l+6;
end;
WriteLn(pr);
ReadLn;
end.
подредактируйте плиз, а то голову сломал, нада что бы она при вводе 0 считала 0

Последний раз редактировалось Neytron; 04.06.2009 в 22:51.
Neytron вне форума Ответить с цитированием
Старый 04.06.2009, 23:23   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) неплохо бы условие задачи видеть, почему это она вдруг должна при 0 выдавать результат ноль?!
2) решить это проще всего через проверку после readln(n); и перед while k<n напишите одну строчку кода:
Код:
if n=0 then pr := 0;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.06.2009, 23:50   #3
Neytron
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 20
По умолчанию

http://s56.radikal.ru/i151/0906/71/4d7399762890.jpg тут условие, извиняюсб что так неаккуратно)
Neytron вне форума Ответить с цитированием
Старый 04.06.2009, 23:59   #4
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

я вас сейчас огорчу... 0 НЕ является НАТУРАЛЬНЫМ числом (точнее будет сказать его чаще всего (особенно у нас) не рассматривают во мн-ве натуральных чисел)
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 05.06.2009, 00:02   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

__STDC__, +1
абсолютно согласен с Вами, коллега!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.06.2009, 00:20   #6
Neytron
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 20
По умолчанию

так чего делать та?) ка подправтиь программу7
Neytron вне форума Ответить с цитированием
Старый 05.06.2009, 00:32   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а никак! по условиям задачи N не может быть нулевым (так же как и дробным, отрицательным, мнимым и т.д. и т.п. - почитайте на википедии определение натурального числа!)
Ну, если сильно хотите - можете вставить проверку после readln(n) и выдать сообщение об ошибке ввода:
Код:
if n=0 then begin 
  WriteLn('Ошибка ввода - введено не натуральное число!'); 
  Halt(100);
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.06.2009, 00:52   #8
Neytron
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 20
По умолчанию

Halt(100); - а это что такое?
Neytron вне форума Ответить с цитированием
Старый 05.06.2009, 00:53   #9
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

аварийное завершение программы с exit-кодом 100
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 05.06.2009, 00:54   #10
Neytron
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 20
По умолчанию

__STDC__, спасибо
Neytron вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поправте программу.... netcher Паскаль, Turbo Pascal, PascalABC.NET 1 21.04.2009 22:03
приконектить программу Анастасия123456789 Помощь студентам 1 09.04.2009 12:10
Написать программу Chuvak Общие вопросы C/C++ 3 25.03.2009 22:51
Разобрать программу DarkDeivel Общие вопросы Delphi 13 21.09.2008 14:17
напишите программу nyncuk Помощь студентам 3 19.06.2008 14:39