Програмирование на MSX BASIC.

Page 6/7
1 | 2 | 3 | 4 | 5 | | 7

By msxValdr

Resident (43)

msxValdr's picture

24-11-2014, 09:53

Alex51 wrote:

Думаю далее троллинг будет не на тему Val. А на тему русского язык. :-D

Лучше расскажите про оператор clear. Чую мне памяти для строковых переменных маловато.
С дочкой написали старую игрушку "животные".

Он летает? Нет
Это крокодил!

CLEAR - обнеляет цифровые и очищает строковые переменные, так же можно увеличить объем выделяемой памяти, под строковые переменные. По умолчанию 200 символов.
Например: CLEAR 500
Соответственно увеличивает до 500.

Ждал когда же начнется тролинг по поводу русского языка... Дождался! Пишу с планшета, не очень удобно, всего 7". Простите кто может Smile

By Alex51

Resident (44)

Alex51's picture

24-11-2014, 14:37

Тут развлекался со скоростью.
Оказывается про десятичные константы можно ЗАБЫТЬ как страшный сон. На 10% мой цикл жрет больше, если одна константа представлена как -900. Несмотря на то что &HFC00 и на 2 байта длиннее, но выполняется быстрее.

Что касается переменных - про % все знают? A% - целочисленная константа от -32768 до 32767. Работает шустрее.
Все переменные попадают в список. И каждый раз используемая переменная ищется по списку. Представляете сколько в холостую уходит процессорного времени. Рекомендую обнулить часто используемые переменные в самой первой строке программы.
0 I%=0:J%=0
Цикл будет исполнятся гораздо быстрее Smile

By Alex51

Resident (44)

Alex51's picture

24-11-2014, 14:45

Прям хоть конкурс объявляй... У кого будет самый быстрый код.. Или наиболее компактный...

Хотя в наше время рулят алгоритмы))

By msxValdr

Resident (43)

msxValdr's picture

24-11-2014, 14:47

Да действительно операции с целыми выполняются быстрее, при чем как я понял во многих версиях бейсика. Так и не понял работу def int она определяет целочисленные переменные из заданного диапазона. Если использовать эту команду можно ли будет использовать переменную из заданного диапазона, не как целое число, если задать явно тип переменной например def int a-z: a$="dddd"? Кто нибудь использует эту команду?

By msxValdr

Resident (43)

msxValdr's picture

24-11-2014, 14:51

Alex51 wrote:

Прям хоть конкурс объявляй... У кого будет самый быстрый код.. Или наиболее компактный...

Хотя в наше время рулят алгоритмы))

Да к сожалению так... Потому и имеем то, что имеем. Но просто конкурс не так актуально, вот если какую-то задачу конкретную оптимизировать по максимуму...

By Alex51

Resident (44)

Alex51's picture

24-11-2014, 14:55

Числовые скорее всего не обнуляет, а тоже очищает. А потом при первом обращении создается переменная заново.
Вопрос, а что будет если в цикле выполнить CLEAR ;-))

By Alex51

Resident (44)

Alex51's picture

24-11-2014, 14:58

msxValdr wrote:

Да действительно операции с целыми выполняются быстрее, при чем как я понял во многих версиях бейсика. Так и не понял работу def int она определяет целочисленные переменные из заданного диапазона. Если использовать эту команду можно ли будет использовать переменную из заданного диапазона, не как целое число, если задать явно тип переменной например def int a-z: a$="dddd"? Кто нибудь использует эту команду?

Не надо путать A$ и defint. ;-)
А , A$ и A% - это три РАЗНЫХ переменных.
defint - определит короткий int ТОЛЬКО для A (без суффиксов)

By Alex51

Resident (44)

Alex51's picture

24-11-2014, 14:59

Кстати где то читал что defint переменные несколько медленнее чем явноуказанные с %

By msxValdr

Resident (43)

msxValdr's picture

24-11-2014, 15:16

Понятно. Фенькс.

By Igor_BOCHAROV

Expert (83)

Igor_BOCHAROV's picture

24-11-2014, 23:17

Alex51 wrote:

Кстати где то читал что defint переменные несколько медленнее чем явноуказанные с %

Чтобы программа выполнялась быстрее, в начале обычно ставили: clear и defint a-z. Ибо дробные переменные использовались крайне редко (или не использовались вообще) и их, как и строковые указывали явно.

Page 6/7
1 | 2 | 3 | 4 | 5 | | 7