BASIC онлайн: редактор и компилятор FreeBASIC
Пишите программы на BASIC в браузере и запускайте их без установки компилятора. Отправьте ссылку, и можно решать задачу вдвоём: на собеседовании или разбирая решение вместе. Бесплатно, без регистрации.
Бесплатно, без регистрацииКак провести лайвкодинг-собеседование на BASICСовместный редактор кода: сравнение сервисовПример кода
DIM n AS INTEGER, i AS INTEGER, j AS INTEGER
DIM isPrime AS INTEGER
DIM primes AS STRING
n = 30
FOR i = 2 TO n
isPrime = -1
FOR j = 2 TO i \ 2
IF i MOD j = 0 THEN isPrime = 0
NEXT j
IF isPrime THEN primes = primes + LTRIM$(STR$(i)) + " "
NEXT i
PRINT RTRIM$(primes)
Вывод
2 3 5 7 11 13 17 19 23 29
Что умеет редактор
- Компилятор FreeBASIC 1.9 в режиме совместимости с QBasic: программа компилируется и выполняется на сервере, ошибки компиляции и вывод видны сразу.
- Привычный синтаксис QBasic: переменные без объявления, DIM … AS INTEGER, FOR … NEXT, IF … THEN, функции STR$, MID$ и LEN.
- Ничего не нужно устанавливать: редактор работает в браузере на любом компьютере.
- Совместное редактирование в реальном времени: до 5 участников в одной сессии, правки и курсоры видны сразу.
- Условие задачи в Markdown прямо в сессии, рядом с кодом.
- Банк задач открыт без входа. После бесплатного входа — свои задачи, режим интервью с таймерами и история сессий.
Как провести собеседование
- Нажмите «Провести собеседование» — сессия создастся с примером программы.
- Опишите задачу в Markdown и отправьте ссылку: второму участнику регистрация не нужна.
- Решайте задачу вместе: запускайте программу после каждого шага и обсуждайте ошибки компиляции и вывод — так удобно разбирать решение по частям.
Типичные задачи на собеседовании
- Найти все простые числа до N перебором делителей и подумать, до какого делителя достаточно проверять.
- Вычислить НОД двух чисел алгоритмом Евклида в цикле WHILE … WEND.
- Посчитать сумму и количество цифр натурального числа с помощью MOD и целочисленного деления \.
- Отсортировать массив пузырьком и вывести его после каждого прохода.
- Проверить, является ли строка палиндромом, перебирая символы через MID$.
- Вывести таблицу умножения, выровняв столбцы.
Ограничения
- Это FreeBASIC в режиме QBasic (-lang qb): синтаксис, который есть только в FreeBASIC, например Dim As Integer a = 3, не скомпилируется.
- PRINT ставит перед положительным числом пробел (место под знак), как в QBasic. Чтобы вывести число без пробела, используйте LTRIM$(STR$(x)).
- Автотестов для BASIC нет — проверяйте результат выводом: напечатайте ответ для нескольких наборов данных и сравните с ожидаемым.
- Компиляция ограничена 10 секундами, запуск — 3 секундами и 64 КБ вывода.
Частые вопросы
- Какой компилятор используется?
- FreeBASIC 1.9 в режиме совместимости с QBasic. Программа компилируется и запускается на сервере, поэтому ничего не нужно устанавливать.
- Запустится ли программа из QBasic или QuickBASIC?
- Обычно да: режим QBasic понимает переменные без объявления, суффиксы типов вроде $ и %, SUB и FUNCTION.
- Можно ли ввести данные с клавиатуры (INPUT)?
- Да. Впишите данные в поле «Ввод (stdin)» над выводом — при запуске INPUT и LINE INPUT прочитают их, как с клавиатуры. Поле общее для всех участников сессии.
- Можно ли работать вдвоём?
- Да. Отправьте ссылку на сессию — в одном редакторе могут работать до 5 участников, правки видны в реальном времени.
- Нужна ли регистрация?
- Нет. Создайте сессию и сразу пишите код. Банк задач тоже открыт без входа. Вход нужен для своих задач и истории: без него сессия не сохраняется, но код можно скопировать.