Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Министерство образования и науки Российской Федерации



МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

методические рекомендации

для УЧЕБНОЙ практиКИ студентов

по дисциплине «Основы алгоритмизации и программирования»

Специальность

230105 51 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ

 

Ростов-на-Дону 2011


Рассмотрены на заседании Ц(П)К специальности 230105.51 Программное обеспечение вычислительной техники и автоматизированных систем

«06» апреля 2010 г. Протокол № 9

Председатель Ц(П)К _____________

 


Практическая работа

Тема «Модуль CRT»

1 Цель работы

Изучить процедуры и функции модуля CRT.

 

2 Задачи работы

Научиться основным алгоритмам решения задач с использованием процедур и функций модуля CRT в языке Pascal.

 

3 Порядок выполнения работы

3.1 В среде программирования Turbo Pascal составить и отладить программу решения следующей задачи:

Напишите самую короткую программу (состоящую из BEGIN и END.) и, запустив компилятор (по [Alt-F9]), убедитесь, что программа не содержит ошибок. Сохраните результат работы на диске.

1. С помощью оператора WriteLn выведите на экран монитора фразу: Привет, студент!

2. Запустите программу на исполнение (по [Ctrl-F9]). Чтобы увидеть результат работы программы нажмите [Alt-F5]. По нажатию любой клавиши вернитесь в среду программирования.

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

4. Улучшите технологический останов программы, заменив оператор ReadLn на ReadKey. Опробуйте это нововведение.

5. Предусмотрите очистку экрана перед выводом фразы. Проверьте работоспособность программы.

6. Доработайте программу, сделав, чтобы фраза печаталась на синем фоне. Попробуйте менять цвет фона. Выясните, сколько цветов можно использовать в качестве фоновой окраски.

7. Доработайте программу, сделав, чтобы фраза печаталась жёлтым цветом по синему фону. Выясните, сколько цветов можно использовать в качестве основного (пишущего) цвета.

8. Добейтесь, чтобы фраза печаталась в центре экрана (оператор GotoXY не использовать!).



9. Добейтесь, чтобы фраза печаталась в центре экрана (с помощью оператора GotoXY).

10. Заставьте мерцать слово «студент!» и пусть оно будет другого цвета, в отличие от слова «Привет,».

11. Добейтесь, чтобы фраза печаталась без курсора.

12. Доработайте программу в соответствии с требованиями, изложенными в задании к практической работе №1 (см. Приложение А). Первыми строками программы должны быть комментарии.

 

3.2 В среде программирования Turbo Pascal составить и отладить программу решения следующей задачи: продемонстрировать с помощью динамика компьютера восходящую и нисходящую музыкальную гамму.

Решение:

uses crt;

const f:array[1..12] of real=(130.8,138.6,146.8,155.6,164.8,174.6,

185.0,196.0,207.7,220.8,233.1,246.9);

temp=100;

var k,n:integer;

begin

for k:=0 to 3 do

for n:=1 to 12 do

begin

sound(round(f[n]*(1 shl k)));

delay(temp);

nosound;

end;

for k:=3 downto 0 do

for n:=12 downto 1 do

begin

sound(round(f[n]));

delay(temp);

nosound;

end;

end.

 

3.3 Для задания приложения Б написать программу.

3.4 Проанализировать полученные результаты.

3.5 Составить отчет о проделанной работе.

 

4 Отчет о проделанной работе должен содержать

- название и цель работы;

- номер и условие своего варианта;

- тексты программ;

- полученные результаты;

- анализ результатов;

- ответы на контрольные вопросы.

 

 

5 Теоретические сведения

5.1. Вывод фразы на экран монитора

Write (‘Привет!’); {курсор остаётся в конце фразы}

или WriteLn (‘Привет!’); {курсор переходит в начало новой строки}

5.2. Технологический останов программы

ReadLn; {не рекомендуется}

или ReadKey; {работает после подключения модуля Crt}

5.3. Очистка экрана

ClrScr; {работает после подключения модуля Crt}

5.4. Изменение цвета фона

TextBackGround(Color); {работает после подключения модуля Crt,

после этой команды обычно следует команда ClrScr}

Здесь параметр Color может принимать такие значения:

Black или 0 (чёрный),

Blue или 1 (синий),

Green или 2 (зелёный),

Cyan или 3 (голубой),

Red или 4 (красный),

Magenta или 5 (фиолетовый),

Brown или 6 (коричневый),

LightGray или 7 (ярко-серый).

5.5. Изменение цвета текста

TextColor(Color); {работает после подключения модуля Crt}

Здесь параметр Color может принимать такие же значения, как в п. 5.4 и, кроме этого:

DarkGray или 8 (тёмно-серый),

LightBlue или 9 (ярко-синий),

LightGreen или 10 (ярко-зелёный),

LightCyan или 11 (ярко-голубой),

LightRed или 12 (ярко-красный),

