Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/67: Рейтинг темы: голосов - 67, средняя оценка - 4.90
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647

Оператор GOTO: за и против

20.11.2011, 16:38. Показов 14887. Ответов 146
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди, по ходу, газет не читают:
Оператор GOTO в языках высокого уровня является объектом критики, поскольку чрезмерное его применение приводит к созданию нечитаемого «спагетти-кода». Впервые эта точка зрения была отражена в статье Эдсгера Дейкстры «Доводы против оператора GOTO», который заметил, что качество программного кода обратно пропорционально количеству операторов GOTO в нём. Статья приобрела широкую известность как среди теоретиков, так и среди практиков программирования, в результате чего взгляды на использование оператора GOTO были существенно пересмотрены. В своей следующей работе Дейкстра обосновал тот факт, что для кода без GOTO намного легче проверить формальную корректность.

Код с GOTO трудно форматировать, так как он может нарушать иерархичность выполнения (то есть парадигму структурного программирования), и потому отступы, призванные отображать структуру программы, не всегда могут быть выставлены правильно. GOTO также аннулирует многие возможности компилятора по оптимизации управляющих структур

Доводы против оператора GOTO оказались столь серьёзны, что в структурном программировании его стали рассматривать как крайне нежелательный

Начало тут
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.11.2011, 16:38
Ответы с готовыми решениями:

Оператор GOTO и его метки
Здесь я хотел раз и навсегда разобраться с метками оператора GOTO. 1) Если метка является идентификатором, то есть начинается с...

Goto - за и против
С удивлением обнаружил на форуме аж двух сторонников оператора goto. Посему объявляю опрос.

Оператор goto
Здравствуйте. Я в лабораторной работе проверяю введенные данные на различные ошибки. Я это все сделал, каждую ошибку мне выдает. То...

146
 Аватар для STAR WARS
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
18.01.2017, 23:56
Студворк — интернет-сервис помощи студентам
QBasic по многим очень многим показателям превосходит любой язык только им пользоваться уметь надо.Создатели языка QBasic на уровне чемпиона мира умеют играть в шахматы и го а также хорошо умеют играть в карточную игру бридж.
0
19.01.2017, 00:29

Не по теме:

Цитата Сообщение от STAR WARS Посмотреть сообщение
QBasic по многим очень многим показателям превосходит любой язык
Тут разве раздел "Юмор"? :D

0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
19.01.2017, 08:24
Цитата Сообщение от STAR WARS Посмотреть сообщение
Создатели языка QBasic на уровне чемпиона мира умеют играть в шахматы.
Кого то из них знаете лично? Назовите хоть парочку создателей!

Цитата Сообщение от STAR WARS Посмотреть сообщение
QBasic по многим очень многим показателям превосходит любой язык
В знаете, что QBasic основан на более раннем QuickBASIC 4.5, но, в отличие от него, не содержит компилятора и компоновщика. Т.е. уже по определению QBasic не лучше, чем QuickBASIC 4.5
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
19.01.2017, 10:14
Pro_grammer
В знаете, что QBasic основан на более раннем QuickBASIC 4.5, но, в отличие от него, не содержит компилятора и компоновщика. Т.е. уже по определению QBasic не лучше, чем QuickBASIC 4.5
Дорогой друг, о каком определении вы говорите?
Все БЕЙСИКИ хороши!! Выбирайте на любой вкус.
А что касается оператора GOTO, то только ленивый
его не ругал. И что? Этот оператор победно шествует
почти во всех языках. А где его нет, то это не язык
программирования. И много ли таких программистов
в мире?
0
 Аватар для STAR WARS
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
19.01.2017, 18:16
Иногда я хорошо играю в шахматы иногда плохо.Я на сайте Come2Play обыгрывал больших чемпионов в шахматы и потом фотографировал запись ходов партии.50% партий я выигрываю хотя рейтинг поднять не удаётся с нуля.На том сайте много игр и я там 5 лет играл потом страницу удалили а через 2 недели сайт стал запрашивать новую графическую настройку и не работал.Там есть игра го но маленькая 10 на 10 я в это го 18 раз выиграл 5 раз проиграл.В бридж не разу не играл.
Миниатюры
Оператор GOTO: за и против  
0
 Аватар для STAR WARS
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
20.01.2017, 19:43
Перед GOTO переходом делают квадрат из точек PAINT и заполняют его данными а после GOTO перехода POINT считывает эти данные.Можно конечно и экзотический вариант где данные записаны в узорах по экрану.Такая программа уже есть в одной из моих тем где после GOTO перехода подсчитывается число фишек разных цветов на экране и выводится виде цифр на экран.Сколько фишек такого цвета и сколько фишек другого цвета.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
21.01.2017, 07:30
Цитата Сообщение от кот Бегемот Посмотреть сообщение
Бейсик, ориентированный на GOTO, благополучно сдох
История ещё ничего не расставила. И ЯП не сдохнет, пока существуют такие люди как bisquit,
joshy, Стас, locm и др. На современных пишется не хуже чем на других и намнооого лучше в 3GL
стиле, чем в популярном 4GL.
И энтузиасты уже доказывали, что можно портировать любую программу, любой интерфейс.
Дела у них наоборот идут всё лучше и лучше. Как Microsoft и другие вендоры не стараются
"уйти от прошлого", прикрывать все лазейки, всё равно находится человек, который расшерстит
и портанёт.

Как не пытаются могучие разрабы интерфейсов их запутать, всё равно рано или поздно
появляется библиотека или сорс на простейших бейсиках по работе с этими интерфейсами.
Стараниями разных людей, где-то с паскаля переползает, где-то с плюсов, где-то с асма.

А сам язык всегда будет на всех архитектурах, т.к. компиляторы писаны сами на себе и
элементарно преобразуют код в машинный вид, т.е. изменений требует лишь низкоуровневая
прослойка-транслятор.

К тому же на зарубежных ресурса люди ковыряют действительно интересные, вполне себе
серьёзные и полезные штуки, причём весьма успешно.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
21.01.2017, 12:00  [ТС]
Язык Бейсик - это тот гимнаст на батуте, который умер во время выступления, но ещё долго радовал зрителей...
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
21.01.2017, 20:01
Цитата Сообщение от кот Бегемот Посмотреть сообщение
Язык Бейсик - это тот гимнаст на батуте, который умер во время выступления, но ещё долго радовал зрителей...
Про фортран тоже говорили что помер, что для динозавров и т.п., но почему то Intel и Nvidia
создали под него оптимизирующие компиляторы под Xeon и Cuda соотв..
Если следовать логике, что все беды из-за GOTO тогда и Паскаль и Си должны быть мертвы,
однако видно иное. Видно то, что старые подходы работают существенно эффективнее.
Криворукие ООП программисты начинают сливать по всем фронтам, на фоне их кода, даже
невероятно убогий макаронный код выглядит привлекательнее, потому что его проще обслуживать.

Более того теоретики доказали свою несостоятельность, т.к. кроме теории до сих пор нет
инструментальных средств, которые были бы способны автоматически реструктурировать
программу с GOTO в программу без GOTO. И их выпады про формальную корректность
и про оптимизацию звучат откровенно по-идиотски.

В мире, где требуется энергоэффективность и лишние software расчёты приводят к
неэкономному расходу энергии, начинают присматриваться и к ассемблеру, который
тоже говорят, умер. Странная смерть учитывая что производители процев ударились в
разработку SIMD и расширение шин данных(ядра то уже не помогают, ахахаха).

Да и вижу кот не осведомлён ты о современных диалектах бейсика, ни о PureBasic, ни о FreeBasic
ни о современных и популярных VisualBasic-ах и всяких Xojo(на котором пишут от веба до
микрокомпьютеров вида raspberry pi, набирающих популярность).
Так что голословненько как-то.
1
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
21.01.2017, 20:08  [ТС]
как много слов в некрологе...
0
Почетный модератор
12274 / 5340 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
22.01.2017, 16:07
Господа, пожалуйста, без переходов на личности.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
23.01.2017, 00:09
Цитата Сообщение от кот Бегемот Посмотреть сообщение
как много слов в некрологе...
Вы софт то показывайте, не стесняйтесь. А то много пафоса и полное отсутствие аргументов.
0
 Аватар для STAR WARS
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
23.01.2017, 16:43
Есть более компактный способ передачи неограниченного количества данных PSET.

Добавлено через 20 минут
Откройте энциклопедию и почитайте.QBasic обогнал все языки мира по взаимодействию с кнопками и экраном.А также там есть GET PUT и SWAP и так далее и тому подобное что можно перечислять до бесконечности.Код написанный на QBasic в два раза короче чем код на других языках.В других языках развиты другие способности но не здесь где QBasic обгоняет.Каждый язык хорош по своему.И перечислять их заслуги и недостатки можно долго.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
23.01.2017, 19:18
QBasic обогнал все языки мира по взаимодействию с кнопками и экраном.
Да только его ON KEY как не крути западает(читать про перехват прерывания 9 для пытливых),
экран не поддерживает разрешение выше 640x480(12 режим), а про цветность в 32 бит можно
только мечтать. Аппаратное ускорение отсутствует, а объём резервируемой памяти не превышает
двух полных сегментов с хвостиком, да и всё мультимедиа ограничивается спикером.
Под 99% современных ОС он не запустится даже в режиме эмуляции NTVDM, у остальных 50%
пользователей нету VTx инструкций, 99% из которых не умеют ставить виртуалки и ставят DOSBox,
который работает в софтваре(хотя у него есть эмуляция почти всего DOS железа).

