14134

Формування зображення на екрані ПЕОМ. Створення найпростіших лінійних програм

Конспект урока

Информатика, кибернетика и программирование

Тема уроку: Формування зображення на екрані ПЕОМ. Створення найпростіших лінійних програм Мета уроку: Дати дитині поняття про режими роботи монітору та принципи виведення зображення на екран в цих режимах.Тип уроку: Лекційний з практичними прикладами. Лекційний мате...

Украинкский

2013-05-21

66.5 KB

1 чел.

Тема уроку: "Формування зображення на екрані ПЕОМ. Створення найпростіших лінійних програм"

Мета уроку: Дати дитині поняття про режими роботи монітору та принципи виведення зображення на екран в цих режимах.
Тип уроку: Лекційний з практичними прикладами.

Лекційний матеріал:
Будь-який монітор ПЕОМ може працювати в одному з двох режимів:

  •  текстовому;
  •  графічному.

Перший з них дозволяє виводити на екран будь-який символ ASCII-таблиці у визначене знакомісце екрану, що знаходиться на перетині рядка та стовпчика. Кількість знакомісць залежить від текстового режиму, але найчастіше дорівнює 25 рядкам по 80 колонок в кожному. В цьому режимі можна керувати кольором тла та кольором і яскравістю символів, забезпечуючи за бажанням їх миготіння.
В графічному режимі будь-яке зображення отримується як сукупність різнокольорових точок - пікселів. Кількість елементів зображення теж задається відповідним режимом, але стандартно дорівнює 640 на 480 пікселів по горизонталі та вертикалі.
Для роботи в текстових режимах розробниками мови програмування Паскаль були написані спеціальні підпрограми, що об'єднані в бібліотечний модуль
Crt. Цей модуль може виконувати наступні функції:

  •  регулювати яскравість світіння символів;
  •  керувати кольором зображення і тла;
  •  керувати текстовим курсором;
  •  організовувати роботу з текстовими вікнами;
  •  організовувати звукові ефекти;
  •  керувати клавіатурою

Деякі з цих підпрограм ми розглянемо нижче.
Так, наприклад, наступні процедури дозволяють очищати екран та керувати рядками на екрані:
ClrScr повністю очищує екран або поточне вікно і переміщує курсор у лівий верхній кут екрана або поточного вікна (координати 1,1);
ClrEol витирає всі символи в рядку, починаючи з поточної позиції курсору до кінця рядка;
InsLine вставляє порожній рядок перед поточним рядком;
DelLine цілком вилучає вміст рядка, в якому розташований курсор, усі рядки, що розміщені нижче, піднімаються на один рядок угору.

При роботі в текстових режимах із кольоровим дисплеєм кожний виведений на екран символ може бути одного з 16 (0-15) можливих кольорів. Тло може бути одним із 8 (0-7) кольорів. Для встановлення кольору виведених символів використовується процедура TextColor, для встановлення кольору тла - процедура TextBackGround. Є можливість організувати мерехтіння символів:
TextColor(Color:byte) - установити колір символів, що виводяться;
TextBackGraund(Color:byte) - установити колір тла.
Значення параметрів можуть задаватися, як константами (наприклад,
Yellow), так і їх числовими еквівалентами (наприклад, 14), повний список яких наведений у таблиці:

Темні кольори

Світлі кольори

0(Black) - чорний

8(DarkGray) - Темно-сірий

1(Blue) - синій

9(LightBlue) - світло-синій

2(Green) - зелений

10(LightGreen) - світло-зелений

3(Cyan) - блакитний

11(LightCyan) - світло-блакитний

4(Red) - червоний

12(LightRed) - світло-червоний

5(Magenta) - фіолетовий

13(LightMagenta) - світло-фіолетовий

6(Brown) - коричневий

14(Yellow) - жовтий

7(LightGray) - світло-сірий

15(White) - білий

Щоб додати виведеним символам ефект мерехтіння, при встановленні кольорів вказується константа Blink (або 16). Мерехтіння буде підтримуватися доти, поки не відбудеться установка кольору символів, що виводяться, без мерехтіння.

Приклад:
TextColor(Yellow+Blink); Write('жовті символи, що миготять');
TextColor(12+16); Write('світло-червоні символи, що миготять');
TextColor(6); Write('коричневі символи');

Існують також процедури, що керують яскравістю зображення. Всі вони діють до їх скасування, тобто до встановлення іншого режиму:
LowVideo - встановлює режим мінімальної яскравості світіння виведених на екран символів.
NormVideo - встановлює режим нормальної яскравості світіння виведених на екран символів. Цей режим встановлюється автоматично при ініціалізації модуля Crt.
HighVideo - установлює режим максимальної яскравості світіння.
Існує можливість у будь-який момент роботи програми використовувати для виведення не весь екран, а деяку його частину, що називається вікном. Розмір вікна визначається користувачем, але не може перевищувати розміру екрана. Для організації вікон у Паскалі використовується процедура
Window(X1,Y1,X2,Y2);
де
X1, Y1 - координати лівого верхнього, а X2, Y2 - правого нижнього кута вікна. Розмір максимального вікна (повний екран) - (1,1,80,25), мінімального - один стовпчик на один рядок, тобто (1,1,1,1).
На екрані можуть знаходитися кілька вікон, але в поточний момент активним являється тільки одне з них, і всі дії, що програмуються користувачем, виконуються щодо поточного вікна.
Для формування складного зображення на екрані при виведенні інформації користувач повинен мати можливість переводити курсор у будь-яку позицію екрана. Для цього в мові Паскаль передбачені наступні процедури і функції:

GoToXY(X,Y:byte) - процедура переводить курсор у задану позицію екрану (або вікна) з координатами Х (стовпчик), Y (рядок); верхній лівий кут екрана має координати (1,1), а правий нижній в стандартному режимі (80,25);
WhereХ, WhereY - функції, що дозволяють одержати відповідні значення X- або Y- координати курсору щодо поточного вікна. Діапазон значень, що повертаються, визначається розмірами поточного вікна або повного екрана.
Завдання дітям: написати фрагмент програми, що виведе в середині екрану прізвище учня червоним кольором, а на наступному рядочку під прізвищем - ім'я жовтим кольором. Прізвище необхідно вивести підвищеною яскравістю, а ім'я з мерехтінням. Колір тла повинен бути синім.

program task;

uses crt;

begin 

 textbackground(blue);  {встановлення кольору тла} 

 clrscr;     {очищення екрану} 

 highvideo; {встановлення підвищеної яскравості зображення} 

 textcolor(red);   {встановлення кольору виведення} 

 gotoxy(35,12); {переведення курсору в задану точку – центр екрану} 

 writeln('Ivanov'); {виведення прізвища} 

 normvideo;

 textcolor(yellow+blink); {встановлення кольору виведення зображення з мерехтінням} 

 gotoxy(35,13);

 writeln('Petro');

end.

