НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 48, серия 3.2 Програмна реализация на средство за обработка и визуализация на данни от учебни сеси

Подобни документи
МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА

Microsoft Word - Primer3_1.doc

Програмиране на Паскал

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 1

ИЗИСКВАНИЯ ЗА ДОКЛАДИТЕ А. ОБЩИ ИЗИСКВАНИЯ І. Докладът трябва да е написан на компютърна програма Microsoft Word. ІІ. Файлът да бъде записан като *.do

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 49, серия 3.2 Един подход за обработка и конвертиране на векторни изображения в WEB-базираните сис

2. Наследяване в C++ Съдържание Съдържание Наследяване (Rev: 1.2) Любомир Чорбаджиев 1 1 февруари 2007 г. 1 Наследяване 1 2

2. Лексически анализ. Основни понятия и алгоритъм на лексическия анализ. Програмна структура на лексическия анализатор Цел на упражнението Упражнениет

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г ноември 2018 г. Трифон Трифонов (УП 18/19) Ма

Формуляри

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 48, серия 3.2 UML проект на средство за подготовка на упражнения Ниязи Гарип, Ирина Желязкова UML

Mathematica CalcCenter

Проф

Microsoft Word - document.rtf

Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Тр

Годишното тематично разпределение по Компютърно моделиране за 4. клас N седмица Тема очаквани резултати Методи бележки и коментари Първи учебен срок Т

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

Канонична форма на клас или 4 (голямата четворка) Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно и

ИЗИСКВАНИЯ ЗА ПУБЛИКУВАНЕ НА МАТЕРИАЛИ В СП

Lush Green

Виртуални функции

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 9 ноември 2016 г. Триф

Структура на програма в C - Част 7 - масиви, оператор за индексиране, sizeof оператор

ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА

МОДУЛ 2 ВАРИАНТ НА ПРАКТИЧЕСКА ЗАДАЧА ЗА НАЦИОНАЛНО ОНЛАЙН ОЦЕНЯВАНЕ НА ДИГИТАЛНИ КОМПЕТЕНТНОСТИ X КЛАС от 2016 г. УСЛОВИЕ НА ЗАДАЧАТА За тази задача

1 КаБел ЕООД Документация за софтуерния продукт КаБел ЕООД, подпомагащ организация на складовата дейност в железария Автор: Румен Ангелов История на в

Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 51, серия 4 Параметрично 3D проектиране на елемент от ръчен винтов крик Ахмед Али Ахмед Parametric

МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА

C++

Microsoft Word - IT progr_7klas.doc

ВТОРА ГЛАВА

ECDL_ICDL Spreadsheets.doc

5

СЪЗДАВАНЕ НА СЪДЪРЖАНИЕ, ИНДЕКСЕН УКАЗАТЕЛ И ВМЪКВАНЕ НА ПОЛЕТА I. СЪЗДАВАНЕ НА СЪДЪРЖАНИЕ Съдържанието се създава по съществуващ в Word форматен стил

Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране 1

ОСНОВИ НА ЕЗИКА С# Интеграция на езиците за програмиране Една от най-добрите черти на.net Framework е възможността за интеграция на множество езици за

036-B.dvi

Структура на програма в C - Част 2 - типове, функции

Microsoft Word - Primer2_4.doc

Машинно обучение Лабораторно упражнение 9 Класификация с множество класове. Представяне на невронна мрежа Упражнението демонстрира класификация в множ

Microsoft Word - zada4a 1.doc

Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически униве

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 47, серия 4 Сравнително изследване на някои от характеристиките на измервателните системи за позиц

Microsoft Word - ICA user-manual.doc

MSDOS1

ППМГ Академик Иван Ценов гр. Враца - съвременно и модерно училище с европейски облик

ЕВРОПЕЙСКИ СЪЮЗ Европейки фонд за регионално развитие Инвестираме във вашето бъдеще ОПЕРАТИВНА ПРОГРАМА Развитие на конкурентоспособността на българск

Препис:

Програмна реализация на средство за обработка и визуализация на данни от учебни сесии Октай Кър, Ирина Желязкова Program Implementation of a Tool for for Processing and Visualization of Learning Session Data: The work continues a sequence of papers concerning а teacher s tool for processing and visualization of learning session data. The present paper focuses on program implementation of the tool (choice of the language and environment, class diagram, and file organization). Key words: Program Implementation, Programming Language, Class Diagram, File Organization. ВЪВЕДЕНИЕ В три предишни работи на авторския екип бяха представени UML проектът [1], скриптовия език [2] и алгоритмите на функциониране [3] на средство за таблична обработка и визуализация на данни от учебни сесии (тест, лекция, упражнение). То има за цел да повиши гъвкавостта и продуктивността на работата на преподавателя в сравнение с използването на EXCEL. Настоящият материал фокусира върху програмната реализация на това средство, което представлява алтернатива на EXCEL. В следващия параграф се аргументира изборът на езика и средата за програмиране. В третия параграф се коментира диаграмата на класовете, а в последния е дадена файловата организация на данните. Заключението съдържа основните резултати и бъдещи планове на колектива. ИЗБОР ЕЗИК И СРЕДА ЗА ПРОГРАМИРАНЕ Като процедурен и обектно-ориентиран език за програмната реализация на средството бе избран С++. Той има по-малко ключови думи в сравнение с други процедурни езици. Отнася се към езиците от средно ниво като комбинира и елементи на асемблерните езици, т. е. позволява директна обработка на битове, байтове и адреси. Друга особеност е, че кодът на С++ е преносим, което означава, че софтуер, написан на един вид микропроцесори, лесно се приспособява да работи на друг. Като среда за програмиране бе предпочетена Borland C++ Builder 6. Тя предлага стандартна библиотека с голям брой функции, осигуряващи изпълнение на задачи за обработка на стрингове и файлове. Освен библиотеката с визуални компоненти (Visual Component Library - VCL), от средата е достъпна е мощната библиотека Vector. Тя е особенно подходяща за лесно и бързо създаване и използване на различни динамични структури от данни като списъци, масиви, множества и др. ЙЕРАРХИЯ НА КЛАСОВЕТЕ Йерархията на класовете, добавени към системните, е представена на фиг. 1. Общият им брой е 7, като основни от тях са три (Script, Table и MyChart), а останалите четири (Struct СТ, Struct IТ, Struct OP, Struct ID) са спомагателни. Описанието на основния клас Script тук не е дадено поради големия му обем. Типът, видимостта и предназначението на атрибутите на останалите класове (Table, MyChart, CT, IT, OP и ID) както и предаваните параметри, резултатът, видимостта и флагът за константа на техните методи са сведени в табл. 1,2,3,4,5,6. ФАЙЛОВА ОРГАНИЗАЦИЯ Файловата организация на програмните модули и данните е показана на фиг. 3. Освен файла на проекта (Project1.cpp) има още шест.cpp файла (Unit1, Unit2, Unit3, Script, Table, mychart), шест.h файла (Unit1, Unit2, Unit3, Script, - 187 -

Table, mychart) и шест файлове с данни (.tbl,.gtbl,.abc). На същата фигура са показани и връзките от тип include между.h и.cpp файловете. Фиг. 1. Йерархията на класовете - 188 -

Табл. 1. Описание на атрибутите и методите на класа Table tablename private Брояч на променливи от този клас description private Описание на таблицата types private Едномерен вектор от тип String за имената на колоните values private Едномерен вектор от тип String за стойностите на клетките rows private Едномерен вектор от тип String за имената на редовете digits private Брой на цифрите след десетичната точка в стойностите chart public Променлива за бар диаграма на таблицата Table public - Конструктор settablename public - Задава име на таблицата setdescription public - Задава описание на таблицата addtypes public - Добавя нови колони на таблицата addtype public - Добавя нова колона на таблицата addrows public - Добавя нови редове на таблицата и задава имената на редовете addrow public - Добавя нов ред на таблицата и задава името на реда inserttype public - Вмъква нова колона в таблицата insertrows public - Задава стойности на клетките по избрана колона addvalue public - Добавя нов празен ред на таблицата insertvalue public - Вмъква нов ред в таблицата и задава стойности на клетките insertvalue public - Вмъква нов празен ред в таблицата setvalue public - Задава стойност на избрана клетка gettype public Връща името на избрана колона getvalue public Връща стойност за избрана клетка getrow public Връща името на избран ред deletetype public - Изтрива всички колони от таблицата deletetype public - Изтрива избрана колона от таблицата deletevalue public - Изтрива всички редове от таблицата deletevalue public - Изтрива избран ред от таблицата deletevalue public - Изтрива клетките на избрана колона getlenghttypes public Връща брой колони от таблицата getlenghtvalues public Връща брой елементи от списъка Values getlenghtrows public Връща брой елементи от списъка Rows gettablename public Връща името на таблицата getdescription public Връща обяснението на таблицата gettypes public Връща вектор от списъка Types getvalues public Връща вектор от списъка Values getrows public - Връща вектор от списъка Rows isexistcol public Проверява вектор Types дали включва зададен параметър от тип String, ако да връща true, а ако не връща false isexistrow public Проверява има ли таблицата толкова реда колкото е зададената стойност swaprows public - Размества два съседни реда swapcols public - Размества две съседни колони sort public - Сортира клетките по зададена колона RoundTo public - Закръгля до указания брой знаци calcsum public - Изчислява сума по хоризонтала calcavg public - Изчислява средно аритметично calcmin public - Намира минимална стойност calcmax public - Намира максимална стойност setdigits public - Задава стойността на digits getdigits public - Връща стойността на digits Табл. 2. Описание на атрибутите и методите на класа mychart XAxis private Стойности от тип string на баровете по кординатната ос Х YAxis private Стойности от тип double на баровете по кординатната ос Y Lines private Стойност от тип double по кординатната ос Y на хоризонтална линия nameyaxis private Стойност от тип string по кординатната ос Y на хоризонтална линия barstyle private Стойност от тип int за различните видове диаграми mychart public - Конструктор addxaxis public - Добавя нов елемент в спътика XAxis addyaxis public - Добавя нов елемент в спътика YAxis addline public - Добавя нов елемент в спътика Lines setnameyaxis public - Задава името на промеливата YAxis - 189 -

