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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2012, 13:00   #1
elrin
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 18
По умолчанию рейтинг Pascal

Доброго времени суток!
помогите пожалуйста новичку, мучусь с програмкой "рейтинг" на Pascal, вот такой код:
var
p(план),n(поступило),v(%),k(коеф): real;

begin
writeln('Ввести p:');
read(p);
writeln('Ввести n:');
read(n);
v:=(n*100)/p;
writeln('v = ',v:0:0);
if v>=100 then k:=1 else k:=-1;
writeln('k = ',k:0:0);
end.

но вся суть в том, что за каждые 10%(v) к коефициенту (k) додается 1 но не k не может быть больше 5.
Очень прошу помощи
elrin вне форума Ответить с цитированием
Старый 04.03.2012, 13:21   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

может так
Код:
v:=(n/p)*100;
Кольша вне форума Ответить с цитированием
Старый 04.03.2012, 14:55   #3
elrin
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Кольша Посмотреть сообщение
может так
Код:
v:=(n/p)*100;
нет, мне нужна пощь с самим телом цыкла, а V - это процент выполнения плана, он в 99,9 случаев всегда больше плана, тоесть V>100, он может составлять даже 250%, и за каждые 10% к коефициенту k додается 1, но k не может быть больше 5
elrin вне форума Ответить с цитированием
Старый 04.03.2012, 15:05   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
var
p(план),n(поступило),v(%),k(коеф): real;

begin
writeln('Ввести p:');
read(p);
writeln('Ввести n:');
read(n);
v:=(n*100)/p;
writeln('v = ',v:0:0);
if v>=100 then k:=k+1 else k:=k-1;
writeln('k = ',k:0:0);
end.
Кольша вне форума Ответить с цитированием
Старый 04.03.2012, 15:15   #5
elrin
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 18
По умолчанию

я думаю, что Ты не понял, этот код работает, нормально, k получает значение 1 или -1, но мне надо чтоб k получало значения от 1 до 5. Я понимаю что нужен цыкл, но заделать его у меня не получается
P.S.
k может получать значение не ниже -1 и не выше 5

Последний раз редактировалось elrin; 04.03.2012 в 15:28.
elrin вне форума Ответить с цитированием
Старый 04.03.2012, 16:01   #6
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Там строго или нет ?
Так покатит ?
Код:
while (K>-1) and (K<5) do begin
...
end;
или же

Код:
K:=1;b=5;
while k<=b do
 ...
k:=k+1;
или же

Код:
for k:=1 to 5 do begin
...
end;
Люблю на ты.Я человек простой

Последний раз редактировалось Leshii; 04.03.2012 в 16:28.
Leshii вне форума Ответить с цитированием
Старый 04.03.2012, 16:26   #7
elrin
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 18
По умолчанию

да спасибо код рабочий, но!!!!
вот результат:
v = 127
k = 1
2
3
4
5

цикл я наконец понял, огромное спасибо, но как вывести конечный результат чтобы:
v = ....
и
k = ....
чтоб без цыфр 2, 3, 4,...и т.д., только основные конечные значения

ответ на самый первый вопрос: условие результата k стого не меньше -1 и не больше 5

Последний раз редактировалось elrin; 04.03.2012 в 16:29.
elrin вне форума Ответить с цитированием
Старый 04.03.2012, 16:32   #8
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Если тебе нужен конечный результат то выводи после цикла, но если вывод будет после оно тебе передаст в ответ конечное значение тоесть( k=5 и v=...) и всё. Если же хочеш вывести в цикле то

Код:
while ... do

writeln('k=',k,' ' v=' ,v:0:0);
end;
если после

Код:
while ... do
....
end;
writeln('k=',k,' ' v=' ,v:0:0);
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 25.03.2012, 23:48   #9
elrin
Пользователь
 
Регистрация: 10.08.2010
Сообщений: 18
По умолчанию

в чем разница при выводе в теле цикла и после тела цикла?
где это можна почитать?
elrin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рейтинг alex118 HTML и CSS 1 10.01.2011 21:38
Рейтинг zumm Свободное общение 15 20.06.2010 10:42
Рейтинг Яр|/||< (^_^) Свободное общение 20 14.07.2009 11:51
рейтинг Xatr О форуме и сайтах клуба 2 20.04.2009 19:14