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

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

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

Post 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, которые вас заинтересуют, и спросите на форуме, если вам будет что-то непонятно.

User avatar
niks26
Posts: 14
Joined: Sun Sep 28, 2014 11:16 pm
My devices: iPadmini2, 64gb, cell
iPhone 5s, 16 gb
MacBook Air 13' 2013
iMac 27' 2013
Location: Фаэтон
Contact:

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

Post by niks26 »

ну вот, с каждым уроком все яснее и яснее...
Человек, измученный Нарзаном

Parki
Posts: 8
Joined: Thu Nov 13, 2014 9:54 pm

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

Post by Parki »

А когда-нибудь будут уроки затрагивающие весь синтаксис?

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

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

Post by Mr. Kibernetik »

Parki wrote:А когда-нибудь будут уроки затрагивающие весь синтаксис?
В одном уроке весь синтаксис не описать. Это уже 6-ой урок.

Dionis
Posts: 47
Joined: Mon Jan 05, 2015 8:18 am
My devices: iPad2, iPad 4, iPad mini 2

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

Post by Dionis »

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

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

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

Post by Mr. Kibernetik »

Dionis wrote:Синтаксис можно в мануале посмотреть. Уроки хоть и хорошие, но они затрагивают пока азы, которые есть в любом языке программирования - условия, массивы, циклы итд. Побольше бы по интерфейсу информации. Вот, например, я создаю кнопки. Создал одну - отображает. Создал вторую, первая почему-то исчезает.
А у кнопок имена разные?

Dionis
Posts: 47
Joined: Mon Jan 05, 2015 8:18 am
My devices: iPad2, iPad 4, iPad mini 2

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

Post 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 - надпись на кнопке.

Dionis
Posts: 47
Joined: Mon Jan 05, 2015 8:18 am
My devices: iPad2, iPad 4, iPad mini 2

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

Post by Dionis »

Все ясно. Имена надо в кавычки брать.

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

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

Post 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.

Dionis
Posts: 47
Joined: Mon Jan 05, 2015 8:18 am
My devices: iPad2, iPad 4, iPad mini 2

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

Post by Dionis »

Угу, спасибо, я уже разобрался. Мне, как пхп-программисту просто тяжело воспринимать знак доллара после буквы (а в мануале именно так дано).

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

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

Post Reply