|
Оператор GoTo, безусловный переход или правила хорошего тона |
|
|
|
Sep 29 2006, 15:13
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 17-01-06
Пользователь №: 13 275

|
Почему считается, что "нехорошо" использовать данного оператора?
|
|
|
|
|
 |
Ответов
|
Oct 24 2007, 13:09
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 15-03-07
Пользователь №: 26 183

|
ReAl Цитата А тут мы переводим текст с чего-то типа бейсик-программы, записанной словами С на собственно С Неужели я применяю такой древний компилятор (такой же как в приложенном примере, кстати не моем, а указанного автора) который никто не знает. CodeVisionAVR это компилятор языка С http://www.hpinfotech.com У меня нет конкретного учителя. Подходящий для начинающих (по информации в литературе для новичков и ссылкам в сети) это CVAVR. Большинство утверждают, что самый лучший IAR, но по нему информации пользователя на русском нет, а уменя проблемы с английским. Вот такие дела! Спасибо за варианты, проработаю позже. С лету, как начинающий, не могу сразу оценить. defunct А чему противоречит название переменной ii?
|
|
|
|
|
Oct 24 2007, 13:46
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(ValBag @ Oct 24 2007, 15:09)  ReAl Неужели я применяю такой древний компилятор (такой же как в приложенном примере, кстати не моем, а указанного автора) который никто не знает. Нет, при чём тут "древний"? http://www.lib.ru/ANEKDOTY/non_pas.txtЦитата - поскольку в Фортране отсутствуют структурные операторы IF, REPEAT ... UNTIL или CASE, настоящим программистам не нужно беспокоиться, что они их не используют; кроме того эти операторы можно при необходимости симулировать с помощью присваиваемых GOTO. ... Да и потом, закоренелый настоящий программист может написать фортрановскую программу на любом языке. Именно это я имел ввиду - пример от "указанного автора" написан, как я сказал, "словами С но на другом языке". Довольно, на мой взгляд, грязный код, там кроме goto и ii есть что поругать (два прерывания там, где можно было обойтись одним - даже если писать не так, как написал я), лишние (с непонятной смысловой нагрузкой) вызовы inkey(), использование "магических чисел" там, где для упрощения понимания написанного и будущего развития надо применять именованные вещи, будь-то #define или enum. К "свежести" используемого Вами С-компилятора это не имеет никакого отношения, я лично никого не "пристыдил" - я вообще только понаслышке знаю - кто такие ImageCraft-ы с CodeVision-ами, мне и gcc хватает
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Oct 24 2007, 14:01
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 15-03-07
Пользователь №: 26 183

