Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Варианты заданий курсовых работ.doc
Скачиваний:
12
Добавлен:
02.04.2015
Размер:
370.18 Кб
Скачать

Модуль View

Модуль содержит процедуры View и Zap_1.

Zap_1 - процедура, которая помечает единицами все элементы матрицы M, попадающие внутрь прямоугольника с координатами x1,y1,x2,y2. Viewпроцедура, считывающая координаты прямоугольников из текстового файла в стек и производящая подсчёт количества (n) таких прямоугольников. В функции запрашивается имя файла с исходными данными и производится его открытие для чтения процедурой Reset(f), если открыть его не удалось, то запрос повторяется. В том случае, когда файл опять не удалось открыть, производится останов программы. Блок схема этой функции приведена на рис.8.

Головная программа

Блок-схема головной программы представлена на рис. 2. Она содержит вызов процедур модулей Graphic, Stack и View (см. рис.7), а также и вызов глобальных процедур Poisk и Rec:

Poisk – функция поиска «1» в матрице. Если 1 в матрице есть, то она принимает значение «true» в противном случае – «false». Схема алгоритма функции приведена на рис. 6..

Центральное место в программе занимает рекурсивная процедурa Rec (см. рис.8) Она в качестве формальных параметров получает индексы элемента матрицы M, уже заменённого на «2». В процедуре просматриваются соседние с данным элементы. А именно, элементы “над”, “под”, справа и слева от него. Если какой-то из них равен 1, то:

  • он заменяется на «2»;

  • осуществляется рекурсивный вызов процедуры Rec уже с его индексами.

Блок схема процедуры Rec приведена на рис.8. Вызов этой процедуры производится из головной программы. Сначала головная программа обращается к процедурам считывания координат прямоугольника из файла и прорисовки их в графическом режиме и при этом в матрице М помечаются единицами все элементы, попадающие внутрь прямоугольников. Затем в матрице М ищутся индексы любой 1, и производится обращение к процедуре Rec, причём найденные индексы передаются в качестве формальных параметров.

Процедура Rec заменяет в матрице все единицы, образующие единую фигуру с той, индексы которой переданы в процедуру, на 2. Таким образом, если в матрице М останутся ещё «1» после отработки процедуры Rec, то это означает, что исходные прямоугольники не образовывали единой фигуры. И в этом случае на экран выводится 0. В противном случае выводится площадь фигуры, равная количеству двоек, умноженному на 10.

Текст программы {Далее приводится текст программы с комментариями.} Прогон программы

Перед прогоном надо создать исходный файл. Например, такой:

Файл PR.TXT

2 7 5 10

3 1 7 8

4 8 10 14

Результат прогона:

Введите имя файла pr.txt

Учебное издание

Технология программирования

Методические указания и варианты заданий

по выполнению курсовой работы

Для студентов специальности 230201 -

"Информационные системы и технологии",

дневной формы обучения

Составители : МЕДВЕДКОВА Ирина Евгеньевна,

КУЛАКОВА Светлана Владимировна,

ЧИКУНОВ Сергей Владимирович

Подписано в печать . . 2007 .

Формат 6084 1/16.

Усл. печ.л. 1,4. Тираж 100 экз. Заказ С -

ГОУВПО “Воронежская государственная технологическая академия”

(ГОУВПО “ВГТА”)

Отдел полиграфии ГОУВПО “ВГТА”

Адрес академии и отдела полиграфии :