Page 1 of 2

Программирование на smart BASIC. Урок 6

Posted: Sun Oct 05, 2014 2:51 pm
by Mr. Kibernetik
Урок 6 - Простота и разнообразие

В smart BASIC можно кратко записывать математические операции, если они совершаются с одной и той же переменной. Например строки:

Code: Select all

A = A + 1
B = B * A
M (K) = M (K) / 3
можно записать как:

Code: Select all

A += 1
B *= A
M (K) /= 3
Если массив имеет не более 10 элементов, то его можно не создавать, а сразу использовать.

Любая числовая переменная или элемент массива по умолчанию имеют значение 0 до тех пор, пока туда не сохранили новое значение. Аналогично любая, еще не использованная строковая переменная равна пустой строке "".

Такие двусложные команды, как END IF или END DEF, можно записывать без пробела между словами: ENDIF, ENDDEF.

Метки могут быть не только именные как

Code: Select all

LOOP: GOTO LOOP
но и числовые, в этом случае двоеточие после метки не ставится:

Code: Select all

10 GOTO 10
Комментарии могут быть не только на одну строку с помощью символа " ' ", но и на любое количество строк с помощью символов "/*" и "*/":

Code: Select all

'однострочный комментарий
/* многострочный
комментарий */
В команде IF THEN ELSE если после THEN или ELSE стоит команда GOTO, то ее можно не писать, то есть:

Code: Select all

IF A = B THEN GOTO 1
можно записать как:

Code: Select all

IF A = B THEN 1
В smart BASIC можно использовать подпрограммы. Подпрограмма - это код, который можно выполнить с помощью команды GOSUB и после завершения которого командой RETURN программа продолжает выполняться с того места, откуда вызывалась подпрограмма:

Code: Select all

PRINT "Вызываю подпрограмму"
GOSUB SUBPROG
PRINT "После подпрограммы"
END
SUBPROG:
PRINT "В подпрограмме"
RETURN
Поскольку имя подпрограммы - это метка, то она также может быть числовая:

Code: Select all

PRINT "Вызываю подпрограмму"
GOSUB 1
PRINT "После подпрограммы"
END
1 PRINT "В подпрограмме"
RETURN
Можно писать несколько команд в одну строку с помощью разделителя "!":

Code: Select all

A = 1 ! B = 2 ! PRINT A + B
ЗАДАЧА 7
Прочитайте внимательно в документации раздел "Основы", протестите те возможности smart BASIC, которые вас заинтересуют, и спросите на форуме, если вам будет что-то непонятно.

Re: Программирование на smart BASIC. Урок 6

Posted: Tue Oct 07, 2014 6:35 am
by niks26
ну вот, с каждым уроком все яснее и яснее...

Re: Программирование на smart BASIC. Урок 6

Posted: Wed Nov 19, 2014 2:56 pm
by Parki
А когда-нибудь будут уроки затрагивающие весь синтаксис?

Re: Программирование на smart BASIC. Урок 6

Posted: Wed Nov 19, 2014 3:04 pm
by Mr. Kibernetik
Parki wrote:А когда-нибудь будут уроки затрагивающие весь синтаксис?
В одном уроке весь синтаксис не описать. Это уже 6-ой урок.

Re: Программирование на smart BASIC. Урок 6

Posted: Mon Jan 05, 2015 9:36 pm
by Dionis
Синтаксис можно в мануале посмотреть. Уроки хоть и хорошие, но они затрагивают пока азы, которые есть в любом языке программирования - условия, массивы, циклы итд. Побольше бы по интерфейсу информации. Вот, например, я создаю кнопки. Создал одну - отображает. Создал вторую, первая почему-то исчезает.

Re: Программирование на smart BASIC. Урок 6

Posted: Mon Jan 05, 2015 9:37 pm
by Mr. Kibernetik
Dionis wrote:Синтаксис можно в мануале посмотреть. Уроки хоть и хорошие, но они затрагивают пока азы, которые есть в любом языке программирования - условия, массивы, циклы итд. Побольше бы по интерфейсу информации. Вот, например, я создаю кнопки. Создал одну - отображает. Создал вторую, первая почему-то исчезает.
А у кнопок имена разные?

Re: Программирование на smart BASIC. Урок 6

Posted: Mon Jan 05, 2015 9:45 pm
by Dionis
Да.
Вот код:

graphics
button left text "Влево" at 50,550 size 100,100
button right text "Вправо" at 250,550 size 100,100

Кстати, я еще не понял, почему вы в коде пишете title, а в мануале написано text и никакого title вообще нет. Я изучал вашу программу "калькулятор" и искал этот title везде. Как я понял это тоже самое, что и text - надпись на кнопке.

Re: Программирование на smart BASIC. Урок 6

Posted: Mon Jan 05, 2015 9:49 pm
by Dionis
Все ясно. Имена надо в кавычки брать.

Re: Программирование на smart BASIC. Урок 6

Posted: Mon Jan 05, 2015 9:49 pm
by Mr. Kibernetik
Dionis wrote:Да.
Вот код:

graphics
button left text "Влево" at 50,550 size 100,100
button right text "Вправо" at 250,550 size 100,100

Кстати, я еще не понял, почему вы в коде пишете title, а в мануале написано text и никакого title вообще нет. Я изучал вашу программу "калькулятор" и искал этот title везде. Как я понял это тоже самое, что и text - надпись на кнопке.
Имена должны быть строками типа "left" или "right", а у вас стоят как будто числовые переменные, которые видимо равны нулю и поэтому в строковом эквиваленте одинаковые: "0".
Да, TITLE в BUTTON это устаревший вариант. TEXT - это более современный вариант TITLE в BUTTON.

Re: Программирование на smart BASIC. Урок 6

Posted: Mon Jan 05, 2015 9:52 pm
by Dionis
Угу, спасибо, я уже разобрался. Мне, как пхп-программисту просто тяжело воспринимать знак доллара после буквы (а в мануале именно так дано).

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

ПыСы Большинство программ в разделе программ к сожалению закодированы. Толком не посмотришь. Кто то там очень мнительный.