Pull to refresh

Small Basic — для тех, кто только начинает

Reading time3 min
Views7.1K
image
Всем привет, а особенный привет тем, кто хочет начать программировать, и не знает на чем начать и какую среду разработки предпочесть.

Сегодня я расскажу о такой замечательной вещи как Small Basic.

И все же, для кого Small Basic? Логично — для тех кто хочет начать программировать. Для того что бы начать программировать опыт совершенно не нужен, но если есть — это даже лучше.

Весьма не плохо было-бы, если попутно, на уроках информатики старших классов школы или студентов, помимо паскаля и турбо-бейсика выделяли часы на Small Basic, было бы полезно.

Первый запуск.


image
Очень хорошее окошко, ничего лишнего.

Приятные моменты.


image
Вот за это отдельное спасибо, это очень удобная вещь. Управление стрелками, русское описание. Ваши назначенные переменные так-же поддерживаются. Процесс становиться очень приятным.

Аппендикс.


На сайте microsoft, и при установке так же ставиться начальная документация, которая очень понятным языком познакомит вас с Small Basic и самим процессом программирования в целом.

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

SB поддерживает подключение внешних библиотек, которые значительно расширяют возможности.

Для русских есть официальное русскоязычное сообщество начинающих программистов. Там-же доступна версия 0.8

Преимущества очевидны, если для всеми известного «первого приложения» Hello Word в Small Basic'е достаточно:
TextWindow.WriteLine("hello word")
C++
main()
{
cout << "Hello World!" << endl;
return 0;
}

На языке pascal
program HelloWorld(output);
begin
WriteLn('Hello World!');
end.


Выбирать конечно Вам, но разница ощутима, хотя я никак не сравниваю C++ программирование с Small Basic, но на чем изучать

Небольшой пример, разлетающиеся шарики.


image

Самое интересное то, что программа всего в 15 строчек:

For i = 1 To 100
balls[i] = Shapes.AddEllipse(10, 10)
EndFor

While "True"
For i = 1 To 100
ball = balls[i]

x = Math.GetRandomNumber(640)
y = Math.GetRandomNumber(480)
Shapes.Animate(ball, x, y, 2000)
EndFor
Program.Delay(1900)
EndWhile


А теперь разберем код.


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

В цикл мы добавим переменную, назовем ее «balls», и внутри переменной дадим команду SB «Shapes», она позволяет добавлять, двигать и вращать фигуры, к объекту (Shapes) добавим операцию «AddEllipse» которая служит для добавления эллипса с заданной высотой и шириной. Цикл заканчиваем командой EndFor.

Во второй части кода мы опять же используем цикл, но другой конструкции. Другая конструкция необходима в том случае, если переменная счетчика-цикла не известна заранее, если цикл For выполняется столько раз, сколько мы зададим, то цикл While выполняется до тех пор, пока не выполнит условие.

В цикл While мы включаем цикл For, в котором мы создадим переменную ball равную balls[i] (i — все значения от 1 до 100).

Добавим переменные для координат x и y. Для этого воспользуемся классом Math, который предоставляет множество математических операций. К классу припишем операцию GetRandomNumber, которая дает случайное число в заданном параметре maxNumber, который в свою очередь мы укажем в скобках.

Далее опять даем команду SB «Shapes», но на этот раз приписываем операцию Animate, которая перемещает фигуру (ball) с помощью анимации на новую позицию (x,y) и поставим время анимации в секундах 2000. Заканчиваем цикл For командой EndFor.
Используем класс Program, который служит для контроля самого приложения, приписываем к нему операцию Delay, которая задерживает выполнение программы на 1900 мс. И в конце останавливаем цикл While командой EndWhile.

Запускаем программу кнопкой F5. Действия примерно такие:
Цикл Loop от 1 до 100 для переменной balls, которая рисует эллипс 10х10, конец цикла. Рисование кучи эллипсов.
Так, нарисовали эллипсы, так — программная задержка (Program.Delay (1900) мс). Цикл While, который раскидывает эллипсы по координатам x,y (которые задаются случайно, вспоминаем Math.GetRandomNumber), время анимации — 2000 мс. Ждем — повторяем. Ждем — повторяем.

Единственная проблема — это размер, размер даже такой небольшой программы 236 КБ, но это за счет того, что для запуска *.exe — необходима dll-библиотека SmallBasicLibrary.dll, без нее размер программы всего 3кб.
Tags:
Hubs:
Total votes 37: ↑25 and ↓12+13
Comments10

Articles