К примеру возьмём цикл из C# (for) :
он имеет такой синтаксис:
for(переменная-счётчик; условие для переменной счётчика; изменение цикла)
{
// тело цикла:
// sample code .
}
в основном , цикл for используют так, что изменение цикла это инкремент переменной счётчика, а условие это, то что при true будет выполнять тело цикла ;
пример: for(int i = 0; i < 10; i++)
{
Console.WriteLine(i);
}
// Out: 0 1 2 3 4 5 6 7 8 9 ;
Для цикла из задания пример будет таким:
for(int i = 10; i > 0; i--)
{
Console.WriteLine(i);
}
// Out: 10 9 8 7 6 5 4 3 2 1 ;
Как он работает: создаётся переменная счётчик i , которой присваивается значение указанное разработчиком (10) , далее эта переменная счётчик проверяется условием ( i > 0 ) , если условие возвращает true (истина) - то внутри цикла выполняется написанный код , а после этого выполняется часть изменение , то есть в данном случае уменьшение i(10) на 1 , так повторяется до тех пор пока удовлетворительно условие .
Поделитесь своими знаниями, ответьте на вопрос:
При каком наибольшем введенном числе d после выполнения программы будет напечатано 55? var n, s, d: integer; begin readln(d); n : = 0; s : = 0; while s < = 365 do begin s : = s + d; n : = n + 5 end; write(n) end.
55:5=11
365:11≈33(34) берём "34", чтобы перехлестнуть 365.
Так как 11-ый член является замыкающим (перехлёстывающим 365), тогда смотрим по ближайшим:
34*10=340 (340+34=374) - подходит, но это не максимум!
365 mod 10= 36, а это значит, что последующий член будет больше 365, а именно 395.
В задании сказано, что d должно быть максимальным, а "34" - это допустимое, но не максимально число, удовлетворяющее условию, даже минимальное (по результату).
Проверка:
34*11=374, значит, когда на экране выведется s:=340, n:=50, то, зайдя по следующему циклу, получится, что s:= 374, n:=55. На следующий цикл программа не пойдёт.
ответ: d=34.