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

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




































Главная

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

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


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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


В данном документе описывается программа, написанная в соответствии с постановкой задачи на курсовое проектирование по теме "Программа обработки информации о пропусках занятий студентами" по дисциплине "Основы программирования и алгоритмические языки". Входными данными является файл, в котором храниться таблица с информацией о студентах: группа, фамилия, пропуски занятий по предметам, оправданные пропуски занятий по предметам. Для проверки функционирования программы разработан тестовый пример. Результаты тестирования показывают, правильность выполнения программой всех операции по обработке входных данных и формированию выходных данных.
Область применения программы - любое государственное или коммерческое учебное заведение, где требуется анализ информации о пропусках занятий студентов.
3. Основные технико-экономические показатели
Развитие компьютерных технологий позволило упростить ручную, монотонную и расчетную работу. На данный момент создано большое количество программ, обрабатывающих разнотипную информацию. В настоящее время работа любого предприятия просто не мыслима без применения компьютерных технологий. Современные программы могут значительно упростить процесс управления предприятием и производством. И только с использованием компьютеров и соответствующих программ современное предприятие может плодотворно работать и достигать немыслимых при некомпьютерной обработке информации результатов.
Данная программа пример работы базы учебного заведения данных учебного заведения. В ней учитывается информация о студентах группа, фамилия, пропуски занятий по предметам, оправданные пропуски занятий по предметам. В зависимости от выбора пункта меню пользователем, результатами работы программы могут быть: 1-статистические данные по прогулам занятий 2-данные по определенному студенту 3-общий список данных по студентам.
К достоинствам данной программы можно отнести то что она написана в на языке Visual C++ и поэтому создает полноценное Windows-приложение ,что удовлетворяет требованиям сегодняшнего времени.
Недостатком данной программы является то, что для обработки такой информации лучше использовать языки программирования, предназначенные для разработки баз данных, например FoxPro.
Требуется написать программу обработки экономической информации, осуществляющую ввод исходной информации из файла, необходимую ее организацию, обработку в соответствии с вариантом задания №8 методических указаний, а также вывод содержимого исходных файлов и расчетов. Выводимую информацию оформить в виде таблицы со всеми необходимыми полями записей и результатов расчетов.
Даны сведения за месяц о пропусках занятий студентами групп. Подсчитать количество неоправданных часов по каждому студенту, суммарные показатели по каждому виду, а также процент неоправданных пропусков в целом.
Структура записи: шифр группы (6 символов), фамилия (15 символов), пропущено часов, оправдано часов.
В программе необходимо организовать процедуры: открытия файла с данными, просмотра данных добавления, редактирования и удаления данных, а так же вывод обработанной информации по заданию.
Для обработки и хранения входных данных в программе был создан класс StudData, включающий в себя структуру student и функции для работы для работы с объектами StudData:
void progul_st1(StudData *,int*,int*);
Информация, содержащаяся в полях структуры student:
propusk- массив ,содержит оправданные и неоправданные пропуски по предметам ;
Информация, содержащаяся в полях структуры StudData:
Stud-объект структуры student содержит всю информацию о студентах (смотри student);
right- указатель на правое поддерево
Для того чтобы возможно было обрабатывать множество записей, необходимо организовать их в массив список или дерево. В данном случае используется бинарное дерево. Оно является наиболее приемлемой структурой для нашей задачи, поскольку обеспечивает наиболее быстрый доступ к своим элементам и его можно организовать динамически. Так как заранее неизвестно количество элементов, мы не можем определить статическую структуру.
Входные данные представляют собой текстовый файл, в котором по строкам разбита информация о студентах - Таблица 2.1.
И-22 Герасимов 21 9 8 87 9 1 2 3 4 5
Выходные данные представляют собой информацию о зарплате - Таблица 2.2.
Количество рабочих Средняя зарплата
N цеха Всего в том числе Всего в том числе
2.5.1 Основная программа (рис. 2. 1 )
Блок 1. Присвоение начальных значений переменных.
Блок 2. Вызов процедуры Org - которая организует чтение списка из файла
Блок 3. Вызов процедуры Show - которая выводит список на экран.
Блок 4. Вызов процедуры Main - в которой выполняются все действия по работе со списком.
Блок 5. Вызов процедуры Close - которая сохраняет список в файл и завершает выполнение программы.


