BASIC онлайн: редактор и компилятор FreeBASIC

Пишите программы на BASIC в браузере и запускайте их без установки компилятора. Отправьте ссылку, и можно решать задачу вдвоём: на собеседовании или разбирая решение вместе. Бесплатно, без регистрации.

Открыть редактор 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 прямо в сессии, рядом с кодом.
  • Банк задач открыт без входа. После бесплатного входа — свои задачи, режим интервью с таймерами и история сессий.

Как провести собеседование

  1. Нажмите «Провести собеседование» — сессия создастся с примером программы.
  2. Опишите задачу в Markdown и отправьте ссылку: второму участнику регистрация не нужна.
  3. Решайте задачу вместе: запускайте программу после каждого шага и обсуждайте ошибки компиляции и вывод — так удобно разбирать решение по частям.

Типичные задачи на собеседовании

  • Найти все простые числа до 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 участников, правки видны в реальном времени.
Нужна ли регистрация?
Нет. Создайте сессию и сразу пишите код. Банк задач тоже открыт без входа. Вход нужен для своих задач и истории: без него сессия не сохраняется, но код можно скопировать.

Редактор для других языков