Эксплуатация принтера МС-6312

Принтер МС-6312 при всех своих достоинствах имеет и ряд недостатков. Главный из них - печатающая головка «одноразового» использования. Мы сумели увеличить её ресурс, произведя небольшую операцию. После использования всех чернил заглушка на передней части головки извлекается с помощью шила. В образовавшемся отверстии нарезается резьба М3, и подбирается соответствующий винт для замены заглушки. Через отверстие в полость головки с помощью шприца вводятся чернила (например, «Радуга-2») любого цвета, винт завинчивается и заливается лаком. Головка снова готова к использованию.

Часто головки текут. Если протечка происходит в месте соединения передней стенки с резервуаром, то щель необходимо промазать клеем или хотя бы пластилином. Хуже, если течёт из-под матрицы. В этом случае необходимо осторожно, чтобы не сломать керамическую основу, отделить матрицу от корпуса, очистить гнездо и саму матрицу от остатков клея, обезжирить поверхности и склеить их по общим правилам клеем «Момент» или «Контактол».

Ещё один недостаток принтера - отсутствие рукоятки вращения барабана - так же легко устраняется в домашних условиях.

Вращающий момент от мотора на барабан передаётся с помощью трёх шестерёнок, расположенных на принтере справа. Самая большая - средняя; к ней и прикрепляется рукоятка. Для этого достаточно просверлить на шестерёнке два - четыре отверстия и привинтить через них рукоятку винтами М2, не забыв проложить кольцевую прокладку.

И ещё два маленьких усовершенствования, делающих МС-6312 более удобным:

 

В. РОГОВ, А. КУЗНЕЦОВ


 

Калейдоскоп БК

А.А. Войлуков (Москва) сообщает о назначении бита 1 ячейки 177712 (см. статью А. Подгорецкого о системном таймере в «ИНФО» 6-91): при его установке или очистке значение из ячейки 177706 копируется в ячейку 177710.

 

 

Шебалкин: введение в программу строки

10002 POKE &Н8С,М%

позволяет получать разноцветный шрифт. В качестве М% можно попробовать &HFF55, &HAAFF, &H55FF, &HFFAA.

 

 

Полку печатающих устройств БК прибыло: А. Карсалов из г. Лаишево сообщил, что им произведено подключение телеграфного аппарата и написан соответствующий драйвер. Несколько позже такое же сообщение пришло от С. Таланова (Кировская обл., г. Яранск).

 

 

Несколько читателей «ИНФО» сообщили, что способ избавления от дребезга клавиатуры, предложенный Б. Фролкиным в №6-90, не даёт хороших результатов.

 

 

И снова - отключение звукового сигнала, отмечающего нажатие клавиш БК. Программа, предлагаемая О. Барсуковым (г. Умань), отличается малой длиной и даёт возможность определить, по какому регистру нажата клавиша.

10 DATA &O12767,&O101150,&O44,&O403,&O12767,&O101374,&O34,&O4437,
   &O110340,&O10546,&O5737,&O224,&O1402,&O4737,&O110536,&O12737,
   &O177777,&O222,&O113700,&O177662,&O137,&O0
20 А%=&0414
30 FOR I%=0% TO 21%
40 READ X%
50 POKE A%+I%*2%,X%
60 NEXT I%
70 POKE &O60,A%
80 POKE &O274,A%+&O10

Если клавиша нажата по верхнему регистру, то в ячейке А%+&O52 будет число &O101150, если по нижнему, то &O101374.

Продемонстрировать работу программы на примере можно, добавив к ней строки

90 ?AT(0,0)ОСТ$(РЕЕК(A%+&O52)) PEEK(-78%)
100 GOTO 90

 

 

В. Смирнов из Москвы предлагает три программы. Первая позволяет выводить текст «бегущей строкой».

10 CLS
20 Y%= 22%
30 A$="** Информатика и образование **"
40 FOR J%=0% TO 28%
50 ? AT(30%-J%,Y%)MID$(A$,1%,1%+J%)
60 FOR J1%=0% TO 950%
70 NEXT J1%,J%
80 FOR J%=0% TO 28%
90 ? AT(0%,Y%)MID$(A$,1%+J%)
100 FOR J1%=0% TO 900%
110 NEXT J1%,J%
120 GOTO 10

