Софт-Портал

бейсик скачать бесплатно на русском

Рейтинг: 4.3/5.0 (652 проголосовавших)

Категория: Windows

Описание

Скачать бесплатно JetAudio Basic (Джет Аудио Бейсик) 8

Скачать бесплатно JetAudio Basic (Джет Аудио Бейсик) 8.1.5

Если нужен универсальный проигрыватель видео и аудио файлов, то попробуйте скачать бесплатно JetAudio Basic (Джет Аудио Бейсик).

Проигрыватель JetAudio Basic полностью поддерживает наиболее популярные в наше время форматы: RM, WAV, MIDI, MP3, WMV, MP3Pro, AVI, OGG и WMA, конвертирует файлы из одного формата в другой, записывает CD, редактирует теги в MP3 и других форматах. Также в Джет Аудио есть функция, позволяющая принимать вещание с интернет радиостанций.

Скачать бесплатно JetAudio Basic и получить настоящий мультимедийный комбайн – вот что вам нужно! Здесь есть эквалайзер, состоящий из двадцати полос, функция добавления всевозможных звуковых эффектов и встроенные зрительные плагины. Для того, чтобы меню JetAudio Basic было на русскок языке необходимо воспользоваться русификатором.

Несмотря на то, что JetAudio Basic имеет высочайшее качество воспроизведения, она распространяется абсолютно бесплатно. Поэтомюбители послушать музыку могут смело скачивать и наслаждаться прелестями Джет Аудио, созданного специально для Вас профессиональными и гениальными программистами.

ВНИМАНИЕ. Мы обнаружили, что данная программа может угрожать безопасности вашего компьютера. Поэтому, советуем посмотреть другие программы в разделе проигрыватели

