|
||||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[23] TextColor(14); GotoXY(1, M+1); Write(ТУПИК); readln; Halt; Metka:GotoXY(i, j); Write();delay(10) until keypressed; END. Практическое задание N 1. 37 Задать движение "десантника" только вдоль осей X и Y, либо по диагоналям. 1. 14. 3. Работа с символьными переменными Следующие операторы позволяют выводить на экран символы, набираемые на клавиатуре, до нажатия клавиши Enter (код #13): Repeat c:= readKey; Write(c) until c=#13; здесь "с" - переменная типа Char,#13 - код клавиши Enter. Часто используются клавиши с кодами: #32 - SpaceBar, #27 - Esc. Для запоминания вводимых символов можно использовать операторы: i:=0; repeat i:=i+1; ch[i]:=readKey; write(ch[i]) until ch[i]=#13; Здесь ch[i] - элемент массива ch типа Char. Практическое задание N 1. 38 1. Разделить экран на четыре равные части. Создать в первой части окно и ввести с клавиатуры надпись: Программу разработал "Фамилия". Создать окно 4 и скопировать эту надпись в окно 4.
2.Аналогично п. 1 создать окно 2, ввести с клавиатуры надпись и скопировать ее в окно 3. Примечание: копирование заключается в выводе массива символов. 3.Создать четыре окна в порядке 1, 2, 3, 4 . В центре первого окна ввести с клавиатуры свою фамилию, в других - любые надписи, введенные с клавиатуры в позициях, определяемых функцией Random (без использования массивов). 4.Аналогично п. 3 создать четыре окна в порядке 4, 3, 2, 1. Выводить мерцающие символы. Примечание: Переход в другое окно после нажатия клавиши Esc, окна и надписи должны быть разного цвета. Процедуры DelLine;, InsLine; позволяют прокручивать надписи в окне по аналогии с прокруткой текста, не вмещающегося на экране. Процедура Delay(M); - задерживает выполнение программы на M миллисекунд ( N и M - тип Word). Приведем пример операторов, прокручивающих текст в окне: Window(5,5,30,9); TextBackGround(l); Clrscr; TextColor(14); repeat delay(500); GotoXY(1, 5); write(BceM большой привет !); gotoXY(1, 1); for k:=1 to 5 do begin{ прокрутка вверх } delay(300); delLine end until keyPressed ; Практическое задание N 1. 39 1.В режиме TextMode(l); создать в центре экрана окно размером 6 строк и 30 колонок. Вывести в нижней строке окна надпись и сделать прокрутку надписи вверх, меняя яркость символов (нормальная, повышенная, пониженная) и цвет фона (без оператора ClrScr;) после каждой прокрутки. 2.Аналогично п. 1 вывести в верхней строке окна надпись, сделать прокрутку надписи вниз. Для вывода на экран символа по номеру его кода можно использовать операторы: C:= chr(N); write(C); где N - номер кода символа (тип Byte), chr - функция преобразования целого типа в символьный. Напомним, что символы, используемые в MS-DOS, имеют коды с номерами от 0 до 255. Некоторые управляющие символы при выводе производят определенные действия, например: #7 - звуковой сигнал, #13 - перевод курсора на новую строку. В рекламных надписях применяется прием "бегающих" символов. Заставить бегать символ по строке можно с помощью следующих операторов: y:=5;Xm:=lo(WindMax)+1; c:=readKey;{ ввод символа с клавиатуры } for i:=1 to Xm-1 do begin{ i - номер позиции в строке } gotoXY(i, y); write(c); { вывести на экран символ } delay(100); gotoXY(i,y); write( ) end { вывести на экран пробел } until keyPressed; Практическое задание N 1. 40 1.Разделить экран по горизонтали на две части. В первой части создать окно и вывести все символы от 0 до 255 с указанием номеров, во втором окне в двух строчках вывести два символа, бегающих в противоположные стороны. 2.Разделить экран по вертикали на две части. В первой части создать окно и вывести все символы от 0 до 255 с указанием номеров, во втором окне в двух колонках вывести два символа, бегающих в противоположных направлениях. Примечание: номера символов выбрать из первого окна. При выводе "бегающих" символов изображение курсора портит картинку. Избавиться от курсора можно, поместив его в "дальний угол" перед задержкой программы, например: GotoXY(1, 1); delay(100); Можно также изменить размер курсора до нуля с помощью следующих операторов: В разделе описания программы: Uses DOS;Var r: registers; B разделе выполнения программы: r.ah:=1; r.ch:=$20; intr(16,r); Приведем пример программы "падающие символы" для цифр от 0 до 9, имеющих кода c номерами от 48 до 57. При нажатии на клавишу с "падающей цифрой", генерируется другая "падающая цифра" и т. д. до нажатия клавиши ESC. PROGRAM PULL CH; Uses CRT, DOS; var r: registers; x, y, i, xm, ym: byte; c: array [41..57] of char; cha:char; randomize;textMode(3); xm:=lo(WindMax)+1; ym:=hi(WindMax)+1; textBackGround(blue); ClrScr;TextColor(14); r.ah:=1; r.ch:=$20; intr(16,r); for i:=48 to 57 do begin c[i]:=chr(i); write(c[i]) end; { вывод символов с позиции (1, 1) } repeat gotoXY(10, 10); Write(,ПРИГОТОВЬТЕСЬ -нажмите ENTER); cha:= readKey until cha=#13;{ вывод надписи } delay(500); gotoxy(10, 10); clreol;{ стирание надписи } GOTOXY(1, YM); Write(НАЖМИТЕ КЛАВИШУ С ПАДАЮЩИМ СИМВОЛОМ); Write(ДЛЯ ОКОНЧАНИЯ -нажмите ESC); i:= random(10)+48; c[i]:=chr(i);{ выбор случайной цифры } x:= i-48+1; for y:= 2 to ym-1 do begin gotoXY(x,y); write(c[i]); delay(200); { вывод цифры } gotoXY(x,y); write( );{ стирание цифры } if keypressed then cha:=readkey; { при нажатии клавиши - считать цифру } if cha=#27 then Break; if cha=c[i] then Breakend { досрочный выход из цикла "for. . . " } until cha=#27;{ выход при нажатии ESC } textMode(3)END. Практическое задание N 1. 41 1.Создать "падающие символы" для прописных букв латинского алфавита с номерами кодов от 65 до 90. 2.Создать "падающие символы" для строчных букв латинского алфавита с номерами кодов от 97 до 122. |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||||