getxaxis public Връща вектор от списъка XAxis getyaxis public Връща вектор от списъка YAxis getlines public Връща вектор от списъка Lines getnameyaxis public Връща името на променливата YAxis deleteyaxis public - Изтрива стойност на променливата YAxis deletexaxis public - Изтрива всички стойности от променливата XAxis deletexaxis public - Изтрива стойност по зададен индекс в списъка XAxis setbarstyle public - Задава вида за изчертаване на chart getbarstyle public Връща променливата barstyle от този клас getlenghtxaxis public Връща брой елементи от списъка XAxis getlenghtyaxis public Връща брой елементи от списъка YAxis getlenghtlines public Връща брой елементи от списъка Lines Табл. 3. Описание на атрибутите и методите на класа Struct СТ Атрибут Предназначение Symbol Имената на лексикалните единици (идентификатори, или служебни думи, числови константи, операционни символи, разделители) Code Съхранява атрибута на съответния символ CT public - Конструктор Табл. 4. Описание на атрибутите и методите на класа Struct IТ Symbol public Имената на идентификатори или служебни думи, числови константи, операционни символи или разделители, фигури Pos public Указател към позиция на Symbol IT public - Конструктор Табл. 5. Описание на атрибутите и методите на класа Struct OP sign public Код на операцията op1 public Адреси на операнди или номера на тетради op2 public Адреси на операнди или номера на тетради res public Вътрешна променлива за съхраняване на междинните резултати OP public - Конструктор Табл. 6. Описание на атрибутите и методите на класа Struct ID name public Име на идентификатор на променливата от лявата страна на израза value public Стойност на идентификатор на променливата от дясната страна ID public - Конструктор ID public - Конструктор Съдържанието на отделните файлове е както следва: Project1 - входната точка на програмата; Unit1 главното меню на програмата; Unit2 прозорец за въвеждане на команди; Unit3 прозорец за визуализиране на таблицата; Unit1, Unit2, Unit3 деклариране на функции и променливи на компонентите съответно на класа TForm1, TForm2 и TForm3; Script, Table, mychart деклариране на едноименния клас, съдържащ функциите и променливите съответно на скрипта, таблицата и бар диаграмата..tbl данните на таблицата и данните на бар диаграмата;.gtbl данните на генерирана таблица и на мулти бар диаграмата; - 190 -

.abc съдържа командите, написани в прозореца на текстовия редактор. ЗАКЛЮЧЕНИЕ Представена е програмната реализация на средство за обработка и визуализация на данни от учебни сесии (тест, лекция, упражнение) в средата Borland C++ Builder 6 с използването на обектно-ориентиран стил на програмиране. Средството може да се разглежда като алтернатива на досегашната обработка с EXCEL [5]. Разликата е, че в съответствие със стандартизирана методика преподавателят програмира на специализиран скриптов език с отворен код, което повишава гъвкавостта и продуктивността на обработката..tbl.gtbl.abc Unit1.cpp Unit1.h Unit2.cpp Unit2.h Unit3.cpp Unit3.h Script.cpp Script.h Table.cpp Table.h mychart.cpp mychart.h Project.cpp Фиг. 2. Файлова организация ЛИТЕРАТУРА [1] Кър О., Желязкова И., UML проект на средство за обработка и визуализация на данни от учебни сесии, Трудове на научната сесия на Русенския университет, 2009. [2] Кър О., Желязкова И., Скриптов език за обработка и визуализация на данни от учебни сесии, Трудове на научната конференция на Русенския университет, 2009. [3] Кър О., Желязкова И., Алгоритми за функциониране на средство за обработка и визуализация на данни от учебни сесии, Трудове на научната сесия на Русенския университет, 2009. [4] Тодорова М., Програмиране на С++, част 1, София, Ciela, 2004. [5] Zheliazkova I. I., Kolev R. T., Task Results Processing for the Needs of Task- Oriented Design Environments, Int. J. Computers & Education, vol. 51, 2008, pp. 86-96. За контакти: Доц. д-р Ирина Желязкова, Катедра Компютърни системи и технологии, Русенски университет Ангел Кънчев, тел.: 082-888 711, е-mail: Irina@ecs.ru.acad.bg Докладът е рецензиран. - 191 - vector.h