MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Законченная программа

Название:Законченная программа
Просмотров:56
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание:Администратор Экрана. Библиотека Фигур. Прикладная Программа.

Университетская электронная библиотека.
www.infoliolib.info

Часть полного текста документа:

Законченная программа
    Разберем процесс написания программы для рисования на экране геометрических фигур. Она естественным образом разделяется на три части:
    Администратор экрана: подпрограммы низкого уровня и структуры данных, определяющие экран; он ведает только точками и прямыми линиями;
    Библиотека фигур: набор определений основных фигур вроде прямоугольника и круга и стандартные программы для работы с ними; и
    Прикладная программа: множество определений, специализированных для данного приложения, и код, в котором они используются.
    Эти три части скорее всего будут писать разные люди (в разных организациях и в разное время). При этом части будут скорее всего писать именно в указанном порядке с тем осложняющим обстоятельством, что у разработчиков нижнего уровня не будет точного представления, для чего их код в конечном счете будет использоваться. Это отражено в приводимом примере. Чтобы пример был короче, графическая библиотека предоставляет только весьма ограниченный сервис, а сама прикладная программа очень проста. Чтобы читатель смог испытать программу, даже если у него нет совсем никаких графических средств, используется чрезвычайно простая концепция экрана. Не должно составить труда заменить эту экранную часть программы чем-нибудь подходящим, не изменяя код библиотеки фигур и прикладной программы. Администратор Экрана
    Вначале было намерение написать администратор экрана на C (а не на C++), чтобы подчеркнуть разделение уровней реализации. Это оказалось слишком утомительным, поэтому пришлось пойти на компромисс: используется стиль C (нет функций членов, виртуальных функций, определяемых пользователем операций и т.п.), однако применяются конструкторы, надлежащим образом описываются и проверяются параметры функций и т.д. Оглядываясь назад, можно сказать, что администратор экрана очень похож на C программу, которую потом модифицировали, чтобы воспользоваться средствами C++ не переписывая все полностью.
    Экран представляется как двумерный массив символов, работу с которым осуществляют функции put_point() и put_line(), использующие при ссылке на экран структуру point:
    // файл screen.h
    const XMAX=40, YMAX=24;
    struct point {
    int x,y;
    point() {}
    point(int a, int b) { x=a; y=b; }
    };
    overload put_point;
    extern void put_point(int a, int b);
    inline void put_point(point p) { put_point(p.x,p.y); }
    overload put_line;
    extern void put_line(int, int, int, int);
    inline void put_line(point a, point b)
    { put_line(a.x,a.y,b.x,b.y); }
    extern void screen_init();
    extern void screen_refresh();
    extern void screen_clear();
    #include
    Перед первым использованием функции put экран надо инициализировать с помощью screen_init(), а изменения в структуре данных экрана отображаются на экране только после вызова screen_refresh(). Как увидит пользователь, это "обновление" ("refresh") осуществляется просто посредством печати новой копии экрана под его предыдущим вариантом. Вот функции и определения данных для экрана:
    #include "screen.h"
    #include
    enum color { black="*", white=" " };
    char screen[XMAX][YNAX];
    void screen_init()
    {
    for (int y=0; y=a || asouth();
    q->move(n.x-s.x,n.y-s.y+1);
    }
    Теперь представим себе, что эта библиотека считается собственностью некоей компании, которая продает программное обеспечение, и что они продают вам только заголовочный файл, содержащий определения фигур, и откомпилированный вариант определений функций. ............






Похожие работы:

Название:На чем писать программы? (краткий обзор возможностей языков программирования)
Просмотров:741
Описание: Сергей Трофимов Сегодня мы продолжаем разговор на тему какой язык программирования выбрать, начатый с статье “Delphi или Visual C++ - вот в чем вопрос”. Тема оказалась глубже, чем казалось на первый взгляд, и я провел нек

Название:Разработка технологической программы выращивания цветочных культур (нарцисс и цикламен)
Просмотров:742
Описание: Содержание выращивание цветок агроэксплуатационная характеристика Введение 1. Производственно-экономическая характеристика хозяйства, природно-климатические особенности зоны 2. Агроэксплуатационная ха

Название:Написание программы "Угадайка"
Просмотров:284
Описание: Данные о работе: Курсовая работа Название дисциплины: Алгоритмические языки и программирование Тема: Написание программы "Угадайка" Содержание Введение 1. Разработка программы 1.1 Техниче

Название:Разработка программы тренинговой работы социального педагога, направленной на воспитание толерантности подростков
Просмотров:297
Описание: ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ ГОУВПО «УДМУРТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» ИНСТИТУТ ПЕДАГОГИКИ, ПСИХОЛОГИИ И СОЦИАЛЬНЫХ ТЕХНОЛОГИЙ КАФЕДРА ПЕДАГОГИКИ И ПЕДАГОГИЧЕСКОЙ ПСИХОЛОГИИ Балобанова Кс

Название:Разработка рекламной программы (на примере магазина "Сладкий мир")
Просмотров:305
Описание: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ НИЖЕГОРОДСКИЙ КОММЕРЧЕСКИЙ ИНСТИТУТ Факультет менеджмента Кафедра «Управление маркетингом» Контрольная работа по дисциплине

 
     

Вечно с вами © MaterStudiorum.ru