Текст, который должен кончаться минимум двумя пробелами, будет выводиться в ту строку экрана, номер которой задан в Y %.

Вторая программа позволяет стирать имеющуюся на экране информацию горизонтальной линией, перемещающейся снизу-вверх.

10 FOR A%=240% TO 0% STEP -1%
20 PSET(0%,A%),1%
30 DRAW"R255"
40 OUT -50%,64%,1%
50 OUT -50%,64%,0%
60 PSET(0%,А%+1%),0%
70 DRAW"C0R255"
80 OUT -50%,64%,1%
90 OUT -50%,64%,0%
100 NEXT A%

Для стирания сверху вниз меняйте А% от 0 до 240 и поменяйте в строке 60 плюс на минус. Для уменьшения частоты звука уберите строки 40 и 50 или 80 и 90, для полного «обеззвучивания» - все четыре перечисленные строки. «Спрятать» стирающую линию можно, сделав строку 30 такой же, как 70.

Третья программа, основанная на идее А. Ланеева (ИНФО. 1991, №3), выводит на экран слово PROGRAM, плавно меняющее цвет с красного на зелёный и обратно, пока не будет нажата какая-либо клавиша.

5 COLOR 1,4
10 CLS
20 ? "PROGRAM"
30 FOR P%=1% TO 8%
40 FOR R%=1% TO 58%
50 IF POINT(R%,P%)=1% THEN PSET(R%,P%),2%
60 NEXT R%,P%
70 FOR Y%=1% TO 8%
80 FDR X%=1% TO 58%
90 IF POINT(X%,Y%)=2% THEN PSET(X%,Y%),1%
100 NEXT X%,Y%
110 A$=INKEY$
120 IF A$="" THEN 30
130 END

 

И. ПАНЧЕНКОВ


 

Печать графической информации на принтерах МС-6312 и МС-6313

Устройства вывода печатающие (УВП) МС-6312 и МС-6313 позволяют регистрировать на бумаге не только символьную, но и графическую информацию. Для этого они должны быть переведены в графический режим соответствующей управляющей последовательностью - графической командой, после чего принимаемые коды начинают интерпретироваться не как коды символов, а как данные, непосредственно управляющие иглами печатающей головки.

Рисунок, полученный с помощью УВП, состоит из точек (на рис. 1 показано графическое изображение в увеличенном виде) - следов ударов игл печатающей головки МС-6313 или капель чернил из головки МС-6312. За один горизонтальный проход головка печатает строку из 6 (у МС-6313) или 8 (у МС-6312) точек. Перед следующим проходом бумага сдвигается на 6/72 (у МС 6313) или 8/72 (у МС-6312) дюйма.

Графический режим МС-6312. Этот принтер имеет следующие графические команды:

ESC К N1 N2 - одинарная плотность;

ESC L N1 N2 - двойная плотность;

ESC Y N1 N2 - двойная плотность с высокой скоростью;

ESC *m N1 N2 - универсальная.

Здесь N1, N2 - число колонок; m - число от 0 до 7, задающее режим печати (последней командой можно заменить любую из трёх первых). Работа команд достаточно хорошо описана в инструкции по эксплуатации УВП.

Режимы 4-7 - специальные, они изменяют плотность в горизонтальном направлении для обеспечения пропорциональности изображению на дисплее или для согласования с вертикальной плотностью так, чтобы окружности получались круглыми (режим графопостроителя).

Некоторые затруднения у пользователей вызывает резервирование колонок. В одной строке можно отпечатать до 1958 колонок точек, но УВП использует лишь числа, не превышающие 255, так что для резервирования колонок приходится задавать два числа. N2 определяет полное число наборов по 256 колонок, а N1 - остаток от деления нужного числа колонок на 256. Например, для резервирования 200 колонок под графические данные нужно задать N1=200, N2=0; для резервирования 1632 колонок N1=96, N2=6: 96+6*256=1632.

