User Tag List

Страница 40 из 57 ПерваяПервая ... 363738394041424344 ... ПоследняяПоследняя
Показано с 391 по 400 из 568

Тема: Бейсики для Вектора-06Ц и клонов

  1. #391
    Activist Аватар для metamorpho
    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    352
    Спасибо Благодарностей отдано 
    613
    Спасибо Благодарностей получено 
    192
    Поблагодарили
    65 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Наверное ему недостаточно времени на то, чтобы переварить. Попробуй по той же ссылке еще раз. Добавил задержку. Теперь он должен подождать пару секунд перед тем, как набирать RUN.
    Заработало !! Спасибо !!

    По поводу конвертирования файла .asc обнаружил небольшой моментик - если в файле .asc где-то встретится например
    PLOT 50,120,2:LINE 2,2,BS:PRINT "Бейсик" - маленькими буквами
    То на экране вместо маленьких букв будут другие символы. Конечно пользователю самому нужно следить за регистром букв, либо как вариант при конвертировании все мелкие буквы преобразовать в заглавные символы.

  2. #391
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #392
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,123
    Спасибо Благодарностей отдано 
    804
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, любые ошибки будут плохо восприняты. Наверное можно сделать какой-то синтакс хайлайтер на основе конвертера, который бы подсвечивал заранее известные ошибки. Наверняка можно для vs.code и neovim это сделать. Но у меня нет такого опыта, так что на коленке быстро не сбацать.
    Больше игр нет

  4. #393
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,867
    Спасибо Благодарностей отдано 
    659
    Спасибо Благодарностей получено 
    1,859
    Поблагодарили
    1,061 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Среди тестов не хватало сравнения с компилятором более содержательного, чем пустой цикл, пусть будет Мандельброт.

    Исходный текст

    Код:
    10 CLS
    20 ROWS=21
    30 COLUMNS=30
    40 MAXITER=8
    50 SCALE=4
    60 SQ=2
    70 SQ2=SQ*SQ
    80 VR=-2.3*SCALE
    90 VI=-1.0*SCALE
    100 ZOOM=0.1*SCALE
    110 FOR Y=0 TO ROWS-1
    120 CI=VI+Y*ZOOM
    130 FOR X=0 TO COLUMNS-1
    140 CR=VR+X*ZOOM
    150 ZR=CR
    160 ZI=CI
    170 FOR N=0 TO MAXITER-1
    180 R2=ZR*ZR/SQ2
    190 I2=ZI*ZI/SQ2
    200 IF (R2+I2)>4*SCALE THEN 240
    210 ZI=2*ZR*ZI/SQ2+CI
    220 ZR=R2-I2+CR
    230 NEXT
    240 PRINT CHR$(40-INT(N));
    250 XX=XX+1
    260 NEXT X
    270 PRINT
    280 XX=0:YY=YY-1
    290 NEXT
    300 STOP
    [свернуть]

    BASCOM - 79 секунд по секундомеру (mdos34)
    2.5 - 191.6 секунды
    2.97fix - 128.4 секунды
    И это еще не финал соревнований.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	mandel4.gif 
Просмотров:	61 
Размер:	3.2 Кб 
ID:	79140  
    Последний раз редактировалось ivagor; 06.07.2023 в 18:12. Причина: добавил картинку

  5. Эти 2 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    nzeemin (25.07.2023), svofski (06.07.2023)

  6. #394
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,123
    Спасибо Благодарностей отдано 
    804
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    260 NEXT X
    Здесь X правда требуется, или это ради читабельности?
    Больше игр нет

  7. #395
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,867
    Спасибо Благодарностей отдано 
    659
    Спасибо Благодарностей получено 
    1,859
    Поблагодарили
    1,061 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для скорости лучше не указывать переменные в NEXT, но именно здесь X правда требуется, т.к. в строке 200 есть выход из цикла и без явного указания переменной бейсик путается, что ему NEXTить.

    - - - Добавлено - - -

    Добавил скриншот

  8. #396
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,123
    Спасибо Благодарностей отдано 
    804
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Понятно. И замена внутреннего цикла на бейсиковский эквивалент while скорости уж точно не принесет? N=0 ... N=N+1:IF N < MAXITER GOTO ...
    Больше игр нет

  9. #397
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,867
    Спасибо Благодарностей отдано 
    659
    Спасибо Благодарностей получено 
    1,859
    Поблагодарили
    1,061 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проблема с N=N+1: IF ... в том, что это два отдельных выражения, которые бейсик должен тяжело и мучительно парсить в цикле. NEXT парсить проще и он один делает и N+1 и GOTO.

  10. #398
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,867
    Спасибо Благодарностей отдано 
    659
    Спасибо Благодарностей получено 
    1,859
    Поблагодарили
    1,061 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для сравнения оптимизированный вариант Мандельброта. Меньше букв и операций, меньше наглядности и понятности.

    Исходный текст

    Код:
    1 CLS
    2 RW=21
    3 CM=30
    4 MI=8
    5 SC=4
    6 S4=4*SC
    7 SQ=2
    8 SQ=1/(SQ*SQ)
    9 S2=2*SQ
    10 VR=-2.3*SC
    11 VI=-1.0*SC
    12 ZM=0.1*SC
    13 FOR Y=0 TO RW-1
    14 CI=VI+Y*ZM
    15 FOR X=0 TO CM-1
    16 CR=VR+X*ZM:ZR=CR:ZI=CI
    17 FOR N=0 TO MI-1
    18 R2=SQ*ZR*ZR:I2=SQ*ZI*ZI
    19 IF (R2+I2)>S4 THEN 22
    20 ZI=S2*ZR*ZI+CI:ZR=R2-I2+CR
    21 NEXT
    22 PRINT CHR$(40-INT(N));
    23 XX=XX+1
    24 NEXT X
    25 PRINT
    26 XX=0:YY=YY-1
    27 NEXT
    28 STOP
    [свернуть]

    Картинка не изменилась, просто быстрее работает.
    BASCOM - 59 секунд по секундомеру (mdos34)
    2.5 - 160.1 секунды
    2.97fix - 109.8 секунды
    2.98 - 70.5 секунды

    Видно, что компилятор дубовый и похоже сам не оптимизирует даже элементарные вещи. Зато он есть и работает, причем на самом 8080.
    Последний раз редактировалось ivagor; 05.08.2023 в 09:10. Причина: добавил результат 2.98

  11. #399
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,867
    Спасибо Благодарностей отдано 
    659
    Спасибо Благодарностей получено 
    1,859
    Поблагодарили
    1,061 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И все же он существует - исходник бейсика 5.2 с комментариями
    Кроме того оказалось, что на известном сайте, где разобран 3.2 4k есть и фрагменты 4.1 Disk Extended
    Последний раз редактировалось ivagor; 09.07.2023 в 13:09. Причина: уточнил

  12. #400
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,867
    Спасибо Благодарностей отдано 
    659
    Спасибо Благодарностей получено 
    1,859
    Поблагодарили
    1,061 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Очередная недокументированная фича - если в GOTO/GOSUB не указать номер строки, то он будет принят равным 0. Например
    0 PRINT"HELLO WORLD!":GOTO
    даст бесконечный цикл

  13. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    svofski (12.07.2023)

Страница 40 из 57 ПерваяПервая ... 363738394041424344 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  2. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  3. Ответов: 198
    Последнее: 26.04.2020, 13:05
  4. Ответов: 58
    Последнее: 06.07.2019, 23:56
  5. Ответов: 8
    Последнее: 14.11.2008, 02:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •