реклама на сайте
подробности

 
 
> Оператор GoTo, безусловный переход или правила хорошего тона
J_B
сообщение Sep 29 2006, 15:13
Сообщение #1


Участник
*

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



Почему считается, что "нехорошо" использовать данного оператора?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ValBag
сообщение Oct 24 2007, 13:09
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 15-03-07
Пользователь №: 26 183



ReAl
Цитата
А тут мы переводим текст с чего-то типа бейсик-программы, записанной словами С на собственно С

Неужели я применяю такой древний компилятор (такой же как в приложенном примере, кстати не моем, а указанного автора) который никто не знает. CodeVisionAVR это компилятор языка С http://www.hpinfotech.com У меня нет конкретного учителя. Подходящий для начинающих (по информации в литературе для новичков и ссылкам в сети) это CVAVR. Большинство утверждают, что самый лучший IAR, но по нему информации пользователя на русском нет, а уменя проблемы с английским. Вот такие дела! Спасибо за варианты, проработаю позже. С лету, как начинающий, не могу сразу оценить.

defunct А чему противоречит название переменной ii?
Go to the top of the page
 
+Quote Post
ReAl
сообщение Oct 24 2007, 13:46
Сообщение #3


Нечётный пользователь.
******

Группа: Свой
Сообщений: 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 хватает smile.gif


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
ValBag
сообщение Oct 24 2007, 14:01
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 15-03-07
Пользователь №: 26 183



Цитата(ReAl @ Oct 24 2007, 21:46) *
пример от "указанного автора" написан, как я сказал, "словами С но на другом языке".

"Указанный автор" это Белов А.В. Книга называется "Создаем устройства на микроконтроллерах". Это единственная книга, которую я нашел, с законченными примерами. Причем все примеры вначале приведены на ассемблере, а затем на С. Наверное этим и объясняется GoTO. Несмотря на это, кое что полезное я из нее извлек.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01467 секунд с 7
ELECTRONIX ©2004-2016