Молю решите заранее огромное

var s, n: integer;
begin
s:=100
n:=300
while s+n <= 600 do
begin
s:= s+40
n:=n-20
end

var s, n: integer;
begin
s:=500
n:=200
while s div n >= 2 do begin
s:= s+5
n:= n+5
end

Owlysoulowl Owlysoulowl    2   02.02.2021 17:06    7

Ответы
зайка584 зайка584  02.02.2021 17:10

Объяснение кода №1;

var s, n: integer;  //Объявление переменных

begin  //Начало программы

s:=100  //Значение переменной S равняется 100

n:=300  //Значение переменной n равняется 300

while s+n <= 600 do  

//Цикл while выполняется до тех пор, пока истинно условие s + n <= 600, т. е. сумма s и n определяет, сколько раз выполнится цикл.

begin

//Следовательно, два действия s := s + 40 и n := n − 20 можно объединить, так как цикл зависит от двух переменных. Таким образом, на каждом повторе (умными словами итерации) добавляется 20.

s:= s+40

n:=n-20

end

//Решим уравнение: 400 + x > 600.

Цикл остановится, когда x будет больше 200. Поскольку каждый раз добавляется по 20, будет 11 повтор.

По итогу, получится на 11-ой итерации: 100 + 40 * 11 = 540.

Объяснение кода №2;

//Объяснения немного короче напишу

var s, n: integer;

begin

s:=500

n:=200

//Цикл while выполняется до тех пор, пока истинно условие s div n >= 2, т. е. целочисленное деление s на n определяет, сколько раз выполнится цикл.

while s div n >= 2 do begin

s:= s+5

n:= n+5

end

//Следовательно, каждый раз к обеим переменным прибавляется по 5. Целочисленное деление s на n будет меньше 2 тогда, когда s примет значение 605, а n — значение 305.

Совет: Если ты вдруг 10 или 11 класс, и не понимаешь данные штуки, можешь не вникать уже в них, поздно. Изучай си, си++ в универе пригодится :)

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика