|
Платежеспособный зверь
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
|
|
| 20.11.2011, 16:38 | |
|
Ответы с готовыми решениями:
146
Оператор GOTO и его метки Goto - за и против Оператор goto |
|
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
|
|
| 18.01.2017, 23:56 | |
|
QBasic по многим очень многим показателям превосходит любой язык только им пользоваться уметь надо.Создатели языка QBasic на уровне чемпиона мира умеют играть в шахматы и го а также хорошо умеют играть в карточную игру бридж.
0
|
|
| 19.01.2017, 00:29 | |
|
0
|
|
|
|
|||
| 19.01.2017, 08:24 | |||
1
|
|||
| 19.01.2017, 10:14 | ||
|
Pro_grammer
Все БЕЙСИКИ хороши!! Выбирайте на любой вкус. А что касается оператора GOTO, то только ленивый его не ругал. И что? Этот оператор победно шествует почти во всех языках. А где его нет, то это не язык программирования. И много ли таких программистов в мире?
0
|
||
|
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
|
|
| 19.01.2017, 18:16 | |
|
Иногда я хорошо играю в шахматы иногда плохо.Я на сайте Come2Play обыгрывал больших чемпионов в шахматы и потом фотографировал запись ходов партии.50% партий я выигрываю хотя рейтинг поднять не удаётся с нуля.На том сайте много игр и я там 5 лет играл потом страницу удалили а через 2 недели сайт стал запрашивать новую графическую настройку и не работал.Там есть игра го но маленькая 10 на 10 я в это го 18 раз выиграл 5 раз проиграл.В бридж не разу не играл.
0
|
|
|
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
|
|
| 20.01.2017, 19:43 | |
|
Перед GOTO переходом делают квадрат из точек PAINT и заполняют его данными а после GOTO перехода POINT считывает эти данные.Можно конечно и экзотический вариант где данные записаны в узорах по экрану.Такая программа уже есть в одной из моих тем где после GOTO перехода подсчитывается число фишек разных цветов на экране и выводится виде цифр на экран.Сколько фишек такого цвета и сколько фишек другого цвета.
0
|
|
|
Кормпилятор
|
||
| 21.01.2017, 07:30 | ||
|
joshy, Стас, locm и др. На современных пишется не хуже чем на других и намнооого лучше в 3GL стиле, чем в популярном 4GL. И энтузиасты уже доказывали, что можно портировать любую программу, любой интерфейс. Дела у них наоборот идут всё лучше и лучше. Как Microsoft и другие вендоры не стараются "уйти от прошлого", прикрывать все лазейки, всё равно находится человек, который расшерстит и портанёт. Как не пытаются могучие разрабы интерфейсов их запутать, всё равно рано или поздно появляется библиотека или сорс на простейших бейсиках по работе с этими интерфейсами. Стараниями разных людей, где-то с паскаля переползает, где-то с плюсов, где-то с асма. А сам язык всегда будет на всех архитектурах, т.к. компиляторы писаны сами на себе и элементарно преобразуют код в машинный вид, т.е. изменений требует лишь низкоуровневая прослойка-транслятор. К тому же на зарубежных ресурса люди ковыряют действительно интересные, вполне себе серьёзные и полезные штуки, причём весьма успешно.
0
|
||
|
Платежеспособный зверь
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
|
|
| 21.01.2017, 12:00 [ТС] | |
|
Язык Бейсик - это тот гимнаст на батуте, который умер во время выступления, но ещё долго радовал зрителей...
0
|
|
|
Кормпилятор
|
||
| 21.01.2017, 20:01 | ||
|
создали под него оптимизирующие компиляторы под 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
|
|
|
Кормпилятор
|
||
| 23.01.2017, 00:09 | ||
|
0
|
||
|
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
|
|
| 23.01.2017, 16:43 | |
|
Есть более компактный способ передачи неограниченного количества данных PSET.
Добавлено через 20 минут Откройте энциклопедию и почитайте.QBasic обогнал все языки мира по взаимодействию с кнопками и экраном.А также там есть GET PUT и SWAP и так далее и тому подобное что можно перечислять до бесконечности.Код написанный на QBasic в два раза короче чем код на других языках.В других языках развиты другие способности но не здесь где QBasic обгоняет.Каждый язык хорош по своему.И перечислять их заслуги и недостатки можно долго.
0
|
|
|
Кормпилятор
|
|||
| 23.01.2017, 19:18 | |||
экран не поддерживает разрешение выше 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 написать практически невозможно. компактнее. Советую присмотреться к диалектам под Windows. Можно использовать для прототипирования алгоритмов QuickBasic, но нужно учитывать то, что это ограничивает возможности, да и работа с указателями в QB - сильно отличается от таковых в более менее нормальных диалектах. Основное применение такого подхода - создание быстро переписываемого кода(иногда можно перевести код быстрыми replace-ми с одного ЯП на другой), но в любом случае нужно рассчитывать архитектуру кода под FLAT модель, т.к. портировать сегментную модель довольно трудоёмко.
0
|
|||
| 24.01.2017, 10:26 | |
|
bedvit
Вот и вас сразила стрела пропаганды против GOTO. Да применяйте его чаще. А кто не поймёт вашу программу, то это его проблема. Люди, применяющие GOTO, способны разобрать любой код. Их интеллект возносится на недосягаемую высоту. Зависть простых смертных выливается в травлю GOTO. ... GOTO! - Я здесь! Я рядом с тобой! Я твой друг!
1
|
|
|
Кормпилятор
|
|||
| 24.01.2017, 13:52 | |||
|
Уже "боролся" с таким кодом, структурировать его поблочно, руками невозможно, даже чётко понимая, что каждая часть делает, такое только заново переписывать. И структурировать программу с 1 GOTO это не есть структурировать программу с 70 GOTO\GOSUB и не поможет даже визуальная схема со стрелочками, но пока не напоритесь не поймёте, это надо сугубо своим копчиком прочухать, а потом уже филосовствовать... Желаю вам напороться, ну так для опыта.
0
|
|||
|
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
|
|
| 24.01.2017, 17:50 | |
|
На этом сайте многих языков не хватает.Я программирую на BlitzBasic а там даже фото аппарат есть делать фото экрана и 3D графика на высшем уровне а кот бегемот говорит вымер.
0
|
|
| 24.01.2017, 20:29 | |
|
0
|
|
| 24.01.2017, 20:29 | |
|
Помогаю со студенческими работами здесь
40
Оператор goto
оператор GoTo Безусловный оператор GoTo Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Конвертировать закладки 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. Пошагово создадим проект для загрузки изображения. . .
|