Как стать автором
Обновить
0

Small Basic *

Очень простой язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Взаимные угрозы шахматных фигур в числовой разнице

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.6K

Решил переосмыслить оригинальную идею Александра В. Катапанга младшего (Alexander V. Catapang Jr.), реализованную в шахматном тренажёре «Guess-Chess» из пакета логических игр «eGames» (1997-й год). Получившуюся программу вначале обозвал «Загадочные шахматы» («Riddle chess»), но поскольку не ограничивается только индийскими шахматами, и есть дополнительно тайские макрук (makruk), китайские сянци (xiangqi) и японские сёги (shogi) — стала «Генератором загадок» («Divine generator»).

Игра заключается в угадывании расположения фигур на доске, исходя из количества обозначенных угроз на клетках. В оригинальной версии поддерживаются только классические шахматы. При этом фигуры изначально располагаются на доске, могут конфликтовать и являться препятствиями, что несколько затрудняет разгадку.

См. далее...
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 0

Новости

Кое-что о переменных MS Small Basic. И не только…

Время на прочтение 8 мин
Количество просмотров 3.3K

MS Small Basic в настоящее время является лучшим учебным текстовым языком программирования. Не самым популярным, а именно лучшим. А с появлением современной среды программирования SB-Prime, библиотеки LitDev и ряда других библиотек он получил великолепные возможности, позволяющие писать на нём сложные, полезные и интересные программы, которые можно использовать не только в учебных проектах, но и для решения вполне серьёзных повседневных задач, однако, ему присущ ряд недостатков, делающих его непригодным для создания действительно серьёзных, а главное - ответственных проектов, что довольно обидно.

Переменные в MS Small Basic не требуют объявления. Здорово? На первый взгляд — очень! Ничего не нужно заранее продумывать, даже следить, чтобы переменная получила значение до её использования — всё равно получит что-то типа нуля. При этом переменные как бы сами «решают», какого они типа — в зависимости от того, что в них записано. Это кажется очень удобным, особенно — для учебного языка программирования. Но если копнуть чуть глубже, мы увидим, что далеко не всё так здорово, как кажется на первый взгляд.

Как можно реализовать такие простые и умные переменные? Реализовать их можно либо созданием специального класса, который сам определяет тип передаваемых данных, хранит их в одной из подходящих внутренних переменных, выполняет проверки на корректность и преобразования данных в случае необходимости, либо… Либо так, как придумали в Microsoft.

Разработчики MS Small Basic решили проблему создания неких «универсальных» переменных, подходящих для хранения любых типов данных очень специфическим (зато простым и быстрым) способом. Начать с того, что переменные в MS Small Basic все(!) — действительно одного единственного типа: и числовые, и символьные, и текстовые, и даже массивы(!). Фантастика? Нет. Решение, найденное разработчиками, конечно в принципе имеет право на существование, но оно довольно примитивно и несёт с собой кучу неудобств при работе. Я бы даже сказал, разработчики поленились сильно напрягаться — они просто придумали хранить любые переменные как… (барабанная дробь!) …текстовые строки! Настоящие программисты, я думаю, в шоке, как от простоты идеи, так и от потенциального количества проблем, которые она за собой тащит. Ну и от ленивости разработчиков, я полагаю, тоже… :)

Читать далее
Всего голосов 11: ↑7 и ↓4 +3
Комментарии 14

Практический разбор истории звука Apple II и Mockingboard

Время на прочтение 8 мин
Количество просмотров 3.4K

