Помощь - Поиск - Пользователи - Календарь
Полная версия: Цикл! Зацикливание
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
rs-mms
Program fermer; 
uses crt;
var 
  S: real; {отпускная цена} 
  S2,S3: real; {изменяемая цена} 
  P: real; {процент} 
  N: integer; 
begin 
  writeln('Введите отпускную цену: '); 
  readln(S); 
  writeln('Введите процент: '); 
  readln(P); 
  N:=0; 
  S3 := S; 
    repeat 
      S2:=S3*(1 + P/100); {повышение цены зимой} 
      S3:=S2*(1 - P/100); {понижение цены летом} 
      N:=N+1;   
    until (S3=S); {проверка условия} 
      writeln('Цена на молоко', S3, 'через', N, 'лет'); 
    readln;
end.
volvo
М
rs-mms, в следующий раз добавляй теги для подсветки синтаксиса самостоятельно + измени название темы, иначе она будет закрыта...



P.S. Еще бы узнать, что делает эта программа (в смысле, что должна делать...)
rs-mms
Вот условие задачи:
Каждый год животновод в начале зимы повышает отпускную цену на молоко на р%, а каждое лето понижает на такое же количество процентов. Изменится ли цена на молоко, если да, то в какую сторону и через сколько N лет?



Добавлено через 1 мин.
Вот условие задачи:
Каждый год животновод в начале зимы повышает отпускную цену на молоко на р%, а каждое лето понижает на такое же количество процентов. Изменится ли цена на молоко, если да, то в какую сторону и через сколько N лет?

Ozzя
Условие выхода из цикла не работает, потому что нарастающую по цене считаете неверно.
rs-mms
Ну а как надо? Подскажите пожалуйста!
volvo
Опять же не совсем понятно:
Цитата
Каждый год животновод в начале зимы повышает отпускную цену на молоко на р%, а каждое лето понижает на такое же количество процентов. Изменится ли цена на молоко, если да, то в какую сторону и через сколько N лет?
Что значит выделенное? Измениться ли цена, и через сколько лет? Да, изменится, уже после первого же прибавления. Цена уже другая. Имеется в виду в конце года? Да, тоже изменится, потому что если прибавить X% к числу и потом от вновь полученного отнять X% - то исходное число получено не будет:
N := 0; 
S3 := S; 
repeat 
  S2:=S3*(1 + P/100); { повышение цены зимой } 
  S3:=S2*(1 - P/100); { понижение цены летом } 
  N:=N+1;   
until (S3 <> S); { проверка условия (условие изменилось) } 
writeln('Цена на молоко', S3:10:3, 'через', N, 'лет');

Так что все-таки находим?
Гость
Условие задачи дано преподавателем.
volvo
Цитата
Условие задачи дано преподавателем.
Уточнить никак нельзя?
rs-mms
Я у нее спрашивала только про то какую цену надо менять отпускную или уже измененную, дала ответ что измененную. А что-то еще уточнять уже поздно, сессия в понедельник.

Добавлено через 4 мин.
Спасибо! Получается надо было только знак = поменять на <> и все работает!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.