N1+N2*256 чисел, следующих за графической командой, УВП интерпретирует как графические данные, т.е. управляет разбрызгиванием чернил из сопел печатающей головки в соответствии со значениями битов двоичного представления каждого из этих чисел. Если чисел окажется меньше, чем задано параметрами N1 и N2, УВП остановится и будет ждать продолжения; это создаёт впечатление блокировки УВП. Если чисел чересчур много, «лишние» будут интерпретироваться как текстовая информация (коды символов).

Приведём пример простейшей программы печати графики.

10 LPRINT CHR$(27)
20 LPRINT "K"
30 LPRINT CHR$(40)
40 LPRINT CHR$(0)
50 FOR I=1 TO 40
60 LPRINT CHR$(74)
70 NEXT I

Строки 10, 20 задают режим одинарной плотности; строки 30, 40 резервируют 40 колонок; строка 60 обусловливает выброс чернил из 2-го, 5-го и 7-го сопел (74=64+8+2=010010102), что даст в итоге три линии, протянувшиеся на 40 колонок.

Графический режим МС-6313 (версия 081289/МС6307). Этот принтер переводится в графический режим командой Ар2 Р n q (в восьмеричном виде 33, 120, n, 161) Здесь n определяет плотность графической печати (от 481 до 1921 колонок в строке).

После этого принтер будет интерпретировать получаемые числа как графические данные, пока не получит команду выхода из графического режима Ар2 \ (в восьмеричном виде 33, 134).

Графические данные интерпретируются следующим образом: из поступившего в УВП числа (оно должно быть от 63 до 126. или, в восьмеричном виде, от 77 до 176) вычитается 63, и в соответствии с битами результата ударяют иголки печатающей головки.

Номер иглы

Код

1

1

2

2

3

4

4

8

5

16

6

32

7

не используется

8

не используется

 

Например, чтобы в очередной колонке напечатать точки верхней (первой) и третьей иглами, нужно заслать в УВП число 68: 68-63=5=0001012.

Несколько советов желающим самостоятельно написать драйвер копии экрана. Он должен быть оформлен в виде подпрограммы, вызываемой по команде JSR PC, и содержать следующие программные модули:

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

 

А. БАРСУКОВ


 

На экране - поверхность

Журнал уже обращался к теме изображения трёхмерных поверхностей на экране БК (ИНФО, 1990, №2, стр. 32), однако приведённые в той статье формулы преобразования координат и построенная на этих формулах программа дают только одну проекцию, жёстко заданную в самой программе. Естественно, это снижает наглядность.

Здесь описывается программа, позволяющая рассматривать со всех сторон поверхность, построенную с помощью сеточных сечений.

Подобная программа должна содержать следующие блоки:

Последний вопрос хорошо разобран в [1] и [3], поэтому здесь мы его рассматривать не будем, а сосредоточимся на построении параллельной проекции (изложение общих принципов см. в [2]).

Рис. 1

Пусть в трёхмерной системе координат (рис. 1) задана поверхность y. Направление проектирования задаётся единичным вектором . Плоскость проекции h перпендикулярна вектору u и может находиться где угодно (так как проекция параллельна), а фигура γ' - проекция поверхности γ. Чтобы получить координаты каждой точки фигуры γ', надо ввести НСК в плоскости проекции 0UV и написать формулы преобразования координат

U=f(x, у, z);

V=g(x, у, z).

Располагаться НСК в этой плоскости может как угодно; единственное условие - , где и - единичные базисные векторы НСК. Это условие означает, что и .

Если принять, что плоскость проекции проходит через точку 0(0, 0, 0), то формулы преобразования приму! вид:

U=xa1+yb1+zc1=, V=ха2+уb2+zс2=, где - вектор, характеризующий положение текущей точки поверхности в ССК. Координаты векторов и можно вычислить по формулам:

,

,

где а0, b0, c0 - координаты единичного вектора направления проекции. Условие единичности является обязательным.

В приводимой программе пользователь сам вводит направление проекции, что позволяет рассмотреть поверхность с разных сторон (рис. 2-4). В качестве примера взят гиперболический параболоид:

.

 

5 KEY 1,"BSAVE"+CHR$(34)+"TT:S"+CHR$(34)
6 KEY 2,",&O40004,&O77776"+CHR$(10)
10 REM "ГИПЕРБОЛИЧЕСКИЙ ПАРАБОЛОИД с комментариями
20 CLS
30 DIM MAX(255),MIN(255)
40 REM "ОПРЕДЕЛЕНИЕ ФУНКЦИИ
50 DEF FNZ(X!,Y!)=X!*X!/40-Y!*Y!/10
60 ? "ВВЕДИТЕ НАПРАВЛЕНИЕ ПРОЕЦИРОВАНИЯ
70 INPUT A!,B!,C!
80 F1%=SGN(A!+.000001)
90 F2%=SGN(B!+.000001)
100 IF A!=0 AND B!=0 TH A!=.000001
110 CLS
120 REM "нормирование вектора проекции
125 ? AT(0,3)A!;B!;C!
130 X!=SQR(A!*A!+B!*B!+C!*C!)
140 A!=A!/X!
150 B!=B!/X!
160 C!=C!/X!
170 REM "опр. базисных векторов в плоскости проекции
180 C2!=SQR(A!*A!+B!*B!)
190 A1!=-B!/C2!
200 B1!=A!/C2!
210 C1!=0
220 A2!=-A!*C!/C2!
230 B2!=-C!*B!/C2!
240 GOSUB 630
250 GOSUB 680
260 REM "построение сечений, параллельных OY
270 FOR X!=24*F1% TO -24*F1% STEP -4*F1%
280 FOR Y!=13 TO -13 STEP-1/3
290 Z!=FNZ(X!,Y!)
300 GOSUB 540
310 GOSUB 570
320 NEXT Y!
330 NEXT X!
340 GOSUB 630
350 REM "построение сечений, параллельных OX
360 FOR Y!=13*F2% TO -13*F2% STEP -2*F2%
370 FOR X!=-24 TO 24 STEP 1/3
380 Z!=FNZ(X!,Y!)
390 GOSUB 540
400 GOSUB 570
410 NEXT X!
420 NEXT Y!
425 REM "построение координатных осей
430 LINE (128,120)-(128+50*A1!*4,120-50*A2!*6)
450 LINE (128,120)-(128+20*B1!*4,120-20*B2!*6)
460 LINE (128,120)-(128+20*C1!*4,120-20*C2!*6)
470 BEEP
480 BEEP
490 BEEP
500 BEEP
510 BEEP
515 LOCATE 0,0
520 END
530 REM "расчет координат в плоскости проекции
540 U%=128+(X!*A1!+Y!*B1!+Z!*C1!)*4
550 V%=120-(X!*A2!+Y!*B2!+Z!*C2!)*6
560 RETURN
565 REM "контроль границ экрана
570 IF U%>255 OR V%>240 TH620
575 REM "контроль видности
560 IF MIN(U%)<=V% AND V%<=MAX(U%) TH 620
590 IF V%>MAX(U%) TH MAX(U%)=V%
600 IF V%<MIN(U%) TH MIN(U%)=V%
605 REM "построение точки
610 PSET (U%,V%)
620 RETURN
625 REM "инициализация массивов
630 FOR I%=0 TO 255
640 MIN(I%)=240
650 MAX(I%)=0
660 NEXT I%
670 RETURN
675 REM "дополнительный контроль видности по краям рисунка
680 Y!=F1%*13
690 FOR X!=-24 TO 24 STEP -25
700 Z!=FNZ(X!,Y!)
710 GOSUB 540
720 MAX(U%)=V%
730 MIN(U%)=V%
740 NEXT X!
750 RETURN

Параметры и интервалы изменения координат х и у подобраны так, чтобы изображение поверхности не выходило за пределы экрана.

