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

Small Basic *

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

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

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

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

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

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

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

Новости

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 11: ↑10 и ↓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 мин
Количество просмотров63K
Небольшой рецепт на MS VB для сисадминов, которые хотят упростить жизнь сотрудникам.

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

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

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

Релиз Microsoft Small Basic 0.9

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

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

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

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

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

Время на прочтение2 мин
Количество просмотров2.9K
Российское сообщество 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 мин
Количество просмотров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.6K
С сегодняшнего дня доступна локализованная версия 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 мин
Количество просмотров799
Вышел новый релиз Small Basic под версией 0.4.

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

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

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

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

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

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 мин
Количество просмотров1.1K
По случаю открытия русскоязычного сообщества Small Basic представляю вам хабраблог, посвященный Small Basic.
А так же первое сообщение в нем. :)
___________________

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

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

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

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