Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.10.2011, 13:42
afagafa afagafa вне форума
Прохожий
 
Регистрация: 16.10.2011
Сообщения: 1
Репутация: 10
По умолчанию объясните операторы повторения

сабж for to do, while, cashe объяснит по пальцам
Ответить с цитированием
  #2  
Старый 16.10.2011, 14:22
m1sclick m1sclick вне форума
Начинающий
 
Регистрация: 04.07.2011
Адрес: Украина
Сообщения: 186
Версия Delphi: 2010
Репутация: 2094
По умолчанию

Что тут не понятного может быть?
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  
Старый 16.10.2011, 14:23
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

По пальцам:
1 палец - Г
2 палец - У
3 палец - Г
4 палец - Л
5 палец - Ь
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #4  
Старый 16.10.2011, 16:12
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
По пальцам:
1 палец - Г
2 палец - У
3 палец - Г
4 палец - Л
5 палец - Ь
эта пять
Ответить с цитированием
  #5  
Старый 17.10.2011, 11:15
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Цитата:
Сообщение от afagafa
сабж for to do, while, cashe объяснит по пальцам
1 цикл for. может быть двух вариантов - с увеличением и с уменьшением.
например
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  
Старый 17.10.2011, 11:41
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Цитата:
Сообщение от afagafa
сабж for to do, while, cashe объяснит по пальцам
2 цикл while - цикл с предусловием

синтаксис такой
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) закончить выполнение оператора
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:17.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025