LightMagenta или 13 (ярко-фиолетовый),

Yellow или 14 (жёлтый),

White или 15 (белый).

Можно заставить мерцать отображаемый текст, для этого следует использовать такую запись: TextColor(Yellow + Blink); или TextColor(14 + 128);

5.6. Позиционирование курсора на экране монитора

GotoXY(кол-во символов по горизонтали, кол-во строк по вертикали);

{работает после подключения модуля Crt}

5.7. Выключение/включение курсора на экране монитора

CursorOff; {курсор выключить}

CursorOn; {курсор включить}

{эти команды работают после подключения модуля User}

Процедуры и функции

И в PascalABC и в TurboPascal, чтобы фон залился цветом необходимо использовать процедуру ClrScr.

5.8 Процедура Window(x1,y1,x2,y2); - размещает текстовое окно

где x1,y1 – координаты левого верхнего угла,

x2,y2 – координаты правого нижнего угла.

Замечание1: окно заливается цветом после использования очистки экрана.

Замечание2: границы текущего окна запоминаются в 2х глобальных переменных модуля crt: WindMin – x1,y1, WindMax – x2y2.

5.9 Процедура TextMode – задает соответствующий текстовый режим работы адаптера.

TextMode(x); x:Word;

X – код текущего режима.

Название режима

X

Х

Черно-белый режим 40x25

 

BW40

Цветной 40x25

 

Co40

Черно-белый 80x25

 

BW80

Цветной 80x25

 

Co80

 

Код режима TextMode запоминается с помощью глобальной переменной LastMode.

 

5.10 Процедура GotoXY – переводит курсор в нужное место экрана или текущего окна.

Gotoxy(20,40);

5.11 Процедура СlrЕoL стирает часть строки от текущего положения курсора до правой границы экрана (положение курсора остается неизменным).

5.12 Процедура DelLine – удаляет всю строку с курсором в текущем окне.

5.13 Процедура InsLine – вставляет пустую строку там где находится курсор.

5.14 Процедура LowVideo – устанавливает пониженную яркость экрана.

5.15 процедура NormVideo – нормальная яркость экрана.

5.16 Процедура highvideo – повышенная яркость экрана.

5.17 Процедура Sound – выдает сигнал на встроенный динамик компьютера с заданной частотой звука.

Sound(x); x:Word;

5.18 Процедура nosound – выключает динамик компьютера;

5.19 Процедура delay – обеспечивает задержку работы программы (в миллисекундах);

Delay(x); x:word.

5.20 Функция readkey– возвращает значение символа клавиатуры.

а:=readkey;

5.21 Функция keypressed – состояние буфера клавиатуры (false – буфер пуст, true – в буфере есть символ, непрочитанный программой)

Замечание: keypressed не задерживает исполнения программы.

Фрагменты применения keypressed:

1. Uses crt;

Repeat

until KeyPressed;

 

2. Uses crt;

Var c:char;

Begin

While keypressed do

c:=readkey;

End.

5.22 Функция WhereX – возвращают текущую горизонтальную координату курсора.

5.23 Функция WhereY – возвращают текущую вертикальную координату курсора.

5.24

Нота до

Sound(523)

Нота до диез

Sound(554)

Нота ре

Sound(587)

Нота ре диез

Sound(622)

Нота ми

Sound(659)

Нота фа

Sound(698)

Нота фа диез

Sound(740)

Нота соль

Sound(784)

Нота соль диез

Sound(831)

Нота ля

Sound(880)

Нота ля диез

Sound(932)

Нота си

Sound(988)

 

 


 

ПРИЛОЖЕНИЕ А

 

Разработайте программу, формирующую на синем фоне в центре экрана фразу «Привет, студент». Слово «Привет,» должно быть написано желтым цветом, а «студент!» – ярко-зеленым мерцающим. Фразу заключите в прямоугольную рамку, выполненную белой двойной линией и от рамки должна падать черная тень, будто источник света установлен одновременно слева, сверху и чуть впереди рамки.

Внизу экрана сформируйте ярко-голубую подсказку о способе завершения работы с программой: «Для завершения работы нажмите любую клавишу…».

Совет: Для вычерчивания рамки, а также изображения тени используйте символы псевдографики


Приложение Б

1. Написать желтыми буквами на синем фоне текст, приостановить работу системы, а затем восстановить чёрный цвет экрана и белый цвет знаков на экране.

2. Создать белое окно на синем фоне. Ввести в него текст. Восстановить цвет экрана.

3. Создать три окна с заголовками. Очистить экран.

4. Продемонстрировать с помощью динамика компьютера восходящую и нисходящую музыкальную гамму.

5. Написать программу, изменяющую яркость экрана. Программа должна выдавать сообщение о яркости экрана. Каждое сообщение в новом окне.

6. Создать белое окно на синем экране. Вывести в окне свою фамилию, имя, отчество красным цветом.

