Автоматизация контроля обучения студентов

Разработка программного модуля "Учет успеваемости студентов". Характеристика используемой ПЭВМ, ОС и языка программирования. Технологический процесс машинной реализации задачи. Алгоритм и текст программы меню. Составление инструкции для пользователей.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 14.01.2013
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Оглавление

Введение

Глава 1. Общая часть

1.1 Сущность поставленной задачи

1.2 Постановка задачи

1.2.1 Первичные документы

1.2.2 Требования, предъявляемые к системе

1.2.3 Требования предъявляемые к ПО

1.3 Характеристика используемой ПЭВМ, ОС и языка программирования

2. Разработка программного обеспечения

2.1 Технологический процесс машинной реализации задачи

2.2 Алгоритм задачи его описание

2.3 Описание переменных, процедур и функций

2.3.1 Функциональная модель

2.3.2 Модель потоков данных

2.4 Программы и их описание

2.4.1 Алгоритм и текст программы меню

2.4.2 Алгоритм и тексты программ ввода данных

2.5 Результаты работы программ

2.6 Инструкция пользователю

Заключение

Список общепринятых сокращений

Список литературы

Приложения

Введение

Тема разработки программного модуля «Учет успеваемости студентов» актуальна в связи с тем, что в настоящее время в образовании большое внимание уделяется информационным технологиям. Информационные технологии позволяют сделать обучение более наглядным и понятным, а также производить контроль результатов обучения студентов на разных уровнях. Автоматизация контроля обучения студентов позволяет освободить персонал от рутинной работы и снизить количество ошибок в отчетности.

В связи со значимостью рассматриваемого вопроса, целью работы является разработка программного модуля «Учет успеваемости студентов».

Для выполнения поставленной цели необходимо решить следующие задачи:

Рассмотреть теоретические аспекты выбранной темы.

Определить все возможные требования заказчика.

Предусмотреть и проработать все возможные варианты поведения программы.