В текстовому режимі операторами виведення можна виводити на екран будь-який символ ASCIIтаблиці, навіть той, що відсутній на клавіатурі. В цьому випадку його можна вивести або за допомогою символу # з наступним ASCII-кодом символу, або шляхом набирання ASCII- коду необхідного символу на додатковій цифровій клавіатурі при натиснутій клавіші Alt. Наприклад, один той самий символ "¤" можна вивести на екран так:
Writeln('¤'); - символ отриманий одночасним натисканням клавіш Alt+<ASCII код символу>
Writeln(#253);
За допомогою таких псевдографічних символів можна отримати нескладний малюнок, схожий на всім відомий "японський кросворд", а також різного виду таблиці (дивись повний набір псевдографічних символів ASCII-таблиці).
Поряд із підпрограмами організації роботи з екраном модуль Crt включає засоби керування звуком. У персональних ЕОМ є можливість генерувати звукові сигнали за допомогою вбудованого динаміка частотою 37 - 32767 Гц. Голосність звука не регулюється. Стандартний звуковий сигнал ("біп") постійної тривалості (0.25 с) і частоти (800 Гц) викликається сьомим символом (^G) кодової таблиці ASCII.

Приклад:
writeln('помилка в даних',^G);
writeln('працює процедура',#7,#7);
writeln('підключен драйвер',Chr(7),Chr(7));

Для керування частотою звука і його тривалістю в мові Паскаль використовуються стандартні процедури:
sound(І) - активізує звукові засоби ПЕОМ. Ціле значення I вказує частоту звучання звука в герцах. Звук зазначеної частоти буде генеруватися доти, поки не буде скасований процедурою NoSoud;
NoSound - скасування звука. Скасовує звуковий режим, заданий процедурою Sound;
Delay(I) - вказує час, у продовж якого лунає сигнал.

 

Приклад:

   Begin

            Sound(500);

            Delay(2000);

            NoSound

   End;

У даному прикладі звуковий сигнал частотою 500 Гц буде звучати 2 секунди (2000 мс).
За допомогою цих процедур можна створити найрізноманітніші звукові ефекти. Для цього використовується набір частот, що відповідають нотам різних октав:

Нота

Велика октава

Мала октава

Перша октава

Друга октава

До

130.81

261.63

523.25

1046.50

Ре

146.83

293.66

587.33

1174.07

Мі

164.81

329.63

659.26

1318.05

Фа

174.61

349.23

698.46

1396.09

Соль

196.00

392.00

784.99

1568.00

Ля

220.00

440.00

880.00

1760.00

Сі

246.94

493.88

987.77

1975.00

Для використання в процедурі Sound усі зазначені в таблиці значення частот округлюються
Наприклад, для виконання за допомогою вбудованого динаміка відомої дитячої пісеньки "Ялинка" необхідно написати таку лінійну програму.

program muzika;

begin 

 sound(785);

 delay(10000);

 nosound;

 sound(659);

 delay(5000);

 nosound;

 sound(659);

 delay(5000);

 nosound;

 sound(785);

 delay(10000);

 nosound;

 sound(659);

 delay(5000);

 nosound;

 sound(659);

 delay(5000);

 nosound;

 sound(785);

 delay(5000);

 nosound;

 sound(698);

 delay(5000);

 nosound;

 sound(659);

 delay(5000);

 nosound;

 sound(587);

 delay(5000);

 nosound;

 sound(523);

 delay(20000);

 nosound;

 sound(785);

 delay(10000);

 nosound;

 sound(1046);

 delay(5000);

 nosound;

 sound(880);

 delay(5000);

 nosound;

 sound(785);

 delay(10000);

 nosound;

 sound(659);

 delay(5000);

 nosound;

 sound(659);

 delay(5000);

 nosound;

 sound(785);

 delay(5000);

 nosound;

 sound(698);

 delay(5000);

 nosound;

 sound(659);

 delay(5000);

 nosound;

 sound(587);

 delay(5000);

 nosound;

 sound(523);

 delay(20000);

 nosound;

end.

Домашнє завдання:

  •  прочитати сторінки 47 - 52 запропонованого підручника;
  •  вивчити означення, що прочитані на лекції;
  •  запропонувати дітям вдома створити програму, що виводить на екран деяке псевдографічне зображення, наприклад, таке

    У якості цих символів можна використовувати символи ASCIIтаблиці з кодами 176 - 178, 219 - 223 (дивись відповідну таблицю).


 

А также другие работы, которые могут Вас заинтересовать

23666. Построение ЭС с использованием неупорядоченных фактов (шаблонов) и различных типов условных элементов в антецедентах правил 61.5 KB
  Пример: data 1 €œtwo€. Образец data YELLOW будет сопоставляться со всеми упорядоченными фактами содержащими в любом поле кроме первого символьное значение YELLOW. В частности он будет сопоставляться со следующими фактами: data YELLOW blue red green data YELLOW red data red YELLOW data YELLOW data YELLOW data YELLOW. Задано правило: defrule finddata data x y z = printout t x = x : y = y : z = z crlf и следующее множество фактов: data 1 blue data 1 blue red data 1 blue red 6.
23667. Изучение стратегий разрешения конфликтов в продукционных системах 43.5 KB
  При реализации прямого вывода в продукционных базах знаний машина логических выводов сопоставляет левые части антецеденты правил с базой данных и помещает правила антецеденты которых удовлетворяются в агенду конфликтное множество. Когда правило становится активным условия в его левой части удовлетворяются оно помещается в агенду в соответствии со следующими правилами: 1. Вновь активизируемые правила помещаются над всеми правилами с более низкой значимостью salience и ниже всех правил с более высокой значимостью. Если в результате...
23668. Реализация поиска в пространстве состояний 59 KB
  Каждое состояние в пространстве состояний определяется нахождением каждого персонажа объекта фермера farmer лисы fox козы goat и капусты cabbage на одном из двух берегов shore1 или shore2. Эти слоты могут принимать символьные значения shore1 и shore2. Таким образом для представления вершин ДП можно использовать неупорядоченный факт определяемый следующим шаблоном: deftemplate status slot farmerlocation type SYMBOL allowedsymbols shore1 shore2 slot foxlocation type SYMBOL allowedsymbols shore1...
23669. Задача о миссионерах и каннибалах 48.5 KB
  Каждое состояние в пространстве состояний данной задачи определяется числом миссионеров и каннибалов на каждом берегу shore1miss shore1cann shore2miss и shore2cann и местоположением лодки boatlocation на одном из берегов shore1 или shore2. Для представления вершин дерева поиска можно использовать неупорядоченный факт определяемый следующим шаблоном: deftemplate MAIN::status slot shore1miss type INTEGER range 0 VARIABLE slot shore1cann type INTEGER range 0 VARIABLE slot shore2miss type INTEGER...
23670. Поиск решения со сменой подцелей 33.5 KB
  В процессе работы необходимо реализовать в среде CLIPS программу решения задачи построения башни из блоков. Вводные замечания Задача построения башни из блоков кубиков заключается в последовательном выборе из неупорядоченной кучи блоков и постановки их друг на друга. Процесс решения задачи представляет собой чередование двух фаз: выбора блока из кучи и установки его в башню. При этом больший по размерам блок не может ставиться на меньший по размерам и следовательно на каждом шаге решения задачи необходимо выбирать из кучи самый большой...
23671. Системы искусственного интеллекта. Изучение базовых команд и конструкций CLIPS 91.5 KB
  Решение: defrule datainput initialfact = printout t crlf Vvedite chislo dnei do zacheta tseloe znachenie: bind days read assert days days printout t crlf Vvedite chislo nesdelannyh laboratornyh rabot v bind works read assert works works printout t crlf Vvedite temperaturu na ulitse: bind temper read assert temper temper printout t crlf Est\' li na ulitse osadki da 1 net 0: bind rain read assert rain rain printout t crlf Is there any white rabbit da 1 net...
23672. Разработка гибридных интеллектуальных систем в среде MatLab 174.5 KB
  Постановка задачи: С помощью адаптивной сети нечеткого вывода аппроксимировать функцию: y = 2x2 Ход работы: Исходные данные для обучения нейросети: Структура нейросети имеет вид: Процесс обучения нейронной сети: Результат обучения нейронной сети: Число эпох 40 Значение ошибки 11296 Просмотр поверхности соответствующей системы нечеткого вывода: Правила сгенерированной системы нечеткого вывода: Результаты аппроксимации с помощью сети: x y Y y y δy 04 032 0322 0002000 0006250 16 512 59 0780000 0152344 28 1568 152 0480000...
23673. Изучение основных возможностей и базовых команд среды CLIPS 61 KB
  Исполнение пакетного файла Вызов редактора Инициализация конструкций Запуск МЛВ Выполнение одного шага вывода Активизация окна списка фактов Активизация окна агенды Для сброса среды CLIPS в исходное состояние используется команда clear или соответствующий пункт меню Execution. Представление фактов и работа с ними. Факты являются одной из основных форм представления информации в CLIPSсистемах и используются правилами для вывода новых фактов из имеющихся. Все текущие факты в CLIPS помещаются в список фактов factlist.
23674. КОНТРОЛЬ НАД ТРУДОВЫМ ПРОЦЕССОМ: ДЕЙСТВИЯ УПРАВЛЯЮЩИХ 173 KB
  Социология труда в советский период претендовала на роль ведущей отрасли социологического знания. Более того проявилась тенденция выдвинуть €œтруд€ на роль центральной объясняющей категории и представить вообще всю социологию как социологию труда11. К его основным элементам мы относим следующие: постановка целей; распределение функций между работниками; регулирование ритма и интенсивности труда; оценка объема и качества выполненных работ; дисциплинарные санкции; системы вознаграждения за труд. Втретьих и для нас в данном случае...