Практическое занятие № 5 Программирование графических задач 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Практическое занятие № 5 Программирование графических задач



1. Цель занятия:

- научиться выполнять постановку задачи, разбивать простую задачу на элементарные этапы, научиться записывать, отлаживать и выполнять простую программу средствами системы программирования Turbo Pascal.

 

2. Перечень необходимых средств обучения (оборудование, материалы)

– технические средства обучения: персональные компьютеры, локальная сеть, коммутатор для подключения в сети Internet

 

Используемое программное обеспечение:

- Microsoft Windows XP/7

- Язык программирования Free Pascal

- Антивирус Касперского 6.0

 

3. Основные теоретические положения

 

Взаимодействие прикладных программ с графическими устройствами обеспечивается специальными программами – драйверами.

 

В рабочем каталоге могут находиться следующие файлы:

CGA.BGI — драйвер для IBM CGA, MCGA;

EGAVGA.BGI — драйвер для IBM EGA, VGA;

HERC.BGI — драйвер для Hercules;

ATT.BGI — драйвер для АТ&Т6300 (400 строк);

PC3270.BGI — драйвер для IBM 3270PC;

IBM8514.BGI — драйвер для IBM 8514.

 

Такой набор файлов необходим при составлении программ, кото­рые будут работать практически на всех ПЭВМ, совместимых с ПЭВМ фирмы IBM. Если же такая задача не стоит, то достаточно иметь один файл, соответствующий представленному в используемой ПЭВМ графическому адаптеру, чаще всего это EGAVGA.BGI. Стандартно драйверы размещены в подкаталоге интегрированной среды \..BGI

 

Процедуры и функции, необходимые для работы в графическом режиме собраны в модуле GRAPH.TPU. GRAPH.TPU не входит в состав системной библиотеки TURBO.TPL, может размещаться в подкаталоге интегрированной среды \..Units. Подключается к программам через Uses Graph

При необходимости использования штриховых шрифтов, необходимо, чтобы в рабочем каталоге размещались файлы шрифтов (.CHR).

 

Для работы в графическом режиме необходимо подключение драйвера графического устройства (адаптера). Подключение драйвера осуществляется вызовом процедуры InitGraph.

Процедура InitGraph определяет тип адаптера, пред­ставленного в ПЭВМ, и загружает в память соответствующий BGI-драйвер, в котором определены возможные режимы работы. Процедура описана

Procedure InitGraph(Var GraphDrive, GraphMode: Integer;DriverPath:String);

{тип адаптера} {режим графики} {путь к драйверу}

 

Автоматическое определение драйвера реализуется, когда в программном коде присутствует оператор присваивания

GraphDrive:= Detect;

При этом инициализируется драйвер с максимальным разрешением (программа получает значения параметров GraphDrive и GraphMode).

Третий параметр процедуры InitGraph – это строка, в которой указывается полный маршрут к драйверу. Если драйвер размещен в каталоге загрузки Паскаля, то маршрут соответствует пустой строке “.

Если в указанном каталоге драйвер не найден, происходит программный сбой, с переходом в окно редактора интегрированной среды и выводом сообщения ошибки. Программный сбой следует обрабатывать. Для этого можно применить функцию GraphResult:Ineger, которая возвращает результат вызова одной из указанных ниже процедур или функций, и функцию GraphErrorMsg(ErrorCode), которая возвращает сообщение о причине сбоя.

После завершения работы в графическом режиме драйвер необходимо отключить. Отключение драйвера приводит к переводу системы из графического режима. Вызов процедуры CloseGraph выгружает графический драйвер из памяти и восстанавливает текстовый режим работы видеоадаптера.

Процедура RestoreCRTMode позволяет перейти из графического режима в текстовый без выгрузки драйвера.

Процедура SetGraphMode восстанавливает графический режим, если перед этим был вызов RestoreCRTMode.

Любая программа, использующая графику, обязательно должна содержать вызов процедуры инициализации графического режима InitGraph и обращение к процедуре его закрытия. CloseGraph.

 

4. Содержание заданий

 

Варианты заданий:

Вариант U0.

Написать программу, которая вычерчивает на экране домик.

 

Вариант U1.

Написать программу, которая выводит на экран флаг олимпийских игр.

 

Вариант U2.

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

 

Вариант U3.

Написать программу, которая вычерчивает на экране домик.

 

Вариант U4.

Написать программу, которая вычерчивает на экране ракету.

 

Вариант U5.

Написать программу, которая выводит на экран пятиконечную звезду.

 

Вариант U6.

Написать программу, которая рисует на экране веселую рожицу.

 

Вариант U7.

Написать программу, которая рисует на экране автомобиль.

 

Вариант U8.

Написать программу, которая рисует на экране флажок красного цвета.

 

Вариант U9.

Написать программу, которая рисует на экране паровоз.

 

Вариант U10.

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

 

Вариант U11.

Написать программу, которая рисует на экране грустную рожицу.

 

 

5. Содержание отчёта:

- постановка задачи;

- блок схема алгоритма решения задачи;

- программа на языке программирования Паскаль;

 

6. Контрольные вопросы

6.1. Чем объяснить разные возможности текстового и графического режимов видеомонитора?

6.2. За счет каких элементов компьютера обеспечивается аппаратная поддержка графики?

6.3. Что такое видеоадаптер, каково его назначение?

6.4. Какие процедуры предназначены для работы с видеостраницами?

6.5. Как включить графический режим?

6.6. Какова система координат, используемая при построении графических изображений?

 

7. Список рекомендуемой литературы

