С Новым годом! Форум программистов, компьютерный форум, киберфорум
Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/47: Рейтинг темы: голосов - 47, средняя оценка - 4.60
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30

Вопрос про разные реализации бэйсиков

14.08.2009, 14:54. Показов 9508. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мы затеялинаписание самодельного интерпретатора бэйсика. На текущий момент какие-то несложные примеры уже работают, теоретическая база по принципам работы интерпретатора понятны, а потому для дальнейшей работы хотелось бы начать следовать синтаксису какого-то из существующих бэйсиков. Или по возможности близко подойти к этому

А потому вопрос, чем прициапиально отличаются разные реализации бэйсика и какой из них самый простой. На текущий момент решили работать без поддержки функций, а потому хотелось бы понять, насколько реально работать на бейсике при таком ограничении (или может такие реализации есть и на них работают).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.08.2009, 14:54
Ответы с готовыми решениями:

Гиперссылки в ComboBox: вопрос реализации
привет всем) мне нужно из вылазиющих строчек в ComboBox сделать Гиперссылки на другую форму. (чтобы при нажатии на одно из слов в списке...

Вопрос по реализации блок-схем в VBA
Помогите пожалуйста реализовать блок -схему на VBA

Разные реализации одного интерфейса
Есть в javax.swing два класса, которые одновременно очень похожи, но в то же время и сильно различаются - это JList и JTable. Понадобилось...

49
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
14.08.2009, 15:07
Цитата Сообщение от Evg Посмотреть сообщение
чем прициапиально отличаются разные реализации бэйсика
здесь http://ru.wikipedia.org/wiki/BASIC
Цитата Сообщение от Evg Посмотреть сообщение
какой из них самый простой
знаю всего 2 разновидности QBasic и Visual Basic. конечно проще QBasic
Цитата Сообщение от Evg Посмотреть сообщение
решили работать без поддержки функций
пользовательских или встроенных?
если пользовательских, то в QBasic можно без них и обойтись
Visual Basic же объектно-ориентированный язык, поэтому в нем по умолчанию используются функции и процедуры
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
14.08.2009, 15:18  [ТС]
Цитата Сообщение от БурундукЪ Посмотреть сообщение
Ссылка пригодится, но хотелось бы понять "на пальцах". Т.е. я могу щас почитать описание всяких разновдидностей, посмотреть все тонкости и потом уже понять, чем они отличаются. А тот, кто в этом уже понимает, может коротко рассказать основные отличия, не дваваясь в детали (учитывая, что мы пишем интерпретатор). Если возможно, хотелось бы услышать ответ на этот вопрос

Цитата Сообщение от БурундукЪ Посмотреть сообщение
знаю всего 2 разновидности QBasic и Visual Basic. конечно проще QBasic
Ну Visual Basic понятное дело пролетает, ибо новичку такое не светит реализовать. Я ещё слышал про Turbo-Basic. Варианты, которые были на других платформах (типа yamaha) сейчас особенно не интересуют, потому как тестовой базы для них мы не найдём. А на форуме я так посмотрел, исходников под QBasic много. Где-то я видел с использованием функций, но мало. Но при беглом просмотре нигде не видел использование GOSUB - это в QBasic'е есть?

И ещё вопрос - понятие процедуры оно такое же, как на пискале и си? Т.е. есть некая область, внутри которой живут локльные переменные и параметры, всё это дело может вызываться рекурсивно. Каких-то своих особенностей нет?

Цитата Сообщение от БурундукЪ Посмотреть сообщение
пользовательских или встроенных?
Пользовательские. Т.е. проблема с функцией не в том, чтобы работать с точкой вызова, а в том, чтобы работать с телом функции - работа с локальными объектами и возможность рекурсии (данный момент для интерпретатора тяжеловат получается)
0
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
14.08.2009, 15:28
Цитата Сообщение от Evg Посмотреть сообщение
Но при беглом просмотре нигде не видел использование GOSUB - это в QBasic'е есть?
пример:
PureBasic
1
2
3
4
5
6
7
10 PRINT "1"
20 GOSUB 100
30 PRINT "2"
40 END
 
100 PRINT "3"
200 RETURN
Цитата Сообщение от Evg Посмотреть сообщение
А тот, кто в этом уже понимает, может коротко рассказать основные отличия, не дваваясь в детали (учитывая, что мы пишем интерпретатор). Если возможно, хотелось бы услышать ответ на этот вопрос
Цитата Сообщение от Evg Посмотреть сообщение
Ну Visual Basic понятное дело пролетает
итого остается QBasic

Цитата Сообщение от Evg Посмотреть сообщение
И ещё вопрос - понятие процедуры оно такое же, как на пискале и си? Т.е. есть некая область, внутри которой живут локльные переменные и параметры, всё это дело может вызываться рекурсивно.
да. никаких особенностей.
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
14.08.2009, 16:09  [ТС]
Теперь вопрос по условным выражениям.

На Си код строится так, что условное выражение вычисляется до тех пор, пока не станет известен результат. Т.е. в условии "if (func1()==5 && func2()==10)" если func1 вернуло значение, отличное от 5, то func2 вызываться не будет, потому как уже известно. что результат условия есть false. В бэйсике то же самое?
0
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
14.08.2009, 16:41
Цитата Сообщение от Evg Посмотреть сообщение
В бэйсике то же самое?
неа. в бейсике проверяются все складуемые условия.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
14.08.2009, 17:09
Т.е. есть некая область, внутри которой живут локльные переменные и параметры, всё это дело может вызываться рекурсивно.
Нету там никаких локальных переменных.

Добавлено через 31 секунду
Хотя смотря какой Basic наверное

Добавлено через 1 минуту 59 секунд
Рекурсивно вызываться может.
0
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
14.08.2009, 17:15
QBASIC — диалект языка программирования Бейсик (BASIC), разработанный компанией Microsoft, а также среда разработки, позволяющая писать, запускать и отлаживать программы на этом языке.

QBASIC удобен для выполнения несложных вычислений и для прямой работы с портами. Сегодня этот язык используется для обучения программированию

Qbasic является интерпретатором, т.е. программы, написанные на этом языке могут выполняться только внутри его интегрированной среды.

QBASIC, в отличии от более ранних версий языка Basic, поддерживает современные средства модульного программирования. Это свойства поднимает его до современных языков программирования. К достоинствам этого языка также следует отнести то, что:
содержит хороший экранный редактор
не ограничивает длину программы
отменяет необходимость нумерации строк
предлагает операторы, позволяющие организовывать структуры внутри программ.
поддерживает программные процедуры, вызываемые из основной программы.
позволяет использовать локальные переменные.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
14.08.2009, 20:52  [ТС]
Значит будем сотреть на qbasic, пока без процедур
Кстати, из этой статьи (правда она больше на словесный понос похожа, чем на статью) мне показалось, что там всё-таки компилятор

А qbasic сейчас бесплатный?

Добавлено через 2 минуты 0 секунд
Вот типа того

Make EXE File... - позволяет сделать из *.bas файла настоящую EXE-версию вашего кода, чтобы ее можно было запускать на машине без Бейсика
1
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
14.08.2009, 21:10
Цитата Сообщение от Evg Посмотреть сообщение
Make EXE File... - позволяет сделать из *.bas файла настоящую EXE-версию вашего кода, чтобы ее можно было запускать на машине без Бейсика

Не по теме:

Это DOS приложение --> фтопку!

0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
14.08.2009, 21:11  [ТС]
Я так понимаю, что признаком кона оператора ялвяется прекод строки. Т.е. один оператор нельзя размазывать на несколько строк?

Можно писать вот так (т.е. набор операторов через двоеточие это некий аналог лексического блока на си и паскале?)?
IF условие THEN statemen1 : statement 2 ELSE statement3 : statement 4

IF размазывать на несколько строк можно?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
19.08.2009, 23:20  [ТС]
А есть где-нибудь краткий справочник по Q-Basic? Интересует синтаксис и краткое описание базовых конструкций и концепций. Или где его можно скачать (если он сейчас бесплатный)

Ну и ряд вопросов
  • Язык чувствиетелен к регистры букв? Т.е. "PRINT A" и "print a" это одно и то же?
  • Видел исходники, где переменные никак не объявляются, а просто используются. В этом случае есть понятие типа переменной или её тип считается автоматически по записанному в неё значению?
  • Есть приортитеты у логических операций (AND, OR, NOT) или просто слева направо?
  • Насколько я понял, метка бывает двух видов: просто цифра (как номер строки из старых реализаций) либо идентификатор с последующим двоеточием. Так?
  • Списко операций через двоеточие - это некий аналог фигурных скобок на Си? Т.е. конструкция "IF a==0 THEN b=1:c=2 ELSE d=3:e=4" трактуется как "IF a==0 THEN { b=1; c=2 } ELSE { d=3; e=4 }"? А так же можно просто записать НЕ внутри IF'а "a=1:b=2"?
  • Перенос строки является признаком конца оператора, при этом оператор нельзя размазывать на две строки?
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 23:31
Или где его можно скачать
QBASIC входит в состав MS-DOS.

Добавлено через 2 минуты 40 секунд
2Evg: Я понимаю что у людей которые что-то пишут напрочь отключается мозг
поэтому выложу тебе сюда:
Учебники по QBasic
http://quitbasic.narod.ru/qbhelp.html
http://en.wikibooks.org/wiki/QBasic

Добавлено через 2 минуты 9 секунд
И вообще завязывай писать Basic - за тебя уже его написали
http://ru.wikipedia.org/wiki/Rapid-Q_basic
Rapid-Q является BASIC языком программирования. Основные конструкции языка поддерживаются многими платформами — Win32, GNU/Linux, Unix (Solaris и HP-UX поддерживаются).
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
19.08.2009, 23:41  [ТС]
odip, попробую пояснить развёрнуто. Мне не нужны учебники, в которых что-то понаписано, но ответов на некоторые вопросы скорее всего не найду. Такое скорее решается методом тыка, либо кто-то сможет дать конкретный ответ на конкретный вопрос. ТО, что он входит в состав MS-DOS означает, что под виндой без бубна он не запустится? И есть отдельная поставка только qbasic'а?

То, что за меня написали бэйсик, это конечно хорошо. ТОлько за меня написали и программы "hello world" на всех языках программирования. Написали браузеры, графические редакторы и т.п. Т.е. по такой логике кроме искусственного интеллекта писать больше и нечего. К тому же пишу не я, а #pragma. Человек нашёл для себя интересное задание в качестве живой программы для тренировки, а я ему помогаю, чем могу
0
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
20.08.2009, 00:15
1. А захрена?
2. QBasic был в MS-DOS 6 (уже сказали)
3. QuikcBASIC не требует регистраций, так что работать будет
4. Из разновидностей и различий знал только отличие у Turbo и Quick передачи параметров в функцию - с массивами как-то различается. Но это для Вас вроде не актуально.
5. Самый простой BASIC, думаю был у MK-85

Посмотрите на Вики, там есть упоминания о стандартах, если сможете найти наверное будет оптимально для вас.

Добавлено через 8 минут 4 секунды
+1
Цитата Сообщение от Evg Посмотреть сообщение
odip, под виндой без бубна он не запустится? И есть отдельная поставка только qbasic'а?
QBasic - в DOS-е был в виде отдельного файла, последний раз запускал в XP без проблем.
Редактор аналогичен EDIT (есть вроде в XP).
Цитата Сообщение от Evg Посмотреть сообщение
odip, Т.е. по такой логике кроме искусственного интеллекта писать больше и нечего.
Опоздали, уже есть специалист по ИИ
Как, мне разобраться с переписыванием программы
Можно ли сделать из персонального компьютера автоматического робота?
Как произвести запись в системный реестр Windows
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
20.08.2009, 09:20  [ТС]
В конечном итоге. Кто-нибудь может специально для идиотов объяснить, куда нажать. Под виндой start->run->"написать qbasic" или чего?
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
20.08.2009, 10:57
Цитата Сообщение от Evg Посмотреть сообщение
Под виндой start->run->"написать qbasic" или чего?
Вообще так, только сначала нужно скачать отделно ms-dos, потому что qbasic'а в винде по умолчанию нет.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
20.08.2009, 11:07  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
Вообще так, только сначала нужно скачать отделно ms-dos, потому что qbasic'а в винде по умолчанию нет.
Куда скачать и как поставить? Потому я и попросил "объяснить для идиотов"
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
20.08.2009, 11:14
Просто скачать. Можно даже никуда специально не копировать, просто распаковать в любую папку и запускать оттуда сей файлик (qbasic.exe). Можно распаковать в папку \windows\command\ (если я не путаю там лежит все, что осталось от доса) и запускать через start->run->"написать qbasic".
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
20.08.2009, 11:54  [ТС]
Ладно, домой приду - попробую
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.08.2009, 11:54
Помогаю со студенческими работами здесь

моя первая плата, хедеры - вопрос про eagle или про пайку
До сих пор я паял платы на однослойных платах для прототипирования - примерно вот таких http://www.ebay.som/itm/221207693405 Один из...

Вопрос про обратную связь, и про схемотехнику полумоста
Добрый день) Я сейчас делаю схему от уважаемого rost c форума http://www.psb-kots.ru/forum/ , и мне непонятны некоторые моменты, а тот...

Интересуют разные реализации сервер-клиент
Привет. Занялся изучениям простенького клиент-сервера. Изучил самый простой на мой взгляд способ реализации. Сервер ...

вопрос про Sape, про поиск площадок
Делаю поиск площалок. В каждом пункте результатов поиска есть кнопки BL и GBL. Что они значат и что делают (или что должны делать) -...

вопрос по реализации на C++
Условие: собственно сам вопрос: каким образом записать информацию о двух сотрудниках в одной функции, что бы после можно было...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru