Решенные задачи на языке Паскаль
Условие задачи - из "гостевой книги".
Начав тренировки, лыжник в первый день пробегал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от предыдущего дня. Определить в какой день он пробежит больше 20 км, в какой день суммарный пробег за все дни превысит 100 км.
VAR S,S_all:real; {пробег за текущий день, суммарный пробег за все дни} i:integer; {для цикла, порядковый номер дня } flag1,flag2:boolean; {TRUE - если выполнилось условие 1, условие 2 } BEGIN i:=1; S:=10; {начальные условия } S_all:=S; {прошел первый день} flag1:=false; {условие1 еще не выполнялось } flag2:=false; {условие2 еще не выполнялось } repeat {начало ЦИКЛА} inc(i); {наступил следующий день } S:=S+S*10/100; {пробег за этот день } S_all:=S_all+S; {суммарный пробег за все дни} if (S>20)and(flag1=false) then begin writeln('В ',i,'-й день лыжник пробежит больше 20 км'); flag1:=true; end; if (S_all>100)and(flag2=false) then begin writeln('В ',i,'-й день суммарный пробег за все дни превысит 100 км'); flag2:=true; end; until flag1 and flag2; {конец ЦИКЛА, если оба условия были выполнены} readln; END.