Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Microsoft Small Basic - это язык программирования , интерпретатор и связанная с ним IDE . Упрощенный вариант Microsoft BASIC , он разработан, чтобы помочь студентам, изучившим языки визуального программирования, такие как Scratch, изучать текстовое программирование. [6] Соответствующая среда IDE предоставляет упрощенную среду программирования с такими функциями, как подсветка синтаксиса , интеллектуальное завершение кода и доступ к документации в редакторе. [7] В языке всего 14 ключевых слов. [8]

История [ править ]

Microsoft анонсировала Small Basic в октябре 2008 года [1] и выпустила первую стабильную версию для распространения 12 июля 2011 года [18] на веб-сайте Microsoft Developer Network (MSDN) вместе с учебной программой [20] и вводным руководством. . [21] Между анонсом и стабильным выпуском было выпущено несколько выпусков Community Technology Preview (CTP).

27 марта 2015 года Microsoft выпустила Small Basic версии 1.1, [19] в которой исправлена ​​ошибка и была обновлена ​​целевая версия .NET Framework с версии 3.5 до версии 4.5.

Microsoft выпустила Small Basic версии 1.2 1 октября 2015 года. [3] Версия 1.2 была первым обновлением после четырехлетнего перерыва, в котором были представлены новые функции Small Basic. В обновлении были добавлены классы для работы с датчиками движения Microsoft Kinect [3], увеличено количество языков, поддерживаемых включенным объектом Dictionary, и исправлен ряд ошибок. [4]

19 февраля 2019 года Microsoft анонсировала Small Basic Online (SBO). Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией MIT на GitHub . [22] [23]

Язык [ править ]

В Small Basic пишут иллюстративное "Hello, World!" запрограммируйте следующим образом:

TextWindow . WriteLine ( "Привет, мир!" )

Microsoft Small Basic - это полная версия по Тьюрингу . Он поддерживает условные переходы , петлевые структуры и подпрограммы для проведения обработки. Переменные являются слабо типизированным и динамическим без правил определения объема.

Условное ветвление [ править ]

В следующем примере демонстрируется условное ветвление. Он запрашивает текущую температуру в градусах Фаренгейта и комментирует ответ.

TextWindow . Напишите ( "Введите температуру сегодня (в F):" ) temp  =  TextWindow . ReadNumber () Если  temp  >  100  Тогда  TextWindow . WriteLine ( «Очень жарко.» ) ElseIf  temp  >  70  Затем  TextWindow . WriteLine ( "Это довольно мило." ) ElseIf  temp  >  50  Затем  TextWindow . WriteLine ( «Не забудь свое пальто.» )Else  TextWindow . WriteLine ( «Оставайся дома» ) EndIf

Цикл [ править ]

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

TextWindow . WriteLine ( «Таблицы умножения» ) для  i  = от  1  до  10  TextWindow . Напишите ( i  *  4 ) EndFor

While также поддерживаются циклы , и продемонстрированный For цикл можно расширить с помощью Stepключевого слова. StepКлючевое слово используется в установке значения , с помощью которого переменная счетчик, iполучает приращение каждой итерации.

Типы данных [ править ]

Small Basic поддерживает основные типы данных , такие как строки , целые числа и десятичные дроби , и легко преобразует один тип в другой в зависимости от ситуации. В примере, как Readи ReadNumberметоды чтения строки из командной строки, но ReadNumberотвергает любые нечисловые символы. Это позволяет преобразовывать строку в числовой тип и обрабатывать ее +оператором как число, а не строку .

TextWindow . WriteLine ( "Введите свое имя:" ) name  =  TextWindow . Читать ()TextWindow . Напишите ( "Введите свой возраст:" ) age  =  TextWindow . ReadNumber ()TextWindow . WriteLine ( "Привет,"  +  имя  +  "!" ) TextWindow . WriteLine ( «Через 5 лет тебе будет»  +  (  возраст  +  5  )  +  «лет!» )

Поскольку Small Basic легко конвертирует типы данных, числами можно управлять как строками, а числовыми строками как числами. Это демонстрируется на втором примере.

TextWindow . WriteLine ( Math . Log ( "100" ))  'Выводит 2 окна TextWindow . WriteLine ( "100"  +  "3000" )  'Печатает 3100 TextWindow . WriteLine ( "Windows"  +  8 )  'Печатает Windows 8 TextWindow . WriteLine ( Text . GetLength ( 1023.42 ))  'Выводит 7 (длина десятичного представления, включая десятичную точку)

Во втором примере, обе строки рассматриваются как числа и суммируются, производя выход 3100. Чтобы объединить два значения, производя выход 1003000, необходимо использовать метод.Text.Append(text1, text2)

Библиотеки [ править ]

Стандартная библиотека [ править ]

Стандартная библиотека Small Basic включает в себя базовые классы для математики, обработки строк и ввода / вывода , а также более экзотические классы, которые призваны сделать использование языка более интересным для учащихся. Примеры из них включают класс графики Turtle , класс для извлечения фотографий из Flickr и классы для взаимодействия с сенсорами Microsoft Kinect.

Чтобы сделать классы более удобными для учащихся, они были упрощены. Это упрощение демонстрируется с помощью кода, используемого для получения случайного изображения на тему горы с Flickr:

Для  i  = от  1  до  10  рис  =  Flickr . GetRandomPicture ( "горы" )  Рабочий стол . Установитьобои ( рис )  Программа . Задержка ( 10000 ) EndFor

Графика с черепахой [ править ]

Small Basic включает графическую библиотеку "Turtle", заимствованную из семейства языков программирования Logo . Например, чтобы нарисовать квадрат с помощью черепахи, черепаха перемещается вперед на заданное количество пикселей и поворачивается на 90 градусов в заданном направлении. Затем это действие повторяется четыре раза, чтобы нарисовать четыре стороны квадрата.

Для  i  = от  1  до  4  Черепаха . Move ( 100 )  'Вперед на 100 пикселей  Черепаха . Поверните ( 90 )  'Поверните на 90 градусов вправо EndFor

Более сложные рисунки возможны, если изменить угол поворота черепахи и количество итераций цикла. Например, можно нарисовать шестиугольник , задав угол поворота 60 градусов, а количество итераций - шесть.

Сторонние библиотеки [ править ]

Small Basic позволяет использовать сторонние библиотеки. Эти библиотеки должны быть написаны на языке, совместимом с CLR , а скомпилированные двоичные файлы должны быть нацелены на совместимую версию .NET Framework. Классы, предоставляемые библиотекой, должны быть статическими , отмеченными определенным атрибутом и должны использовать определенный тип данных.

Ниже приведен пример класса, который будет использоваться в Small Basic и написан на C # .

[SmallBasicType] публичный  статический  класс  ExampleClass {  публичный  статический  примитив  Add ( примитив  A ,  примитив  B )  =>  A  +  B ; общедоступный  статический  примитив  SomeProperty  {  получить ;  набор ;  } публичный  статический  примитив  Pi  =>  ( примитив ) 3.14159 ; }

Если доступно, среда разработки Small Basic будет отображать документацию для сторонних библиотек. Среда разработки принимает документацию в форме XML- файла, который может автоматически создаваться из комментариев исходного кода с помощью таких инструментов, как Microsoft Visual Studio и MonoDevelop .

Ссылки [ править ]

  1. ^ a b c Раджи, Виджай (23 октября 2008 г.). «Привет, мир» . Маленький базовый . Блоги MSDN. Microsoft . Проверено 9 февраля 2014 .
  2. ^ a b Раджи, Виджай (23 октября 2009 г.). "С Днем Рождения Small Basic" . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  3. ^ a b c d e Шероттер, Майкл (1 октября 2015 г.). «Small Basic 1.2 выпущен с поддержкой Kinect и исправлениями ошибок» . Маленький базовый . Блоги MSDN. Microsoft . Дата обращения 2 октября 2015 .
  4. ^ a b «Загрузите Microsoft Small Basic 1.2 из официального центра загрузки Microsoft» . Маленький базовый . Microsoft. 1 октября 2015 . Дата обращения 2 октября 2015 .
  5. ^ https://github.com/sb/smallbasic-editor/blob/master/LICENSE
  6. ^ "Small Basic" . Дата обращения 6 сентября 2020 .
  7. Прайс, Эд (22 октября 2012 г.). «Уникальные особенности Small Basic» . Маленький базовый . TechNet. Microsoft . Проверено 22 апреля 2015 года .
  8. Прайс, Эд (8 октября 2012 г.). "Каковы 14 ключевых слов в Small Basic?" . Маленький базовый . Блоги MSDN. Microsoft . Проверено 9 февраля 2014 .
  9. ^ Раджи, Vijaye (17 декабря 2008). "Представляем Small Basic v0_2!" . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  10. ^ Раджи, Vijaye (10 февраля 2009). «Microsoft Small Basic v0.3 уже здесь» . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  11. ^ Раджи, Vijaye (14 апреля 2009). «В версии 0.4 Small Basic написано« Bonjour » » . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  12. ^ Раджи, Vijaye (16 июня 2009). "Самый новый, самый худой и самый подлый здесь!" . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  13. ^ Раджи, Vijaye (19 августа 2009). «Теперь доступно: Small Basic v0.6» . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  14. ^ Раджи, Vijaye (10 февраля 2010). "Small Basic v0.8" . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  15. ^ Раджи, Vijaye (11 июня 2010). "Small Basic V0.9 уже здесь!" . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  16. ^ Алдана, Sandra (17 ноября 2010). «Small Basic V0.91 стал более интернациональным, чем когда-либо!» . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  17. ^ Алдана, Sandra (8 февраля 2011). "Small Basic v0.95 говорит на другом языке!" . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  18. ^ a b Алдана, Сандра (12 июля 2011 г.). "Small Basic 1.0 уже здесь!" . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  19. ^ a b Прайс, Эд (27 марта 2015 г.). "Small Basic 1.1 уже здесь!" . Маленький базовый . Блоги MSDN. Microsoft . Проверено 27 сентября 2015 года .
  20. Прайс, Эд (29 апреля 2014 г.). «Малая базовая учебная программа» . TechNet . Microsoft . Проверено 9 февраля 2014 .
  21. ^ Цена, Эд; Такахаши, Нонки (25 февраля 2014 г.). «Руководство по началу работы с Small Basic» . TechNet . Microsoft . Проверено 12 февраля 2015 года .
  22. ^ https://techcommunity.microsoft.com/t5/Small-Basic-Blog/Announcing-Small-Basic-Online-1-0-Public-Preview/ba-p/353682
  23. ^ https://social.technet.microsoft.com/wiki/contents/articles/52801.microsoft-small-basic-online-v1-0-cs-installation-guide.aspx

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Компьютерные науки для детей от Kidware Software
  • Научитесь программировать с помощью Small Basic без крахмала
  • Обсуждение основ Small Basic с Виджей Раджи и Эриком Мейджером на SmallBasic
  • Обсуждение Введение в Small Basic с Виджей Раджи и Робертом Хессом на SmallBasic
  • Microsoft Small Basic для .NET Обзор Microsoft Small Basic с примером приложения
  • Категория: Задачи Microsoft Small Basic, реализованные в Microsoft Small Basic на rosettacode.org