Программа работает следующим образом. В строке 50 определяется функция поверхности - гиперболический параболоид (или любая другая). В строках 60-160 вводится и нормируется вектор направления проекции, а также определяется октант, в котором он находится. Это связано с тем, что для обеспечения контроля видности сечения должны строиться по «уходу» от наблюдателя (см. [3] и [1]), что и реализуется в строках 80, 90, 280, 360. Малые числа, прибавленные к коэффициентам А и В, позволяют избежать нулевых значений координат вектора проекции. Изображения они не меняют в силу своей малости. Строки 180-230 формируют коэффициенты формул преобразования координат (540, 550).

Рис. 2

Рис. 3

Множители 4 и 6 в 540, 550 играют роль масштаба изображения. Их неодинаковость вызвана тем, что на экране БК при одинаковом масштабе по вертикали и горизонтали изображение сплющивается по вертикали. Меняя эти коэффициенты, можно изменить размеры изображения.

Можно, изменив строку 50, нарисовать другую поверхность. Можно расширить или сузить область отображения, изменив коэффициенты в строках 270, 280, 360, 370, 680, 690.

Назначение остальных программных блоков понятно из комментариев в тексте программы.

Литература

  1. Котов Ю.В. Как рисует машина. М.: Наука, 1988.
  2. Фокс А., Претт М. Вычислительная геометрия, применение в проектировании и на производстве. М.: Мир, 1982.
  3. Белова Л., Белов Ю. Изображение поверхностей // Информатика и образование. 1990. № 2.

 

С. ПОГОЖИХ


 

Джойстик? Нет проблем!

Существует огромное количество игровых программ для БК, предусматривающих подключение джойстика для управления игровыми объектами. Но есть и такие игры, которые не имеют драйвера джойстика. Что же делать, если не хочется портить клавиатуру? Доработать либо программу, либо аппаратную часть.

Первое зачастую гораздо легче, и уже появились доработки известных игр, таких, как New Sheriff или Land. Но иногда вмешательство в программу оказывается невозможным: для драйвера попросту не хватает памяти.

Остаётся второй вариант: подключить джойстик к штатной клавиатуре! Конечно, он потеряет возможность одновременной подачи нескольких не исключающих друг друга команд (вверх и влево, стрельба и вниз...): штатная клавиатура не допускает одновременного срабатывания нескольких клавиш. Но зато клавиатура будет сохраннее. Кроме того, если изготовить переходник «VII - джойстик», распаяв на один разъём VII два разъёма для джойстика, то можно будет подключать один и тот же манипулятор как к порту, так и к клавиатуре. Именно поэтому в описываемой переделке линии клавиатуры выводятся на свободные контакты разъёма VII.

На рисунке изображена монтажная схема переделки. Следует учесть, что масштаб и взаимное расположение разъёмов не соблюдены, а проводники прокладываются с обратной стороны платы.

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

Все соединения выполняются тонким монтажным проводом в пластмассовой изоляции. Пайка должна производиться маломощным паяльником, температура жала которого не должна превышать 270 градусов. Само жало необходимо заземлить - микросхемы боятся статического электричества. Особое внимание следует уделить качеству пайки - не должно быть ни малейших потёков припоя! Качественной должна быть и изоляция проводов.

Джойстик распаивается по приводимой таблице, при этом его контакты, соответствующие требуемой клавише, подключаются к указанным выводам разъёма VII. Такая распайка позволяет задействовать наиболее употребительные клавиши. На сегодня не существует ни одной игры, заведомо не годящейся для работы с таким джойстиком.

Мы надеемся, что описанная переделка поможет вам дольше сохранить клавиатуру целой. Но это не единственный вариант. Дерзайте!

Всех имеющих какие-либо идеи по этой тематике и просто заинтересовавшихся просим написать по адресу: 241047, Брянск-47, а/я 109. Брянский клуб пользователей БК.

 

А. МАЛАШЕНКО, Р. АСКЕРОВ

 

Р.S. За время подготовки статьи выяснилось, что дерзать есть над чем. Завод «Экситон» выпустил БК с новой, более удобной клавиатурой. При этом изменились конфигурация печатной платы и число разъёмов, что делает данную переделку невозможной на новых моделях БК. Используя идею, вы можете разработать подключение джойстика и к новой версии.


 

