![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() сабж for to do, while, cashe объяснит по пальцам
|
#2
|
|||
|
|||
![]() Что тут не понятного может быть?
for to do - работает пока выполняется условие. Тоесть: for i:=0 to 15 do ShowMessage('Asshool'); будет показывать Asshool пока i не станет равно 15. Этот тип цикла самостоятельно увеличивает счетчик. while - работает точно также только синтаксис не много другой и нужно самостоятельно увеличивать счетчик: while i<=100 do begin ShowMessage('Asshool'); inc(i); end; 100 раз напишет Asshool. Что такое cashe понятия не имею, но case - как же лучше объяснить... Это оператор который выполняет определенное условие если оно равно true, в общем как if только когда много разных вариантов. Например: i:= random(2); case i of 0: ShowMessage('Asshool'); 1: ShowMessage('Newbie'); 2: ShowMessage('Perspective'); end; В зависимости от того какое число присвоит рандом такое сообщение и выведется на экран. Старался объяснить как можно понятнее ибо сам еще учусь. |
#3
|
||||
|
||||
![]() По пальцам:
1 палец - Г 2 палец - У 3 палец - Г 4 палец - Л 5 палец - Ь — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
||||
|
||||
![]() Цитата:
![]() |
#5
|
|||
|
|||
![]() Цитата:
например for переменная := выражение1 to выражение2 do оператор-тела-цикла ; во первых переменная должна быть локальной переменной той процедуры, где используется оператор цикла. во вторых, переменная должна быть перечислимого типа - то есть целого(и всяких производных от него - int, longint, int64, byte, short и т.п.), char и boolean. Строки, вещественные типы не допускаются. в третьих, выражение1 и выражение2 вычисляются один раз перед выполнением оператора цикла. Если внутри цикла происходит что-нибудь изменяющее значение выражения2, то оператор-тела-цикла выполнится всё равно столько раз, сколько было задано в самом начале. в четвёртых, значение переменной после выполнения цикла - неопределено. Работает так a)Вычисляются выражение1 и выражение2. b)Переменной присваивается выражение1 c)если значение переменной больше значения выражения2, то перейти к пункту g) d) выполнить оператор-тела-цикла. Если внутри встретится оператор break, то переходим к пункту g); если встретится оператор continue, то сразу переходим у пункту e) e) увеличить значение переменной на 1 f) перейти к пункту c) g)закончить выполнение оператора цикла Повторяю ещё раз, значение переменной после выполнения цикла - неопределено. ![]() Если в операторе вместо toстоит downto, то в пункте e) происходит не увеличение, а уменьшение, и соответственно в пункте c) стоит проверка не на больше, а на меньше. |
#6
|
|||
|
|||
![]() Цитата:
синтаксис такой while выражение do оператор-тела-цикла ; во первых выражение должно выть типа boolean во вторых выражение вычисляется на каждой итерации. работает так a) вычисляется выражение b) если получилось false перейти к пункту e) c) выполнить оператор-тела-цикла; внутри, помимо полезных действий, должно происходить или изменение значения [i]выражения/I] или выполнится один из опереторов break или exit; иначе получим бесконечный цикл. если встретился оператор break, то переходим к пункту e) d) переходим к пункту a) e) закончить выполнение оператора 3 цикл repeat - цикл с постусловием синтаксис такой repeat оператор-тела-цикла until выражение ; во первых выражение должно выть типа boolean во вторых выражение вычисляется на каждой итерации. работает так a) выполняется оператор-тела-цикла; внутри, помимо полезных действий, должно происходить или изменение значения [i]выражения/I] или выполнится один из опереторов break или exit; иначе можем получить бесконечный цикл. если встретился оператор break, то переходим к пункту d) b) вычисляется выражение c) если получилось false перейти к пункту a) d) закончить выполнение оператора |