Программирование - готовые работы

ГлавнаяКаталог работПрограммирование
fig
fig
В данной работе предметной областью являются раскраски.
Раскраски – это специальные черно-белые картинки (черные линии на белом фоне), предназначенные для раскрашивания. Картинка состоит из нескольких замкнутых областей, каждая из которых должна быть раскрашена в тот или иной цвет, и фона. Линии могут служить не только границами между областями, но и обозначать различные мелкие детали, придающие рисунку выразительность.
Задание
Написать программу, которая формирует базу, содержащую следующие поля:
Дисциплина Кол-во групп Количество часов
лекции лаб. практ. курс.
Требования к программе:
1. Приложение выполнить с использованием языка программирования VBA для MS Excel.
2. При открытии книги Excel, содержащей проект, обеспечить один рабочий лист, на котором оформить рекламную заставку проекта и разместить элемент запуска проекта на исполнение.
3. Проект должен обеспечивать следующие режимы работы:
• ввод исходных данных и формирование базы;
• корректировка данных (исправление, добавление, удаление);
• работа с данными (поиск по полям базы, сортировка, просмотр);
• формирование выходных документов.
4. Для каждого режима работы определить кнопку запуска и пользовательскую форму.
5. Для выходных документов использовать дополнительные листы книги, если этого требует задача.
6. На экране разместить одну панель инструментов, обеспечивающую работу проекта. Остальные панели скрыть.
7. Данные проекта сохранять в файле.
8. При вводе числовых данных обеспечить обработку ошибок некорректного ввода. (Пример ошибки: при вводе числа случайно нажата символьная клавиша).
9. На проверку отправить тестовую базу с заранее подготовленными данными.
Программа должна удовлетворять всем вышеперечисленным требованиям и дополнительно формировать следующий документ: таблица распределения занятий в компьютерных залах на семестр (семестр – 18 недель). Загрузка должна быть равномерной и не превышать 10 часов в сутки. В случае превышения загрузки залов программа должна выдавать сообщение о количестве часов, на которые требуются дополнительные ресурсы. Расчетное время заполняется по следующему алгоритму: для лабораторных работ – Время_по_плану*кол-во_групп*2; для практических занятий и курсовых работ – Время_по_плану*кол-во_групп.
Некоторые поля данной базы могут содержать пустые значения. Просмотр базы и обработка должна выполняться в программе Excel.
1 . Введение
«Жизнь» — один из самых простых примеров того, что иногда называют «самоорганизация систем». Эта предметная область привлекла внимание ученых и математиков из различных областей. В ней изучается построение сложных структур и форм поведения на основе очень простых правил. Например, появление лепестков роз или полос на зебре из растущих рядом клеток. Возможно, это может даже помочь нам понять разнообразие жизни на Земле.
В «Жизни», как в природе, можно наблюдать множество очаровательных явлений. Природа, однако, очень сложна, и не все ее законы известны. На примере игры «Жизнь» мы можем наблюдать систему, в которой известны все правила. Точно так же, как изучают простых животных (например, червей), чтобы узнать что-нибудь о более сложных животных (например, о млекопитающих и даже о людях), можно изучать игру «Жизнь», чтобы узнать о структурах и формах поведения в более сложных системах.
Слово "инженер", введенное в русский язык Феофаном Прокоповичем при Петре Великом, восходит к латинскому "ingenium" - "остроумное изобретение" - и по своей исходной сути означает творца новых жизненных благ и умений, новых орудий труда и нового оружия для войны и охоты, новых приспособлений и сооружений, средств транспорта и способов развлечения... Говоря более общо, инженер - это творец новых товаров и услуг.
В свою очередь, слово "элита", ставшее у нас затасканно модным в последнее десятилетие, через французское "elite" восходит к латинскому "electus" и означает отборную, лучшую часть чего-то, рассматриваемого как коллектив, большая группа или совокупность предположительно функционально одинаковых сочленов.
Наконец, "образование" - понятие очень глубокое и как таковое трудно определимое. Образование можно определить как регулярный способ передачи людям, в первую очередь входящим в жизнь молодым, набора стандартных навыков, знаний и умений, необходимых человеческому сообществу и востребуемых им. Природа знания такова, что носители его поневоле немногочисленны. Трудно судить о временах доисторических, но на заре письменной истории человечества образованность означала принадлежность к элите. В древности правильное по тем временам образование давало своим носителям статус существ высшего порядка, обладающих сакральными знаниями небесной воли и божественного умения.
2.1. Описание данных
В данной программе используется множество переменных. Это и переменные типа int, типов char, структурного типа, а также массивы символов, целых чисел, структур, все они объявляются и определяются. Ниже приведена часть кода программы с объявлением и определением массива структур:
struct FIRM
{
char name[51];
int wages[7];
long int summ;
}firm[3];
Здесь объявлена структура FIRM с полями: символьным массивом из 51 элемента (сюда входит и завершающий нулевой символ строки), целочисленный массив wages из 7 элементов, переменная summ типа long int. После этого объявления сразу создаётся экземпляр этого типа, представляющий из себя массив из трёх структур. Он имеет имя firm.
Модули проекта
В проект входят 6 модулей и 3 формы. Главным модулем является модуль MainUnit, описывающий главную форму Form1. В модуле описан объекты для взаимодействия со всеми остальными модулями, формами и данными другиз классов.
В модулях InfoUnit описаны процедуры для считывания/отображения данных на главную форму, модуль House обеспечивает работу формы Form2 которая, в свою очередь, отображает часть таблиц, WorkFile
- разрешает хранение и чтение данных с диска/на дискt, TypesUnit – описывает структуры данных, используемые в данной программе, AboutUnit и Form3 реализуют вывод информацию о разработчике и теме курсового проекта, Sort – модуль реализующий сортировку списка.
1.3 Основные процедуры и функции
В данном курсовом проекте описано несколько классов.
Класс1 - TForm1.
Класс имеет следующие поля:
• FirstTAp, CurrentTAp: TAp;
FirstTFa, CurrentTFa: TFa;
FirstTRo, CurrentTRo: TRo;
FirstTSo, CurrentTSo: TSo : поля для работы со структурой.
Класс имеет следующие методы:
• procedure TablDom() – процедура заполнения таблицы Дом.
• procedure TablGK() - процедура заполнения шапки таблицы ГК.
• procedure TablFam() - процедура заполнения шапки таблицы Семей.
• procedure TablKvart() - процедура заполнения таблицы Атрибутов квартир.
• procedure TablSearch() - процедура заполнения шапки таблицы поиска.
• procedure TablSort() - процедура заполнения шапки таблицы сортировки.
• procedure OpenF() – процедура делающая перенаправление на процедуру открытия файла.
• procedure CreateSort() – процедура создания списка для сортировки.
• procedure GridClear() – процедура очистки списков(StringGrid).
• function VvodEtaj(i: integer): real – процедура определения этажа по номеру квартиры.
• procedure Button6Click(Sender: TObject) – процедура осужествления поиска по нескольким ключам.
• procedure Button7Click(Sender: TObject) – процедура удаления записи.
• procedure Button8Click(Sender: TObject) – процедура добавления записи в список.
2.6.2 Описание методов DelphiX
DXDrawInitializeSurface
Этот метод запускается при инициализации компонента TDXDraw. Следует указать, что DXDraw инкапсулирует D3D, D3D2, D3Ddevice, D3DDevice2, D3DRM, D3DRM2, D3DRMDevice, D3DRMDevice2, DDraw - ни что иное, как соответствующие интерфейсы DirectX. Обратите внимание на DXDraw.D3DRMDevice2.SetRenderMode (D3DRMRENDERMODE_BLENDEDTRANSPARENCY or D3DRMRENDERMODE_ SORTEDTRANSPARENCY). Эти два флага установлены вот для чего - если у нас два треугольника находятся один под другим и оба видны (т.е. вершины у них по часовой) нужно их сперва отсортировать по координате Z, чтоб понять, кто кого загораживает. Включает такую сортировку флаг, названный D3DRMRENDERMODE_SORTED TRANSPARENCY.
Наиболее важным является метод
DXDrawInitialize
Здесь сначала создаются два фрейма - Mesh и Light, для нашего видимого объекта и для лампочки, его освещающей.
MeshFrame.SetRotation(DXDraw.Scene, 0.0, 10.0, 0.0, Scale)
(первые три цифры - координаты вектора вращения, последний параметр - угол полворота) . Отличие между методами SetRotation и AddRotation в том, что AddRotation поворачивает объект только один раз, а SetRotation - заставляет его поворачиваться на указанный угол при каждом следующей итерации (with every render tick).
Потом создается т.н. MeshBuilder - специальный объект, инкапсулирующий методы для добавления к нему граней.
Этот обьект может быть загружен из файла (и естественно сохранен в файл). По традиции файлы имеют расширение X. В самом же деле, задавать координаты каждого треугольника вручную очень трудоемко. В программе Torus3D координаты задаются математически при помощи соответствующих формул.
MeshBuilder.Scale(3, 3, 3) – применяем для увеличения, допустим, в три раза по всем координатам.
2.1. Описание данных
При написании программы широко использовались глобальные переменные в частности следующие:
double a1,b1,a2,b2,r1,r2,fi1,fi2,a3,b3;
short int f,f1,f2;
char *p = new char[256];
FILE *dt;
Переменные a1, b1, a2, b2 отвечают за значения действительных и мнимых частей первого и второго чисел соответственно при выборе алгебраической формы записи чисел при вводе. Переменные a3, b3 отвечают за хранение действительной и мнимой части числа, соответствующего результату вычисления. Переменные r1, r2, fi1, fi2 хранят значение радиус-вектора и угла его поворота для первого и второго числа соответственно при выборе тригонометрической и экспоненциальной формы записи вводимых чисел. Следует отметить, что значения углов следует вводить в градусах.
Анализ поставленной задачи.
Для хранения информации о студентах следует организовать некоторую, специально для этого предназначенную структуру данных. На основании постановки задачи в качестве такой структуры был выбран массив s типа Student_Struct, состоящий из 50 элементов:
Student_Struct s[50];
Это означает, что в базе данных может храниться информация о любом количестве студентов, не превышающем пятидесяти.
Занесение информации в базу данных (то есть в массив s[50]) должно происходить посредством инициализации массива при его объявлении, расположенной в функции main().
Далее следует определить с тем, что будет представлять собой тип данных Student_Struct. Как следует из постановки задачи это должна быть структура, имеющая два поля, которые в свою очередь также являются составными типами данных, а именно:
• первое поле должно представлять собой структуру, полями которой являются фамилия, имя и отчество студентов; в качестве имени этой структуры в программе выступает идентификатор FIO; структура имеет следующие поля типа «указатель на char» (строковый тип):
• char *F; //фамилия студента
• char *I; //имя студента
• char *O; //отчество студента
• второе поле должно быть объявлено как объединение, в котором будут храниться медицинские параметры студентов; в качестве имени этого объединения в программе выступает идентификатор Medicine; согласно постановке задачи объединение должно включать два типа совокупностей медицинских параметров:
В курсовом проекте использована файловая переменная FILE *p; функции стандартной библиотеки для работы с текстовыми файлами, такие как: fopen(), fputs(), fclose();типовые функции для работы со строками из библиотеки обработки строк, такие как: strcat(), strcmp(), strlen(), strstr().
Были использованы глобальные переменные:
char string1[100], string2[100] – массив строк; char*str1,*str2 – указатели на массивы строк;
Локальные переменные в программе:
int n – переменная цикла, применяющаяся для выбора функции;
int a – переменная, применяющаяся для подсчета символов в строке, для сравнения строк в лексиграфическом порядке,
char pods[100],*pod – массив строк и указатель на массив строк;
int start,end,i,finish,a – переменные цикла;
FILE*p – файловая переменная;
char *f – указатель на массив строк;
Узнайте стоимость работы онлайн!
Предлагаем узнать стоимость вашей работы прямо сейчас.
Это не займёт
много времени.
Узнать стоимость
girl

Наши гарантии:

Финансовая защищенность
Опытные специалисты
Тщательная проверка качества
Тайна сотрудничества