2.5.2 Процедура Del - удаление элементов из списка (рис. 2. 2 )
Блок 1. Проверка, выполняется ли условие cur=1, если да то дальше Блок 2, если нет Блок 5.
Блок 2. Так как выполнилось условие cur=1, то значит удаляется первый элемент. Переменной temp ставим указатель на первый элемент списка.
Блок 3. Вызывается процедура Dispose - освобождение памяти занимаемой переменной left.
Блок 4. Переменная left указывает на первый элемент списка. Количество элементов уменьшается на 1.
Блок 5. Проверка, удаляется ли последний элемент. Если да то Блок 6, в противном случае Блок 9.
Блок 6. Так как выполнилось условие cur=count, то значит удаляется последний элемент. Переменной temp ставим указатель на последний элемент списка.
Блок 7. Вызывается процедура Dispose - освобождение памяти занимаемой переменной right.
Блок 8. Переменная right указывает на последний элемент списка.
Блок 9. Переменная temp указывает на удаляемый элемент списка.
Блок 10. Вызывается процедура Dispose - освобождение памяти занимаемой переменной temp.
Блок 11. Количество элементов уменьшается на 1.
2.5.3 Процедура Saveto - сохранение списка в файл (рис. 2. 3 )
Блок 1. Переменной f присваивается указатель на файл `out.txt'.
Блок 3. Переменной temp присваивается указатель на начало списка.
Блок 4. Проверяется условие temp<>nil: если условие выполняется то Блок 5, если нет Блок 7.
Блок 5. Запись элемента списка в файл.
Блок 6. Указатель temp на следующий элемент списка.


Функция getp ( n : integer ): ptabl - передается параметр n - номер элемента списка, возвращается указатель на элемент с этим номером;
Процедура sort ( t : integer ) - сортирует список по полю t;


Функция menum : integer - возвращает номер выбранного пункта меню;
Процедура saveto - сохраняет список в файл;
Процедура add - добавляет элемент в список;
Процедура edit - редактирует элемент списка;
Процедура del - удаляет элемент из списка;
Процедура close - выход из программы;
Процедура main - процедура, в которой идет обработка меню;
Выбрав языком программирования Turbo Pascal 7.0 я руководствовался следующими критериями:
1. Для разработки программ такого типа удобнее использовать язык высокого уровня;
2. Легкость в работе с указателями;
3. Достаточная скорость выполнения готовой программы;
Всем этим требованиям удовлетворяет язык программирования Turbo Pascal 7.0.
3 . ОСНОВНЫЕ ТЕХНИКО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ
В результате компиляции программы компилятором Turbo Pascal 7.0 был получен исполняемый файл формата DOS EXE размером 37 Кбайт, что является приемлемым размером для программ такого типа.
Для выполнения требуется процессор класса 286.
Программа может работать под управлением операционной системы класса DOS, при этом сохраняет работоспособность и в режиме эмуляции MS-DOS операционной системой Windows 9x.
Таким образом программа может выполняться практически на любом доступном PC компьютере.
Данная программа, составлена в соответствии с постановкой задачи на курсовое проектирование по теме " Программа обработки информации о пропусках занятий студентами" по дисциплине "Основы программирования и алгоритмические языки" (ОПиАЯ). При написании программы использованы методические указания по курсовому проектированию по дисциплине "ОПиАЯ". Для проверки работоспособности программы и правильности обработки входных данных разработан тестовый пример. Тестирование программы подтвердило, что программа правильно выполняет обработку данных и выдаёт верные результаты. Всё это свидетельствует о работоспособности программы и позволяет сделать вывод о пригодности программы к решению практических задач по обработке экономической информации.
информационный программа пропуск занятие
mainmenu : array [1..7] of string=(' Добавление данных ',
sortmenu : array [1..8] of string=(' Номеру ',
j,c,starty,perc,i,cur,beg,lin,lnum,count:integer;
function inttostr(i:longint):string;
function strtoint(s:string):longint;
while s[length(s)]=' ' do delete(s,length(s),1);
1:if strtoint(temp1^.inf.num)>strtoint(temp2^.inf.num) then
2:if temp1^.inf.fio>temp2^.inf.fio then flip(temp1,temp2);
3:if strtoint(temp1^.inf.godr)>strtoint(temp2^.inf.godr) then
4:if temp1^.inf.pol>temp2^.inf.pol then flip(temp1,temp2);
5:if strtoint(temp1^.inf.stazh)>strtoint(temp2^.inf.stazh) then
6:if strtoint(temp1^.inf.razr)>strtoint(temp2^.inf.razr) then
7:if strtoint(temp1^.inf.ceh)>strtoint(temp2^.inf.ceh) then
8:if strtoint(temp1^.inf.zarp)>strtoint(temp2^.inf.zarp) then
1:if strtoint(temp1^.inf.num)0) then delete(s,length(s),1) else
if num and (ch>='0') and (ch<='9') then
if (length(s)=0) and (ch<>#8) then s:=s+ch;
if (length(s)=size) and (ch<>#8) then s[length(s)] := ch;
if (length(s)=0) and (ch<>#8) then s:=s+ch;
if (length(s)=size) and (ch<>#8) then s[length(s)] := ch;
if length(s)=size then gotoxy(wherex-1,wherey);
'¦ Номер ¦ ФИО ¦ Годр ¦ Пол ¦ Ст ¦ Р ¦ НЦ ¦ НУч. ¦ Зарп. ¦');
write('¦ ',num,' ¦ ',fio,' ¦ ',godr,' ¦ ',pol,' ¦ ',stazh,' ¦ ',razr,' ¦ ',ceh,' ¦
write('¦ ',num,' ¦ ',fio,' ¦ ',godr,' ¦ ',pol,' ¦ ',stazh,' ¦ ',razr,' ¦ ',ceh,' ¦
perc := trunc((100/count)*(beg + lin-1));
write('Запись №',cur:2,' из ',count);
gotoxy(80,starty + 2 + round((lnum/100)*perc));
if (c=#80) and (lp<7) then inc(lp);
if (c=#72) and (lp>1) then dec(lp);
writeln(f,'¦ ',num,' ¦ ',fio,' ¦ ',godr,' ¦ ',pol,' ¦ ',stazh,' ¦ ',razr,' ¦ ',ceh,' ¦
st := input(26,8,5,'Номер:','',true);
if length(st)<5 then for p := 1 to 5-length(st) do st := st + ' ';
st := input(26,9,22,'ФИО:','',false);
if length(st)<22 then for p := 1 to 22-length(st) do st := st + ' ';
st := input(26,10,4,'Год рождения:','',true);
if length(st)<4 then for p := 1 to 4-length(st) do st := st + ' ';
st := input(26,11,7,'Пол:','',false);
if length(st)<7 then for p := 1 to 7-length(st) do st := st + ' ';
st := input(26,12,2,'Стаж:','',true);
if length(st)<2 then for p := 1 to 2-length(st) do st := st + ' ';
st := input(26,13,1,'Разряд:','',true);
st := input(26,14,2,'Номер цеха:','',true);
if length(st)<2 then for p := 1 to 2-length(st) do st := st + ' ';
st := input(26,15,4,'Номер участка:','',true);
if length(st)<4 then for p := 1 to 4-length(st) do st := st + ' ';
st := input(26,16,5,'Зарплата:','',true);
if length(st)<5 then for p := 1 to 5-length(st) do st := st + ' ';
inp(26,8,5,'Номер:',getp(cur)^.inf.num);
inp(26,9,22,'ФИО:',getp(cur)^.inf.fio);
inp(26,10,4,'Год рождения:',getp(cur)^.inf.godr);
inp(26,11,7,'Пол:',getp(cur)^.inf.pol);
inp(26,12,2,'Стаж:',getp(cur)^.inf.stazh);
inp(26,13,1,'Разряд:',getp(cur)^.inf.razr);
inp(26,14,2,'Номер цеха:',getp(cur)^.inf.ceh);
inp(26,15,4,'Номер участка:',getp(cur)^.inf.uch);
inp(26,16,5,'Зарплата:',getp(cur)^.inf.zarp);
st := input(26,8,5,'Номер:',getp(cur)^.inf.num,true);
if length(st)<5 then for p := 1 to 5-length(st) do st := st + ' ';
st := input(26,9,22,'ФИО:',getp(cur)^.inf.fio,false);
if length(st)<22 then for p := 1 to 22-length(st) do st := st + ' ';
st := input(26,10,4,'Год рождения:',getp(cur)^.inf.godr,true);
if length(st)<4 then for p := 1 to 4-length(st) do st := st + ' ';
st := input(26,11,7,'Пол:',getp(cur)^.inf.pol,false);
if length(st)<7 then for p := 1 to 7-length(st) do st := st + ' ';
st := input(26,12,2,'Стаж:',getp(cur)^.inf.stazh,true);
if length(st)<2 then for p := 1 to 2-length(st) do st := st + ' ';
st := input(26,13,1,'Разряд:',getp(cur)^.inf.razr,true);
st := input(26,14,2,'Номер цеха:',getp(cur)^.inf.ceh,true);
if length(st)<2 then for p := 1 to 2-length(st) do st := st + ' ';
st := input(26,15,4,'Номер участка:',getp(cur)^.inf.uch,true);
if length(st)<4 then for p := 1 to 4-length(st) do st := st + ' ';
st := input(26,16,5,'Зарплата:',getp(cur)^.inf.zarp,true);
if length(st)<5 then for p := 1 to 5-length(st) do st := st + ' ';
if (c=#80) and (lp<8) then inc(lp);
if (c=#72) and (lp>1) then dec(lp);
if strtoint(temp^.inf.ceh)=strtoint(cehnum[i].n) then
if temp^.inf.pol='муж ' then inc(cehnum[i].rab_m) else
if temp^.inf.pol='муж ' then cehnum[i].zar_m := cehnum[i].zar_m +
cehnum[i].zar_w := cehnum[i].zar_w + strtoint(temp^.inf.zarp);
write('¦ N цеха ¦ Количество рабочих ¦ Средняя зарплата ¦');
write('¦ ¦ Всего ¦ в том числе ¦ Всего ¦ в том числе ¦');
write('¦ ¦ ¦ Муж ¦ Жен ¦ ¦ Муж ¦ Жен ¦');
write('¦ ',cehnum[i].n,' ¦ ',(cehnum[i].rab_w + cehnum[i].rab_m):2,' ¦
sr_m := cehnum[i].zar_m div cehnum[i].rab_m else sr_m := 0;
sr_w := cehnum[i].zar_w div cehnum[i].rab_w else sr_w := 0;
if (cehnum[i].rab_w + cehnum[i].rab_m)<>0 then
sr_v := (sr_w + sr_m) div 2 else sr_v := 0;
write(sr_v:5,' ¦ ',sr_m:4,' ¦ ',sr_w:4,' ¦');
write('Клавиши управления программой:');
gotoxy(22,7);write('Up - на одну строку вверх');
gotoxy(22,9);write('Down - на одну строку вниз');
gotoxy(22,10);write('PgUp - на экран вверх');
gotoxy(22,11);write('PgDown - на экран вниз');
gotoxy(22,12);write('Home - в начало списка');
gotoxy(22,13);write('End - в конец списка');
gotoxy(22,15);write('Esc - выход');
if beg>(count-lnum) then beg := count-lnum + 1;
if (beg + lnum)<=count then inc(beg);
Для выполнения прграммы необходимо запустить исполняемый файл KURS.EXE. После запуска программы на экране появляется окно - Рисунок 1
Область применения – учебные учреждения, где ведется учет пропусков занятий студентами. Технические характеристики разрабатываемого проекта: описание основных типов входных и выходных данных, алгоритм программы. Технико-экономические показатели проекта. курсовая работа [906,3 K], добавлен 28.12.2010
Технические характеристики: постановка задачи, описание основных типов входных и выходных данных. Описание алгоритмов основной программы и процедур удаления и исправления данных в таблицах. Выбор языка программирования. Технико-экономические показатели. курсовая работа [478,1 K], добавлен 28.12.2012
Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения. реферат [513,1 K], добавлен 22.10.2012
Си - это язык программирования общего назначения. Постановка задачи: разработка программы - калькулятора. Метод решения задачи. Алгоритм работы программы. Технические данные для использования. Описание основных функций. курсовая работа [14,1 K], добавлен 23.05.2002
Приобретение теоретических и практических навыков программирования на языке Паскаль. Математическая формулировка задачи и выбор метода обработки информации. Разработка алгоритма и его описание. Описание программы. Форма представления исходных данных. курсовая работа [224,3 K], добавлен 11.02.2016
Назначение и область применения, технические характеристики, постановка задачи, описание алгоритма и организация входных и выходных данных для программы. Разработка, описание логической структуры, используемые технические средства и условия выполнения. курсовая работа [969,3 K], добавлен 26.03.2009
Постановка задачи и математическое описание ее решения. Назначение программного обеспечения. Описание принятых идентификаторов. Выбор языка программирования и написание программы на входном языке. Методика отладки программы и проведение ее тестирования. курсовая работа [96,1 K], добавлен 25.06.2013
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Программа обработки информации о пропусках занятий студентами курсовая работа. Программирование, компьютеры и кибернетика.
Реферат: Shintoism Essay Research Paper SHINTOISMThe Religion of
Реферат по теме Милтон Фридман: количественная теория денег и теория адаптивных ожиданий
Дипломная Работа На Тему Последствия Социальной Депривации У Детей
Реферат: Династия Демидовых
Курсовая работа по теме Жанровый синтез текста и фотографии в рубрике 'Репортаж' в журнале 'Русский Репортер'
Курсовая работа по теме Политический консалтинг и политические технологии
Основы безопасности туристской деятельности
Сочинение Бамбус 9.3
Тема Дипломной Работы Переводу
Курсовая работа по теме Туристские ресурсы как фактор экономики
Реферат: Business Strategies For Differing Company Situatio Essay
Реферат: Диазо и азосоединения. Гидразосоединения. Диазоалканы. Скачать бесплатно и без регистрации
Контрольная работа по теме Історія вексельної форми розрахунків
Курсовая работа по теме Проектирование жилого двухэтажного дома с подвалом
Математика Контрольная Работа 2 Класс Козлова
Реферат по теме Современный комплексный подход к преодолению заикания
Реферат: Концепция общества устойчивого развития: синергетическая интерпретация
Реферат: XIV век
Реферат Особенности Кризиса 7 Лет
Курсовая работа по теме Сравнительный анализ конституций России, Молдовы, Нидерландов, Швеции и Испании
Особенности формирования института оппозиции - Политология курсовая работа
Гастропанкреатодуоденальная резекция: собственный опыт, результаты лечения - Медицина презентация
Роль музейной педагогики в возрождении русской народной культуры в школьных музеях г. Кемерово - Педагогика курсовая работа


Report Page