Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оператор goto, Забыл как пользоваться 
:(
    Опции темы
Pakshin A. S.
Дата 22.10.2004, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Код

i:=0;
j:=0;
while (a[i,j[<>0) and (i <=Max_i) and (j <= Max_j) do
begin
 inc(j);
 if j > Max_j
  then
   begin
    inc(i);
    j:=0
  end
end;

:D

Это сообщение отредактировал(а) Pakshin A. S. - 22.10.2004, 17:04
PM   Вверх
sergejzr
Дата 22.10.2004, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 7
Всего: 360



Цитата(Chingachguk @ 21.10.2004, 07:21)
а я читал этот "простой пример без GOTO" минуты 3

Дело может не в самом GOTO
В Паскале есть маленькая проблемка :)
При применении проверок итд пишется очень много слов :)
Поэтому простенькие примеры становятся трудночитабельными :)
Например если сравнить с Си:
Код
If(x=0)then  begin ....... else.........end

Это уже легче читается :)
Код
if(x){ ..... } else{.........}


Ну а на асме этот пример читается легче всего :)

Повторяю, вышесказанное относится к простеньким примерам :)


Если ваш пример на 1 КБ и в нём 5 меток и 10 GOTO, прочесть и понять его слёту практически невозможно :)

Лично я использую GOTO в маленьких функциях, строчек например на 10-20, где его работу можно конкретно проследить и понять. И всегда особенно комментирую это место.
Мне кажется, что так программировать не только можно, но и желательно из за быстродействия :)




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Girder
Дата 22.10.2004, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: нет
Всего: 155



Цитата
Как же быть с быстродействием проги? 
Проиграет 100%... код Pakshin A. S., т.к. интенсивно используются команды imul RR,RR,DD и команды вида XXX RR,[RR+RR*8] и еже с ними... при этом там будет 4 проверки(+ еще одна) :) ... в реальности. А под For будет скомпилирован совершенно другой код... :)

Это сообщение отредактировал(а) Girder - 22.10.2004, 21:59


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Zandr
Дата 1.11.2004, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 433
Регистрация: 16.7.2004
Где: Новосибирск

Репутация: нет
Всего: 13



Код

for i:=0 to 99 do
for j:=0 to 99 do begin
 if a[i,j]=0 then goto bre;
end;
bre:


Хммм... На Java, например это выглядит так:
Код

bre:
for (int i = 0; i < 100; i++)
   for (int j = 0; j < 100; j++)
       if (a[i][j] == 0) break bre;


Это сообщение отредактировал(а) Zandr - 1.11.2004, 07:31
PM MAIL   Вверх
Medved
Дата 23.12.2004, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 2
Всего: 154



Цитата(Pakshin @ 20.10.2004, 22:20)
Гото иногда все-таки стоит использовать, например, когда надо брейкнуться сразу из 2х вложенных циклов.
Пусть надо найти в 2Д-массиве индексы первого нулевого элемента.
Имхо следующий код с гото читабельнее:


Обычно для этого такой код оформляют в виде функции. Чтобы можно было выйти из вложенного цикла Return (С подобные) или Exit (Delphi)


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Ser9a
Дата 9.3.2005, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 7.3.2005

Репутация: нет
Всего: нет



Все перпода говорят что GoTo есть плохой стиль.
PM MAIL ICQ   Вверх
sergejzr
Дата 9.3.2005, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 7
Всего: 360



А раньше они говорили, что коммунизм - лучшаий строй общества.

GOTO - дело вкуса smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Secandr
Дата 9.3.2005, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: нет
Всего: 39



Я вот даже не знаю, есть ли в php и perl`е оператор goto. А в паскале применял smile


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0724 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.