Запишите на языке Паскаль программы решения задач № 25-29 из § 3.4.

Информатика 8 класс Босова ФГОС

§ 3.5. Программирование циклических алгоритмов ГДЗ по Информатике 8 Класс


5. Запишите на языке Паскаль программы решения задач № 25-29 из § 3.4. Используйте оператор while.

1) Запас рыбы в пруду оценен в А тонн. Ежегодный прирост рыбы составляет 15%. Ежегодный план отлова — В тонн. Наименьший запас рыбы составляет С тонн. (Запас ниже С тонн уже не восстанавливается.) Составьте программу для подсчёта количества лет, в течение которых можно выдерживать заданный план.
2) Дана последовательность 5, 9, 13, 17, … . Составьте программу для определения числа слагаемых, сумма которых равна 324.
3) Составьте программу для определения количества цифр в записи произвольного натурального числа.
4) Сумма 10000 рублей положена в сберегательный банк, при этом прирост составляет 5% годовых. Составьте программу, определяющую, через какой промежуток времени первоначальная сумма увеличиться в 2 раза.

Ответ

а) Цикл будет выполнен 16 раз (от 0 до 15 включительно).
б) Цикл будет выполнен 6 раз (от 10 до 15 включительно).
в) Цикл будет выполнен 3 раза (от -1 до 1 включительно).
г) Цикл будет выполнен 1 раз, так как начальное и конечное значения переменной i равны 10 и цикл выполняется только при выполнении условия i <= 10.
д) Цикл будет выполнен 3 раза (от 4 до 6 включительно), так как значения переменной i будут равны 4, 5 и 6 при итерации цикла.

1 задача

program raf105;

var

 b,c,let: integer;

 a: real;

begin

write(‘Запас рыбы в пруду: ‘);

readln(a);

write(‘Ежегодный план отлова: ‘);

readln(b);

write(‘Наименьший запас: ‘);

readln(c);

while a >= c do

begin

 let+= 1;

 a:= a+a/100*15;

 a-= b;

end;

writeln(‘Заданный план можно выдержать в течении ‘,let,’ лет.’);

end.


2 задача

program raf105;

var a,sum,counter: integer;

begin

a:=1;

while sum<>324 do

begin

 a+= 4;

 sum+= a;

 counter+= 1;

end;

writeln(‘Число слагаемых: ‘,counter);

end.


3 задача

program raf105;

var a,counter: integer;

begin

write(‘Введите число: ‘);

readln(a);

while a<>0 do

begin

 counter+= 1;

 a:= a div 10

end;

writeln(‘Количество цифр: ‘,counter);

end.


4 задача

program raf105;

var

 a: real;

 let:integer;

begin

a:= 10000;

while a<20000 do

begin

 let+=1;

 a+= a/100*5;

end;

writeln(‘Сумма увеличится в 2 раза через ‘,let,’ лет’);

end.