7.1 Гвоздева В.А. Введение в специальность программиста.- М.:ФОРУМ; ИНФРА-М, 2010. - 206с.

7.2 Колдаев В. Д. Сборник задач и упражнений по информатике: учеб.пособие для сред.проф.образования / В. Д. Колдаев, Е. Ю. Павлова. - М.: ФОРУМ; ИНФРА-М, 2010. - 256с.

7.3 Мишенин А.И. Сборник задач по программированию: учеб. пособие/ М.: Финансы и статистика; ИНФРА-М,2009 - 224с.


Практическое занятие № 6. Обработка элементов линейных массивов.

 

1. Цель занятия:

- научиться конструировать алгоритмы обработки элементов массивов, а также составлять и отлаживать программы обработки элементов массивов.

 

2. Перечень необходимых средств обучения (оборудование, материалы)

– технические средства обучения: персональные компьютеры, локальная сеть, коммутатор для подключения в сети Internet

 

Используемое программное обеспечение:

- Microsoft Windows XP/7

- Язык программирования Free Pascal

- Антивирус Касперского 6.0

 

3. Основные теоретические положения

 

Массивы - формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое. При описании массива необходимо указать общее число входящих в массив элементов и тип этих элементов. Например:

var

а: array [1..10] of Real;

b: array [0..50] of Char;

с: array [-3..4] of Boolean;

Доступ к каждому элементу массива в программе осуществляется с помощью индекса - целого числа. Обработка элементов массива представлена в примере 1.

 

Пример 1.

Program Average;

{Программа создает массив из N случайных целых чисел, равномерно распределенных в диапазоне от 0 до MAX_VALUE-1, подсчитывает среднее арифметическое этих чисел, а также минимальное и максимальное из них.}

const

N = 1000;

MAX_VALUE = 100+1; {Диапазон значений случайных чисел}

var

m: array [1..N] of Integer; {Массив чисел}

i: Integer; {Индекс массива}

max, min: Integer; {Максимальное и минимальное число}

s: Real; {Сумма чисел}

begin

{Наполняем массив случайными числами:}

for i:= 1 to N do

m[i]:= random(MAX_VALUE); {Задаем начальные значения переменных:}

s:= 0;

max: = m [ 1 ];

min: = m [ 1 ];

 

{Цикл вычисления суммы всех случайных чисел и поиска минимального и максимального:}

for i:= 1 to N do

begin

s: = s + m [ i ];

if m[i] < min then

min:= m[i]

else if m[i] > max then

max:= m[i]

end;

{Вычисляем среднее значение и печатаем результат:}

WriteLn('MMH = ',min,' Макс = ', max, ' Среднее = ',s/N)

end.

Для создания массива используется встроенная функция RANDOM (MAX), которая возвращает случайное целое число, равномерно распределенное в диапазоне от 0 до МАХ-1 (МАХ- параметр обращения).

 

4. Содержание заданий

Варианты заданий:

Вариант U0.

В последовательности действительных чисел a1, a2, ….an. есть только положительные и отрицательные элементы. Вычислить произведение отрицательных элементов P1 и произведение положительных элементов P2. Сравнить модуль P1 с модулем P2, указать какое из произведений по модулю больше.

 

Вариант U1.

Дана последовательность целых чисел a1, a2, ….an. Выяснить какое число встречается раньше – положительное или отрицательное.

 

Вариант U2.

При поступлении в вуз абитуриенты, получившие двойку на первом экзамене, ко второму не допускаются. В массиве A[N] записаны оценки экзаменующихся, полученные на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену.

 

Вариант U3.

Дана последовательность натуральных чисел a1, a2, ….an.Создать массив из четных чисел этой последовательности. Если таких чисел нет, то создать сообщение об этом факте.

 

Вариант U4.

Даны действительные числа a1, a2, ….an.. Поменять местами наибольший и наименьший элементы.

 

Вариант U5.

Даны целые числа a1, a2, ….an. Вывести на печать только те числа, для которых выполняется ai <= i.

 

Вариант U6.

Дана последовательность действительных чисел a1, a2, ….an.. Указать те ее элементы, которые принадлежат отрезку [c,d].

 

Вариант U7.

Последовательность действительных чисел заканчивается нулем. Найти количество членов этой последовательности.

Вариант U8.

Дано действительное число Х и массив А[N]. В массиве найти два члена, среднее арифметическое ближе всего к Х.

 

Вариант U9.

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

 

5. Содержание отчёта:

- постановка задачи;

- блок схема алгоритма решения задачи;

- программа на языке программирования Паскаль;

 

6 Контрольные вопросы.

6.1. Дайте определение массива.

6.2. Какие виды массивов вы знаете?

6.3. Где и как определяется общее число элементов массива?

6.4. Дайте определение индекса. Какие типы данных можно использовать при описании индекса?

6.5. Как осуществляется обращение к каждому элементу массива?

7. Список рекомендуемой литературы

7.1 Гвоздева В.А. Введение в специальность программиста.- М.:ФОРУМ; ИНФРА-М, 2010. - 206с.

7.2 Колдаев В. Д. Сборник задач и упражнений по информатике: учеб.пособие для сред.проф.образования / В. Д. Колдаев, Е. Ю. Павлова. - М.: ФОРУМ; ИНФРА-М, 2010. - 256с.

7.3 Мишенин А.И. Сборник задач по программированию: учеб. пособие/ М.: Финансы и статистика; ИНФРА-М,2009 - 224с.



Поделиться:


Последнее изменение этой страницы: 2016-04-18; просмотров: 696; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.116.159 (0.029 с.)