Published using Google Docs
Урок 42 АП 11
Updated automatically every 5 minutes

Урок 42                                                                                 Інформатика (АП)


Можливості та властивості компонентів для реалізації мультимедійних можливостей мови програмування(звук)


Мета.

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

Розвиваюча. Розвивати логічне мислення, самостійність, вміння застосовувати набуті знання до практичних завдань.

Виховна. Виховувати наполегливість, естетичність у оформленні, грамотно висловлювати свої думки, вміння раціонально використовувати час.

Тип уроку. Засвоєння нових знань і навичок.

Матеріали для роботи з учнями:

Графіка в АВСPascal

Графіка в АВСPaskal

http://nabasice.narod.ru/index/0-17

http://www.youtube.com/watch?v=S7UHg1mF6Rw

http://school4-golovko.narod.ru/kopilka/ovseenko_1.htm

http://festival.1september.ru/articles/603812/

http://wap.studactive.borda.ru/?1-1-0-00000032-000-0-0

Робота з діловою графікою засобами мови Паскаль

АВСPascal

Сучасне програмування

Задачка

Відеоуроки

План

  1. Перевірка домашнього завдання.
  2. Актуалізація опорних знань.
  3. Мотивація навчальної діяльності.
  4. Мітки. Безумовний оператор.
  5. Розв’язування задач.
  6. Типові запитання до уроку.
  7. Домашнє завдання.

Пам’ятка для учня!

  1. Пригадайте правила техніки безпеки при роботі з ПК.
  2. Через кожні 15 хв. виконуйте вправи для очей та для зняття м’язової втоми.

Хід уроку


1. Перевірка домашнього завдання.

        1. Наявність.

2. Питання.