7. Изобразить трехполосный экран: белый, синий, красный. Полосы располагаются горизонтально.

8. Создать окно заданного цвета с определенным цветом знаков. Цвета вводятся с клавиатуры.

9. Создать белое, жёлтое, голубое окна на синем экране. Создать надписи:

а) на белом окне - «Фамилия»;

б) на жёлтом окне - «Имя»;

в) на голубом окне - «Отчество».

10. Создать жёлтое, голубое, красное окна на синем экране. Создать надписи: 1) на жёлтом - «Ввод данных», 2) на голубом - «Результат», 3) на красном - «Операция». Изобразить тени от окон.

11. Создать красное, желтое окна на зеленом экране. В первое окно ввести 3 числа построчно, а во втором окне вывести их в одну строку.

12. Написать красными буквами на зеленом фоне текст. Остановить программу. Восстановить черный цвет экрана и белый цвет знаков.

13. Создать зеленое окно на желтом фоне. Ввести в него три числа построчно. Создать тень от окна.

14. Изобразить три вертикальные полосы разного цвета на экране, которые меняют свои цвета.

15. Создать программу, которая издает звук, когда вводят данные в окно синего цвета. Предварительно изобразить три окна: красное, синее, зелёное.

16. Создать окно, ввести в него текст. Цвета знаков и окна указывает пользователь. Отобразить тень от окна. Цвет тени задаёт программа.

17. Изобразить три поочерёдно появляющиеся окна разного цвета.

18. Создать красное окно на зеленом фоне. Ввести в него три строки построчно. Создать тень от окна.

19. Создать красное, голубое и белое окна на зеленом экране. Создать надписи: 1) на красном - «Фамилия:», 2) на голубом - «Имя:», 3) на белом - «Отчество:». Изобразить тени от окон.

20. Изобразить три горизонтальные полосы разного цвета на экране, которые меняют свои цвета.


ПРИЛОЖЕНИЕ Б

 

1. Сделайте “датчик чувствительности уха к высоким частотам”. Известно, что человеческое ухо не может слышать звуки, частота которых превышает 10000-20000 гц. У разных людей порог чувствительности разный. Напишите программу, которая выдает звуки все более высокой частоты и печатает на экране значения этой частоты, так что человек успевает увидеть, при какой частоте он перестает слышать звук. Вы сможете определить, у кого порог чувствительности выше – у вас или у вашего друга. Удобно внутри цикла использовать команду ReadLn.

2. Уменьшив как следует числа в операторах Delay(1000) и hz:=hz+40 можно добиться впечатления одного непрерывного постепенно повышающегося звука (сирена). Попробуйте сделать это.

3. Быстро чередуя короткие звуки двух разных частот и короткие паузы, можно добиться разных звуковых эффектов и шумов, например звука телефонного звонка или моторчика авиамодели.

4. Если у вас есть некоторое музыкальное образование, вы можете попробовать заставить компьютер исполнить простенькую мелодию из нескольких нот.

5. Уменьшив как следует числа в операторах Delay(1000) и hz:=hz+40 можно добиться впечатления одного непрерывного постепенно повышающегося звука (сирена). Если вам это удалось, попробуйте смоделировать сирену милицейской машины: звук вверх - звук вниз - звук вверх - звук вниз - … и так несколько раз.

6. Закодируем азбукой Морзе текст PIPING и заставим компьютер воспроизвести соответствующий набор звуков. Пусть продолжительность точки - 100 миллисекунд, тире - 200, пауза молчания после точки или тире - 80, пауза после буквы - 300. Частота звуков не играет роли, выберем наугад 900 гц.

Аa

.-

Бb

-…

Вw

.--

Гg

--.

Дd

-..

Еe

.

Жv

…-

Зz

--..

Иi

..

Йj

.---

Кk

-.-

Лl

.-..

Мm

--

Нn

-.

Оo

---

Пp

.--.

Рr

.-.

Сs

Тt

-

Уu

..-

Фf

..-.

Хh

….

Цc

-.-.

Ч

---.

Ш

----

Щq

--.-

Ъ,Ьx

-..-

Ыy

-.--

Э

..-..

Ю

..--

Я

.-.-

 

 

7. Составьте программу с процедурами, которая исполнит мелодию “Чижик-пыжик” (ми-до-ми-до-фа-ми-ре-соль-соль-ля-си-до-до-до).

8. Составьте программу с процедурами, которая исполнит мелодию “Два веселых гуся” (фа-ми-ре-до-соль-соль): 2 раза

Фа-ля-ля-фа-ми-соль-соль

ми-ре-ми-фа-ре-до-до.

 


Дата добавления: 2015-11-04; просмотров: 22 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
может быть картинка не слишком яркая (не должна отвлекать) | 

mybiblioteka.su - 2015-2024 год. (0.04 сек.)