Свой очередной ретро-проект я решил посвятить исправлению одного из наиболее слабых мест излюбленного мной Apple ][+: его аудио. Так что предлагаю вместе разобраться с AY-3 и углубится в сопутствующие детали!
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Комментарии 3

Про неправильное использование вентиляторов, глобусов и сов или как НЕ нужно входить в It

Время на прочтение 7 мин
Количество просмотров 7.2K

Всем привет, в общем я решил написать эту статью чтобы показать как (по моему мнению) не нужно входить в It ровно на своем опыте.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 22

Истории

MCMC и байесова статистика в BASIC

Время на прочтение 5 мин
Количество просмотров 13K
BASIC был одним из самых распространенных языков программирования. В 80-х он шел в стандартном наборе программ на компьютере (например, Commodore 64 и Apple II), а в 90х и DOS и Windows 95 включали в себя QBasic IDE.

QBasic был также моим первым языком программирования. Я не программировал на Бейсике уже почти 20 лет и решил вспомнить этот действительно странный язык. Поскольку я провел много времени за байесовскими алгоритмами, я подумал, что будет интересно увидеть как байесовская аналитика будет выглядеть в утилите 20-летней давности.

image
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 20

Простые шаблоны писем в MS Outlook VBA

Время на прочтение 3 мин
Количество просмотров 62K
Небольшой рецепт на MS VB для сисадминов, которые хотят упростить жизнь сотрудникам.

Задача: девочка на reception периодически отправляет официальные анонсы всей компании. При этом дизайн, нарисованный дизайнером есть, а процесс отправки находится в состоянии вплоть до «отыскать старое письмо в отправленных, нажать переслать всем, отредактировать текст и тему письма, отправить».

Есть два способа:
Шаблоны — подойдет для простых вариантов, когда все поля статичны
VBA — под катом рассмотрим пример создания простейшего шаблона на встроенном в Outlook Visual Basic.

Есть еще конечно и нормальный способ — взять программиста, который напишет автоматическую рассылку писем на любом удобном ему движке, получить данные о сотрудниках из Exchange или LDAP и все будет ок, но для этого надо бюджет. Кому интересно костыль — под кат.
Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Комментарии 2

Релиз Microsoft Small Basic 0.9

Время на прочтение 1 мин
Количество просмотров 2.6K
image

Microsoft Small Basic (информация о языке) преодолел рубеж в 300 тысяч загрузок.

В этом релизе исправлено множество ошибок, а так же было уделено много внимания производительности (например, некоторые циклические операции теперь выполняются в 4 раза быстрее).

Изменения в объектах:
Читать дальше →
Всего голосов 21: ↑11 и ↓10 +1
Комментарии 20

Конкурс для начинающих программистов на Small Basic

Время на прочтение 2 мин
Количество просмотров 2.8K
Российское сообщество SmallBasic.ru при поддержке компании Microsoft объявляет конкурс по программированию на Small Basic.

Цель конкурса – популяризация программирования среди школьников и начинающих программистов.



Тематика конкурса
Тематика конкурса является свободной.

Основные тезисы конкурса
Конкурс проводится в четыре этапа. Каждый этап длится одну неделю. Каждый участник конкурса может предоставить по одной программе каждую неделю. Всего от одного участника могут быть представлены четыре программы. Для каждого этапа будет создана отдельная ветка на форуме сообщества SmallBasic.ru, в которой можно будет разместить свою программу.

Условия предоставления программ
Представляемые программы должны работать на текущей версии языка – 0.8.
В программах не разрешается использовать какие-либо внешние компоненты, только «чистый» Small Basic.
Программа должна быть опубликована на сервере smallbasic.com (инструментом программы «Опубликовать»), а на форуме выложен код импорта.

Сроки проведения конкурса
Читать дальше →
Всего голосов 30: ↑16 и ↓14 +2
Комментарии 3

Small Basic исполнился один год (вышел релиз 0.7)

Время на прочтение 1 мин
Количество просмотров 1.2K
По случаю годовщины выпуска Microsoft Small Basic в публичное использование прошел ровно год. По этому случаю выпущен релиз 0.7, в котором добавлена поддержка новых локализаций.

Кроме того, в этом релизе появилась новая функция, которая называется «Graduate». Она позволяет портировать (переносить) программы из Small Basic в Visual Basic.

graduate.png

Скачать Small Basic 0.7

UPD:
Статья о портировании программ из Small Basic в Visual Basic.
Всего голосов 41: ↑26 и ↓15 +11
Комментарии 7

Вышел релиз Microsoft Small Basic 0.6

Время на прочтение 1 мин
Количество просмотров 1K
sb_devlabs_2_mini.png

Этот релиз включает в себя немецкую локализацию.

Кроме того добавлены новые функции и исправлены некоторые ошибки:
  • Обновлено руководство пользователя, которое теперь включает в себя главу Массивы (пока только на английском).
  • Добавлен метод Zoom для объекта Shapes, с помощью которого можно масштабировать фигуру.
  • Добавлена работа с обратными тригонометрическими функциями (Arc) для объекта Math.
  • Удален объект Arguments, его функциональность перенесена в объект Program.
  • Метод GetAllIndices возвращает все индексы для массива (Array) в виде другого массива.
  • Для объекта Clock добавлено свойство ElapsedMilliseconds, которое возвращает количество миллисекунд, прошедших с 1900 года.
  • Для объекта GraphicsWindow добавлено событие TextInput, которое возникает при вводе текста в окно с графикой.
  • Так же исправлены многие ошибки.

Читать дальше →
Всего голосов 16: ↑11 и ↓5 +6
Комментарии 2

Small Basic теперь на русском языке!

Время на прочтение 1 мин
Количество просмотров 4.5K
С сегодняшнего дня доступна локализованная версия Small Basic. Весь API переведен на русский язык.

Это, бесспорно, радостная новость. Надеюсь, что теперь начинающим программистам будет еще проще осваивать программирование.

smallbasic_ru_mini.png
Читать дальше →
Всего голосов 91: ↑69 и ↓22 +47
Комментарии 72

Вышел новый релиз Microsoft Small Basic 0.5

Время на прочтение 1 мин
Количество просмотров 1.1K
splash05.png

Вот некоторые из изменений:

  • Неинициализированные переменные:
    Компилятор теперь может отследить и доложить о переменных в коде, которые используются, но не были инициализированы.

  • Добавлена испанская локализация

  • Обновления среды разработки:
Читать дальше →
Всего голосов 32: ↑18 и ↓14 +4
Комментарии 10

Релиз Small Basic 0.4

Время на прочтение 1 мин
Количество просмотров 771
Вышел новый релиз Small Basic под версией 0.4.

В нем исправлены некоторые ошибки. Так же есть одно заметное нововведение: добавлена французская локализация.

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

Или у кого-то он запускается?
Всего голосов 5: ↑2 и ↓3 -1
Комментарии 4

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

SmallBasic 0.3.1 — Теперь нормально запускается

Время на прочтение 1 мин
Количество просмотров 1.6K
Поскольку работаю в школе — решил попробовать Small Basic на зубок…
Пару дней назад скачал версию 0.3, но на Висте она не запустилась… Подумал, что нафиг, нафиг такие недоделки…

Но сегодня загрузил новую 0.3.1 версию и она (ура) запустилась. Вы не поверите, но я думаю это — то, что надо для ребят! Паскаль удручает и просто раздражает своим синтаксисом, а лёгенького редактора для Basic как-то не находилось.

Кстати! В SmallBasic есть Turtle ;) Старая добрая черепашка!

Кроме того, в SmallBasic присутствует некоторый социальный компонент: вы можете публиковать свои разработки…
Читать дальше →
Всего голосов 39: ↑26 и ↓13 +13
Комментарии 114

О выходе Small Basic 0.2

Время на прочтение 1 мин
Количество просмотров 1K
По случаю открытия русскоязычного сообщества Small Basic представляю вам хабраблог, посвященный Small Basic.
А так же первое сообщение в нем. :)
___________________

Версия содержит в себе наиболее запрашиваемые сообществом функции.

Обновление включает в себя:

* Исправление ошибок IDE (среды разработки)
* Усовершенствованный компилятор языка
* Добавление ключевого слова ElseIf в язык
* Расширение возможностей объекта File
* Возможность получения текущей позиции и угла для объекта Turtle

Полный список обновлений:
Читать дальше →
Всего голосов 22: ↑17 и ↓5 +12
Комментарии 20

Вклад авторов