Текст работы расположен на 38 страницf[, состоит из введения, двух глав, заключения, списка общепринятых сокращений, списка литературы и приложения. Первая глава - теоретическая, содержит в себе теоретическое содержание выбранной темы. Вторая глава - практическая, содержит алгоритм решения задачи и его описание. Обобщенные выводы по всей курсовой работе приведены в заключении.

Глава 1. Общая часть

1.1 Сущность поставленной задачи

Сущность поставленной задачи заключается в разработке программного модуля «Учет успеваемости студентов». Программный модуль предназначен для оперативного учета успеваемости студентов в сессию деканом, заместителями декана и сотрудниками деканата. Сведения об успеваемости студентов должны храниться в течение всего срока их обучения и использоваться при составлении справок о прослушанных курсах и приложений к диплому.

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

1.2 Постановка задачи

1.2.1 Первичные документы

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

1.2.2 Требования, предъявляемые к системе

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

1.2.3 Требования предъявляемые к ПО

Программный модуль поддерживает платформы Windows XP- Windows7.

1.3 Характеристика используемой ПЭВМ, ОС и языка программирования

При разработке данного модуля использовался ноутбук марки Asus серии X54С.

Компьютер:

Тип компьютера- ACPI компьютер на базе x86

Операционная система- Microsoft Windows 7 Ultimate

Пакет обновления ОС- Service Pack 1

Internet Explorer - 9.0.8112.16421

DirectX - DirectX 11.0

Системная плата:

Тип ЦП- DualCore , 2900 MHz (29 x 100)

Системная плата - Intel HM65 Express

Системная память-3017 Мб

DIMM1: Ramaxel Tech. RMT3020EC58E9F1333 4 Гб DDR3-1333 DDR3 SDRAM (8-8-8-22 @ 609 МГц) (7-7-7-20 @ 533 МГц) (6-6-6-17 @ 457 МГц) (5-5-5-14 @ 380 МГц)

Тип BIOS-Insyde (10/07/11)

Отображение:

Видеоадаптер- Mobile Intel(R) HD Graphics (1315768 Кб)

Видеоадаптер- Mobile Intel(R) HD Graphics (1315768 Кб)

3D-акселератор- ATI Robson CE

Монитор- Универсальный монитор PnP [NoDB]

Мультимедиа:

Звуковой адаптер- Conexant Unknown @ Intel Cougar Point PCH - High Definition Audio Controller

Звуковой адаптер- Intel Unknown @ Intel Cougar Point PCH - High Definition Audio Controller

Хранение данных:

Контроллер IDE- Intel(R) Mobile Express Chipset SATA AHCI Controller

Дисковый накопитель- SD Card (1848 Мб, USB)

Дисковый накопитель- USB FLASH DRIVE USB Device (7 Гб, USB)

Дисковый накопитель- WDC WD7500BPVT-24HXZT3 (698 Гб, IDE)

Оптический накопитель- MATSHITA DVD-RAM UJ8B1AS

Статус SMART жёстких дисков- OK

Разделы:

C: (NTFS) 565.6 Гб (319.2 Гб свободно)

Общий объём 565.6 Гб (319.2 Гб свободно)

Ввод:

Клавиатура Стандартная клавиатура PS/2

Мышь HID-совместимая мышь

Мышь Synaptics PS/2 Port TouchPad

Сеть:

Первичный адрес IP 192.168.1.30

Первичный адрес MAC **-**-**-**-**-**

Сетевой адаптер Atheros AR8152/8158 PCI-E Fast Ethernet Controller (NDIS 6.20) (192.168.1.30)

Сетевой адаптер Atheros AR9285 Wireless Network Adapter

Сетевой адаптер Microsoft Virtual WiFi Miniport Adapter

Так же при разработке данного модуля использовалась Windows 7 Максимальная, операционная система семейства Windows NT.

Программа реализована в среде разработки Delphi 7. Delphi 7 - это инструмент от компании Borland, позволяющий осуществлять быструю разработку приложений на языке Delphi и имеющий богатые возможности работы для с БД. IDE Delphi это стабильная богатая возможностями среда разработки для создания самостоятельных графических и консольных приложений.

2. Разработка программного обеспечения

2.1 Технологический процесс машинной реализации задачи

Технологический процесс машинной реализации задачи изображен на рисунке 1.

Рисунок 1- Процесс машинной реализации.

2.2 Алгоритм задачи его описание

Работа с программной начинается с заполнения таблицы «Успеваемость». При получении студентом оценки, добавляется соответствующая ей запись в таблицу «Успеваемость». В этой записи отражается дата оценки, собственно оценка, код студента и код предмета.

При необходимости добавляются студенты и предметы в таблицы «Студент» и «Предмет» соответственно.

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

Для функционирования программы была разработана база данных. Разработка происходила в следующем порядке:

Разработка концептуальной модели (Рисунок 2).

Размещено на http://www.allbest.ru/

Рисунок 2- Концептуальная модель.

2. На основании составленной концептуальной модели была составлена логическая (Рисунок 3).

Рисунок 3 - Логическая модель.

3. После формирования логической модели была сформирована физическая модель (Рисунки 4-7).

Рисунок 4 - Таблица «Успеваемость». Рисунок 5 - Таблица «Студент».

Рисунок 6 - Таблица «Предмет». Рисунок 7 - Таблица «Группа».

2.3 Описание переменных, процедур и функций

При разработке программы были использованы стандартные компоненты и процедуры:

Переменные:

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

Процедуры:

TForm6.UpdateCombo - обновляет компонент ComboBox1 данными из таблицы при изменении выбранного в ComboBox2 пункта из списка.

TForm6.FormShow инициализирует компоненты типа TComboBox

TForm7.FormShow инициализирует компонент ComboBox1

TForm6.Button1Click - формирует приложение к диплому.

TForm7.Button1Click - формирует ведомость успеваемости.

TForm1.FormShow - заносит данные в ListBox1 для фильтрации таблицы «Успеваемость» по группам.

TForm1.ListBox1Click - включает фильтр по группам.

TDataModule2.tbUspevFilterRecord- фильтрует записи главной таблицы.

TForm3.FormCreate - инициализирует компоненты

TForm3 .BitBtn1Click - заполняет поля записи фильтра.

2.3.1 Функциональная модель

SADT модель первого уровня изображена на рисунке 8, второго - на рисунке 9.

Рисунок 8 - SADT модель первого уровня.

Рисунок 9 - SADT модель второго уровня

2.3.2 Модель потоков данных

DFD модель первого уровня изображена на рисунке 10, второго - на рисунке 11.

Рисунок 10. DFD модель первого уровня.

Рисунок 11. DFD модель второго уровня

2.4 Программы и их описание

2.4.1 Алгоритм и текст программы меню

Меню реализовано с помощью стандартного компонента TMainMenu. Алгоритм изображен на рисунке 12, пункты меню - на рисунках 13-15;

Размещено на http://www.allbest.ru/

Рисунок 12 - Алгоритм меню.

Рисунок 13 - Пункт меню «Таблицы».

Рисунок 14 - Пункт меню «Данные».

Рисунок 15- Пункт меню «Отчеты».

2.4.2 Алгоритм и тексты программ ввода данных

Ввод данных осуществляется с помощью компонентов типа TDBGrid с использованием компонентов типа TDBNavigator для управления позицией курсора. Компоненты типа TDBGrid связываются с таблицами и запросами с помощью компонента TDataSource.

Форма ввода в главную таблицу изображена на рисунке 16. Как видно на изображении, предусмотрена фильтрация по группам, что безусловно помогает в навигации пользователю.

Рисунок 16 - Ввод данных об успеваемости студентов.

На рисунке 17 представлена форма редактирования таблицы «Предметы». С ее помощью можно добавлять новые дисциплины и редактировать существующие. Для изменения информации о студентах предусмотрена соответствующая форма (рисунок 18).

Рисунок 17 - Ввод данных о предметах.

Рисунок 18 - Ввод данных о студентах.

2.5 Результаты работы программ

Результатом работы данного модуля, будут являться приложение к диплому студента и ведомость успеваемости. Документы будут формироваться в программе Microsoft Office Excel. Приложение к диплому изображено на рисунке 19, Ведомость успеваемости - на рисунке 20.

Рисунок 19 - Приложение к диплому.

Рисунок 20 - Ведомость успеваемости.

2.6 Инструкция пользователю

программирование успеваемость алгоритм

При запуске программы появляется главное окно, которое содержит таблицу успеваемости и главное меню. В данную таблицу осуществляется ввод оценок.

Если нужно ввести нового студента или новую дисциплину, то можно использовать формы ввода студентов и дисциплин, которые вызываются с помощью соответствующих пунктов из подменю «Таблицы».

Фильтрация данных может быть осуществлена с помощью команды «Фильтр» подменю «Данные».

Подменю «Отчеты» содержит формы, создающие отчеты. Форма «Приложение к диплому» (Рисунок 21) служит для создания приложений к диплому, а форма «Ведомость успеваемости» (Рисунок 22) используется для создания ведомостей успеваемости для групп. Данные формы генерируют соответствующие ведомости (рисунки 19-20).

Рисунок 21 - Форма «Приложение к диплому».

Рисунок 22 - Форма «Ведомость успеваемости».

Заключение

Разработанный программный продукт на тему: «Учет успеваемости студентов» облегчает работу пользователю. В ходе выполнения задания были разработаны необходимые таблицы, также были разработаны формы ввода данных в таблицы. Созданы модули для формирования отчетности.

Компьютерная организация учета позволяет уменьшить расходуемое время, при этом стоимостные затраты будут минимальны. Вероятность наличия ошибок сводится к минимуму. Эффективность компьютерной обработки можно проанализировать по приведённым отчетам.

Список общепринятых сокращений

БД - база данных.

ПЭВМ - персональная электронная вычислительная машина.

ОС - операционная система.

ПК - персональный компьютер.

ПО - программное обеспечение.

СуБД - система управления баз данных.

АС- автоматизированная система.

Список литературы

1. Л.Г. Гагарина, Е.В. Кокорева, Б.Д. Виснадул Технология разработки программного обеспечения, учебное пособие -М.; "ФОРУМ": ИНФРА-М, 2008.- 400 с.

2. Фленов М.Е. Программирование в Delphi глазами хакера. -- СПб.: БХВ-Петербург, 2003.

3. Фленов М.Е. Библия Delphi . -- СПб.: БХВ-Петербург, 2004.

Приложение А

- Техническое задание.

1.Введение.

Работа выполняется в рамках проекта разработки программного модуля «Учет успеваемости студентов»

2. Основание для разработки.

2.1 Основанием для разработки является задание по курсовому проекту по дисциплине «теория разработки программного продукта».

2.2 Наименование работы: «Учет успеваемости студентов»

2.3 Исполнитель: Студент группы АЛ-ДЛП-901 Алейников Дмитрий Витальевич.

2.4 Соисполнители: нет.

3. Назначение разработки.

Создание модуля для оперативного учета успеваемости студентов.

4. Технические требования.

4.1 Требования к функциональным характеристикам.

4.1.1 Состав выполняемых функций:

Учет успеваемости студентов.

Составление приложения к диплому.

Составление ведомости успеваемости.

4.1.2 Организация входных и выходных данных:

Входные данные получаются из журнала успеваемости.

Выходными данными являются ведомость успеваемости и приложение к диплому.

4.2 Требования надежности.

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

4.3 Условия эксплуатации и требования к составу и параметрам технических средств.

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

4.4 Требования к информационной и программной совместимости.

Программный модуль поддерживает платформы Windows ХР- Windows7.

4.5 Требования к транспортировке и хранению.

Программа предоставляется на лазерном носителе. Документация представлена как в печатном так и электронном варианте.

4.6 Специальные требования.

Рассчитанный на пользователя, дружественный интерфейс.

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

5. Требования к программной документации.

Основными документами, регламентирующими работу ПП, являются документы ЕСПД: руководство администратора, руководства пользователя, описание применения.

6. Технико-экономические показатели.

Эффективность системы определяется удобством использования ПП для учета успеваемости студентов.

7. Порядок контроля и приемки.

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

8. Календарный план работ.

№ Этапа

Наименование этапа

Сроки этапа

Чем заканчивается этап

1

Изучение предметной области. Разработка предложений по реализации ПП

01.09.2012

01.10.2012

Предложения по разработке программного продукта. Акт сдачи-приемки.

2

Разработка ПП «Автостоянка»

01.10.2012

30.11.2012

Программный комплекс, решающий поставленные задачи.

3

Тестирование и отладка программного продукта

01.12.2012

30.12.2012

Готовый программный продукт «Учет успеваемости студентов». Акт сдачи-приемки работы.

Приложение Б

- Эскизный проект.

Ведомость эскизного проекта

Документы по разработанному продукту:

Техническое задание на создание информационной системы СуБД «Учет успеваемости студентов».

Пояснительная записка к эскизному проекту.

Общие положения:

Данный документ является эскизным проектом на создание Системы Управления Базой Данных для образовательных учреждений (СуБД «Учет успеваемости студентов»).

Основные технические решения:

Решения по структуре системы СуБД «Учет успеваемости студентов» будет представлять собой персональную систему управления локальной базой данных, работающей на одном компьютере.

Система будет управлять реляционной базой данных, представляющей собой набор связанных между собой таблиц, доступ к которым осуществляется с помощью ключей или/и индексов. Сведения в одной таблице могут отражать сведения из другой, и при изменении сведений в первой таблице эти изменения немедленно отображаются во второй.

Таким образом будет достигнута непротиворечивость данных.

Общая структура базы данных:

Хранение информации о студентах и дисциплинах осуществляется с сохранением целостности данных при изменении или удалении записей таблицы.

Информация об успеваемости отражается в таблице с указанием кода студента, кода предмета, даты и оценки.

Указанные решения должны удовлетворять требованиям, приведенным в техническом задании на разработку системы. Состав функций комплексов задач, реализуемых системой:

Автоматизированная система должна выполнять следующие функции:

* Сделать запись о полученной студентом оценке;

* Рассчитывать итоговую оценку по дисциплине;

* Формировать итоговые ведомости;

Решения по составу программных средств, языкам деятельности, алгоритмам процедур и операций и методам их реализации.

Для реализации АС будет использоваться среда

программирования Delphi и одноименный язык программирования.

Источники разработки:

Данный документ разрабатывался на основании ГОСТ 34.698--90 на написание ТЗ на автоматизированные системы управления от 01.01.1992 г.

Приложение В

- Исходный код программы.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, DBCtrls, Menus, ExtCtrls, XPMan;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Bevel1: TBevel;

XPManifest1: TXPManifest;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

ListBox1: TListBox;

Label1: TLabel;

Label2: TLabel;

procedure N3Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure ListBox1Click(Sender: TObject);

end;

var Form1: TForm1;

implementation

uses Unit2, Unit3, DB, Unit4, Unit5, Unit6, Unit7;

{$R *.dfm}

procedure TForm1.N3Click(Sender: TObject);

begin

if Form3.ShowModal = mrOK then begin

DBGrid1.DataSource.DataSet.Filtered := false;

DBGrid1.DataSource.DataSet.Filtered := true;

end;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form4.ShowModal;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form5.ShowModal;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

Application.MessageBox('Программный модуль "Учет успеваемости '+ 'студентов". Разработан студентом группы АЛ-ДЛП-901 Алейниковым'+ 'Д.В.','О программе', MB_ICONINFORMATION);

end;

procedure TForm1.N9Click(Sender: TObject);

begin

Form6.ShowModal;

end;

procedure TForm1.N11Click(Sender: TObject);

begin

Form7.ShowModal;

end;

procedure TForm1.FormShow(Sender: TObject);

begin

DataModule2.tbStudent.Sort := 'ФИО';

with DataModule2.tbGruppa do begin

First;

while not eof do begin

ListBox1.Items.Add(FieldByName('НГ').AsString);

Next;

end;

end;

with DataModule2.qFirstDate do begin

Active := true;

First;

Unit2.Filter.fDate := Fields[0].AsDateTime;

Active := false;

end;

Filter.ldate := date();

ListBox1.ItemIndex := 0;

ListBox1Click(nil);

end;

procedure TForm1.ListBox1Click(Sender: TObject);

begin

Filter.Group := ListBox1.Items[ListBox1.ItemIndex];

DBGrid1.DataSource.DataSet.Filtered := false;

DBGrid1.DataSource.DataSet.Filtered := true;

end;

end.

unit Unit2;

interface

uses

SysUtils, Classes, DB, ADODB;

type

TDataModule2 = class(TDataModule)

dsUspev: TDataSource;

ADOConnection1: TADOConnection;

tbPredm: TADOTable;

tbGruppa: TADOTable;

tbStudent: TADOTable;

qFirstDate: TADOQuery;

dsStudent: TDataSource;

dsPredm: TDataSource;

qPrilDipl: TADOQuery;

qAvgMark: TADOQuery;

qVed: TADOQuery;

tbUspev: TADOQuery;

tbUspevDSDesigner: TIntegerField;

tbUspevDSDesigner2: TIntegerField;

tbUspevDSDesigner3: TDateTimeField;

tbUspevDSDesigner4: TIntegerField;

tbUspevDSDesigner5: TWideStringField;

tbUspevDSDesigner6: TWideStringField;

tbUspevStringField: TStringField;

tbUspevField: TStringField;

procedure DataModuleCreate(Sender: TObject);

procedure tbUspevFilterRecord(DataSet: TDataSet; var Accept: Boolean);

end;

TFilterRec = record

Group,

FIO,

Subject: String;

fDate,

lDate: TDateTime ;

end;

var DataModule2: TDataModule2;

Filter : TFilterRec;

implementation

{$R *.dfm}

procedure TDataModule2.DataModuleCreate(Sender: TObject);

begin

tbStudent.Sort := 'ФИО';

end;

procedure TDataModule2.tbUspevFilterRecord(DataSet: TDataSet;

var Accept: Boolean);

var

ns : string;

begin

Accept := true;

with Filter do begin

if Group <> '' then

Accept := Accept and (tbStudent.Lookup('НС', tbUspev.FieldByName('НС').AsString, 'НГ') = Group);

if FIO <> '' then

Accept := Accept and (tbUspev.FieldByName('НС').AsString =

tbStudent.Lookup('ФИО',FIO,'НС'));

if Subject <> '' then

Accept := Accept and (tbUspev.FieldByName('КП').AsString =

tbPredm.Lookup('НП',Subject,'КП'));

Accept := Accept and (tbUspev.FieldByName('ДАТАС').AsDateTime >= fDate);

Accept := Accept and (tbUspev.FieldByName('ДАТАС').AsDateTime <= lDate);

end;

end;

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ComCtrls;

type

TForm3 = class(TForm)

GroupBox1: TGroupBox;

Edit2: TEdit;

DateTimePicker1: TDateTimePicker;

Edit3: TEdit;

BitBtn1: TBitBtn;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

DateTimePicker2: TDateTimePicker;

Label5: TLabel;

Button1: TButton;

procedure BitBtn1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

FirstDate: TDateTime;

end;

var

Form3: TForm3;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm3.BitBtn1Click(Sender: TObject);

begin

with Filter do begin

FIO := Edit2.Text;

Subject := Edit3.Text;

fDate := DateTimePicker1.DateTime;

lDate := DateTimePicker2.DateTime;

end;

end;

procedure TForm3.FormCreate(Sender: TObject);

begin

with DataModule2.qFirstDate do begin

Active := true;

First;

FirstDate := Fields[0].AsDateTime;

Active := false;

end;

DateTimePicker1.DateTime := FirstDate;

DateTimePicker2.DateTime := date();

end;

procedure TForm3.Button1Click(Sender: TObject);

begin

edit2.Clear;

edit3.Clear;

DateTimePicker1.DateTime := FirstDate;

DateTimePicker2.DateTime := date();

end;

end.

unit Unit6;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ComObj;

type

TForm6 = class(TForm)

Label1: TLabel;

Button1: TButton;

ComboBox1: TComboBox;

Label2: TLabel;

ComboBox2: TComboBox;

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure ComboBox2Select(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

procedure UpdateCombo;

end;

var

Form6: TForm6;

implementation

uses Unit2, DB, ADODB;

{$R *.dfm}

procedure TForm6.UpdateCombo;

begin

DataModule2.tbStudent.Filtered := false;

DataModule2.tbStudent.Filter := 'НГ = ' + ComboBox2.Text;

DataModule2.tbStudent.Filtered := true;

ComboBox1.Clear;

with DataModule2.tbStudent do begin

First;

while not (eof) do begin

ComboBox1.Items.Add(FieldByName('ФИО').AsString);

Next;

end;

end;

ComboBox1.ItemIndex := 0;

end;

procedure TForm6.FormShow(Sender: TObject);

begin

ComboBox2.Clear;

with DataModule2.tbGruppa do begin

First;

while not (eof) do begin

ComboBox2.Items.Add(FieldByName('НГ').AsString);

Next;

end;

end;

ComboBox2.ItemIndex := 0;

UpdateCombo;

end;

procedure TForm6.Button1Click(Sender: TObject);

var XL, Sheet: variant;

i: integer;

begin

XL := CreateOleObject('Excel.Application');

XL.WorkBooks.Add;

Sheet := XL.WorkBooks[1].WorkSheets[1];

Sheet.Columns[1].ColumnWidth := 10;

Sheet.Columns[2].ColumnWidth := 40;

Sheet.Columns[3].ColumnWidth := 40;

Sheet.Cells[3, 1] := 'Дисциплина';

Sheet.Cells[3, 2] := 'Количество часов';

Sheet.Cells[3, 3] := 'Оценка';

Sheet.Range['A1:C1'].Merge;

Sheet.Range['A1:C1'].Style.HorizontalAlignment := -4108;

Sheet.Range['A1:C1'].Font.Bold := true;

Sheet.Range['A1:C1'].Value := 'Приложение к диплому';

Sheet.Range['A2:C2'].Merge;

Sheet.Range['A2:C2'].Value := ComboBox1.Text;

with DataModule2.qPrilDipl do begin

Parameters.ParamByName('ФИО').Value := ComboBox1.Text;

Active := true;

First;

for i:= 4 to RecordCount+4-1 do begin

Sheet.Cells[i, 1] := Fields[0].AsString;

Sheet.Cells[i, 2] := Fields[1].AsString;

Sheet.Cells[i, 3] := inttostr(round(Fields[2].AsFloat));

Next;

end;

Active := false;

end;

XL.Visible := true;

end;

procedure TForm6.ComboBox2Select(Sender: TObject);

begin

UpdateCombo;

end;

procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction);

begin

DataModule2.tbStudent.Filtered := false;

end;

end.

unit Unit7;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ComObj, ExcelXP;

type

TForm7 = class(TForm)

Label1: TLabel;

ComboBox1: TComboBox;

Button1: TButton;

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

end;

var

Form7: TForm7;

implementation

uses Unit2, DB, ADODB;

{$R *.dfm}

procedure TForm7.FormShow(Sender: TObject);

begin

ComboBox1.Clear;

with DataModule2.tbGruppa do begin

First;

while not (eof) do begin

ComboBox1.Items.Add(FieldByName('НГ').AsString);

Next;

end;

end;

ComboBox1.ItemIndex := 0;

end;

procedure TForm7.Button1Click(Sender: TObject);

var XL, Sheet, x: variant;

i, j: integer;

a: array of integer;

begin

XL := CreateOleObject('Excel.Application');

XL.WorkBooks.Add;

Sheet := XL.WorkBooks[1].WorkSheets[1];

Sheet.Columns[1].ColumnWidth := 10;

Sheet.Columns[2].ColumnWidth := 40;

Sheet.Columns[3].ColumnWidth := 40;

Sheet.Cells[4, 1] := 'Фамилия';

Sheet.Columns[1].ColumnWidth := 33.43 ;

Sheet.Cells[3, 2] := 'дисциплины';

Sheet.Range['A1:C1'].Merge;

Sheet.Range['A1:C1'].Style.HorizontalAlignment := -4108;

Sheet.Range['A1:C1'].Font.Bold := true;

Sheet.Range['A1:C1'].Value := 'Ведомость успеваемости';

Sheet.Range['A2:C2'].Merge;

Sheet.Range['A2:C2'].Value := ComboBox1.Text;

i := 0;

with DataModule2.tbStudent do begin

Filter := 'НГ=' + ComboBox1.Text;

Filtered := true;

First;

SetLength(a, RecordCount);

while not eof do begin

Sheet.Cells[i+5, 1] := FieldByName('ФИО').AsString;

a[i] := FieldByName('НС').AsInteger;

inc(i);

Next;

end;

Filtered := false;

end;

i:=1;

with DataModule2.tbPredm do begin

First;

while not eof do begin

inc(i);

Sheet.Cells[4, i] := FieldByName('НП').AsString;

Sheet.Columns[i].ColumnWidth := 10.43 ;

with DataModule2.qVed do begin

Parameters.ParamByName('subject').Value :=

DataModule2.tbPredm.FieldByName('КП').Value;

Parameters.ParamByName('group').Value := ComboBox1.Text;

Active := true;

First;

for j:=0 to length(a)-1 do begin

x := Lookup('НC',a[j],'ОЦЕНКА');

if not(VarIsNull(x)) then

Sheet.Cells[j+5,i] := round(double(x))

else

Sheet.Cells[j+5,i] := '-';

end;

Active := false;

end;

Next;

end;

end;

inc(i);

Sheet.Cells[4, i] := 'Средний балл';

Sheet.Columns[i].ColumnWidth := 23.43 ;

for j:= 5 to length(a)+4 do begin

Sheet.cells[j,i].FormulaR1C1 := '=round(AVERAGE(RC[-5]:RC[-1]),1)';

end;

XL.Visible := true;

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Разработка СУБД - программного модуля для систематизации, хранения и обработки сведений о работниках лаборатории. Технологический процесс машинной реализации задачи, составление алгоритма, описание переменных процедур и функций. Листинг программы.

    курсовая работа [1,7 M], добавлен 11.01.2013

  • Разработка объектно-ориентированной модели подсистемы "StudentCount" для деканата ВУЗа (автоматизация учета студентов и их успеваемости). Для решения данной задачи использовалось CASE–средство Rational Rose, сгенерирован программный код для языка С++.

    курсовая работа [2,4 M], добавлен 28.06.2011

  • Проблема повышения оперативности учета и контроля посещаемости и успеваемости студентов ЮТИ ТПУ. Разработка информационной системы, требования к ней. Информационное обеспечение задачи, автоматизация предметной области. Описание интерфейса системы.

    дипломная работа [2,6 M], добавлен 17.07.2012

  • Комбинированный тип данных для хранения входных данных о студентах и информация, содержащаяся в полях. Пример структуры входных и выходных данных. Алгоритм работы и программный код программы по успеваемости студентов, описание используемых функций.

    курсовая работа [135,9 K], добавлен 28.12.2012

  • Проектировка и создание системы, направленной на упразднение трудной и рутинной работы преподавателей, за счет централизованного хранения данных об успеваемости студентов и удобного доступа к ним. Средства реализации и тестирование программного средства.

    курсовая работа [1,3 M], добавлен 28.08.2012

  • Построение программы, создающей ведомость для каждой группы студентов по всем дисциплинам с указанием формы контроля (зачет или экзамен). Упорядочивание списка студентов по алфавиту. Описание функций и переменных. Алгоритм, блок-схема и текст программы.

    реферат [281,3 K], добавлен 17.10.2013

  • Разработка программного модуля "органайзер", позволяющего вести телефонную книгу, книгу записей, а так же работать с фильтрами и отчетами по данным. Характеристика используемой ЭВМ, ОС и языка программирования. Описание переменных, процедур и функций.

    курсовая работа [1,5 M], добавлен 25.12.2012

  • Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.

    курсовая работа [506,5 K], добавлен 21.02.2011

  • Формирование требований к системе учета успеваемости студентов на основе рейтинговой системы. Концептуальное и логическое проектирование структуры информационного обеспечения. Реализация информационного обеспечения и тестирование программного средства.

    курсовая работа [3,1 M], добавлен 28.08.2012

  • Разработка и реализация программы расчета заданных функций на языке программирования VBA. Математическая модель, параметры и характеристики задачи, критерии оценки эффективности созданного модуля. Разработка алгоритма и тестирование программного модуля.

    курсовая работа [488,7 K], добавлен 08.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.