Можно, конечно, запрогать EMS, SoundBlaster Pro\16 и VESA, но это ужасный гемор даже на ЯП
поддерживающих встроенный ASM, да и как-бы медленно, т.к. софтвар. Обычно люди
ограничиваются либо QB7.1 + какая-либо графическая библиотека, либо пишут что-то кустарное
под режим VESA, который можно разместить в хепе.

STAR WARS, даже PDS 7.1 и UNREAL режимы процессора уже безнадёжно устарели.
Про запуск нескольких потоков и возможность использования инструкций AVX говорить уже
не приходится. DOS безнадёжно устарел. Побаловаться можно, но это тем, кто на время не смотрит.
Повторюсь на QBasic ничего серьёзного под DOS написать практически невозможно.

Цитата Сообщение от STAR WARS Посмотреть сообщение
Код написанный на QBasic в два раза короче чем код на других языках.
Нет. Объём кода равноценен, а за счёт синтаксических особенностей на других диалектах и ЯП всё
компактнее. Советую присмотреться к диалектам под Windows.
Можно использовать для прототипирования алгоритмов QuickBasic, но нужно учитывать то, что
это ограничивает возможности, да и работа с указателями в QB - сильно отличается от таковых
в более менее нормальных диалектах. Основное применение такого подхода - создание быстро
переписываемого кода(иногда можно перевести код быстрыми replace-ми с одного ЯП на другой),
но в любом случае нужно рассчитывать архитектуру кода под FLAT модель, т.к. портировать
сегментную модель довольно трудоёмко.
0
 Аватар для bedvit
1209 / 260 / 22
Регистрация: 20.05.2016
Сообщений: 1,139
Записей в блоге: 22
24.01.2017, 10:05
Как по мне, оператор GOTO жив, но пользоваться им надо только в редких случаях, когда без него серьезно усложняется код/логика. Короче не увлекаться
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
24.01.2017, 10:26
bedvit
Вот и вас сразила стрела пропаганды против GOTO.
Да применяйте его чаще. А кто не поймёт вашу
программу, то это его проблема.
Люди, применяющие GOTO, способны разобрать любой
код. Их интеллект возносится на недосягаемую высоту.
Зависть простых смертных выливается в травлю GOTO.
...
GOTO! - Я здесь! Я рядом с тобой! Я твой друг!
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
24.01.2017, 13:52
Цитата Сообщение от echs Посмотреть сообщение
А кто не поймёт вашу программу, то это его проблема.
Это откровенное вредительство. Молитесь, чтобы вам не попался подобный код.

Цитата Сообщение от echs Посмотреть сообщение
Их интеллект возносится на недосягаемую высоту.
Среди макаронников, конечно, есть маститые, но их код ужасен в плане осознания логики его работы.
Уже "боролся" с таким кодом, структурировать его поблочно, руками невозможно, даже
чётко понимая, что каждая часть делает, такое только заново переписывать.
И структурировать программу с 1 GOTO это не есть структурировать программу с 70 GOTO\GOSUB
и не поможет даже визуальная схема со стрелочками, но пока не напоритесь не поймёте,
это надо сугубо своим копчиком прочухать, а потом уже филосовствовать...

Желаю вам напороться, ну так для опыта.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
24.01.2017, 17:14
Юзаю GOTO для обработки ошибок (на VB) и очистки ресурсов при выходе из функции чтобы не писать многоэтажный If (в VB и C++).
0
 Аватар для STAR WARS
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
24.01.2017, 17:50
На этом сайте многих языков не хватает.Я программирую на BlitzBasic а там даже фото аппарат есть делать фото экрана и 3D графика на высшем уровне а кот бегемот говорит вымер.
0
24.01.2017, 20:29

Не по теме:

Цитата Сообщение от STAR WARS Посмотреть сообщение
а там даже фото аппарат есть делать фото экрана и 3D графика на высшем уровне
А корованы грабить можно?:D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2017, 20:29
Помогаю со студенческими работами здесь

Оператор GOTO
Дано 50 вещественных чисел. Определить наибольшую величину из них. С помощью оператора GOTO

Оператор goto
Как передать управление из одного класса в другой c помощью goto(или как то по другому)?

Оператор GOTO
GOTO в топку. В нормальных языках нужны только циклы, а GOTO пусть останется только для *.bat, и *.cmd файлов.

оператор GoTo
Ввести с клавиатуры произвольное целое число X в диапазоне от 80 до 500. Если введенное число X не соответствует указанному диапазону, с...

Безусловный оператор GoTo
Доказать (путем перебора возможных значений), что для любых величин А,В,С типа Boolean следующие пары логических выражений имеют одинаковые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru