Предмет: Информатика, автор: ibragimovramis223

Объясните пожалуйста цикл for на примере, а то я не понимаю его! Только пожалуйста по простому!!!

Приложения:

Ответы

Автор ответа: Papapapapapam
1

Ответ:

Цикл for – цикл со счетчиком. Он организует повторение цикла фиксированное количество раз, но при этом автоматически увеличивает (или уменьшает) на единицу значение параметра цикла – некоторой переменной, указанной в заголовке цикла.

Перед началом цикла параметр цикла получает значение Выражения1(в первом примере это "1". Вычисляется значение Выражения2(в первом примере это "5"). Если оно не меньше значения параметра цикла, выполняется тело цикла. Затем параметр цикла увеличивается на единицу (делается так называемый шаг). Полученное значение параметра цикла вновь сравнивается со значением Выражения2. Как только значение параметра цикла станет больше значения Выражения2, цикл завершит свое выполнение.

Объяснение:

надеюсь, понятно объяснил


ibragimovramis223: ну а где сам ответ задачи?
Автор ответа: Ziorar
1

Вот пример такой программы:

var K,N,i: integer;

begin

read(K,N);

for i := 1 to N do

write(K,' ');

end.

Здесь переменная i  в цикле меняет своё значение от 1 до числа N (каждое повторение цикла будет со значением переменной i  на единицу больше предыдущего)

Например, если N=4, то цикл будет повторяться 4 раза, а переменная i  будет принимать при этом значения 1, 2, 3, 4 (эти значения можно использовать для каких то расчётов, но в данном случае мы их не используем, нам просто нужно чтобы цикл повторился нужное число раз).

При каждом повторении цикла, выполняются команды из тела цикла. В данном случае выполняться будет только одна команда write, идущая сразу после оператора цикла.

Если бы сразу после цикла шёл блок begin ... end;  то внутри него можно поместить много команд, и все они будут принадлежать к телу этого цикла. Например, вот такая программа, выполняющая те же действия:

var K,N,i: integer;

begin

read(K,N);

for i := 1 to N do

begin

write(K);

write(' ');

end;

end.

Так вот, при каждом повторении цикла, срабатывала наша команда вывода значения переменной K на экран (и после неё ещё и пробел). Вот и получилось в результате четыре раза подряд вывели значение K на экран.

Ещё можно сделать "финт ушами", и убрать одну переменную, сделав N одновременно и переменной, куда мы задаём количество повторений, и переменной цикла. Не знаю, насколько это вообще законно :)   и не уверен, что это сработает во всех версиях Паскаля, но вот как это выглядит:

var K,N: integer;

begin

read(K,N);

for N := 1 to N do

write(K,' ');

end.


Ziorar: А вообще, если не нужна переменная цикла, а только число повторов, то для этого есть цикл loop:

var K,N: integer;
begin
read(K,N);
loop N do
write(K,' ')
end.

Также, вывод можно делать через print (тогда пробел добавлять не надо, он добавится сам). Заголовок цикла и команду вывода можно кстати писать в одной строке:

var K,N: integer;
begin
read(K,N);
loop N do print(K)
end.
ibragimovramis223: бро, у меня в этой программе var K,N: integer;
begin
read(K,N);
loop N do
write(K,' ')
end.
ibragimovramis223: ошибку выдает
Ziorar: Значит, как я и говорил ранее, у тебя не та версия Паскаль, про которую я пишу (у меня если что PascalABC.NET v.3.4.2.1837 -она тоже уже довольно старая, но цикл loop в ней есть. а в твоей версии- значит нет его). Используй программу с циклом for
ibragimovramis223: ок
Похожие вопросы
Предмет: Русский язык, автор: evro21081978