бейсик скачать на русском:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    K-Lite Codec Pack Basic 12

    Бесплатные программы K-Lite Codec Pack Basic 12.3.5

    K-Lite Codec Pack Basic — базовый пакет бесплатных кодеков мультимедиа, фильтров и инструментов для их настройки. Он содержит все, что необходимо для воспроизведения популярных форматов аудио и видео.

    Как и другие версии K-Lite Codec Pack, эта тщательно тестируется на возможные конфликты, часто обновляется, легко устанавливается и настраивается. Пользователь может избрать при установке только необходимые ему компоненты, а также (если пожелает) полностью удалить K-Lite Codec Pack Basic из системы, не оставив никаких следов его пребывания.

    Основные возможности K-Lite Codec Pack Basic:

    — Поддержка видео: AVI, MKV, MP4, FLV, MPEG, MOV, TS, M2TS, WMV, RM, RMVB, OGM, WebM.
    — Поддержка аудио: MP3, FLAC, M4A, AAC, OGG, 3GP, AMR, APE, MKA, Opus, Wavpack.
    — Воспроизведение субтитров.
    — Аппаратное ускорение (DXVA/CUVID/QuickSync).
    — Воспроизведение потокового звука.
    — Иконки предварительного просмотра видео в Проводнике.
    — Опции ассоциации файлов.
    — Выявление поврежденных кодеков.

    Внимание: Изменения в последней версии история изменений

    — Небольшие улучшения для Windows 10 build 14393.

    Basic Element - биография, онлайн биография, музыка

    Питер Телениус (Peter Thelenius), также как и клавишник Basic Element до 1995 года Цезарь Замини (Cesar Zamini), оба родом из Malmo (Швеция). Однажды двум друзьям пришла в голову идея съездить в Голландию, чтобы там попытаться заработать немного денег. Но как ребята ни лезли из кожи вон - их попытка потерпела крах, т. к. они не смогли найти область своего применения. Поэтому по истечении некоторого времени они всё-таки вернулись на родину - в Malmo. Однако наши бравые парни не сдались и вскоре у Питера в голове возникла гениальная идея - а почему бы им не заняться музыкой. А точнее каким-нибудь прогрессивным стилем или направлением. Так как у Цезаря уже был опыт игры на клавишных инструментах - направление музыкальной деятельности было выбрано практически сразу. Шёл 1992 год. Это было время, когда появился Rhythm Is A Dancer группы Snap (неофициально признанная первая Евродэнс композиция), да и Ice MC c Real McCoy-ем набирали обороты. Вот тут-то к Питэру и пришла мысль, что было бы неплохо сделать что-нибудь этакое энергичное с сильным ритмом, мужским рэпом и женским вокалом, т. е. фактически смесь Hip-Hop и Techno, но так, чтобы это не выглядело примитивно и просто. Отсюда и присущая группе из альбома в альбом энергетическая мощь.
    Итак, рэп Питер взял на себя, звучание легло на плечи Цезаря, оставалось найти девушку с хорошими вокальными данными. Поиски продолжались недолго. Фортуна повернулась к ребятам лицом и уже через некоторое время они встретили Зетму Пренбо (Zetma Prenbo). Встреча произошла в одном из офисов по найму, куда Питер пришёл уладить кое-какие дела. Так произошло слияние трёх талантов воедино, которое получило название Basic Element. Следует также учесть и тот немаловажный, но малоизвестный факт, что группа на самом старте состояла из двух вокалисток - одна, естественно, была Зетма, а другая. как ни странно, но о ней нет практически никакой информации (её нет даже в числе перечисленных на обложке первого альбома участников проекта). Однако достоверно известно, что первые два сингла были выпущены именно при её участии. Эту таинственную участницу собственно можно и увидеть на обложках этих самых синглов. Скорее всего в группе было принято единогласное решение о том, что нет необходимости во второй вокалистке, т. к. голосовой мощи Зетмы вполне хватало для достижения желаемого звучания композиций.

    Неплохо было бы сказать несколько слов и о происхождении названия группы. Само словосочетание Basic Element имеет очень прикольную предысторию. А дело было так - у группы были трудности в поиске подходящего названия для проекта, и как-то, когда в очередной раз обсуждалась эта тема, Цезарь зазевался и нечаянно обжёг свою руку об обогреватель (на шведском это слово звучит как Element). После этого случая единогласно было принято решение, что лучшим вариантом названия команды будет использование этого памятного слова в сочетании с другим, несложным по звучанию. Отсюда - Basic Element.

    Дальнейшее развитие событий проходило как в сказке - группа выпускала сингл за синглом, клип за клипом, вышел альбом Basic Injection при участии начинающего талантливого продюсера Стефана Андерсона (Stefan Andersson). Группу приглашали на многие вечеринки и тусовки. Basic Element стали одними из самых желанных гостей на разных Dance-фестивалях. Но в самом начале 1995 года главная женская партия группы - вокалистка Zetma Prenbo забеременела и не могла больше учавствовать в проекте. Нужно было что-то быстро решать. Но и тут судьба не отвернулась от Питера и Цезаря. Новая вокалистка вскоре была найдена! Ею стала Сонет Спарел (Saunet Sparell).

    Ребята встретили её в одном из видео-аудио салонов, где она пробовала свои силы в караоке. Парням Сонет так понравилась, что они долго не раздумывая решили ей предложить место вокалистки в своей группе. И дела пошли не хуже прежнего - опять синглы, видео, концерты и абсолютно новый альбом The Ultimate Ride, который также продюсировал наш старый знакомый Stefan Andersson. Однако со временем весь этот "концертный" режим порядком поднадоел Цезарю, между парнями начались разногласия и в конце 1995 года он покидает группу, чтобы заняться бизнесом (кстати, как рассказал Питер - у Цезаря сейчас собственная фирма в Малмо (Швеция)). Возникла ситуация, которая постоянно возникает в десятках других групп, когда один или несколько участников просто хотят попробовать свои силы дальше в одиночку. Именно по этой причине через некоторое время после ухода из Basic Element Цезарь заключил контракт с одной из немецких звукозаписывающих компаний для продолжения своей теперь уже соло-карьеры. Но дела не пошли и он решил, что лучшим решением в сложившейся ситуации будет оставить шоу-бизнес навсегда и всецело посвятить себя делам насущным.

    После ухода Цезаря Питер вместе с Сонет продолжили работу по продвижению качественной танцевальной музыки в массы. В 1996 году вышли синглы Shame и супер танцевальный Rule Your World. В том же году свет увидел альбом Star Tracks, который вызвал шквал эмоций, т. к. это был экспериментальный альбом, сочетавший в себе одновременно такие стили, как Eurodance, Disco и Drum'n'base. Как говорится - кровавая смесь:). Однако энергия композиций была по прежнему на самом высоком уровне. И опять же немаловажную роль в создании этого альбома сыграл всё тот же Стефан Андерсон. Кстати это была именно его заслуга в том, что Star Tracks получился таким пёстрым в плане стилистики.

    И вдруг, в конце 1996 года, в группе наступило некоторое затишье - до 1998 года не выпускалось ни одного сингла и уж тем более ни одного альбома. Как ни странно, но в этот период Питер Телениус продолжал работать не покладая рук. В 1997 году он выпустил свой соло-альбом Trust Then Pain под псевдонимом Petrus. Он даже учавствовал в выпуске сингла I Feel It Coming финской поп-дивы Ann Bell Fell. В одном из трэков сингла вы можете услышать его рэп-партию. Как всегда - высший пилотаж!

    И вот, наконец, в 1998 году всех фанатов просто разрывает на части! Новый сингл Basic Element - Rok The World. Такой энергии не ожидал никто. Basic Element снова вернулись. Это было знаменательно ещё и тем, что первые строчки этой композиции прямо так и провозгласили. Самое интересное, что после столь длительного перерыва Сонет не смогла удержаться в группе и как следствие - новой вокалисткой группы стала Мари Фрэдриксон (Marie Fredrikson). После ухода из Basic Element Сонет решила заняться карьерой телеведущей. Она некоторое время вела очень популярную на шведском ТВ молодёжную передачу Toppen. Сонет в амплуа телеведущей можно было часто видеть на каналах TV3 Sweden и ZTV Sweden. Но со временем она переключилась на другой вид деятельности и сейчас она вполне успешно работает радио-промоутэром на Warner-е в Стокгольме.

    Вместе с Мари Фредриксон был целиком записан альбом The Earthquake, который полностью состоял из таких же мощных танцевальных композиций как и Rok The World. На мой взгляд этот альбом смело можно отнести к разряду "Платинового Евродэнса". Если ещё учесть, что он был выпущен в 1998 (!) году, то для поклонников стиля он стал настоящим сокровищем.

    прошли годы. С 1999 года группа не выпускала ничего нового (да и переизданий тоже к сожалению не было). Но вот наступил знаменательный 2002 год. Именно он стал переломной точкой в истории группы. Мари Фредриксон к этому времени уже покинула группу. Но, как известно, "свято место пусто не бывает" и место вокалистки в Basic Element заняла очень сексапильная девушка по имени Сабина (Sabina) В 2002 году группа как бы возродилась вновь - снова пошли концерты, выступления в различных клубах, на дэнс-фестивалях. Однако в течении всего года группа исполняла только свои "культовые" хиты.

    Естественно, что пришло время написать что-то новое, чтобы уже с этим материалом вновь штурмовать все мыслимые и немыслимые хит-парады по всему миру. Именно этим, то есть написанием новых песен, и занимается сейчас Питер Телениус. График у него я вам хочу сказать довольно напряжённый. Однако этим сюрпризы для фанатов группы не заканчиваются. Скоро Питер собирается в Германию, чтобы уже там продолжить написание новых песен, которые войдут в пятый альбом группы. А сотрудничать он там будет. с людьми, которые в своё время писали песни для известной немецкой Евродэнс группы - Culture Beat! Как говорит Питер: "Надеюсь, это приведёт к чему-нибудь хорошему:)".

    Кстати, если говорить конкретно о Питере, то за время существования проекта у него много чего изменилось в личной жизни. Ещё в далёком 1995 году он женился на прекрасной девушке Карине (Karin). У него сейчас два сына - Leo и Kevin. Ребята живут очень дружно. Квартира кстати у них находится в самом центре Стокгольма. Остаётся лишь порадоваться за Питера. Он молодец - прошёл огонь, воду и медные трубы. И самое главное он сохранил группу - действительно одну из лучших евродэнс-групп из когда-либо существовавших.

    Basic - скачать бесплатно

    Скачать программу Basic бесплатно

    Вы на странице материала Basic. прежде чем публиковать его мы убедились в его соответствии. Представленный материал из раздела Программы для ПК, вы можете скачать бесплатно без регистрации на сайте, по указанным ссылкам на его загрузку, а так же у вас есть возможность скачать файл в ускоренном режиме воспользовавшись специальным менеджером BTShtorm (просто перейдите по ссылке, файл уже подключен в менеджере) установка BTShtorm не занимает много времени.

    С этим файлом так же скачивают Комментарии к материалу Добавление комментария

    В материале: Программа одноклассники на компьютер

    В материале: Генератор случайных чисел

    В материале: Генератор случайных чисел

    В материале: Генератор случайных чисел

    В материале: Winner download manager (WDM)

    Рекомендации по загрузке

    Сайт Softport.ucoz.ru - это коллекция программ, фильмов, игр и книг, все файлы проверенны на соответствие официальным релизам, и не подвержены модификациям в целях рекламы. В следствии большого количества файлов и для какой то окупаемости ресурса мы вынуждены размещать ссылки на все файлы с известных должно быть каждому файлообменников. Конечно мы с вами понимаем что закачка с файлообменников процедура не очень приятная, много рекламы которая мешает порой докопаться все таки до желаемой ссылки, да и скорость со стабильностью загрузки совсем не радует. Сайт Softport.ucoz.ru настоятельно рекомендует для того что бы вам было проще загружать файлы воспользоваться менеджером BTShtorm установка BTStorm не займет много времени.

    Copyright © 2009-2016 | Хостинг от uCoz

    | Карта сайта | Скачать бесплатно программы для компьютера | Разное (программы) |Design BY_GOODWILL

    Turbo Basic v 1

    Краткое пособие по языку програмирования Turbo Basic v 1.0 / Турбо Бейсик

    АННОТАЦИЯ
    Настоящее пособие содержит описание основных средств языка Турбо-Бейсик, а также необходимые сведения по среде Турбо-Бейсика.
    Пособие в основном ориентировано на использование при выполнении практикума по курсу "Основы прикладной информатики". Может также использоваться в качестве справочника по языку Турбо-Бейсик.
    С Московский государственный институт стали и сплавов 1994 г.


    С О Д Е Р Ж А Н И Е
    1. Основные средства языка
    1.1. Структура программы
    1.2. Типы данных
    1.3. Массивы
    1.4. Выражения
    1.5. Стандартные функции
    1.6. Основные операторы
    1.7. Операторы цикла
    1.8. Подпрограммы, функции и процедуры
    2. Цвет и графика
    3. Файлы. Работа с файлами данных последовательного и прямого доступа
    3.1 Файлы последовательного доступа
    3.2 Файлы прямого доступа
    4. Движущиеся изображения, звуковые эффекты и нестандар-
    4.1 ввод с клавиатуры
    4.2 Оператор DRAW
    4.3 Операторы GET и PUT
    4.4 Оператор BEEP
    4.5 Оператор SOUND
    4.6 Оператор PLAY
    4.7 Функция INKEY
    5. Библиотека стандартных процедур в Турбо-Бейсике
    6. Рекомендуемый порядок работы на ПЭВМ при создании и выполнении программ на языке Турбо-Бейсик

    ОСНОВНЫЕ СРЕДСТВА ЯЗЫКА

    1.1. Структура программы
    Программа состоит из строк. Одна строка содержит один или несколько операторов, разделенных двоеточием. Например,
    1. a=1:b=1
    Перенос оператора на другую строку допускается. В этом случае используется знак переноса _. Например,
    1. a=1:b_
    2. =1
    Строки могут нумероваться (но это не обязательно). Ссылка в нужное место программы может осуществляться также по метке.
    Метка размещается в отдельной строке, начинается с буквы и содержит любое количество букв и цифр. После метки ставится двоеточие. Например,
    1. aaa:
    2. x=x+1
    3.
    4. aaa
    Если первым символом в строке является апостроф ('), то строка воспринимается как комментарий.
    Имя образуется из букв от A до Z (или от a до z), знака подчеркивания _ и цифр от 0 до 9, начинается с буквы. Имя используется для обозначения переменных, меток, процедур и т.п.
    1.2. Типы данных
    Целый (значения от -32767 до 32767, занимает 2 байта); длинный целый (от 2-31 до 231, 4 байта); вещественный (4 байта); вещественный двойной точности (8 байт); символьный ( последовательность любых символов, каждый символ занимает 1 байт).
    Тип переменной определяется типом данных, которые она представляет. Указание типа переменной задается соответствующим знаком после имени.
    a$ - символьный
    a% - целый
    a& - длинный целый
    a! - вещественный обычной точности
    а# - вещественный двойной точности
    Если знак после имени отсутствует, то эта переменная считается по умолчанию вещественной обычной точности. То есть
    a!=1.1
    и
    а=1.1
    одно и то же.
    1.3. Массивы
    Описание массивов осуществляется с помощью оператора DIM с указанием размеров. Например, оператор
    DIM a(10), b(10:20, 25:45)
    описывает одномерный массив a, элементы которого имеют индексы от
    0 до 10, и двухмерный массив b, элементы которого имеют индексы. первый от 10 до 20, второй от 25 до 45.
    Если нижняя граница индексов в описании не указана, то она считается равной 0.
    Используя оператор OPTION BASE n, можно задать нижнюю границу индексов равной n. Например,
    OPTION BASE 1
    DIM a(10)
    В этом случае индекс элементов массива a будет принимать значения, начиная с 1. Если описание массива отсутствует, то по умолчанию верхний индекс равен 10 ( нижний - 0). В описании массива вместо константы может использоваться переменная. Например,
    DIM a(n)
    Значение n должно быть предварительно определено.
    Используя оператор ERASE, можно освободить память, выделенную под массив, и вернуть ее для дальнейшего использования. Например, оператор
    ERASE a
    возвращает память, выделенную под массив a.
    1.4. Выражения
    Символьные выражения состоят из символьных констант (последовательность символов, заключенная в кавычки), символьных переменных, символьных функций, соединенных знаком + (конкатенация, или объединение). Например,
    a$="КАТЯ"
    b$="ЛЕНА"
    f$=a$+" И "+b$
    В результате f$ будет иметь значение "КАТЯ И ЛЕНА". При помощи функций LEFT$, RIGHT$, MID$ можно выбрать часть символьной переменной слева, справа или из середины. Например,
    F1$=LEFT$(f$,4)
    F2$=RIGHT(f$,4)
    F3$=MID$(f$,6,1)
    В результате будет F1$ = "КАТЯ", F2$ = "ЛЕНА" и F3$ = "И". Числовые выражения включают в себя константы, переменные, функции, соединенные знаками арифметических операций, при этом могут использоваться величины разных типов.
    Приоритеты арифметических операций:
    1. Возведение в степень (^)
    2. Умножение, деление (*,/ )
    3. Деление нацело (\) (например, 5\2 равно 2)
    4. Вычисление остатка от деления (MOD) (например, 45 MOD 19 равно 7)
    5. Сложение, вычитание (+,-)
    1.5. Стандартные функции
    Запись на Бейсике Математическая запись
    ABS(x) |x|
    SIN(x) sin x
    COS(x) cos x
    TAN(x) tg x
    ATN(x) arctg x
    EXP(x) ex
    LOG(x) ln x
    LOG2(x) log2 x
    LOG10(x) lg x
    INT (x) целая часть х
    SGN (x) знак х (+1 при х > 0, 0 при х=0, -1 при x 6, 5 < 6, (5 < 6) * 15 будет напечатано 0, -1 и -15.
    Логические операции: AND (логическое и ), OR (логическое или), XOR (исключающее или ), EQV (эквивалентность), IMP (импликация).
    Логические операции осуществляются над целыми числами -1 (TRUE) и 0 (FALSE).
    -1, если A = -1, B = -1
    A AND B 0, в остальных случаях
    0, если A = 0, B = 0
    A OR B -1, в остальных случаях
    -1, если A и B не совпадают
    A XOR B 0, если A и B совпадают
    -1, если A и B совпадают
    A EQV B 0, если A и B не совпадают
    0, если A = -1, B = 0 A IMP B -1, в остальных случаях
    1.6. Основные операторы
    Оператор присваивания имеет вид переменная = выражение
    Оператор безусловного перехода имеет вид GOTO метка
    Условный оператор имеет вид
    IF условие THEN операторы [ELSE операторы] Например,
    IF a 0 поворот осуществляется против часовой стрелки, при n или A, < C то это означает, что номер текущей октавы увеличивается или уменьшается на 1.
    Можно вместо номера октавы и символа ноты задать ее порядковый номер (от 1 до 84), указав перед ним букву N. Например,
    PLAY " O4G " аналогично оператору
    PLAY " N44 "
    Длительность ноты устанавливается параметром Ln, где n может принимать значения от 1 до 64 и обозначает долю полной ноты, т.е.
    L1 обозначает полную ноту, L2 обозначает половинную, L4 - четвертную ноту и т.д.
    Пауза задается параметром Pn (n - длина паузы, измеряется в длительностях, установленных параметром L).
    Темп задается параметром Tn, где n - число четвертных нот в минуту, может принимать значения от 32 до 255 (по умолчанию n =
    120). Параметры MS, MN или ML определяют долю времени звучания каждой ноты от длительности, определенной параметром L:
    MS - в 3/4 этой длительности (стаккато),
    MN - в 7/8 (обычное, нормальное звучание),
    ML - полное время (легато).
    Режим звучания может быть основным, когда следующий оператор программы не будет выполняться, пока оператор PLAY не завершен (параметр MF), или фоновым, когда выполнение оператора PLAY не препятствует выполнению остальных операторов программы (параметр MB). Например,
    PLAY "L8 MF MS O3 GG L4 AG O4 C O3 L2 B"
    Отдельные музыкальные отрезки можно описать предварительно в виде символьных строк и использовать их затем в операторе PLAY. Например,
    A$="EDE". B$ = "CDE". PLAY A$ + B$
    4.6. Функция INKEY$
    Функция INKEY$ действует аналогично оператору INPUT, однако при вводе на экране не высвечивается вводимый символ и не требуется нажатие клавиши "Ввод". Программа при этом не прерывает работу, как при выполнении оператора INPUT. При выполнении оператора
    X$ = INKEY$
    символ, соответствующий нажатой клавише, присваивается переменной X$.
    Рассмотрим в качестве примера программу:
    PRINT "Задайте направление: 1-север, 2-юг,_
    3-запад, 4-восток"
    aa:
    D$ = INKEY$
    IF D$ = "" THEN aa
    ON VAL (D$) GOTO nn, ww, ee, ss
    PRINT "Неправильная клавиша". GOTO aa nn:
    .
    ww:
    .
    Здесь, пока не будет нажата какая-либо клавиша, 3-й и 4-й операторы выполняются в цикле, обеспечивая режим ожидания. Когда клавиша "1", "2", "3", или "4" нажата, соответствующее значение присваивается переменной D$. Далее в операторе ON осуществляется ее преобразование к числовому значению и переход к указанной метке для соответствующей обработки.
    5. БИБЛИОТЕКА СТАНДАРТНЫХ ПРОЦЕДУР В ТУРБО-БЕЙСИКЕ
    1. Решение систем линейных алгебраических уравнений (SIMQ.BAS)
    2. Интерполирование функций (ALI.BAS)
    3. Обращение матрицы и вычисление определителя (MINV.BAS)
    4. Умножение матриц (GMPRD.BAS)
    5. Вычисление корня уравнения (RTMI.BAS)
    6. Решение систем нелинейных уравнений (SNEN.BAS)
    7. Вычисление корней полинома (POLRT.BAS)
    8. Вычисление производной (DCAR.BAS)
    9. Вычисление интеграла (QATR.BAS)
    10. Экстремум функции (FMCG.BAS)
    11. Решение систем обыкновенных дифференциальных
    уравнений (RKGS.BAS)
    12. Сглаживание функций (SG13.BAS)
    13. Аппроксимация функций (APFS.BAS)
    14. Упорядочивание значений (используется при
    интерполировании функций) (ATSG.BAS)
    15. Вычисление полиномов Чебышева (используется
    при аппроксимации функций) (APCH.BAS)
    Подключение библиотечной процедуры осуществляется оператором
    $INCLUDE "имя библиотечной процедуры"
    Пример использования библиотечной процедуры QATR.BAS
    $INCLUDE "QATR.BAS"
    CLS
    PRINT "ВЫЧИСЛЕНИЕ ИНТЕГРАЛА"
    CALL QATR(0, 1. 0001, 24, INTEGRAL, IER%)
    PRINT "ИНТЕГРАЛ =";
    PRINT USING "###.####"; INTEGRAL
    PRINT "КОД ОШИБКИ ="; IER%
    DEF FNFCTN (X) = LOG ( 1 + X) / (1 + X * X)
    END
    6. РЕКОМЕНДУЕМЫЙ ПОРЯДОК РАБОТЫ НА ПЭВМ ПРИ СОЗДАНИИ
    И ВЫПОЛНЕНИИ ПРОГРАММ НА ЯЗЫКЕ ТУРБО-БЕЙСИК
    1. Войти в Турбо-Бейсик. Для этого набрать tb в командной строке и нажать клавишу "Ввод". Еще раз нажать "Ввод".
    В верхней строке экрана высвечивается главное меню.
    2. Для первоначального ввода или исправления программы войти в редактор (пункт меню EDIT).
    3. После того, как программа составлена (или внесены исправления), ее необходимо записать в память на диск или дискету (пункт главного меню FILE, подпункт SAVE или клавиша F2).
    Замечание. Рекомендуется после набора каждых 10 строк записывать программу на диск (простым нажатием клавиши F2), чтобы в случае сбоя ПЭВМ программа не пропала.
    4. Выполнить программу (пункт RUN главного меню), переход на большой экран для анализа результатов - команда ALT/F5.
    5. Выйти из Турбо-Бейсика (пункт FILE, подпункт EXIT или команда ALT/X).
    Замечание. В каждом режиме в нижней строке экрана указано назначение функциональных клавиш. Например, если курсор находится в главном меню, то нажатие клавиши F1 (Help) вызывает появление на экране сведений по использованию соответствующего режима, переход к следующей странице - "Ввод". Нажатие F5 (Zoom) вызывает раскрытие текущего окна на весь экран, повторное нажатие F5 - возврат в исходное положение; F6 (Next) - переход к следующему окну; F7 (Goto) - переход в режим редактирования; ALT/X (Exit) - выход из Турбо-Бейсика.
    В режиме редактирования: F1 - Help (см. выше), F2 - Save (запись на диск или дискету); F3 - New (загрузка новой программы, имя вводится в появившееся окно) и т.д.

    letitbit.СКАЧАТЬ БЕСПЛАТНО

    Бейсик скачать бесплатно на русском

    Примеры готовых программ на QBasic. В них используется текстовая, графическая и звуковая информация. Отличное предложение начинающему программисту в QBasic.

    Графика

    Программа рисует простой рисунок с дорогой:

    CLS
    SCREEN 12
    CIRCLE (320, 200), 50, 14
    PAINT (320, 200), 14
    LINE (0, 300)-(640, 300), 2
    PAINT (0, 422), 2
    LINE (0, 370)-(640, 370), 3
    LINE (0, 400)-(640, 400), 3
    PAINT (100, 380), 3
    LINE (0, 301)-(640, 301), 9
    PAINT (0, 200), 9
    CIRCLE (320, 200), 50, 14
    PAINT (320, 200), 14
    LINE (0, 385)-(640, 385), 15
    LINE (100, 370)-(100, 360), 15
    CIRCLE (100, 355), 5, 4
    CIRCLE (100, 355), 4, 15
    CIRCLE (100, 355), 3, 15
    CIRCLE (100, 355), 6, 4
    CIRCLE (100, 355), 2, 15
    CIRCLE (100, 355), 1, 15
    LINE (101, 370)-(101, 360), 0
    LINE (101, 370)-(96, 375), 0
    CIRCLE (96, 380), 5, 0
    PAINT (96, 380), 0
    LINE (150, 375)-(200, 350), 4, BF
    LINE (201, 375)-(220, 355), 1, BF
    LINE (208, 370)-(213, 365), 15, BF
    CIRCLE (155, 375), 4, 0
    CIRCLE (200, 375), 4, 0
    CIRCLE (217, 375), 4, 0
    PAINT (155, 375), 0
    PAINT (200, 375), 0
    PAINT (217, 375), 0

    CLS
    SCREEN 9
    COLOR 9, 1
    DRAW "C2 L20 U20 R20 D20 F10 D10 R2"
    DRAW "BM300, 175 C2 G10 D10 L2"
    DRAW "BM300, 155 C2 H10 E10 L2"
    DRAW "BM320, 155 C2 E10 H10 R2"
    DRAW "BM310, 155 C2 U4"
    DRAW "BM307, 151 C2 R10 H6 G6"
    PAINT (310, 170), 2, 2
    BYTES = INT((55 * 2 + 7) / 8) * 60
    DIM BUG(BYTES)
    GET (285, 135)-(340, 195), BUG
    CLS
    PUT (250, 80), BUG: SLEEP 1
    PLAY " A A"
    PUT (250, 80), BUG: SLEEP 1
    PLAY " B B"
    PUT (30, 60), BUG: SLEEP 1
    PLAY " C C"
    PUT (30, 60), BUG: SLEEP 1
    PLAY "D D"
    PUT (460, 130), BUG: SLEEP 1
    PLAY "E E"
    PUT (460, 130), BUG: SLEEP 1
    PLAY "F F"
    PUT (180, 70), BUG: SLEEP 1
    PLAY "G G"
    PUT (180, 70), BUG: SLEEP 1
    PLAY "D D"
    PLAY "F F"
    PUT (300, 70), BUG: SLEEP 1
    END

    Графики Cos(x) и Sin(x):

    SCREEN 12
    VIEW (20, 150)-(620, 250)
    WINDOW (-6.28, 1)-(6.28, -1)
    LINE (-6.28, 0)-(6.28, 0), 14
    LINE (0, -1)-(0, 1), 14
    LOCATE 14, 60
    PRINT "pi"
    LOCATE 14, 40
    PRINT "0"
    LOCATE 14, 20
    PRINT "-pi"
    LOCATE 14, 30
    PRINT "-pi/2"
    LOCATE 14, 50
    PRINT "pi/2"
    FOR x = -6.28 TO 6.28 STEP .005
    PSET (x, SIN(x)), 10
    PSET (x, COS(x)), 3
    NEXT x
    LOCATE 15, 4
    COLOR 3
    PRINT "y = cos (x)"
    LOCATE 17, 26
    COLOR 10
    PRINT "y = sin (x)"

    Красивые цифровые часы:

    DECLARE SUB MakeBmp (NameBmp$)
    DECLARE SUB Prepare ()
    ' Процедуры печати
    DECLARE SUB DrawChar (x%, y%, Ch%, Poz%, Mshtb!)
    DECLARE SUB DrawClock (xDr%, yDr%, Tm$, Mashtab!)
    ' Массивы
    CONST DataDL = 228
    DIM SHARED Sizes%(1 TO 7), Sost%(9, 1 TO 7), i%, k%
    DIM SHARED X1%(1 TO 7, 1 TO 6), X2%(1 TO 7, 1 TO 6)
    DIM SHARED Y1%(1 TO 7, 1 TO 6), Y2%(1 TO 7, 1 TO 6)
    DIM SHARED PZx%(1 TO 7), PZy%(1 TO 7) ' Paint zone - зона закраски
    SCREEN 12 ' 640x480x16цв.
    Prepare
    ' Читаем размерности
    FOR i% = 1 TO 7
    READ Sizes%(i%)
    NEXT
    ' Читаем координаты
    FOR i% = 1 TO 7
    zx% = 0: zy% = 0
    FOR k% = 1 TO Sizes%(i%)
    READ X1%(i%, k%), Y1%(i%, k%), X2%(i%, k%), Y2%(i%, k%)
    zx% = zx% + X1%(i%, k%) + X2%(i%, k%)
    zy% = zy% + Y1%(i%, k%) + Y2%(i%, k%)
    NEXT
    PZx%(i%) = zx% / (Sizes%(i%) * 2): PZy%(i%) = zy% / (Sizes%(i%) * 2)
    NEXT
    ' Читаем состояния
    i% = 0
    DO: READ k%
    IF k% = -1 THEN
    i% = i% + 1
    ELSE
    IF k% <> -2 THEN Sost%(i%, k%) = 1
    END IF
    LOOP UNTIL k% = -2

    DO: Kb$ = INKEY$
    G! = TIMER: WHILE G! + .5 < TIMER: WEND
    DrawClock 100, 250, TIME$, 4
    IF INT(TIMER * 2) AND 1 THEN
    LINE (215, 220)-(225, 230), 2, BF
    LINE (215, 270)-(225, 280), 2, BF
    LINE (394, 220)-(404, 230), 2, BF
    LINE (394, 270)-(404, 280), 2, BF
    ELSE
    LINE (215, 220)-(225, 230), 4, BF
    LINE (215, 270)-(225, 280), 4, BF
    LINE (394, 220)-(404, 230), 4, BF
    LINE (394, 270)-(404, 280), 4, BF
    END IF
    IF Kb$ = CHR$(32) THEN MakeBmp "Clock"
    LOOP UNTIL Kb$ = CHR$(27)

    END
    ' Размеры
    DATA 5, 6, 5, 6, 5, 6, 5
    ' 1 > Левый верх
    DATA -105,-196,-114,-187
    DATA -105,-196,-57,-148
    DATA -114,-187,-114,-3
    DATA -57,-148,-57,-40
    DATA -114,-3,-57,-40
    ' 2 > Верх
    DATA -93,-208,-102,-199
    DATA -102,-199,-54,-151
    DATA -93,-208, 93,-208
    DATA -54,-151, 54,-151
    DATA 93,-208, 102,-199
    DATA 102,-199, 54,-151
    ' 3 > Правый верх
    DATA 105,-196, 114,-187
    DATA 105,-196, 57,-148
    DATA 114,-187, 114,-3
    DATA 57,-148, 57,-40
    DATA 57,-40, 114,-3
    ' 4 > Центр
    DATA -109, 0,-59,-33
    DATA -109, 0,-59, 33
    DATA -59,-33, 59,-33
    DATA -59, 33, 59, 33
    DATA 59,-33, 109, 0
    DATA 109, 0, 59, 33
    ' 5 > Левый низ
    DATA -114, 3,-57, 40
    DATA -114, 3,-114, 187
    DATA -57, 40,-57, 148
    DATA -114, 187,-105, 196
    DATA -57, 148,-105, 196
    ' 6 > Низ
    DATA -102, 199,-54, 151
    DATA -102, 199,-93, 208
    DATA -54, 151, 54, 151
    DATA -93, 208, 93, 208
    DATA 54, 151, 102, 199
    DATA 102, 199, 93, 208
    ' 7 > Правый низ
    DATA 114, 3, 57, 40
    DATA 57, 40, 57, 148
    DATA 114, 3, 114, 187
    DATA 57, 148, 105, 196
    DATA 114, 187, 105, 196
    ' Состояния
    DATA 2, 1, 3, 5, 7, 6, -1
    DATA 3, 7, -1
    DATA 2, 3, 4, 5, 6, -1
    DATA 2, 3, 4, 7, 6, -1
    DATA 1, 4, 3, 7, -1
    DATA 2, 1, 4, 7, 6, -1
    DATA 2, 1, 4, 5, 7, 6, -1
    DATA 2, 3, 7, -1
    DATA 2, 1, 3, 4, 5, 7, 6, -1
    DATA 2, 1, 3, 4, 7, 6, -1, -2
    ' Заголовок *.BMP*
    bgdt: DATA 66,77,54,254,0,0,0,0,0,0,54,4,0,0,40,0,0
    DATA 0,128,2,0,0,224,1,0,0,1,0,8,0,0,0,0,0,0
    DATA 250,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0

    SUB DrawChar (x%, y%, Ch%, Poz%, Mshtb!)
    PCvtL% = 1: PCvtZ% = 2 ' Цвета для присутствующих
    OCvtL% = 3: OCvtZ% = 4 ' Цвета для отсутствующих

    xPls% = ((DataDL / Mshtb!) * 1.05) * Poz%
    FOR i% = 1 TO 7 ' От 1-го до 7-ми частей
    IF Sost%(Ch%, i%) = 1 THEN ' Если часть включена, рисуем
    CvtL% = PCvtL%: CvtZ% = PCvtZ%
    ELSE CvtL% = OCvtL%: CvtZ% = OCvtZ%
    END IF
    FOR k% = 1 TO Sizes%(i%) ' Рисуем все линии
    x11% = X1%(i%, k%) / Mshtb. x22% = X2%(i%, k%) / Mshtb!
    y11% = Y1%(i%, k%) / Mshtb. y22% = Y2%(i%, k%) / Mshtb!
    LINE (x11% + xPls% + x%, y11% + y%)-(x22% + xPls% + x%, y22% + y%), CvtL%
    NEXT
    PAINT (PZx%(i%) / Mshtb! + xPls% + x%, PZy%(i%) / Mshtb! + y%), CvtZ%, CvtL%
    NEXT
    END SUB

    SUB DrawClock (xDr%, yDr%, Tm$, Mashtab!)
    FOR u% = 1 TO LEN(Tm$)
    Tc% = ASC(MID$(Tm$, u%, 1))
    IF Tc% > 47 AND Tc% < 58 THEN
    DrawChar xDr%, yDr%, Tc% - 48, u% - 1, Mashtab!
    END IF
    NEXT
    END SUB

    SUB MakeBmp (NameBmp$)
    ' Создаём *.BMP*
    OPEN NameBmp$ + ".Bmp" FOR BINARY AS #3
    RESTORE bgdt
    FOR byte& = 1 TO 54
    READ Zglv%: PUT #3, byte&, Zglv%
    NEXT byte&: byte& = 55
    FOR ii% = 0 TO 255
    OUT &H3C7, ii%: R% = INP(&H3C9) * 4: G% = INP(&H3C9) * 4: B% = INP(&H3C9) * 4
    bt1% = CVI(CHR$(B%) + CHR$(G%)): bt2% = CVI(CHR$(R%) + "№")
    PUT #3, byte&, bt1%: PUT #3, byte& + 2, bt2%
    byte& = byte& + 4
    NEXT ii%
    FOR y% = 479 TO 0 STEP -1
    FOR x% = 0 TO 639
    cve% = POINT(x%, y%)
    PUT #3, byte&, cve%: byte& = byte& + 1
    NEXT x%
    NEXT y%
    CLOSE #3
    END SUB

    SUB Prepare
    OUT &H3C8, 1
    OUT &H3C9, 92 / 4: OUT &H3C9, 93 / 4: OUT &H3C9, 77 / 4
    OUT &H3C9, 21 / 4: OUT &H3C9, 26 / 4: OUT &H3C9, 19 / 4
    OUT &H3C9, 120 / 4: OUT &H3C9, 124 / 4: OUT &H3C9, 87 / 4
    OUT &H3C9, 110 / 4: OUT &H3C9, 118 / 4: OUT &H3C9, 86 / 4
    OUT &H3C9, 120 / 4: OUT &H3C9, 124 / 4: OUT &H3C9, 87 / 4
    LINE (50, 180)-(590, 320), 5, BF
    END SUB

    Программа построения фракталов:

    SCREEN 12
    Kc = 15 'количество цветов для фрактала
    a = 640: b = 480 'размер экрана в пикселах по x и y
    'Нужно задавать (менять) значения p,q
    'для получения различных рисунков
    'p = -.1: q = -1.92
    'p = .5: q = -.1
    'p = -.5: q = -.9
    'p = -.5: q = .9
    p = .5: q = 1
    100
    Xmin = -1.75: Ymin = -1.25 ' миним. коорд. фрактала
    Xmax = 1.75: Ymax = 1.25 ' максим.коорд. фрактала
    M = 100 'максимальное расстояние для поиска атрактора
    dx = (Xmax - Xmin) / (a - 1) 'размер пиксела по оси x
    dy = (Ymax - Ymin) / (b - 1) 'размер пиксела по оси y
    FOR Nx = 1 TO a - 1 'цикл сканирования всех пикселов для
    FOR Ny = 1 TO b - 1 'определения их цвета
    xk = Xmin + Nx * dx
    yk = Ymin + Ny * dy
    k = 0
    200 'формулы определения координат атрактора
    xk1 = xk * xk - yk * yk + p
    yk1 = 2 * xk * yk + q
    k = k + 1 'число итер. для данного начального пиксела
    c = k 'цвет пиксела, соответствующий данному числу
    300
    r = xk1 * xk1 + yk1 * yk1 'расст.от нач. до кон.точки
    xk = xk1: yk = yk1
    IF r > M THEN c = k: GOTO 400 'условие сходимости
    IF k = Kc THEN c = 0: GOTO 400 'повторение палитры
    GOTO 200
    400
    PSET (Nx, Ny), c
    NEXT Ny
    NEXT Nx



    Ещё один фрактал - папоротник:

    DECLARE SUB MakeBmp (NameBmp$)

    CONST Iterations = 1000000

    DIM t AS DOUBLE, x AS DOUBLE, y AS DOUBLE, p AS DOUBLE
    DIM k AS LONG
    DIM Midx AS INTEGER, Midy AS INTEGER, radius AS INTEGER

    ON TIMER(1) GOSUB ShowIter
    TIMER ON

    SCREEN 12
    FOR k = 1 TO 15
    OUT &H3C8, k
    IF k < 16 THEN
    OUT &H3C9, k: OUT &H3C9, 25 + k * 2: OUT &H3C9, 0
    ELSE OUT &H3C9, k: OUT &H3C9, 54: OUT &H3C9, 0
    END IF
    NEXT: k = 10
    Midx = 320
    Midy = 480
    radius = .1 * Midy
    RANDOMIZE TIMER
    x = 1
    y = 0

    FOR k = 1 TO Iterations
    p = RND
    t = x
    IF p <= .85 THEN
    x = .85 * x + .04 * y
    y = -.04 * t + .85 * y + 1.6
    ELSE
    IF p <= .92 THEN
    x = .2 * x - .26 * y
    y = .23 * t + .22 * y + 1.6
    ELSE
    IF p <= .99 THEN
    x = -.15 * x + .28 * y
    y = .26 * t + .24 * y + .44
    ELSE
    x = 0
    y = .16 * y
    END IF

    END IF
    END IF
    PSET (Midx + radius * x, Midy - radius * y), POINT(Midx + radius * x, Midy - radius * y) + 1
    NEXT
    MakeBmp "Paporotn"
    END
    ShowIter: LOCATE 1: PRINT "Iterations: "; k: IF INKEY$ <> "" THEN END
    RETURN
    bgdt: DATA 66,77,54,254,0,0,0,0,0,0,54,4,0,0,40,0,0
    DATA 0,128,2,0,0,224,1,0,0,1,0,8,0,0,0,0,0,0
    DATA 250,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0

    SUB MakeBmp (NameBmp$)
    ' Создаём *.BMP*
    OPEN NameBmp$ + ".Bmp" FOR BINARY AS #3
    RESTORE bgdt
    FOR byte& = 1 TO 54
    READ Zglv%: PUT #3, byte&, Zglv%
    NEXT byte&: byte& = 55
    FOR ii% = 0 TO 255
    OUT &H3C7, ii%: R% = INP(&H3C9) * 4: G% = INP(&H3C9) * 4: B% = INP(&H3C9) * 4
    bt1% = CVI(CHR$(B%) + CHR$(G%)): bt2% = CVI(CHR$(R%) + "№")
    PUT #3, byte&, bt1%: PUT #3, byte& + 2, bt2%
    byte& = byte& + 4
    NEXT ii%
    FOR y% = 479 TO 0 STEP -1
    FOR x% = 0 TO 639
    cve% = POINT(x%, y%)
    PUT #3, byte&, cve%: byte& = byte& + 1
    NEXT x%
    NEXT y%
    CLOSE #3
    END SUB

    Среднее арифметическое всех элементов массива:

    Работа с модемом/сетью

    Доступ к COM-портам через ф-ии BIOS :

    Compot.bas (основной файл):


    '
    ' This subroutine initializes COM port PORT (1, 2, 3, or 4) for
    ' communication at transmission rate BAUD (1200 or less), data bits DBITS
    ' (5 - 8), parity PAR$ = "E" (even), "O" (odd), or "N" (none), and stop
    ' bits SBITS (1 or 2). All parameters but PAR$ are of INTEGER type. (Do
    ' not use COMREAD$ or COMPRINT with a PORT parameter before using COMOPEN
    ' to initialize that port.)
    '
    ' These routines require the ASM code in QBUTIL.INC.
    '
    SUB COMOPEN(PORT AS INTEGER,BAUD AS INTEGER,DBITS AS INTEGER,PAR$,SBITS AS INTEGER)
    DIM OS AS INTEGER,S AS STRING*1
    '
    ' Bios thinks port numbers are zero-based. Make that conversion and
    ' constrain port number to valid values.
    '
    PT=PORT-1. IF PT<0 THEN PT=0
    IF PT>3 THEN PT=3
    '
    ' Define port in machine code routine.
    '
    DEF SEG=VARSEG(MCODE(1))
    OS=VARPTR(MCODE(1))
    POKE OS+10,PT. POKE OS+11,0
    '
    ' Stop bits are also zero-based at bios level. Constrain to valid range
    ' and convert to string representing binary number.
    '
    SL=SBITS-1. IF SL<0 THEN SL=0
    IF SL>1 THEN SL=1
    S=LTRIM$(RTRIM$(STR$(SL)))
    '
    ' Constrain baud rate to valid value. (Default is 600 baud.)
    '
    BD=BAUD
    IF BD<>110 AND BD<>150 AND BD<>300 AND BD<>1200 THEN BD=600
    '
    ' Convert initialization parameters to binary string.
    '
    INTSTR$=""
    IF BD=150 THEN INTSTR$="001"
    IF BD=300 THEN INTSTR$="010"
    IF BD=600 THEN INTSTR$="011"
    IF BD=1200 THEN INTSTR$="100"
    P$=MID$(LTRIM$(RTRIM$(UCASE$(PAR$))),1,1)
    IF P$="N" THEN INTSTR$=INTSTR$+"10"
    IF P$="E" THEN INTSTR$=INTSTR$+"11"
    IF P$="O" THEN INTSTR$=INTSTR$+"01"
    INTSTR$=INTSTR$+S
    IF DBITS<6 THEN INTSTR$=INTSTR$+"00"
    IF DBITS=6 THEN INTSTR$=INTSTR$+"01"
    IF DBITS=7 THEN INTSTR$=INTSTR$+"10"
    IF DBITS>7 THEN INTSTR$=INTSTR$+"11"
    '
    ' Convert binary initialization string to decimal value.
    '
    INIT=0
    FOR I=1 TO 8
    INIT=INIT+2^(8-I)*VAL(MID$(INTSTR$,I,1))
    NEXT I
    '
    ' Finish machine code set up and call it.
    '
    POKE OS+1,INIT. POKE OS+2,0. POKE OS+16,&H14
    CALL ABSOLUTE(OS)
    DEF SEG
    END SUB
    '
    ' This function returns directly the character STRING read from COM port
    ' PORT (1, 2, 3, or 4). N is the number of characters in the string to
    ' input from the port and return to the calling routine and TERMCHR is the
    ' ascii code for a termination character. This latter parameter is not
    ' used if N is positive. If N is zero or negative, rather than input a
    ' specific number of N characters, COMREAD$ simply returns a string
    ' containing all characters input from the COM port up until a character
    ' with ascii code TERMCHR is input. (TERMCHR is not included in the
    ' returned string. All parameters are of INTEGER type.)
    '
    FUNCTION COMREAD$(PORT AS INTEGER,N AS INTEGER,TERMCHR AS INTEGER)
    DIM OS AS INTEGER,AX AS INTEGER,BX AS INTEGER,CX AS INTEGER,DX AS INTEGER
    '
    ' Define port, bios function number, and interrupt in machine code
    ' routine.
    '
    PT=PORT-1. IF PT<0 THEN PT=0
    IF PT>3 THEN PT=3
    DEF SEG=VARSEG(MCODE(1))
    OS=VARPTR(MCODE(1))
    POKE OS+10,PT. POKE OS+11,0. POKE OS+16,&H14
    POKE OS+2,2
    '
    ' Input data from COM port.
    '
    STRNG$=""
    IF N>0 THEN
    '
    ' Number of characters to input is predefined.
    '
    FOR I=1 TO N
    CALL ABSOLUTE(AX,BX,CX,DX,OS)
    STRNG$=STRNG$+CHR$(AX AND &HFF)
    NEXT I
    ELSE
    '
    ' Number of characters to input is determined by input of TERMCHR.
    '
    C=-1
    WHILE C<>TERMCHR
    CALL ABSOLUTE(AX,BX,CX,DX,OS)
    '
    ' Character read is in subregister AL.
    '
    C=AX AND &HFF
    IF C<>TERMCHR THEN STRNG$=STRNG$+CHR$©
    WEND
    END IF
    DEF SEG
    COMREAD$=STRNG$
    END FUNCTION
    '
    ' This subroutine sends character STRING STRNG$ out COM port PORT (1, 2,
    ' 3, or 4--an INTEGER variable). If STRNG$ is terminated with a ";",
    ' carriage return and line feed characters are not sent out the port after
    ' STRNG$; otherwise, they are.
    '
    SUB COMPRINT(PORT AS INTEGER,STRNG$)
    DIM OS AS INTEGER
    '
    ' Define port, bios function number, and interrupt in machine code
    ' routine.
    '
    PT=PORT-1. IF PT<0 THEN PT=0
    IF PT>3 THEN PT=3
    DEF SEG=VARSEG(MCODE(1))
    OS=VARPTR(MCODE(1))
    POKE OS+10,PT. POKE OS+11,0. POKE OS+2,1. POKE OS+16,&H14
    '
    ' Send character string out COM port one character at a time. Process
    ' last character separately in case it is ";".
    '
    L=LEN(STRNG$)-1
    IF L>0 THEN
    FOR I=1 TO L
    C=ASC(MID$(STRNG$,I,1))
    POKE OS+1,C
    CALL ABSOLUTE(OS)
    NEXT I
    END IF
    RT=ASC(RIGHT$(STRNG$,1))
    IF RT<>59 THEN
    POKE OS+1,RT
    CALL ABSOLUTE(OS)
    POKE OS+1,13
    CALL ABSOLUTE(OS)
    POKE OS+1,10
    CALL ABSOLUTE(OS)
    END IF
    DEF SEG
    END SUB

    Qbutil.inc (дополнительный файл):


    '
    ' This is an include file to be used with the COMPORT.BAS, PALREAD.BAS,
    ' and READSCRN.BAS routines. (Put it at the top of your MAIN routine.)
    '
    DECLARE FUNCTION COMREAD$(PORT AS INTEGER,N AS INTEGER,TERMCHR AS INTEGER)
    DECLARE FUNCTION READSCRN$()
    '
    ' Set up machine code. Various bytes are changed by routines in
    ' COMPORT.BAS, PALREAD.BAS, or READSCRN.BAS.
    '
    DIM SHARED MCODE(1 TO 10) AS LONG
    DIM OS AS INTEGER
    DEF SEG=VARSEG(MCODE(1))
    OS=VARPTR(MCODE(1))
    POKE OS,&HB8. POKE OS+1,0. POKE OS+2,2 'MOV AX,[AHAL]
    POKE OS+3,&HBB. POKE OS+4,&HFF. POKE OS+5,0 'MOV BX,[BHBL]
    POKE OS+6,&HB9. POKE OS+7,0. POKE OS+8,0 'MOV CX,[CHCL]
    POKE OS+9,&HBA. POKE OS+10,&HAB. POKE OS+11,&HCD 'MOV DX,[DHDL]
    POKE OS+12,&H55 'PUSH BP
    POKE OS+13,&H89. POKE OS+14,&HE5 'MOV BP,SP
    POKE OS+15,&HCD. POKE OS+16,&H10 'INT [INT]
    POKE OS+17,&H8B. POKE OS+18,&H7E. POKE OS+19,6 'MOV DI,[BP+6]
    POKE OS+20,&H89. POKE OS+21,&H15 'MOV [DI],DX
    POKE OS+22,&H8B. POKE OS+23,&H7E. POKE OS+24,8 'MOV DI,[BP+8]
    POKE OS+25,&H89. POKE OS+26,&HD 'MOV [DI],CX
    POKE OS+27,&H8B. POKE OS+28,&H7E. POKE OS+29,&HA 'MOV DI,[BP+A]
    POKE OS+30,&H89. POKE OS+31,&H1D 'MOV [DI],BX
    POKE OS+32,&H8B. POKE OS+33,&H7E. POKE OS+34,&HC 'MOV DI,[BP+C]
    POKE OS+35,&H89. POKE OS+36,5 'MOV [DI],AX
    POKE OS+37,&H5D 'POP BP
    POKE OS+38,&HCB 'RETF
    DEF SEG

    Инструкция по использованию файлов в коде программы.

    PRINT "Hello world!"