«Электроника БК-0010» и компьютеры, совместимые с IBM PC

На рисунке приведена схема адаптера, который настолько прост, что его может изготовить даже начинающий радиолюбитель.

 

Разъём X1-порт RS-232 (СОМ1), разъём Х2 - обычный магнитофонный разъём с распайкой под «Электронику БК-0010». Сигналы PTS (7-й контакт X1) и ТХ (3-й контакт) используются для питания операционного усилителя адаптера. Программно на них устанавливается +12 в. (на выходе PTS) и -12 в. (на выходе ТХ).

С помощью данного адаптера можно подключить к компьютеру, имеющему порт RS-232, любой бытовой кассетный магнитофон. Это даёт возможность:

Разработанное в Институте прикладной математики им. М.В. Келдыша РАН программное обеспечение на IBM PC позволяет:

Набор программ для обслуживания адаптера включает в себя следующие программы:

rm7

чтение файла с МЛ и запись его на диск с указанием в конце файла исходного имени, адреса загрузки и длины (в формате БК-0010);

rmpc

чтение файла с МЛ и запись его на диск как он есть;

wrbk

чтение файла с диска и запись его на МЛ в формате БК-0010. Требуется, чтобы в файле присутствовал заголовок в формате БК. Программа предназначена для пересылки на БК через МЛ файлов, первоначально подготовленных на БК и введённых в PC с помощью программы rm7;

wrpc

чтение с диска любого файла (в том числе созданного программой rmpc) и запись его на МЛ в формате БК-0010. В отличие от программы wrbk не требует никакого специального формата дискового файла. Заголовок для БК-0010 при записи на МЛ воссоздаётся по имени файла на PC и может быть скорректирован вручную. Программа предназначена для пересылки на БК файлов, подготовленных на PC, а также для хранения на МЛ файлов PC. Ввод такого файла с МЛ обеспечивается программой rmpc. Обе программы записи на МЛ позволяют выбирать плотность записи;

proct

программа выдаёт ДАМП файла в восьмеричном виде;

bkdisass

программа дизассемблирует исполняемые БК-файлы и создаёт файл с расширением .asm. Имеется возможность выбирать различные режимы дизассемблирования для различных участков обрабатываемого файла: в командном режиме файл интерпретируется как последовательность выполняемых команд, а в текстовом - как текстовая константа. Кроме того, дизассемблер можно настроить на различные наборы команд и различные их мнемоники;

bkdocpc

программа преобразует тексты файлов БК-0010 в стандартный plain ASCII на IBM PC. Формат входного файла распознается автоматически, но может быть также задан вручную.

Телефоны для справок и предложений по сотрудничеству: (8-095) 333-61-89, 333-71-89.

 

В. Сулханов, А. Ходулев.


 

Московский клуб БК

В октябре 1987 г. группа энтузиастов-пользователей бытовых компьютеров семейства «Электроника БК», считая это семейство компьютеров перспективным как для применения в быту, обучении, так и в научных и исследовательских работах, организовала и юридически оформила Московский клуб пользователей БК.

Главная задача клуба - пропаганда и бескорыстная, активная поддержка бытовых компьютеров семейства «Электроника БК» для использования их в различных сферах деятельности.

В фонде клуба БК насчитывается более 700 разнообразных программ для «Электроники БК» как в машинных кодах, гак и на языках высокого уровня. В фонде имеются также методики и рекомендации по усовершенствованию и развитию аппаратной части БК, их сопряжению с телевизорами различных моделей, в том числе цветными. Разработаны несколько вариантов джойстика, различные внешние устройства. Обобщается опыт использования БК в различных целях. Организованы циклы лекций, проводятся тематические консультации.

Большую помощь в становлении клуба оказал Анатолий Семенович Бакланов, председатель научно-производственного кооператива «Услуга-2». Кооператив оплачивает аренду помещения, помогает создавать необходимые условия для нормальной деятельности Московского клуба БК. Такая помощь даёт возможность привлекать в клуб учащихся школ, ПТУ, техникумов и создавать для них творческую атмосферу.

