Реферат Документирования результатов учебной деятельности учреждения образования
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
СОДЕРЖАНИЕ
РЕФЕРАТ. 3
ВВЕДЕНИЕ. 4
1. НАЗНАЧЕНИЕ И ЦЕЛИ СОЗДАНИЯ СИСТЕМЫ.. 6
2. ПРОЕКТИРОВАНИЕ ЗАДАЧИ.. 7
2.1. Обоснование среды разработки. 7
2.2 Описание алгоритма решения задачи. 8
3. ПРОГРАММА РЕШЕНИЯ ЗАДАЧИ.. 14
3.1 Логическая модель данных. 14
3.2 Физическая модель. 17
4. ТЕСТИРОВАНИЕ ПРОГРАММЫ.. 19
5. ОПИСАНИЕ ПРОГРАММЫ.. 21
5.1 Вызов и загрузка. 21
5.2 Входные данные. 21
5.3 Выходные данные. 21
5.4 Инсталляция программы.. 21
5.5 Диалог с пользователем. 23
5.6 Система помощи. 23
6. РАЗДЕЛ ОХРАНЫ ТРУДА.. 25
6.1 Описание рабочего места программиста. 25
6.2 Освещенность рабочего места. 30
6.3 Параметры микроклимата на рабочем месте. 34
6.4 Нормирование шума. 35
6.5 Методы защиты от шума. 36
6.6 Вентиляция. 37
6.7 Расчет информационной нагрузки программиста. 37
7. ЭКОНОМИЧЕСКИЙ РАЗДЕЛ.. 42
7.1 Планирование разработки программного продукта. 42
7.2 Расчет трудоемкости разработки программного продукта. 42
7.3 Составление необходимого перечня работ и ее кодирование. 42
7.4 Установка оценок времени продолжительности работ. 43
7.5 Расчет себестоимости и цены разработки программного продукта. 44
7.6 Методика расчета статей калькуляции. 44
7.6.1 Расчет материальных затрат. 44
7.6.2 Расчет заработной платы программиста. 45
7.6.3 Расчет единого социального налога. 46
7.6.4 Расчет накладных расходов. 46
7.6.5 Расчет калькуляции затрат на разработку программного продукта 48
7.6.6 Определение цены программного продукта. 48
ЗАКЛЮЧЕНИЕ. 50
ПРИЛОЖЕНИЕ 1. 52
РЕФЕРАТ
Дипломный проект: с.51, рис.8, табл.9, источник 7, прил. 1
Разработка системы автоматизации процесса «Документирования результатов учебной деятельности учреждения образования».
Объектом и предметом исследования является учебная деятельность.
Цель работы: в кратчайшие сроки предоставить документацию об успеваемости и поведении большого количество студентов разных групп.
В процессе дипломной разработки был создана программа «Документирования результатов учебной деятельности учреждения образования» Пинского колледжа легкой промышленности. В выпускной квалификационной работе рассмотрены вопросы внедрения системы в работу, проведен анализ условий труда, организации рабочего места пользователя системы. Рассмотрены вопросы экономической эффективности внедрения разработки. Была проведена проверка работоспособности программы.
Автор работы подтверждает, что приведенный в ней расчетно-аналитический материал правильно и объективно отражает состояние исследуемого процесса, а все заимствованные из литературных и других источников сопровождаются ссылками на их авторов.
_____________
(подпись учащегося)
ВВЕДЕНИЕ
Анализ, выполняемый на основе числовых расчетов, составляет основу всякой учебной деятельности. Различают одновариантный анализ, когда расчет ведется один раз по некоторой совокупности формул, и многовариантный расчет, когда расчет по одной и той же совокупности формул проводится многократно, с различными исходными данными. В процессе многовариантного анализа выявляется взаимное влияние параметров проектируемых изделий и их узлов, осуществляется сравнение вариантов. На основе многовариантного анализа строятся процедуры оптимизации – выбора наилучшего варианта (проектного решения). Можно утверждать, что процесс оптимизации лежит в основе всей пользовательской деятельности. Расчеты в инженерной практике всегда занимали ведущее место.
Изменилась сложность расчетов. При создании технических объектов в прошлом (скажем, лет 30–40 назад) зачастую ограничивались относительно простыми расчетными схемами, которые можно было реализовать с помощью логарифмической линейки и других вспомогательных средств, а несовершенство математических моделей, положенных в основу расчета, компенсировали доводкой проектируемого объекта в условиях натурного эксперимента и испытаний опытного образца. Усложнение современной техники (объектов проектирования) приводит к тому, что при использовании такой методики недопустимо растут:
• сроки проектирования,
• стоимость разработки,
а в рамках ограниченных сроков проектирования появляются изделия, далекие от «рекордных», наилучших при существующих технических и технологических возможностях.
Разработка новой технологии проектирования, основанной на широком и систематическом применении компьютеров для решения проектных задач на основе совершенствования математических моделей и процедур, представляет собой единственно возможный путь создания изделий на уровне, превышающем лучшие существующие образцы. В этих условиях умение использовать ЭВМ для решения своих профессиональных задач становится абсолютно необходимым любому пользователю.
Однако при проведении многовариантных расчетов и составления
таблиц параметров, инженеру необходимо выделить ту область параметров проектируемого изделия, которая является наиболее оптимальной для данного производства. Осуществимость этой операции в современных условиях труда основывается на хорошем владении инженером программным обеспечением компьютера. Наиболее популярным средством для проведения различного рода анализа и расчетов является Microsoft Excel. А в сочетании с Borland Delphi 7 становится незаменимым помощником пользователя при его повседневной работе.
1. НАЗНАЧЕНИЕ И ЦЕЛИ СОЗДАНИЯ СИСТЕМЫ
Программа предназначена для работы с группами учащихся.
Разрабатываемая программа должна быть удобной для пользователя. Пользователь не должен тратить много времени на изучение принципов работы программы. Основная его задача – документирование учебной деятельности. Программа может использоваться как в учреждениях образования, так и в домашних условиях.
Системные требования — это описание примерных характеристик, которым должен соответствовать компьютер для того, чтобы на нём могло использоваться какое-либо определённое программное обеспечение. Эти характеристики могут описывать требования как к аппаратному обеспечению — типу и частоте процессора, объёму оперативной памяти, объёму жёсткого диска, так и к программному окружению — операционной системе, наличию установленных системных компонент и сервисов и т. п
Минимальные системные требования для представленной программы: процессор с частотой 133Mhz, объем оперативной памяти 32 Mb, операционная система Windows 98/2000/XP/Vista/, или, Windows 7, клавиатура, мышь. Для корректной работы программы необходимо наличие на компьютере пользователя установленного пакета Microsoft Office XP и выше.
2. ПРОЕКТИРОВАНИЕ ЗАДАЧИ
При запуске программы первой появляется главная форма, в которой отображаются кнопки «Добавить новую группу», «Просмотреть» и кнопка «Выход».
Для добавления новой группы необходимо нажать кнопку «Добавить новую группу» и ввести необходимые данные т.е. номер группы, количество человек и количество предметов. Затем ввести название предметов, ФИО учащихся оценки, поведение и количество пропусков.
Кнопка «Просмотр» позволяет просмотреть уже имеющиеся группы.
Чтобы выйти из программы нажать кнопку «Выход».
Ниже приведены диаграммы по которым разрабатывалась программа.
2.1. Обоснование среды разработки
Для разработки информационно-справочной системы использовалась визуальная среда Delphi 7.
Выбор языка программирования основывается на следующем: она совместима со стандартами ODBC, IDAPI и к тому же генерируют компактные и легко переносимые исполнимые файлы. По большому счету можно ничего не знать о Windows и программировании для Windows и при этом создавать вполне работоспособные и современно выглядящие задачи. Кроме того, изучив Pascal, трудностей с программированием на Delphi быть не должно, т.к. существует 100% совместимость с прежними наработками. Среда визуального программирования Delphi совместима со всеми прикладными алгоритмами, написанными до сих пор на Pascal. Это значит, что для серьезной работы необходимо серьезное знание языка Паскаль, хотя какую-то часть кода сгенерирует сама Delphi. Не будет лишним знание интерфейса Windows.
Основные характеристики выбранного языка программирования:
- высокопроизводительный компилятор в машинный код;
- объектно-ориентированная модель компонент;
- визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;
- масштабируемые средства для построения баз данных.
Интегрированная среда разработки IDE Delphi предоставляет всевозможные средства для создания, тестирования и редактирования проекта.
Среда Delphi является одной из наиболее популярных систем разработки приложений. Программа проста в использовании, не требует специальных навыков, кроме знаний основ работы в системе Microsoft Windows. Программа широко использует стандартные элементы управления, что обеспечивает единство интерфейса системы и программного средства, а, следовательно, и удобство использования.
Преимуществами Delphi 7 является то, что для работы с различными данными создается наиболее подходящий для каждого конкретного случая графический интерфейс, содержащий всевозможные меню, множество управляемых окон и разнотипных элементов управления, благодаря чему экран не загромождается лишней информацией и в то же время вся необходимая информация является легкодоступной.
2.2 Описание алгоритма решения задачи
Код для данного списка выглядит следующим образом:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ss:='';
button6.Enabled:=true;
button11.Enabled:=false;
button10.Visible:=true;
assignfile(gruppa,ComboBox1.text+'.txt');
reset(gruppa);
readln(gruppa,s);
readln(gruppa,s);
chel:=strtoint(s);
readln(gruppa,s);
pr:=strtoint(s);
stringgrid1.ColCount:=pr+5;
stringgrid1.RowCount:=2;
stringgrid1.Cells[0,0]:='ФИО';
stringgrid1.Cells[pr+1,0]:='Ср.балл';
stringgrid1.Cells[pr+2,0]:='Поведение';
stringgrid1.Cells[pr+3,0]:='Пропуски';
stringgrid1.Cells[pr+4,0]:='Пропуски без ув причин';
for i:=1 to pr do begin
readln(gruppa,s);
stringgrid1.Cells[i,0]:=s;
end;
for i:=1 to chel do begin
readln(gruppa,s);
stringgrid1.Cells[0,i]:=s;
readln(gruppa,s);
stringgrid1.Cells[pr+2,i]:=s;
readln(gruppa,s);
stringgrid1.Cells[pr+3,i]:=s;
readln(gruppa,s);
stringgrid1.Cells[pr+4,i]:=s;
readln(gruppa,s);
l:=1;
for k:=1 to length(s) do begin
if s[k]<>' ' then
ss:=ss+s[k]
else begin
stringgrid1.Cells[l,i]:=ss;
l:=l+1;
sr:=sr+strtoint(ss);
ss:='';
end;
end;
stringgrid1.Cells[pr+1,i]:=floattostr(RoundTo(sr/pr,-2));
sr:=0;
for j:=0 to stringgrid1.ColCount do
stringgrid1.Cells[j,i+1]:='';
stringgrid1.RowCount:=stringgrid1.RowCount+1;
end;
closefile(gruppa);
stringgrid1.Width:=stringgrid1.ColWidths[0];
for i:=1 to stringgrid1.ColCount do
stringgrid1.Width:=stringgrid1.Width+stringgrid1.ColWidths[i];
end;
Для формирования сводной таблицы предусмотрена кнопка «Сводная таблица».
Код кнопки выглядит так:
procedure TForm1.Button10Click(Sender: TObject);
begin
for i:=1 to 10 do
stringgrid1.Rows[chel+i].Clear;
button11.Enabled:=true;
stringgrid1.RowCount:=stringgrid1.RowCount+1;
stringgrid1.Cells[0,chel+1]:='Руд';
stringgrid1.Cells[pr+3,chel+3]:='СОЭ:';
stringgrid1.Cells[pr+3,chel+4]:='РУД:';
for i:=1 to pr+1 do begin
sr1:=0;
for j:=1 to chel do begin
ss:=stringgrid1.Cells[i,j];
sr1:=sr1+strtofloat(ss);
end;
stringgrid1.Cells[i,chel+1]:=floattostr(RoundTo(sr1/chel,-2));
d:=sr1/chel;
end;
n:=2;
for i:=10 downto 3 do begin
stringgrid1.RowCount:=stringgrid1.RowCount+1;
stringgrid1.Cells[0,chel+n]:='"'+inttostr(i)+'"';
for j:=1 to pr do begin
sr1:=0;
for l:=1 to chel do begin
ss:=stringgrid1.Cells[j,l];
if strtofloat(ss)=i then
sr1:=sr1+1;
end;
stringgrid1.Cells[j,chel+n]:=floattostr(sr1);
end;
n:=n+1;
end;
sum:=0;
for i:=1 to chel do
sum:=sum+strtofloat(stringgrid1.cells[pr+3,i]);
stringgrid1.cells[pr+3,i]:=floattostr(sum);
sum:=0;
for i:=1 to chel do
sum:=sum+strtofloat(stringgrid1.cells[pr+4,i]);
stringgrid1.cells[pr+4,i]:=floattostr(sum);
sum:=0;
for i:=2 to 9 do begin
sr1:=0;
for j:=1 to pr do
sr1:=sr1+strtofloat(stringgrid1.Cells[j,chel+i]);
sum:=sum+sr1;
stringgrid1.Cells[pr+2,chel+i]:=floattostr(sr1);
end;
stringgrid1.Cells[pr+4,chel+3]:=floattostr(RoundTo((strtofloat(stringgrid1.Cells[pr+2,chel+2])*1+strtofloat(stringgrid1.Cells[pr+2,chel+3])*0.96+strtofloat(stringgrid1.Cells[pr+2,chel+4])*0.9+strtofloat(stringgrid1.Cells[pr+2,chel+5])*0.74+strtofloat(stringgrid1.Cells[pr+2,chel+6])*0.55+strtofloat(stringgrid1.Cells[pr+2,chel+7])*0.45+strtofloat(stringgrid1.Cells[pr+2,chel+8])*0.4+strtofloat(stringgrid1.Cells[pr+2,chel+9])*0.32)/sum,-2));
stringgrid1.Cells[pr+4,chel+4]:=floattostr(RoundTo((strtofloat(stringgrid1.Cells[pr+2,chel+2])*10+strtofloat(stringgrid1.Cells[pr+2,chel+3])*9+strtofloat(stringgrid1.Cells[pr+2,chel+4])*8+strtofloat(stringgrid1.Cells[pr+2,chel+5])*7+strtofloat(stringgrid1.Cells[pr+2,chel+6])*6+strtofloat(stringgrid1.Cells[pr+2,chel+7])*5+strtofloat(stringgrid1.Cells[pr+2,chel+8])*4+strtofloat(stringgrid1.Cells[pr+2,chel+9])*3)/sum,-2));
end;
Если сводная таблица сформирована, то пользователю предоставляется возможность сохранить ее в MS Excel, для этого служит кнопка «Сохранить в MS Excel». При нажатии этой кнопки открывается MS Excel с сформированной сводной таблицей, при необходимости ее можно вывести на печать или сохранить.
Код данной кнопки выглядит так:
procedure TForm1.Button11Click(Sender: TObject);
var x,c:integer;
Ap : Variant;
begin
Ap := CreateOleObject('Excel.Application');
Ap.Workbooks.Add;
Ap.Cells[4,((pr+3) div 2)]:='СВОДНАЯ ВЕДОМОСТЬ';
Ap.Cells[5,1]:='успеваемости учащихся Пинского ГПТК легкой промышленности';
Ap.Cells[6,((pr+3) div 2)]:='группа '+combobox1.Text+' год обучения';
for x:=0 to StringGrid1.RowCount do
for c:=0 to StringGrid1.ColCount do
Ap.Cells[x+7,c+1] :=StringGrid1.Cells[c,x];
Ap.Cells[x+6,1]:='Средний балл по группе';
Ap.Cells[x+6,6]:=floattostr(RoundTo(d,-2));
Ap.Cells[x+7,1]:='Мастера п/о:';
Ap.Cells[x+8,1]:='Куратор группы:';
Ap.Visible := True;
end;
3. ПРОГРАММА РЕШЕНИЯ ЗАДАЧИ
Для проектирования системы были использованы UML-диаграммы.
UML позволяет разработчикам программного обеспечения достигнуть соглашения в графических обозначениях для представления общих понятий (таких как класс, компонент, обобщение, объединение и поведение, и больше сконцентрироваться на проектировании и архитектуре.
3.1 Логическая модель данных
Диаграмма состояния
Диаграмма классов
|
|
Диаграмма деятельности
3.2 Физическая модель
Диаграмма компонентов
Диаграмма кооперации
4. ТЕСТИРОВАНИЕ ПРОГРАММЫ
При запуске программы на форме выводится информация о проекте и разработчике. Данное окно выглядит следующим образом:
Рис.1 Вид первоначального окна
Для перехода в главное окно необходимо нажать кнопку «Начать работу». После чего на форме активизируется элементы управления:
Рис.2 Вид главного окна
В данный момент пользователь может просматривать списки групп и добавлять новые.
Для просмотра уже сформированных списков групп на форма предусмотрен раскрывающийся список. При выборе любого пункта из донного списка в таблице формы будут отображаться данные о выбранной группе. При выборе группы будет активирована кнопка для формирования сводной таблицы.
Вид формы после выбора группы примет следующий вид:
Рис.3 Вид окна после выбора группы
Рис.4 Сформированная сводная ведомость
5. ОПИСАНИЕ ПРОГРАММЫ
5.1 Вызов и загрузка
Вызов осуществляется при помощи файла «Project1.exe». Время загрузки зависит от параметров компьютера.
5.2 Входные данные
Входные данные файлы с именем «имя группы.txt» изменяющие в самой программе. Книга1.xls файл Microsoft Excel создаваемый при помощи программы по нажатию кнопки «Сохранить в Excel».
5.3 Выходные данные
Результат приведен в главном окне программы, а так же в файле Книга1.xls создаваемый в Microsoft Excel.
5.4 Инсталляция программы
Для инсталляции программы запустите «DRYDSetup.exe» будет вызвано окно установки следующего вида:
Нажимаем кнопку «Далее» и указываем, в какую папку установить окно представлено ниже.
После появиться окно с уточнением пути:
Жмем кнопку «Установить» и появляется окно, что программа успешна установлена на компьютере.
После нажатия на кнопку «Готово» программа полностью готово к использованию.
5.5 Диалог с пользователем
Диалог с пользователем осуществляется с помощью главного окна программы «Документирования результатов учебной деятельности в учреждении образования».
5.6 Система помощи
Для перехода в главное окно необходимо нажать кнопку «Начать работу».
При добавлении группы нажать кнопку «Добавление группы», в которой вноситься номер группы, количество учащихся и количество предметов. Для добавления учащегося в созданную группу служит кнопка «Добавить учащегося».
Для редактирования уже созданных групп используется кнопка «Редактирование».
Для сохранения изменений используется кнопка «Сохранить изменения».
Для формирования сводной таблицы предусмотрена кнопка «Сводная таблица», если сводная таблица сформирована успешно, то пользователю предоставляется возможность сохранить ее в MS Excel, для этого служит кнопка «Сохранить в MS Excel». При нажатии этой кнопки открывается MS Excel с сформированной сводной таблицей, при необходимости ее можно вывести на печать или сохранить.
6. РАЗДЕЛ ОХРАНЫ ТРУДА
Охрана труда - система законодательных актов, социально-экономических, организационных, технических, гигиенических и лечебно-профилактических мероприятий и средств, обеспечивающих безопасность, сохранение здоровья и работоспособности человека в процессе труда. Научно-технический прогресс внес серьезные изменения в условия производственной деятельности работников умственного труда. Их труд стал более интенсивным, напряженным, требующим значительных затрат умственной, эмоциональной и физической энергии. Это потребовало комплексного решения проблем эргономики, гигиены и организации труда, регламентации режимов труда и отдыха.
Охрана здоровья трудящихся, обеспечение безопасности условий труда, ликвидация профессиональных заболеваний и производственного травматизма составляет одну из главных забот человеческого общества. Обращается внимание на необходимость широкого применения прогрессивных форм научной организации труда, сведения к минимуму ручного, малоквалифицированного труда, создания обстановки, исключающей профессиональные заболевания и производственный травматизм.
Данный раздел дипломного проекта посвящен рассмотрению следующих вопросов:
· организация рабочего места программиста;
· определение оптимальных условий труда программиста.
6.1 Описание рабочего места программиста
Рабочее место - это часть пространства, в котором инженер осуществляет трудовую деятельность, и проводит большую часть рабочего времени. Рабочее место, хорошо приспособленное к трудовой деятельности инженера, правильно и целесообразно организованное, в отношении пространства, формы, размера обеспечивает ему удобное положение при работе и высокую производительность труда при наименьшем физическом и психическом напряжении.
При правильной организации рабочего места производительность труда инженера возрастает с 8 до 20 процентов.
Согласно ГОСТ 12.2.032-78 конструкция рабочего места и взаимное расположение всех его элементов должно соответствовать антропометрическим, физическим и психологическим требованиям. Большое значение имеет также характер работы. В частности, при организации рабочего места программиста должны быть соблюдены следующие основные условия:
· оптимальное размещение оборудования, входящего в состав рабочего места;
· достаточное рабочее пространство, позволяющее осуществлять все необходимые движения и перемещения;
· необходимо естественное и искусственное освещение для выполнения поставленных задач;
· уровень акустического шума не должен превышать допустимого значения.
Главными элементами рабочего места программиста являются письменный стол и кресло. Основным рабочим положением является положение сидя. Рабочее место для выполнения работ в положении сидя организуется в соответствии с ГОСТ 12.2.032-78.
Рабочая поза сидя вызывает минимальное утомление программиста. Рациональная планировка рабочего места предусматривает четкий порядок и постоянство размещения предметов, средств труда и документации. То, что требуется для выполнения работ чаще, расположено в зоне легкой досягаемости рабочего пространства.
Моторное поле - пространство рабочего места, в котором могут осуществляться двигательные действия человека.
Максимальная зона досягаемости рук - это часть моторного поля рабочего места, ограниченного дугами, описываемыми максимально вытянутыми руками при движении их в плечевом суставе.
Оптимальная зона - часть моторного поля рабочего места, ограниченного дугами, описываемыми предплечьями при движении в локтевых суставах с опорой в точке локтя и с относительно неподвижным плечом.
Зоны досягаемости рук в горизонтальной плоскости.
а - зона максимальной досягаемости;
б - зона досягаемости пальцев при вытянутой руке;
в - зона легкой досягаемости ладони;
г - оптимальное пространство для грубой ручной работы;
д - оптимальное пространство для тонкой ручной работы.
Рассмотрим оптимальное размещение предметов труда и документации в зонах досягаемости рук:
ДИСПЛЕЙ размещается в зоне а (в центре);
КЛАВИАТУРА - в зоне г/д;
СИСТЕМНЫЙ БЛОК размещается в зоне б (слева);
ПРИНТЕР находится в зоне а (справа);
ДОКУМЕНТАЦИЯ
1) в зоне легкой досягаемости ладони - в (слева) - литература и документация, необходимая при работе;
2) в выдвижных ящиках стола - литература, неиспользуемая постоянно.
При проектировании письменного стола следует учитывать следующее:
· высота стола должна быть выбрана с учетом возможности сидеть свободно, в удобной позе, при необходимости опираясь на подлокотники;
· нижняя часть стола должна быть сконструирована так, чтобы программист мог удобно сидеть, не был вынужден поджимать ноги;
· поверхность стола должна обладать свойствами, исключающими появление бликов в поле зрения программиста;
· конструкция стола должна предусматривать наличие выдвижных ящиков (не менее 3 для хранения документации, листингов, канцелярских принадлежностей, личных вещей).
Параметры рабочего места выбираются в соответствии с антропометрическими характеристиками. При использовании этих данных в расчетах следует исходить из максимальных антропометрических характеристик (М+2).
При работе в положении сидя рекомендуются следующие параметры рабочего пространства:
· ширина не менее 700 мм;
· глубина не менее 400 мм;
· высота рабочей поверхности стола над полом 700-750 мм.
Оптимальными размерами стола являются:
· высота 710 мм;
· длина стола 1300 мм;
· ширина стола 650 мм.
Поверхность для письма должна иметь не менее 40 мм в глубину и не менее 600 мм в ширину.
Под рабочей поверхностью должно быть предусмотрено пространство для ног:
· высота не менее 600 мм;
· ширина не менее 500 мм;
· глубина не менее 400 мм.
Важным элементом рабочего места программиста является кресло. Оно выполняется в соответствии с ГОСТ 21.889-76. При проектировании кресла исходят из того, что при любом рабочем положении программиста его поза должна быть физиологически правильно обоснованной, т.е. положение частей тела должно быть оптимальным. Для удовлетворения требований физиологии, вытекающих из анализа положения тела человека в положении сидя, конструкция рабочего сидения должна удовлетворять следующим основным требованиям:
· допускать возможность изменения положения тела, т.е. обеспечивать свободное перемещение корпуса и конечностей тела друг относительно друга;
· допускать регулирование высоты в зависимости от роста работающего человека ( в пределах от 400 до 550 мм );
· иметь слегка вогнутую поверхность,
· иметь небольшой наклон назад.
Исходя из вышесказанного, приведем параметры стола программиста:
· высота стола 710 мм;
· длина стола 1300 мм;
· ширина стола 650 мм;
· глубина стола 400 мм.
Поверхность для письма:
· в глубину 40 мм;
· в ширину 600 мм.
Важным моментом является также рациональное размещение на рабочем месте документации, канцелярских принадлежностей, что должно обеспечить работающему удобную рабочую позу, наиболее экономичные движения и минимальные траектории перемещения работающего и предмета труда на данном рабочем месте.
Создание благоприятных условий труда и правильное эстетическое оформление рабочих мест на производстве имеет большое значение как для облегчения труда, так и для повышения его привлекательности, положительно влияющей на производительность труда. Окраска помещений и мебели должна способствовать созданию благоприятных условий для зрительного восприятия, хорошего настроения. В служебных помещениях, в которых выполняется однообразная умственная работа, требующая значительного нервного напряжения и большого сосредоточения, окраска должна быть спокойных тонов - малонасыщенные оттенки холодного зеленого или голубого цветов
При разработке оптимальных условий труда программиста необходимо учитывать освещенность, шум и микроклимат.
6.2 Освещенность рабочего места
Рациональное освещение рабочего места является одним из важнейших факторов, влияющих на эффективность трудовой деятельности человека, предупреждающих травматизм и профессиональные заболевания. Правильно организованное освещение создает благоприятные условия труда, повышает работоспособность и производительность труда. Освещение на рабочем месте программиста должно быть таким, чтобы работник мог без напряжения зрения выполнять свою работу. Утомляемость органов зрения зависит от ряда причин:
· недостаточность освещенности;
· чрезмерная освещенность;
· неправильное направление света.
Недостаточность освещения приводит к напряжению зрения, ослабляет внимание, приводит к наступлению преждевременной утомленности. Чрезмерно яркое освещение вызывает ослепление, раздражение и резь в глазах. Неправильное направление света на рабочем месте может создавать резкие тени, блики, дезориентировать работающего. Все эти причины могут привести к несчастному случаю или профзаболеваниям, поэтому столь важен правильный расчет освещенности.
Расчет освещенности рабочего места сводится к выбору системы освещения, определению необходимого числа светильников, их типа и размещения. Процесс работы программиста в таких условиях, когда естественное освещение недостаточно или отсутствует. Исходя из этого, рассчитаем параметры искусственного освещения.
Искусственное освещение выполняется посредством электрических источников света двух видов: ламп накаливания и люминесцентных ламп. Будем использовать люминесцентные лампы, которые по сравнению с лампами накаливания имеют существенные преимущества:
· по спектральному составу света они близки к дневному, естественному освещению;
· обладают более высоким КПД (в 1.5-2 раза выше, чем КПД ламп накаливания);
· обладают повышенной светоотдачей (в 3-4 раза выше, чем у ламп накаливания);
· более длительный срок службы.
Расчет освещения производится для комнаты площадью 36 м2 , ширина которой 4.9 м, высота - 4.2 м. Воспользуемся методом светового потока.
Для определения количества светильников определим световой поток, падающий на поверхность по формуле:
, где
F - рассчитываемый световой поток, Лм;
Е - нормированная минимальная освещенность, Лк (определяется по таблице). Работу программиста, в соответствии с этой таблицей, можно отнести к разряду точных работ, следовательно, минимальная освещенность будет Е = 300 Лк при газоразрядных лампах;
S - площадь освещаемого помещения ( в нашем случае S = 36 м2 );
Z - отношение средней освещенности к минимальной (обычно принимается равным 1.1-1.2 , пусть Z = 1.1);
К - коэффициент запаса, учитывающий уменьшение светового потока лампы в результате загрязнения светильников в процессе эксплуатации (его значение определяется по таблице коэффициентов запаса для различных помещений и в нашем случае К = 1.5);
n - коэффициент использования, (выражается отношением светового потока, падающего на расчетную поверхность, к суммарному потоку всех ламп и исчисляется в долях единицы; зависит от характеристик светильника, размеров помещения, окраски стен и потолка, характеризуемых коэффициентами отражения от стен (Рс) и потолка (Рп)), значение коэффициентов Рс и Рп определим по таблице зависимостей коэффициентов отражения от характера поверхности: Рс=30%, Рп=50%. Значение n определим по таблице коэффициентов использования различных светильников. Для этого вычислим индекс помещения по формуле:
, где
S - площадь помещения, S = 36 м2;
h - расчетная высота подвеса, h = 3.39 м;
A - ширина помещения, А = 4.9 м;
В - длина помещения, В = 7.35 м.
Подставив значения получим:
Зная индекс помещения I, Рс и Рп, по таблице находим n = 0.28
Подставим все значения в формулу для определения светового
потока F:
Лм
Для освещения выбираем люминесцентные лампы типа ЛБ40-1, световой поток которых F = 4320 Лк.
Рассчитаем необходимое количество ламп по формуле:
, где
N - определяемое число ламп;
F - световой поток, F = 63642,857 Лм;
Fл- световой поток лампы, Fл = 4320 Лм.
шт.
При выборе осветительных приборов используем светильники типа ОД. Каждый светильник комплектуется двумя лампами. Размещаются светильники двумя рядами, по четыре в каждом ряду.
6.3 Параметры микроклимата на рабочем месте
Параметры микроклимата могут меняться в широких пределах, в то время как необходимым условием жизнедеятельности человека является поддержание постоянства температуры тела благодаря свойству терморегуляции, т.е. способности организма регулировать отдачу тепла в окружающую среду.
Основной принцип нормирования микроклимата - создание оптимальных условий для теплообмена тела человека с окружающей средой. В санитарных нормах СН-245/71 установлены величины параметров микроклимата, создающие комфортные условия. Эти нормы устанавливаются в зависимости от времени года, характера трудового процесса и характера производственного помещения (значительные или незначительные тепловыделения). Для рабочих помещений с избыточным тепловыделением до 20 ккал/м3 допустимые и оптимальные значения параметров микроклимата приведены в таблице:
Таблица 1.
Время года | Зона | Температура воздуха, 0 C | Относительная влажность, % | Скорость движения воздуха, м/с |
Холодный Период | Оптимальная | 18 - 21 | 60 - 40 | < 0.2 |
Переходный Период | Допустимая | 17 - 21 | < 75 | < 0.3 |
Теплый пе- риод года (t > 100 C) | Оптимальная | 20 - 25 | 60 - 40 | < 0.3 |
| Допустимая | < 28 в 13 часов самого жаркого мес. | < 75 | < 0.5 |
В настоящее время для обеспечения комфортных условий используются как организационные методы, так и технические средства. К числу организационных относятся рациональная организация проведения работ в зависимости от времени года и суток, а также организация правильного чередования труда и отдыха. В связи с этим рекомендуется на территории предприятия организовывать зеленую зону со скамейками для отдыха и водоемом (бассейны, фонтаны). Технические средства включают вентиляцию, кондиционирование воздуха, отопительную систему.
6.4 Нормирование шума
Установлено, что шум ухудшает условия труда, оказывая вредное воздействие на организм человека. При длительном воздействии шума на человека происходят нежелательные явления: снижается острота зрения, слуха, повышается кровяное давление, понижается внимание. Сильный продолжительный шум может стать причиной функциональных изменений сердечнососудистой и нервной систем.
Согласно ГОСТ 12.1.003-88 ("Шум. Общие требования безопасности") характеристикой постоянного шума на рабочих местах являются среднеквадратичные уровни давлений в октавных полосах частот со среднегеометрическими стандартными частотами: 63, 125, 250, 500, 1000, 2000, 4000 и 8000 Гц. В этом ГОСТе указаны значения предельно допустимых уровней шума на рабочих местах предприятий. Для помещении конструкторских бюро, расчетчиков и программистов уровни шума не должны превышать соответственно: 71, 61, 54, 49, 45, 42, 40, 38 дБ. Эта совокупность восьми нормативных уровней звукового давления называется предельным спектром.
6.5 Методы защиты от шума
Строительно-акустические методы защиты от шума предусмотрены строительными нормами и правилами (СНиП-II-12-77). это:
· звукоизоляция ограждающих конструкции, уплотнение по периметру притворов окон и дверей;
· звукопоглощающие конструкции и экраны;
· глушители шума, звукопоглощающие облицовки.
На рабочем месте программиста источниками шума, как правило, являются технические средства, как то - компьютер, принтер, вентиляционное оборудование, а также внешний шум. Они издают довольно незначительный шум, поэтому в помещении достаточно использовать звукопоглощение. Уменьшение шума, проникающего в помещение извне, достигается уплотнением по периметру притворов окон и дверей. Под звукопоглощением понимают свойство акустически обработанных поверхностей уменьшать интенсивность отраженных ими волн за счет преобразования звуковой энергии в тепловую. Звукопоглощение является достаточно эффективным мероприятием по уменьшению шума. Наиболее выраженными звукопоглощающими свойствами обладают волокнисто-пористые материалы: фибролитовые плиты, стекловолокно, минеральная вата, полиуретановый поропласт, пористый поливинилхлорид и др. К звукопоглощающим материалам относятся лишь те, коэффициент звукопоглощения которых не ниже 0.2.
Звукопоглощающие облицовки из указанных материалов (например, маты из супертонкого стекловолокна с оболочкой из стеклоткани нужно разместить на потолке и верхних частях стен). Максимальное звукопоглощение будет достигнуто при облицовке не менее 60% общей площади ограждающих поверхностей помещения.
6.6 Вентиляция
Системы отопления и системы кондиционирования следует устанавливать так, чтобы ни теплый, ни холодный воздух не направлялся на людей. На производстве рекомендуется создавать динамический климат с определенными перепадами показателей. Температура воздуха у поверхности пола и на уровне головы не должна отличаться более, чем на 5 градусов. В производственных помещениях помимо естественной вентиляции предусматривают приточно-вытяжную вентиляцию. Основным параметром, определяющим характеристики вентиляционной системы, является кратность обмена, т.е. сколько раз в час сменится воздух в помещении.
6.7 Расчет информационной нагрузки программиста
Программист, в зависимости от подготовки и опыта, решает задачи разной сложности, но в общем случае работа программиста строится по следующему алгоритму:
Таблица 2.
Этап | Содержание | Затрата времени, % |
I II | Постановка задачи Изучение материала по поставленной задаче | 6.25 |
III | Определение метода решения задачи | 6.25 |
IV | Составление алгоритма решения задачи | 12.5 |
V | Программирование | 25 |
VI | Отладка программы, составление отчета | 50 |
Данный алгоритм отражает общие действия программиста при решении поставленной задачи независимо от ее сложности.
Таблица 3.
Этап | Член алгоритма | Содержание работы | Буквенное обозначение |
I | 1 | Получение первого варианта технического задания | A1 |
| 2 | Составление и уточнение технического задания | B1 |
| 3 | Получение окончательного варианта технического задания | C1j1 ↑2 |
| 4 | Составление перечня материалов, существующих по тематике задачи | H1j2 |
| 5 | Изучение материалов по тематике задачи | A2 |
| 6 | Выбор метода решения | C2J3 |
| 7 | Уточнение и согласование выбранного метода | B2 ↑ 6 |
| 8 | Окончательный выбор метода решения | C3j4 |
| 9 | Анализ входной и выходной информации, обрабатываемой задачей | H2 |
| 10 | Выбор языка программирования | C4j5 |
| 11 | Определение структуры программы | H3C5q1 |
| 12 | Составление блок-схемы программы | C6q2 |
| 13 | Составление текстов программы | C7w1 |
| 14 | Логический анализ программы и корректирование ее | F1H4w2 |
| 15 | Компиляция программы | F2 ↓ 18 |
| 16 | Исправление ошибок | D1w3 |
| 17 | Редактирование программы в единый загрузочный модуль | F2H5B3w4 |
| 18 | Выполнение программы | F3 |
| 19 | Анализ результатов выполнения | H6w5 ↑ 15 |
| 20 | Тестирование | C8w6 ↑ 15 |
| 21 | Подготовка отчета о работе | F4 |
Подсчитаем количество членов алгоритма и их частоту (вероятность) относительно общего числа, принятого за единицу. Вероятность повторения i-ой ситуации определяется по формуле:
pi = k/n,
где k – количество повторений каждого элемента одного типа.
n – суммарное количество повторений от источника информации, одного типа.
Результаты расчета сведем в таблицу 4:
Таблица 4.
Источник информации | Члены алгоритма | Символ | Количество членов | Частота повторений pi |
1 | Афферентные – всего (n), в том числе (к): | | 6 | 1,00 |
Изучение технической документации и литературы | A | 2 | 0,33 | |
Наблюдение полученных результатов | F | 4 | 0, 67 | |
2 | Эфферентные – всего, В том числе: | | 18 | 1,00 |
Уточнение и согласование полученных материалов | B | 3 | 0,17 | |
Выбор наилучшего варианта из нескольких | C | 8 | 0,44 | |
Исправление ошибок | D | 1 | 0,06 | |
Анализ полученных результатов | H | 6 | 0,33 | |
Выполнение механических действий | K | 0 | 0 | |
3 | Логические условия – всего в том числе | | 13 | 1,00 |
Принятие решений на основе изучения технической литературы | j | 5 | 0,39 | |
Графического материала | q | 2 | 0,15 | |
Полученного текста программы | w | 6 | 0,46 | |
| Всего: | | 37 | |
Количественные характеристики алгоритма (Табл.4) позволяют рассчитать информационную нагрузку программиста. Энтропия информации элементов каждого источника информации рассчитывается по формуле, бит/сигн:
,
где m – число однотипных членов алгоритма рассматриваемого источника информации.
H1 = 2 * 2 + 2 * 4 = 10
H2 = 3 * 1,585 + 8 * 3 + 0 + 6 * 2,585 = 44, 265
H3 = 5 * 2,323 + 2 * 1 + 6 + 2,585 = 29,125
Затем определяется общая энтропия информации, бит/сигн:
HΣ = H1 + H2 + H3,
где H1, H2, H3 – энтропия афферентных, эфферентных элементов и логических условий соответственно.
HΣ = 10 + 44,265 + 29,125 = 83,39
Далее определяется поток информационной нагрузки бит/мин,
,
где N – суммарное число всех членов алгоритма;
t – длительность выполнения всей работы, мин.
От каждого источника в информации (члена алгоритма) в среднем поступает 3 информационных сигнала в час, время работы - 225 часов,
Ф = = 2,6 бит/с
Рассчитанная информационная нагрузка сравнивается с допустимой. При необходимости принимается решение об изменениях в трудовом процессе.
Условия нормальной работы выполняются при соблюдении соотношения:
где Фдоп.мин. и Фдоп.макс. – минимальный и максимальный допустимые уровни информационных нагрузок (0,8 и 3,2 бит/с соответственно);
Фрасч. – расчетная информационная нагрузка
0,8 < 2,6 <3,2
7. ЭКОНОМИЧЕСКИЙ РАЗДЕЛ
7.1 Планирование разработки программного продукта
В дипломном проекте проводится «Документирования результатов учебной деятельности учреждения образования». В данном разделе определяется трудоемкость и затраты на создание ПО, а также производится расчет экономического эффекта, который может быть получен от применения разрабатываемого ПО.
7.2 Расчет трудоемкости разработки программного продукта
В рамках этого этапа проводится расчет затрат времени на выполнение работ по созданию программного продукта. Все работы, требующиеся для разработки программы, можно разделить на 2 группы:
7.3 Составление необходимого перечня работ и ее кодирование
В разработку программного продукта входит следующий перечень работ:
1) Постановка проблемы;
2) Описание предметной области;
3) Программирование и реализация приложения;
4) Отладка приложения;
5) Документирование.
7.4 Установка оценок времени продолжительности работ
Для расчета ожидаемого времени выполнения работ возьмем значения времени выполнения при благоприятных условиях и при неблагоприятных условиях и произведем вычисления, взяв среднее арифметическое от оптимистичной и пессимистичной оценок.
На разработку программного продукта будет затрачено максимально 39 дней (с 1 декабря по 26января) при следующих исходных данных:
Таблица 1. Расчет трудоемкости внедрения программного продукта
Наименование работы | Вероятностные оценки, дни | ||
Tmin | Tmax | T ож | |
Постановка проблемы | 1 | 2 | 1,5 |
Описание предметной области | 3 | 3 | 2,5 |
Проектирование диалогового окна, компонент и БД ВУЗов | 21 | 21 | 18 |
Отладка приложения | 4 | 4 | 3 |
Оформление документов | 5 | 7 | 6 |
Внедрение приложения | 2 | 2 | 1,5 |
Общая продолжительность работы составляет: | 37 | 39 | 32,5 |
tож = (2.1)
где Тож – ожидаемое время продолжительности работ
Тmin – оценка при наиболее благоприятных условиях
Tmax – оценка при наиболее неблагоприятных условиях
t
ож = = 38
Ожидаемое время выполнения работ по разработке программного продукта «Документирования результатов учебной деятельности учреждения образования» = 38 дня.
7.5 Расчет себестоимости и цены разработки программного продукта
Себестоимость разработки информационной системы - это, как правило, совокупность затрат на разработку программного продукта. Затраты на разработку программы подразделяются на следующие статьи расходов:
1) Материальные затраты;
2) Основная заработная плата;
3) ФСЗН;
4) Накладные расходы.
7.6 Методика расчета статей калькуляции
7.6.1 Расчет материальных затрат
В разделе «Материальные затраты» предусмотрены затраты на материалы, применяемые при использовании данного программного продукта на предприятии. Расчет стоимости материальных затрат произведен в таблице 2.
Таблица 2. Расчет стоимости материальных затрат
Наименование материала | Количество комплектов, шт. | Цена одного комплекта, руб. | Транспортные затраты, руб. | Сумма затрат, руб. |
Компакт-диск чистый) | 1 | 1500 | 0 | 1500 |
Бумага | 1 | 14510 | 1200 | 15710 |
Ручка | 1 | 1000 | 0 | 1000 |
Всего | - | - | - | 18210 |
7.6.2 Расчет заработной платы программиста
Расчет ЗП программиста производится в соответствии с трудоемкостью разработки программного продукта.
Данные для расчета:
1) Оклад – 382370 руб.;
2) Плановый фонд рабочего времени за месяц – 176 часов (22 дня);
3) Тарифная ставка – 118000 руб.
Часовая тарифная ставка (Сч) определяется:
Сч = , (3.1)
где Фрв – плановый фонд рабочего времени за месяц, из расчета 22 рабочих дня по 8 часов.
Сч = = 2172,5 рубля в час
Основная заработная плата программиста за разработку программы составит:
ЗПосн = Сч ∙ Тож (3.2)
ЗПосн = 2172,5 ∙ (38 ∙ 8) = 2172,5 ∙ 260 = 590920 руб.;
Дополнительная заработная плата:
ЗПдоп = (3.3)
ЗПдоп = = 99066 руб.
Итого затраты на оплату труда:
ЗПобщ = ЗПосн + ЗПдоп (3.4)
ЗПобщ = 660440 + 99066= 759506 руб.
7.6.3 Расчет единого социального налога
При ставке 30% от общей суммы заработной платы, ФСЗН высчитывается по формуле:
ФСЗН = , (3.5)
ФСЗН = = 227852 руб.
7.6.4 Расчет накладных расходов
В статью включены затраты, связанные с обслуживанием и организацией производства. В данном случае – это расходы на электроэнергию, потребляемую компьютером за время разработки программы и амортизационные отчисления.
Таблица 3. Затраты на электроэнергию
Вид оборудования | Мощность, кВт | Стоимость, 1 кВт/час (Без НДС) | Время работы оборудования, Тож час | Сумма затрат, руб. |
ПК | 0,4 | 510 | 228 | 46512 |
Итого | - | - | - | 46512 |
В таблице 3 выполнены расчеты по затрате ресурсов на электроэнергию по формуле:
Сумма = (М ∙ С) ∙ Т, (3.6)
где М - Мощность, кВт
С - Стоимость , 1 кВт/час
Т - Время работы оборудования, Тож час
В таблице 4 рассчитана сумма амортизационных отчислений за период разработки программного продукта в днях.
Таблица 4. Амортизационные отчисления
Вид оборудования | Первоначальная стоимость, руб. | Количество рабочих месяцев | Норма амортизации % | Сумма амортизационных отчислений, руб. |
ПК | 2200000 | 24 | 12,5 | 180400 |
Итого | - | - | - | 180400 |
Сумма амортизационных отчислений за период разработки, определяются по следующим формулам:
Аг = (3.7)
|
где Сп – первоначальная стоимость оборудования, руб.;
На – годовая норма амортизации, %;
Тмес – трудоемкость разработки программы, месяцы;
12 – количество календарных месяцев в году;
Прочие накладные расходы – 20% от основной заработной платы:
Сумма накладных расходов = затраты на электроэнергию + амортизационные отчисления + прочие накладные расходы.
Сумма накладных расходов = 151901 + 46512+ 180400= 378813 руб.
7.6.5 Расчет калькуляции затрат на разработку программного продукта
Расчет калькуляции затрат наглядно представлен в таблице 5 «Калькуляция затрат на разработку программного продукта».
Таблица 5. Калькуляция затрат на разработку программного продукта
Статья затрат | Единицы измерения | Сумма затрат, руб. |
Материальные затраты | руб. | 18210 |
Отчисления на социальные нужды (ФСЗН) | % | 227852 |
Накладные расходы, в т.ч. амортизация | руб. | 378813 |
Итого: | - | 624875 |
7.6.6 Определение цены программного продукта
Процент рентабельности (условно) – 25% ,
Прибыль рассчитывается по формуле:
П = , (3.9)
где Сполн – себестоимость
Р - процент рентабельности
П = = 56963 руб.
Цена программного продукта равна сумме полной себестоимости и прибыли:
Ц = Сполн + П (3.10)
Ц =624875+ 56963= 681838 руб.
Цена программного продукта с НДС:
НДС = (3.11)
НДС = = 122731
Цена = 122731+ 681838 = 804569 руб.
Стоимость программного продукта составляет 804569 рублей.
ЗАКЛЮЧЕНИЕ
В данном дипломном проекте была разработана программа подсчета среднего балла и составления таблицы учащихся по группам. В наше время трудно найти программу, которая будет заполняться по нажатиям маленького количества кнопок и делать максимум действий. Программа направлена на уменьшение затраты времени преподавателям или учащимся которые делают ведомости по успеваемости данной группы. Надеемся программа будет приносить максимум пользы!
ЛИТЕРАТУРА
1. Вирт, Н. Алгоритмы и структуры данных / Пер. с англ. – М: Мир, 1989.-360с.
2. Гринзоу Лу. Философия программирования для Windows 95/NT/ Пер. с англ. – СПб.: Символ – Плюс, 1997.-640с
3. Язык компьютера. Пер. с англ., под. Ред. и с предисловием В.М.Курочкина - М.: Мир, 1989. - 240с.
4. Зелковиц, М., Шоу, А., Геннон, Дж. Принципы разработки программного обеспечения/Пер. с англ. – М.: Мир, 1982.-386с.
5. Практическое руководство по программированию/ Пер. с англ. Б.Мик, П. Хит, Н.Рашби и др.; под ред. Б. Мика, П.Хит, Н.Рашби. - М.: Радиосвязь, 1986.-168с.
6. Культин Н. Б. Основы программирования в Delphi 7.- СПб.: БХВ-Петербург, 2003. - 608 с.: ил.
7. Яфаева, Р.Р. Лекции Программирование
ПРИЛОЖЕНИЕ 1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, OleCtnrs, ComObj, jpeg, ExtCtrls, math;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button2: TButton;
Label4: TLabel;
StringGrid1: TStringGrid;
Edit4: TEdit;
Button3: TButton;
Edit5: TEdit;
ComboBox2: TComboBox;
Button4: TButton;
Button5: TButton;
Label5: TLabel;
Button6: TButton;
Button7: TButton;
Label6: TLabel;
Button8: TButton;
Button9: TButton;
Label7: TLabel;
Button10: TButton;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Button11: TButton;
Image1: TImage;
Button12: TButton;
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
grups,gruppa:textfile;
pr,chel,i,k,l,sr,j,n:integer;
sr1,sum,d:real;
s,ss:string;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
if FileExists('grups.txt')=false then begin
Rewrite(grups);
write(grups,edit1.Text);
closefile(grups);
end
else begin
Append(grups);
writeln(grups);
write(grups,edit1.Text);
closefile(grups);
end;
assignfile(gruppa,edit1.Text+'.txt');
rewrite(gruppa);
combobox1.Items.Add(edit1.Text);
chel:=strtoint(edit2.Text);
pr:=strtoint(edit3.Text);
stringgrid1.ColCount:=pr+5;
writeln(gruppa,edit1.Text);
writeln(gruppa,edit2.Text);
writeln(gruppa,edit3.Text);
stringgrid1.Cells[0,0]:='ФИО';
stringgrid1.Cells[pr+1,0]:='Ср.балл';
stringgrid1.Cells[pr+2,0]:='Стипендия';
stringgrid1.Cells[pr+3,0]:='Пропуски';
stringgrid1.Cells[pr+4,0]:='Пропуски без ув причин';
i:=1;
label4.Caption:='Введите название '+inttostr(i)+' предмета';
label1.Visible:=false;
label2.Visible:=false;
label3.Visible:=false;
edit1.Visible:=false;
edit2.Visible:=false;
edit3.Visible:=false;
button2.Visible:=false;
edit4.Visible:=true;
button3.Visible:=true;
label4.Visible:=true;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
closefile(gruppa);
stringgrid1.Width:=stringgrid1.ColWidths[0];
for n:=1 to stringgrid1.ColCount do
stringgrid1.Width:=stringgrid1.Width+stringgrid1.ColWidths[n];
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
label7.Caption:='Учреждение образования "Пинский государственный профессионально-технический колледж легкой промышленности'+#13+#13+#13+'Документирование результатов учебной деятельности в учреждении образования'+#13+#13+#13+'Разработчик: А.Н.Шостак';
assignfile(grups,'grups.txt');
if FileExists('grups.txt')=true then begin
reset(grups);
while eof(grups)<>true do begin
readln(grups,s);
combobox1.Items.Add(s);
end;
end;
s:='';
stringgrid1.Width:=stringgrid1.ColWidths[0];
for i:=1 to stringgrid1.ColCount do
stringgrid1.Width:=stringgrid1.Width+stringgrid1.ColWidths[i];
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if i<>(pr) then begin
append(gruppa);
if i<>1 then
writeln(gruppa);
label4.Caption:='Введите название '+inttostr(i+1)+' предмета';
stringgrid1.Cells[i,0]:=edit4.Text;
write(gruppa,edit4.Text);
i:=i+1;
edit4.Text:='';
closefile(gruppa);
end
else begin
append(gruppa);
writeln(gruppa);
stringgrid1.Cells[i,0]:=edit4.Text;
write(gruppa,edit4.Text);
i:=i+1;
edit4.Text:='';
button3.Visible:=false;
edit4.Visible:=false;
label4.Visible:=false;
button4.Visible:=true;
edit5.Visible:=true;
edit6.Visible:=true;
edit7.Visible:=true;
edit8.Visible:=true;
closefile(gruppa);
end;
k:=0;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if k<=chel then begin
for i:=0 to stringgrid1.ColCount do
stringgrid1.Cells[i,k+2]:='';
stringgrid1.RowCount:=stringgrid1.RowCount+1;
s:='';
append(gruppa);
writeln(gruppa);
write(gruppa,edit5.Text);
stringgrid1.Cells[0,k+1]:=edit5.Text;
writeln(gruppa);
write(gruppa,edit6.Text);
stringgrid1.Cells[0,chel+2]:=edit6.Text;
writeln(gruppa);
write(gruppa,edit7.Text);
stringgrid1.Cells[0,chel+3]:=edit7.Text;
writeln(gruppa);
write(gruppa,edit8.Text);
stringgrid1.Cells[0,chel+4]:=edit8.Text;
k:=k+1;
closefile(gruppa);
button4.Enabled:=false;
edit5.Enabled:=false;
edit6.Enabled:=false;
edit7.Enabled:=false;
edit8.Enabled:=false;
end
else begin
stringgrid1.RowCount:=stringgrid1.RowCount+1;
s:='';
append(gruppa);
writeln(gruppa);
write(gruppa,edit5.Text);
stringgrid1.Cells[0,k+1]:=edit5.Text;
k:=k+1;
closefile(gruppa);
end;
l:=1;
label5.Caption:='Выберите оценку по '+stringgrid1.Cells[l,0];
l:=2;
combobox2.Visible:=true;
label5.Visible:=true;
button5.Visible:=true;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if l<=(pr) then begin
label5.Caption:='Выберите оценку по '+stringgrid1.Cells[l,0];
stringgrid1.Cells[l-1,k]:=combobox2.text;
s:=s+combobox2.text+' ';
l:=l+1;
combobox2.ItemIndex:=-1;
end
else begin
append(gruppa);
label5.Caption:='Выберите оценку по '+stringgrid1.Cells[l-1,0];
stringgrid1.Cells[l-1,k]:=combobox2.text;
s:=s+combobox2.text+' ';
l:=l+1;
combobox2.ItemIndex:=-1;
writeln(gruppa);
write(gruppa,s);
combobox2.Visible:=false;
label5.Visible:=false;
button5.Visible:=false;
button4.Enabled:=true;
edit5.Enabled:=true;
edit6.Enabled:=true;
edit7.Enabled:=true;
edit8.Enabled:=true;
closefile(gruppa);
edit5.Text:='';
if k=chel then begin
combobox1.Enabled:=true;
button1.Enabled:=true;
button4.Visible:=false;
edit5.Visible:=false;
edit6.Visible:=false;
edit7.Visible:=false;
edit8.Visible:=false;
label6.Visible:=true;
button8.Enabled:=true;
for i:=0 to stringgrid1.ColCount do begin
stringgrid1.Cells[i,0]:='';
stringgrid1.Cells[i,1]:=''
end;
stringgrid1.RowCount:=2;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
button10.Visible:=false;
stringgrid1.RowCount:=2;
for i:=0 to stringgrid1.ColCount do begin
stringgrid1.Cells[i,1]:='';
stringgrid1.Cells[i,0]:='';
end;
label1.Visible:=true;
label2.Visible:=true;
label3.Visible:=true;
edit1.Visible:=true;
edit2.Visible:=true;
edit3.Visible:=true;
button2.Visible:=true;
button1.Enabled:=false;
combobox1.Enabled:=false;
button6.Enabled:=false;
label6.Visible:=false;
button8.Enabled:=false;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ss:='';
button6.Enabled:=true;
button11.Enabled:=false;
button10.Visible:=true;
assignfile(gruppa,ComboBox1.text+'.txt');
reset(gruppa);
readln(gruppa,s);
readln(gruppa,s);
chel:=strtoint(s);
readln(gruppa,s);
pr:=strtoint(s);
stringgrid1.ColCount:=pr+5;
stringgrid1.RowCount:=2;
stringgrid1.Cells[0,0]:='ФИО';
stringgrid1.Cells[pr+1,0]:='Ср.балл';
stringgrid1.Cells[pr+2,0]:='Поведение';
stringgrid1.Cells[pr+3,0]:='Пропуски';
stringgrid1.Cells[pr+4,0]:='Пропуски без ув причин';
for i:=1 to pr do begin
readln(gruppa,s);
stringgrid1.Cells[i,0]:=s;
end;
for i:=1 to chel do begin
readln(gruppa,s);
stringgrid1.Cells[0,i]:=s;
readln(gruppa,s);
stringgrid1.Cells[pr+2,i]:=s;
readln(gruppa,s);
stringgrid1.Cells[pr+3,i]:=s;
readln(gruppa,s);
stringgrid1.Cells[pr+4,i]:=s;
readln(gruppa,s);
l:=1;
for k:=1 to length(s) do begin
if s[k]<>' ' then
ss:=ss+s[k]
else begin
stringgrid1.Cells[l,i]:=ss;
l:=l+1;
sr:=sr+strtoint(ss);
ss:='';
end;
end;
stringgrid1.Cells[pr+1,i]:=floattostr(RoundTo(sr/pr,-2));
sr:=0;
for j:=0 to stringgrid1.ColCount do
stringgrid1.Cells[j,i+1]:='';
stringgrid1.RowCount:=stringgrid1.RowCount+1;
end;
closefile(gruppa);
stringgrid1.Width:=stringgrid1.ColWidths[0];
for i:=1 to stringgrid1.ColCount do
stringgrid1.Width:=stringgrid1.Width+stringgrid1.ColWidths[i];
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
stringgrid1.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goColSizing,goediting];
button1.Enabled:=false;
combobox1.Enabled:=false;
button7.Enabled:=true;
button8.Enabled:=false;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
stringgrid1.Options:=[goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goColSizing];
button1.Enabled:=true;
button8.Enabled:=true;
combobox1.Enabled:=true;
button7.Enabled:=false;
button6.Enabled:=false;
reset(gruppa);
readln(gruppa,s);
closefile(gruppa);
rewrite(gruppa);
writeln(gruppa,s);
writeln(gruppa,inttostr(chel));
writeln(gruppa,inttostr(pr));
for i:=1 to pr do
writeln(gruppa,stringgrid1.cells[i,0]);
for i:=1 to chel do begin
s:='';
writeln(gruppa,stringgrid1.cells[0,i]);
writeln(gruppa,stringgrid1.cells[pr+2,i]);
writeln(gruppa,stringgrid1.cells[pr+3,i]);
writeln(gruppa,stringgrid1.cells[pr+4,i]);
for j:=1 to pr do
s:=s+stringgrid1.cells[j,i]+' ';
writeln(gruppa,s);
end;
closefile(gruppa);
assignfile(gruppa,ComboBox1.text+'.txt');
reset(gruppa);
readln(gruppa,s);
readln(gruppa,s);
chel:=strtoint(s);
readln(gruppa,s);
pr:=strtoint(s);
stringgrid1.ColCount:=pr+5;
stringgrid1.RowCount:=2;
stringgrid1.Cells[0,0]:='ФИО';
stringgrid1.Cells[pr+1,0]:='Ср.балл';
stringgrid1.Cells[pr+2,0]:='Поведение';
stringgrid1.Cells[pr+3,0]:='Пропуски';
stringgrid1.Cells[pr+4,0]:='Пропуски без ув причин';
for i:=1 to pr do begin
readln(gruppa,s);
stringgrid1.Cells[i,0]:=s;
end;
for i:=1 to chel do begin
readln(gruppa,s);
stringgrid1.Cells[0,i]:=s;
readln(gruppa,s);
stringgrid1.Cells[pr+2,i]:=s;
readln(gruppa,s);
stringgrid1.Cells[pr+3,i]:=s;
readln(gruppa,s);
stringgrid1.Cells[pr+4,i]:=s;
readln(gruppa,s);
l:=1;
for k:=1 to length(s) do begin
if s[k]<>' ' then
ss:=ss+s[k]
else begin
stringgrid1.Cells[l,i]:=ss;
l:=l+1;
sr:=sr+strtoint(ss);
ss:='';
end;
end;
stringgrid1.Cells[pr+1,i]:=floattostr(RoundTo(sr/pr,-2));
sr:=0;
for j:=0 to stringgrid1.ColCount do
stringgrid1.Cells[j,i+1]:='';
stringgrid1.RowCount:=stringgrid1.RowCount+1;
end;
closefile(gruppa);
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
button1.Visible:=true;
button6.Visible:=true;
button7.Visible:=true;
button8.Visible:=true;
button11.Visible:=true;
button12.Visible:=true;
combobox1.Visible:=true;
label6.Visible:=true;
stringgrid1.Visible:=true;
button9.Visible:=false;
label7.Visible:=false;
image1.Visible:=false;
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
for i:=1 to 10 do
stringgrid1.Rows[chel+i].Clear;
button11.Enabled:=true;
stringgrid1.RowCount:=stringgrid1.RowCount+1;
stringgrid1.Cells[0,chel+1]:='Руд';
stringgrid1.Cells[pr+3,chel+3]:='СОЭ:';
stringgrid1.Cells[pr+3,chel+4]:='РУД:';
for i:=1 to pr+1 do begin
sr1:=0;
for j:=1 to chel do begin
ss:=stringgrid1.Cells[i,j];
sr1:=sr1+strtofloat(ss);
end;
stringgrid1.Cells[i,chel+1]:=floattostr(RoundTo(sr1/chel,-2));
d:=sr1/chel;
end;
n:=2;
for i:=10 downto 3 do begin
stringgrid1.RowCount:=stringgrid1.RowCount+1;
stringgrid1.Cells[0,chel+n]:='"'+inttostr(i)+'"';
for j:=1 to pr do begin
sr1:=0;
for l:=1 to chel do begin
ss:=stringgrid1.Cells[j,l];
if strtofloat(ss)=i then
sr1:=sr1+1;
end;
stringgrid1.Cells[j,chel+n]:=floattostr(sr1);
end;
n:=n+1;
end;
sum:=0;
for i:=1 to chel do
sum:=sum+strtofloat(stringgrid1.cells[pr+3,i]);
stringgrid1.cells[pr+3,i]:=floattostr(sum);
sum:=0;
for i:=1 to chel do
sum:=sum+strtofloat(stringgrid1.cells[pr+4,i]);
stringgrid1.cells[pr+4,i]:=floattostr(sum);
sum:=0;
for i:=2 to 9 do begin
sr1:=0;
for j:=1 to pr do
sr1:=sr1+strtofloat(stringgrid1.Cells[j,chel+i]);
sum:=sum+sr1;
stringgrid1.Cells[pr+2,chel+i]:=floattostr(sr1);
end;
stringgrid1.Cells[pr+4,chel+3]:=floattostr(RoundTo((strtofloat(stringgrid1.Cells[pr+2,chel+2])*1+strtofloat(stringgrid1.Cells[pr+2,chel+3])*0.96+strtofloat(stringgrid1.Cells[pr+2,chel+4])*0.9+strtofloat(stringgrid1.Cells[pr+2,chel+5])*0.74+strtofloat(stringgrid1.Cells[pr+2,chel+6])*0.55+strtofloat(stringgrid1.Cells[pr+2,chel+7])*0.45+strtofloat(stringgrid1.Cells[pr+2,chel+8])*0.4+strtofloat(stringgrid1.Cells[pr+2,chel+9])*0.32)/sum,-2));
stringgrid1.Cells[pr+4,chel+4]:=floattostr(RoundTo((strtofloat(stringgrid1.Cells[pr+2,chel+2])*10+strtofloat(stringgrid1.Cells[pr+2,chel+3])*9+strtofloat(stringgrid1.Cells[pr+2,chel+4])*8+strtofloat(stringgrid1.Cells[pr+2,chel+5])*7+strtofloat(stringgrid1.Cells[pr+2,chel+6])*6+strtofloat(stringgrid1.Cells[pr+2,chel+7])*5+strtofloat(stringgrid1.Cells[pr+2,chel+8])*4+strtofloat(stringgrid1.Cells[pr+2,chel+9])*3)/sum,-2));
end;
procedure TForm1.Button11Click(Sender: TObject);
var x,c:integer;
Ap : Variant;
begin
Ap := CreateOleObject('Excel.Application');
Ap.Workbooks.Add;
Ap.Cells[4,((pr+3) div 2)]:='СВОДНАЯ ВЕДОМОСТЬ';
Ap.Cells[5,1]:='успеваемости учащихся Пинского ГПТК легкой промышленности';
Ap.Cells[6,((pr+3) div 2)]:='группа '+combobox1.Text+' год обучения';
for x:=0 to StringGrid1.RowCount do
for c:=0 to StringGrid1.ColCount do
Ap.Cells[x+7,c+1] :=StringGrid1.Cells[c,x];
Ap.Cells[x+6,1]:='Средний балл по группе';
Ap.Cells[x+6,6]:=floattostr(RoundTo(d,-2));
Ap.Cells[x+7,1]:='Мастера п/о:';
Ap.Cells[x+8,1]:='Куратор группы:';
Ap.Visible := True;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
form2.show;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
str:string;
spr:textfile;
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
assignfile(spr,'spravka.txt');
reset(spr);
while eof(spr)<>true do begin
readln(spr,str);
label1.Caption:=label1.Caption+#13+str;
end;
end;
end.