|
Цитата(ReAl @ Oct 24 2007, 21:46)  пример от "указанного автора" написан, как я сказал, "словами С но на другом языке". "Указанный автор" это Белов А.В. Книга называется "Создаем устройства на микроконтроллерах". Это единственная книга, которую я нашел, с законченными примерами. Причем все примеры вначале приведены на ассемблере, а затем на С. Наверное этим и объясняется GoTO. Несмотря на это, кое что полезное я из нее извлек.
|
|
|
|
Сообщений в этой теме
J_B Оператор GoTo Sep 29 2006, 15:13 Yura_K Как я понимаю, этот оператор неявно присутствует в... Sep 29 2006, 16:02 J_B Полностью согласен, взять ассемблер - циклов без м... Sep 29 2006, 16:22 ktod Это филосовский вопрос. И ответ на него будет: ... Sep 29 2006, 16:46 rezident Гм. Когда-то давно (больше 15 лет назад) у нас в у... Sep 29 2006, 16:47 jorikdima Я слышал, что причина в том, что не известно будет... Sep 29 2006, 16:47 bodja74 Потому что оператор безусловного перехода не сохра... Sep 29 2006, 16:56 singlskv ЦитатаПочему считается, что "нехорошо" и... Sep 29 2006, 18:05  bodja74 Цитата(singlskv @ Sep 29 2006, 21:05) [Ис... Sep 29 2006, 20:32   Сергей Борщ Цитата(bodja74 @ Sep 29 2006, 23:32) И пе... Sep 29 2006, 21:57 CD_Eater Программу проще понять, если она состоит из станда... Sep 29 2006, 17:27 muravei Цитата(CD_Eater @ Sep 29 2006, 21:27) В н... Sep 29 2006, 17:31 artem100 go to
не явно присутствует во всех языках всегда
... Sep 29 2006, 17:51 singlskv Цитата(J_B @ Sep 29 2006, 19:13) Почему с... Sep 29 2006, 18:39 Леонид Иванович Единственная ситуация, когда нужен goto, это обраб... Sep 29 2006, 19:09 _artem_ Сколько людей столько и мнений. Если не злоупотреб... Sep 29 2006, 22:40 zltigo Цитата(_artem_ @ Sep 30 2006, 01:40) Была... Sep 30 2006, 06:10  Petka Цитата(zltigo @ Sep 30 2006, 10:10) На се... Sep 30 2006, 09:43   zltigo Цитата(Petka @ Sep 30 2006, 12:43) С испо... Sep 30 2006, 10:04    Petka Цитата(zltigo @ Sep 30 2006, 14:04) Цитат... Sep 30 2006, 14:40     zltigo Цитата(Petka @ Sep 30 2006, 17:40) Аргуме... Sep 30 2006, 15:07 J_B Спасибо высказавшимся, просто написал переход от д... Sep 30 2006, 04:24 CD_Eater Цитата(zltigo @ Sep 30 2006, 14:04) Цитат... Sep 30 2006, 12:20 zltigo Цитата(CD_Eater @ Sep 30 2006, 15:20) А е... Sep 30 2006, 12:52 goodwin Совсем недавно была дискуссия на телесистемах по п... Sep 30 2006, 12:41 J_B Особо переделкой без goto не занимался, но кто что... Sep 30 2006, 14:27 zltigo Цитата(J_B @ Sep 30 2006, 17:27) Смысл та... Sep 30 2006, 14:56 xemul Цитата(J_B @ Sep 30 2006, 18:27) Особо пе... Sep 30 2006, 15:45 zltigo Код seg[0] = tmp/100;
seg[2] = tm... Sep 30 2006, 15:55 xemul Цитата(zltigo @ Sep 30 2006, 19:55) Код s... Sep 30 2006, 16:02 prottoss Выскажусь тоже про goto... так как несколько раз п... Sep 30 2006, 16:08 _artem_ Я использую goto, но это не тот случай. Не проверя... Sep 30 2006, 17:08 WHALE 2 artem_ Вы про цикл с постусловием do while слыша... Sep 30 2006, 18:40 _artem_ WHALE, во первых я не из пешеры), во вторых это не... Sep 30 2006, 19:55 WHALE for(I=0;I<=2;I++)
{
do{
TMP_P=TMP;
... Sep 30 2006, 21:25 _artem_ Да никаких извинений не нужно, не обиделся.) Я сам... Sep 30 2006, 22:17 Rst7 Господа, о чем речь? Посмотрите в исходники библио... Oct 1 2006, 06:54 bve Мне кажется, что "ноги растут" от старин... Oct 1 2006, 15:19 _artem_ Вы правы - http://en.wikipedia.org/wiki/GOTO
Но ч... Oct 1 2006, 15:39 _Bill Цитата(J_B @ Sep 29 2006, 18:13) Почему с... Oct 2 2006, 07:48 AVNN Что касается AVR и goto, то при использовании опт... Oct 2 2006, 08:22 _Bill Цитата(AVNN @ Oct 2 2006, 11:22) Что каса... Oct 2 2006, 08:35 defunct Всякий овощ полезен будучи приготовленным надлежащ... Oct 2 2006, 10:12 ValBag Во всех наставлениях по СИ для МК "...настоят... Oct 24 2007, 06:19 alexander55 Цитата(ValBag @ Oct 24 2007, 10:19)
goto... Oct 24 2007, 07:01 dxp Цитата(ValBag @ Oct 24 2007, 13:19) Во вс... Oct 24 2007, 07:19  ReAl Цитата(dxp @ Oct 24 2007, 09:19) Существу... Oct 24 2007, 11:55   SasaVitebsk Цитата(ReAl @ Oct 24 2007, 14:55) Ещё в 9... Oct 28 2007, 11:32 andron86 Цитата(ValBag @ Oct 24 2007, 08:19) Для п... Oct 24 2007, 07:23  alexander55 Цитата(andron86 @ Oct 24 2007, 11:23) Раб... Oct 24 2007, 07:58   zltigo Цитата(alexander55 @ Oct 24 2007, 10:58) ... Oct 24 2007, 08:07    alexander55 Цитата(zltigo @ Oct 24 2007, 12:07) Вот т... Oct 24 2007, 08:13   andron86 Цитата(alexander55 @ Oct 24 2007, 09:58) ... Oct 24 2007, 08:38 defunct Цитата(ValBag @ Oct 24 2007, 09:19) Для п... Oct 24 2007, 12:42 bodja74 В ассемблере вообще ни в чем ограничений нет
Пр... Oct 24 2007, 06:40 DASM Чисто в лоб типа такого
Кодwhile (1)
{
... Oct 24 2007, 06:45 IEC Ну результат почти такой же. В текущем примере из-... Oct 24 2007, 07:07 ReAl Цитата(IEC @ Oct 24 2007, 09:07) А вообще... Oct 24 2007, 11:46 zltigo Продолжаем в уже существующей ветке:
http://electr... Oct 24 2007, 07:19 ValBag Прошу прощения за создание новой темы без поиска.
... Oct 24 2007, 09:49 Maddy А собственно чего все так на бедного goto оплчилис... Oct 24 2007, 10:02 aesok GCC Bugzilla:
Only very good and very bad progra... Oct 24 2007, 10:04 alexander55 Цитата(aesok @ Oct 24 2007, 14:04) Only v... Oct 24 2007, 10:21 DASM Не отношу себя ни к вери гуд ни вери бэд, но со вр... Oct 24 2007, 10:19 DASM OFF - ReAL - а как код в трубочку свернули ? Oct 24 2007, 11:49 ValBag Перечитал всю тему. На мой взгляд отказ от примене... Oct 24 2007, 12:06 ReAl Цитата(ValBag @ Oct 24 2007, 14:06) Отред... Oct 24 2007, 12:27 ReAl Цитата(ValBag @ Oct 24 2007, 14:06) Тот ж... Oct 24 2007, 12:29 DASM А что по вашему ReAl сделал ? Oct 24 2007, 12:09 ValBag Цитата(DASM @ Oct 24 2007, 20:09) А что п... Oct 24 2007, 12:29 ReAl Раз уж я тут застрял - что я имел ввиду под ... Oct 24 2007, 12:50 defunct Цитата(ValBag @ Oct 24 2007, 16:09) А чем... Oct 24 2007, 13:16 ValBag defunct Понятно, появляется рябь в глазах, а затем... Oct 24 2007, 13:33 alexander55 Цитата(ValBag @ Oct 24 2007, 17:33) defun... Oct 24 2007, 13:44 ValBag REAL
Шашечек конечно не надо, но и ехать не получа... Oct 25 2007, 12:45 ReAl Цитата(ValBag @ Oct 25 2007, 14:45) Самое... Oct 25 2007, 22:04 ValBag ReAl
Теперь все понятно! Только наверное надо ... Oct 27 2007, 08:58 ReAl Цитата(ValBag @ Oct 27 2007, 10:58) Тольк... Oct 27 2007, 10:16 sensor_ua ЦитатаТут эти скобки не обязательны - согласно при... Oct 27 2007, 10:51
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|