Московский клуб БК поддерживает постоянные связи с аналогичными клубами, группами пользователей и отдельными владельцами «Электроники БК» более, чем в 60 городах. Мы приглашаем и Вас к сотрудничеству и обмену опытом, разработками, программами, чтобы сделать всё возможное для сохранения отечественного бытового компьютера «Электроника БК-0010» и других того же семейства. Адрес для переписки: Москва, 129337, a/я 125ж, Московский клуб БК.

В настоящее время в клубе открылось отделение, объединяющее владельцев УКНЦ. Контактные телефоны:

отделение БК 183-18-39

Павел Бенарович
Эльтерман

отделение УКНЦ 333-61-89

Виктор Иванович
Сулханов

 


 

К. СОЛОВЬЕВ

Новосибирская обл., пос. Краснообск

Занимательные игры со строковыми функциями

Мне хотелось бы привести несколько программ, которые могут быть полезны при изложении темы «Строковые функции и переменные» на уроках информатики. Некоторые из них можно использовать как эффектные фрагменты-подпрограммы при создании различных программ.

Достаточно часто в различных программах используется «бегущая строка». Задаваемые параметры: X1, Y1 - координаты левого грая окна, в котором осуществляется движение строки, D - размер окна.

5 CLS: X1=20: Y1=10: D=20
10 INPUT "Введите строку";S$
15 LOCATE,,0: S$=SPACE$(D)+S$+" "
20 N=LEN(S$)
30 FOR I=1 TO N
40 LOCATE X1,Y1: PRINT MID$(S$,I,D)
50 FOR K=1 TO 40: NEXT
60 IF INKEY$<>"" THEN LOCATE,,1: END
70 NEXT I
80 GOTO 30

Довольно эффектна программа, реализующая падающие буквы. Из текста, размещённого в верхней строке экрана, с левого края начинают по очереди выпадать буквы и перемещаться в нижнюю строку.

10 CLS: INPUT "Введите строку";S$
20 CLS: LOCATE 6,1: PRINTS$
25 N=LEN(S$): LOCATE,,0
30 FOR I=1 TO N
40 FOR M=2 TO 15
45 LOCATE 5+I,M: PRINT MID$(S$,I,1)
50 LOCATE 5+I,M-1: PRINT " "
60 NEXT M
65 FOR K=1 TO 40: NEXT
70 IF INKEY$<>"" THEN LOCATE,,1: END
80 NEXT I
90 GOTO 30

Неизвестно, когда дети придумали свой язык, в котором слова произносятся не слева направо, а наоборот. Программа, приведённая ниже, осуществляет «переворот» слов.

10 CLS: INPUT "Введите строку";S$
20 N=LEN(S$)
30 FOR I=0 TO N-1
40 X$=X$+MID$(S$,N-I,1)
45 NEXT I
50 PRINT X$

Большой интерес у школьников вызывает программа, прообразом которой послужила игра «Поле чудес». Один из играющих загадывает слово, а второй пытается его восстановить.

10 DIM SL$(50),S1$(50)
20 CLS: INPUT "Введите слово или фразу";S$: CLS
30 N=LEN(S$): LOCATE,,0
40 FOR J=1 TO N
50 SL$(J)=MID$(S$,J,1)
60 NEXT J
70 FOR J=1 TO N
80 IF SL$(J)=" " THEN S1$(J)=" " ELSE S1$(J)="*"
90 NEXT J
100 GOSUB 300
110 LOCATE 6,5: PRINT "Введите букву"
120 I$=INKEY$: IF I$="" THEN 120
130 FDR J=1 TO N
140 IF I$=SL$(J) THEN S1$(J)=I$
150 NEXT J
160 GOTO 100
300 LOCATE 10,3
310 FOR J=1 TO N
320 PRINT S1$(J);
325 IF SL$(J)<>S1$ (J) THEN FL=1
330 NEXT J
340 PRINT
350 IF FL=0 THEN LOCATE,,1: END
360 FL=0
370 RETURN

Эта программа может послужить основой для создания компьютерного варианта телевизионной игры «Поле чудес».

 

Performed by © gid, 2012-2024.