Другие языки программирования и технологии
Цикл For в паскале
Прошу, объясните подробно, что это вообще такое? Как он работает?? ? Желательно на простых примерах. То что в учебниках по этому поводу написано я не понимаю.
Все просто.
Допустим, дана задача: Вывести на экран все числа от 1 до 1000;
Незная, что такое "цикл" первое что приходит в голову это:
writeln(1);
writeln(2);
writeln(3);
writeln(4);
// и так еще 996 раз
И задача решена.
С циклом :
for a:=1 to 1000 do WriteLn(a);
Где a:=1 - Это начальное условие, то есть откуда начинать.
to 1000 - до куда и где остановится.
Будет тот же самый результат решения, но только все в одну строчку.
Циклы нужны только для того чтобы облегчить выполнение повторяющихся задач (название само говорит за себя) .
И в основном используются для больших чисел/значений.
И на заметку,
процесс исполнения цикла, называется ИТЕРАЦИЕЙ.
Допустим, дана задача: Вывести на экран все числа от 1 до 1000;
Незная, что такое "цикл" первое что приходит в голову это:
writeln(1);
writeln(2);
writeln(3);
writeln(4);
// и так еще 996 раз
И задача решена.
С циклом :
for a:=1 to 1000 do WriteLn(a);
Где a:=1 - Это начальное условие, то есть откуда начинать.
to 1000 - до куда и где остановится.
Будет тот же самый результат решения, но только все в одну строчку.
Циклы нужны только для того чтобы облегчить выполнение повторяющихся задач (название само говорит за себя) .
И в основном используются для больших чисел/значений.
И на заметку,
процесс исполнения цикла, называется ИТЕРАЦИЕЙ.
Вот скажем у тебя есть 3 ящика яблок: Ящик1=12 кг, ящик2=15 кг и ящик3=10 кг.
Нужно посчитать, сколько всего яблок есть. На Языке Программирования это будет так:
Всего: =ящик1+ящик2+ящик3.Понятно, что переменные содержат количество в каждом ящике. Теперь представь, что у нас ящиков, скажем 1000.Вводить 1000 переменных неохота, и писать сумму их в виде ящик1+...+ящик1000 тем более.
Выход : использовать массив ящик [1..1000], и в цикле это посчитать:
for I:=1 to 1000 do sum_:=sum_+ящик [ I ];
За счет изменения в цикле I 1000 раз от 1 до 1000 в переменной sum_ на копится общий вес ящиков. Не правда ли, очень просто!
Нужно посчитать, сколько всего яблок есть. На Языке Программирования это будет так:
Всего: =ящик1+ящик2+ящик3.Понятно, что переменные содержат количество в каждом ящике. Теперь представь, что у нас ящиков, скажем 1000.Вводить 1000 переменных неохота, и писать сумму их в виде ящик1+...+ящик1000 тем более.
Выход : использовать массив ящик [1..1000], и в цикле это посчитать:
for I:=1 to 1000 do sum_:=sum_+ящик [ I ];
За счет изменения в цикле I 1000 раз от 1 до 1000 в переменной sum_ на копится общий вес ящиков. Не правда ли, очень просто!
разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного (ИМЕННО СЧЕТНОГО) исполнения набора инструкций.
ИМЕННО СЧЕТНОГО то есть мы заранее знаем сколько раз он исполнится
не на этапе программирования, а при входе в цикл
о как же костен мой язык!!!
ИМЕННО СЧЕТНОГО то есть мы заранее знаем сколько раз он исполнится
не на этапе программирования, а при входе в цикл
о как же костен мой язык!!!
Я тоже сначала не понимал циклов. Вот, смотри, самый понятный пример: for a:=1 to 4 do WriteLn('цикл'); Это тоже-самое, что это: WriteLn('цикл'); WriteLn('цикл'); WriteLn('цикл'); WriteLn('цикл'); Только намного короче. Можно сделать больше четырех. Еще это: for a:=1 to 4 do WriteLn('итерация', a); Равно вот этому: WriteLn('итерация',1); WriteLn('итерация',2); WriteLn('итерация',3); WriteLn('итерация',4); Теперь пример по-сложнее: type mas = array[1.10] of integer; var a:mas; b:integer; begin for b:=1 to 10 do ReadLn(a); for b:=1 to 10 do begin if b < 0 then WriteLn(a); end; end. Этот пример заполняет массив с клавиатуры и выводит все отрицательные значения массива. С помоью циклов делают загрузку/поиск/сканирование или просто, чтоб определенный код повторялся.
пробегает по всем элементам, от одного значения до другого
Похожие вопросы
- Цикл for в Дельфи или Паскале
- цикл for не может обрабатывать массивы? (паскаль)
- *.bat - Не работает set /a внутри цикла for!
- Вопрос про цикл For
- По-человечески объясните цикл "for"
- Хорошо ли использовать бесконечный цикл for в C++?
- C++. В операторе switch нельзя разве использовать case x? а x пробежать в цикле for?
- Вопрос по стилю в Си. Читаю C Elements of Style (Steve Qualline), встретила такой стиль записи цикла for
- С++, Чем отличаеться цикл for, от while?
- в языке СИ (просто СИ!!!!) чем отличаются два цикла. for(t=0; t