Форум программистов, компьютерный форум, киберфорум
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. Показов 9625. Ответов 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 / 2626 / 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 / 2626 / 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 / 2626 / 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 / 2626 / 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
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru