Помогите с прогой.
Вклад составляет x рублей. Ежегодно он увеличивается на p процентов, после чего дробная часть копеек отбрасывается. Каждый год сумма вклада становится больше. Определите, через сколько лет вклад составит не менее y рублей.
Входные данные
Программа получает на вход три натуральных числа: x, p, y.
Выходные данные
Программа должна вывести одно целое число.
Написал:
program u1;
var x,p,y,year:longint;
s: real;
begin
readln (x);
readln (p);
readln (y);
s:=x;
year:=0;
while s begin
while s s:= s+(1+p/100);
year:=year+1;end;
writeln (year);
end.
Не выводит ответ. Помогите найти ошибку. Я новичок.
Answers & Comments
FOR i = 1 TO 100
percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round)
x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу
IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму
PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет
END 'завершаем программу
END IF
NEXT i ' конец цикла
Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.