![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2010
Сообщений: 430
|
Здравствуйте.
Подскажите кто что думает по поводу: Еще на Паскале нас учили. что прерывать цикл нехорошо, т.е. нельзя делать так а нужно делать через while: Правильно это или нет? В каких случаях лучше while, а не for с break'ом и наоборот? |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Вас не насторожило, что вам не показывали, насколько while быстрее?
Так вот - никому не верьте, сами меряйте скорость и думайте, насколько оно вам в данной ситуации для данного устройства и на данном языке подходит.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Монопенисуально. Если написать везде for, а потом этот же код декомпилировать, то все циклы фор будут заменены на вайл
Цитата:
|
|
|||||
|
А нам говорили, что for с break в паскале иногда не срабатывает по каким то причинам. Команда break просто пропускается. Поэтому надо было использовать в таких случаях while с целью программу сделать более надежной. Это Турбо Паскаль, может в новых версиях пофиксили но я в них не работал. А так мне кажется разницы нет. Дело вкуса. В обычном переборе от m до n лучше использовать for потому, что он нагляднее.
__________________
Я не злопамятный, я запишу Последний раз редактировалось StasMIX; 07.10.2011 в 09:07. |
|
|||||
|
[+1 15.01.11]
Регистрация: Jan 2011
Сообщений: 70
|
Вообще-то программисты используют "break;" (и подобные конструкции на других языках) когда необходимо закончить работу цикла не завершая инструкций, которые следуют ниже по коду. Во всех остальных случаях проще и нагляднее создать условия для его корректного завершения. (для вашего примера "i:=a+1;" ) В этом отношении нет разницы какой цикл использовать. for, while, until.
Добавлено через 1 минуту Кстати, занятно, что автор даже не рассматривает возможность существования "for" без "break" =) |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|