2. Актуалізація опорних знань.

  1. Яке існує правило перемикання з символьного режиму в графічний? (Зазвичай екран комп'ютера знаходиться в символьному режимі, а для перемикання екрану в графічний режим необхідне підключення модуля graphABC. В результаті цього, екран очищається і переходить в кольоровий графічний режим.)
  2. У графічному режимі весь екран розбивається на окремі крапки - («пікселі»)
  3. За допомогою яких процедур можна отримати висвічування точки на екрані, малювання ліній, прямокутників?

3. Мотивація навчальної діяльності.

Крім графічних можливостей середовище програмування має інші мультимедійні можливості: відтворення звуку


4. Вивчення нового матеріалу.

Звук в Pascal ABC

Модуль Sounds містить процедури и функції для роботи з звуком:

n:=LoadSound(fname) - завантажує звук з файлу з ім'ям fname в оперативну пам'ять і повертає описувач звуку в цілу змінну п (звуковий файл повинен може мати будь-який формат);

PlaySound (n) - починає програвання звуку з описувача n;

StopSound (n) - зупиняє програвання звуку з описувача n;

RewindSound (n) - ’’ перемотує" звук з описувача n на початок;

DestroySound (n) - видаляє звук з описувача n з оперативної пам'яті, описувач звуку при цьому стає недійсним;

SoundLength (n) - повертає тривалість звуку з описателем n в мілісекундах.

Приклад використання модуля sound:

Program Player;

Uses Sounds, CRT;

var n: integer;

begin

n:=LoadSound(С:\WINDOWS\MEDIA\ringin.wav);//укажите расположение файла PlaySound(n);

Sleep(SoundLength(n));

DestroySound(n);

end.

uses CRT, Sounds;

var s: Sound;

begin

s:=Sound.Create('m.wav');//m - Название самой песни (обязательный формат (.wav))

s.Play;

Sleep(s.Length);

s.Destroy;

end.//Конец программы

В якості розгорнутого приклад використання функцій модуля crt напишемо програму, яка заповнює екран випадковими кольоровими вікнами, а також є прикладом програвання нескладної "музики" через вбудований динамік комп'ютера. Для малювання рамок у цій програмі використовуються символи псевдографіки, які є тільки в кодуванні DOS

Program crt_example;

uses crt;  

const minLen=10; {минимальная длина окна}

  pause=500; {задержка при выводе звука}

  blink=128; {установка бита мерцания}

var x1,y1,x2,y2 :integer;

        {координаты окна}

  background, {цвет фона окна}

  color, {цвет текста}

  freq, {частота звука}

  setblink :integer; {есть/нет мерцание}

 

procedure doubleFrame (x1,y1,x2,y2:integer;

 Header: string);

{Процедура рисует двойной рамкой окно

 с заголовком и подготавливает его

 внутреннюю часть для ввода текста}

{ x1,y1,x2,y2 - координаты окна}

{ header  - заголовок окна}

var i,j: integer;

begin

 Window (1,1,80,25);

 {Рисуем верхнюю строку рамки }

 gotoxy (x1,y1); write ('╔');

 for i:=x1+1 to x2-1 do write('═');

 write ('╗');

 {Перебираем строки внутри окна}

 for i:=y1+1 to y2-1 do begin

  gotoxy (x1,i); write('║');

  for j:=x1+1 to x2-1 do write (' ');

   {Внутренность окна - пробелы}

  write('║'); {Правая граница}

 end;

 {Аналогично рисуем нижнюю строку}

 gotoxy (x1,y2);  write('╚');  

 for i:=x1+1 to x2-1 do write('═');

 write('╝');

 gotoxy (x1+(x2-x1+1-Length(Header))

  div 2,y1);

  {Ставим курсор в середину верхней строки}

 write (Header); {Выводим заголовок}

 Window (x1+1,y1+1,x2-1,y2-1);    

  {Устанавливаем текущее окно внутри рамки}

 gotoxy (1,1);{Ставим курсор в левый

                   верхний угол нового окна}

end;

 

begin

 textbackground (BLACK);  

 Window (1,1,80,25);

  {окно вывода - весь экран}

 clrscr;

 {Инициализируем генератор случайных чисел}

 randomize;

  DirectVideo:=true;

 while not keyPressed do begin

  {Пока не нажата клавиша,

   выполняется цикл}

  x1:= 1 + random(80-minLen);

  x2:=x1 + minLen + random (80-x1-minLen);

  y1:= 1 + random(25);

  y2:= 1 + y1 + random (25-y1);

  {Выбрали случайные координаты окна }

  background:=random(8);

  color:=random(16);

  {Выбрали цвет фона и текста}

  setblink:=random(2);

  {Выбрали установку мерцания ДА или НЕТ}

  textbackground (background);

  textcolor(color+blink*setblink);

   {Цвет текста с учетом мерцания}

  doubleFrame (x1,y1,x2,y2,' Hello! ');

   {Рисуем окно с помощью процедуры}

  background := (textAttr and 112) shr 4;

   { Из байта цвета, содержащегося в

         переменной textAttr, выделяем цвет

         фона. Операция shr xx сдвигает

         байт вправо на xx бит, а 112 в

         двоичной системе это 01110000

         (включены биты, отвечающие за фон) }

  case background of  

   { В зависимости от цвета фона выбираем

         частоту звучания динамика }

  0: freq:=262;  {Частота ноты До}

  1: freq:=294;  {        -"-  Ре}

  2: freq:=330;  {        -"-  Ми}

  3: freq:=349;  {        -"-  Фа}

  4: freq:=392;  {        -"-  Соль}

  5: freq:=440;  {        -"-  Ля}

  6: freq:=494;  {        -"-  Си}

  7: freq:=524;  {        -"-  До}

  end;

  sound (freq);  {Включаем динамик}

  Delay (pause);

   {Ждем, пока не истечет задержка}

  Nosound;           {Выключаем динамик!}

 end; {Конец основного цикла}

 {Восстанавливаем атрибуты текста и окно}

 textbackground (BLACK);

 textcolor (LIGHTGRAY);

 Window (1,1,80,25);

 clrscr;

end.

Вставка зображення

uses

    GraphABC;

var

    pict: Picture;

begin

    pict := Picture.Create('<путь к файлу-рисунку>');

    pict.Draw(0, 0);

end.

uses GraphABC;

var pic: integer;

begin

SetWindowSize(640,520);

ClearWindow(clBlack);

SetBrushColor(clSkyBlue);

Ellipse(106,220,122,300);

pic:=LoadPicture('C:\Pabc\a1.bmp');

DrawPicture(pic,60,310,-50,-100);

DrawPicture(pic,380,10,250,500);


6. Самостійне робота.

  1. Написати програму, що реалізовує рівномірний рух Віні_Пуха по горизонталі з відтворенням звуку.
  2. Написати програму, що реалізовує рівномірний рух Віні-Пуха і П’ятачка назустріч з відтворенням звуку.

7. Підсумки уроку.

  1. У чому полягає особливість програмування з використанням графіки?
  2. Що таке ініціалізація графічного режиму? Яким чином відбу­вається налагодження програми на роботу з необхідним типом монітора в певному режимі?
  3. Які процедури модуля Graph дають змогу виводити на екран монітора прості геометричні фігури?
  4. Які процедури модуля Graph дають змогу працювати з кольо­рами? Які їх особливості?
  5. Які процедури і функції модуля Graph реалізують роботу з текс­тами?

9. Домашнє завдання.

  1. Опрацювати теоретичний матеріал.
  2. Виконати вправу.
  1. Написати програму, що реалізовує вільне падіння кольорової кулі по вертикалі.
  2. Написати програму, що реалізовує центральне абсолютно пружне зіткнення двох куль з однаковими масами , що рухаються назустріч один одному з однаковими швидкостями. Маси куль і швидкості задаються користувачем.
  3. Написати програму, що реалізовує центральне абсолютно непружне зіткнення двох куль з різними масами , що рухаються назустріч один одному з різними швидкостями. Маси куль і швидкості задаються користувачем.