Microsoft Word - Software pentru ordonarea multirang a componentelor unei colectivitati.doc

Documente similare
ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

1. a. Să se scrie un algoritm care să afişeze toate numerele de patru cifre care au cifra sutelor egală cu o valoare dată k, şi cifra zecilor cu 2 mai

E_d_Informatica_sp_MI_2015_bar_02_LRO

PROGRAMARE ORIENTATA PE OBIECTE

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XI 1.Fişierul text bac.in conţine cel mult 1000 de

E_d_Informatica_sp_SN_2014_bar_10_LRO

Laborator 3

Curs 3 Permutari cu repetitie. Combinari. Algoritmi de ordonare si generare

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Microsoft Word - CarteC.doc

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia comp

I

Microsoft Word - CarteC.doc

Microsoft Word - O problema cu bits.doc

Programarea şi utilizarea calculatoarelor

Top

Slide 1

Subiectul 1

Concurs online de informatică Categoria PROGRAMARE Secţiunea 5-6 avansaţi PROBLEMA puncte DANS De 1 Iunie - Ziua Copilului se organizează un spe

SUBPROGRAME

Clasa IX 1. O lăcustă face salturi, fiecare salt în linie dreaptă şi de două ori mai lung ca precedentul. Poate vreodată lăcusta să revină în punctul

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Slide 1

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII-

Secţiunea 9-10 avansaţi Concurs online de informatică Categoria PROGRAMARE PROBLEMA 1 TEXT 100 puncte Un text este format din una sau mai multe propoz

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Microsoft Word - Curs_08.doc

PCLPII-C16(9)

L7

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

ROMÂNIA INSTITUTUL NAŢIONAL DE STATISTICĂ Biroul de presă B-dul Libertăţii nr.16, sector 5, Bucureşti Tel/Fax: ; Fax romsta

Guvernanţa corporativă și valoarea întreprinderii 1

PowerPoint Presentation

Structuri de date pentru partiţii de mulţimi O partiţie finită a unei mulţimi nevide S este o mulţime finită de submulţimi ale lui S: {S 1, S 2,..., S

Microsoft Word - cap1p4.doc

Microsoft Word - FD_AA_An2 Sem II_Cerc. de mk doc

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez

Curs 6: Clasificarea surselor de informatii - Clasificarea Bayes Naiva. Modelul Bernoulli

Secţiunea 5-6 avansaţi PROBLEMA 1 Concurs online de informatică Categoria PROGRAMARE 100 puncte NR Un număr natural nenul V care se plictisea singur,

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

20 SUBIECTE DE EXAMEN - De fapt, în pofida acestor probleme, până la urmă tot vom logaritma, căci aceasta este tehnica naturală în context. Trebuie do

Microsoft Word - D_ MT1_II_001.doc

Metode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

EVALUARE NAȚIONALĂ CLASA A VIII-A 2017 FLUX DE LUCRU PENTRU UTILIZATOR DE TIP CENTRU DE ÎNSCRIERE (CI)

Calcul Numeric

fIŞE DE LUCRU

Lucrarea 7 Filtrarea imaginilor BREVIAR TEORETIC Filtrarea imaginilor se înscrie în clasa operaţiilor de îmbunătăţire, principalul scop al acesteia fi

O NOUA PROBLEMA DE CONCURS OLIMPIADA MUNICIPALA DE INFORMATICA, IASI 2019 V-am promis într-un articol mai vechi ca vom prezenta pe acest blog câteva p

Cursant prof. Constantin Vasilache PROIECT DE LECȚIE Clasa Data: Obiectul: Tehnologia Informației și a Comunicațiilor Nr. de ore: 1oră Tema lecţiei: A

Tablouri unidimensionale Problema 1 Să se determine mulţimea cifrelor unui număr natural n > 0, dat. Exemplu: n= Cifre = {1,2,3,7} Se cere să s

Înregistrator de temperatură şi umiditate AX-DT100 Instrucţiuni de utilizare

MergedFile

ALGORITHMICS

CONCURSUL DE MATEMATICǍ ISTEŢII D ARBORE EDIŢIA a X-a - 20 aprilie 2019 Clasa a IV-a BAREM DE CORECTARE ŞI NOTARE SUBIECTUL I Se punctează doar rezult

Bilete de tratament - Criterii de acordare a biletelor de tratament A. CRITERIILE GENERALE În baza cărora se acordă biletele pentru tratament balnear,

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

CONCURSUL DE MATEMATICĂ APLICATĂ "ADOLF HAIMOVICI" ETAPA JUDEȚEANĂ 18 martie 2017 Filiera Tehnologică : profilul Tehnic Clasa a IX -a Problema 1. 2 Se

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

Microsoft Word - c6.doc

Matematici aplicate științelor biologie Lab06 MV

Diapositive 1

C++ Probleme

Matematici aplicate științelor biologie Lab05 MV

Slide 1

UNIVERSITATEA DE ŞTIINŢE AGRONOMICE ŞI MEDICINĂ VETERINARĂ - BUCUREŞTI Ec. Măria Magdalena TUREK RAHOVEANU TEZA DE DOCTORAT Cercetări privind impactul

Programarea şi utilizarea calculatoarelor

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java Interfaţa Iterator Interfaţa C

Evaluarea unităţilor de dializă publice si private

ANUL I SERIA A O R A R AN UNIV , SEM. II ZIUA ORA Grupa 601 Grupa 602 Grupa 603 Grupa 604 LUNI SPORT - RAU SPORT CENTER (Șos. St

LABORATOR 2

Subiecte_funar_2006.doc

Nr / STUDIUL PRIVIND GRADUL DE SATISFACŢIE A STUDENŢILOR UNIVERSITĂŢII VASILE ALECSANDRI DIN BACĂU FAŢĂ DE SERVICIILE OFERITE Ancheta

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx

CUPRINS

PROGRAMA CONCURSULUI NAŢIONAL

PowerPoint Presentation

Şcoala ………

DOMENIUL: Matematica

Lab6LCD

ROMÂNIA MINISTERUL EDUCAŢIEI NAŢIONALE UNIVERSITATEA OVIDIUS DIN CONSTANŢA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ PLAN DE ÎNVĂŢĂMÂNT (conţine 11 pagi

Investeşte în oameni Proiect cofinanţat din Fondul Social European prin Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane

Crearea ghidului de studiu Syllabus

Microsoft Word - 2 Filtre neliniare.doc

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

Procesarea Imaginilor Laborator 3: Histograma nivelurilor de intensitate 1 3. Histograma nivelurilor de intensitate 3.1. Introducere În această lucrar

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Examenul de bacalaureat 2012

PowerPoint Presentation

Transcriere:

Software pentru ordonarea multirang a componentelor unei colectivităţi S e prezintă un algoritm pentru dispunerea elementelor unei colectivităţi în raport cu mai multe criterii şi un software aferent, programul moscs.cpp, care se află la adresa www.moscs.ase.ro 1. Ordonarea după o caracteristică Se consideră o mulţime A formată din elementele a1,..., an. Pentru descrierea elementelor sunt utilizate caracteristicile c 1,..., c m. Fiecare element a i, i=1,2,3,,n se descrie cu nivelul αij al caracteristicii ci. Dintre caracteristicile c1,..., cm este selectată caracteristica cr numită criteriu de ordonare, astfel încât elementele mulţimii A se dispun unele după altele, conform cu valoarea caracteristicii alese. Pentru exemplificare, se consideră mulţimea întreprinderilor ale căror caracteristici sunt date în tabelul 1, ce va fi afişat după rularea programului. Funcţia care face afişarea întreprinderilor şi caracteristicilor se numeşte af_intre(). Prototipul funcţiei este următorul: void af_intre(intrepr t), unde t este o variabilă de tip intrepr. este un număr asociat elementului ai, prin care se indică poziţia acestuia într-o listă de elemente, dispuse în raport cu un criteriu. Datele iniţiale ale problemei Tabelul 1 Codul Denumire Cifra de afaceri Număr muncitori Productivitate AA METEOR 300 100 20 AB FAURAR 100 300 200 AC RATING 90 80 20 AD BOOGYE 200 30 20 AE RATION 100 800 400 AF SC TARO 1000 20 400 AG FLAMENCO 20 20 30 AH PC UNIT 10 10 2 AI COMPUTER 10 400 20 AJ FABY 100 100 100 Dacă se consideră drept criteriu codul întreprinderii, definit astfel: char cod[5], dispunerea întreprinderilor se face crescător, în funcţie de valoarea codului fiecărei întreprinderi, fapt ce duce la obţinerea rangurilor din tabelul 2. Funcţia care face ordonarea întreprinderilor după câmpul cod este ord_cod().prototipul funcţiei este următorul: intrepr ord_cod(intrepr intr), cu intr o variabilă de tipul intrepr. Dispunerea întreprinderilor după cod Rang Cod Denumire 1 AA METEOR 2 AB FAURAR 3 AC RATION 4 AD BOOGYE 5 AE RATION 6 AF SC TARO 7 AG FLAMENCO 8 AH PC UNIT 9 AI COMPUTER 10 AJ FABY Tabelul 2 78

Când se consideră criteriu de ordonare denumirea întreprinderii, definită char den[40], dispunerea întreprinderilor se face crescător, în funcţie de valoarea caracteristicii denumire a fiecărei întreprinderi, şi duce la obţinerea rangurilor din tabelul 3. Funcţia care face ordonarea întreprinderilor după caracteristica denumire este ord_den(). Prototipul funcţiei este: void ord_den(intrepr intr1), cu intr1 o variabilă de tipul intr. Dispunerea întreprinderilor după denumire Rang Cod Denumire 1 AD BOOGYE 2 AI COMPUTER 3 AJ FABY 4 AB FAURAR 5 AG FLAMENCO 6 AA METEOR 7 AH PC UNIT 8 AC RATING 9 AE RATION 10 AF SC TARO Tabelul 3 Dacă se consideră întreprinderile după cifra de afaceri, definită float cifa, dispunerea se face în ordine descrescătoare, obţinându-se rangurile din tabelul 4. Funcţia care face ordonarea întreprinderilor după caracteristica cifra de afaceri este ord_cifa(). Prototipul funcţiei este: void ord_cifa(intrepr intr1). Dispunerea întreprinderilor după cifra de afaceri Tabelul 4 Cod Denumire Rang Cifra de afaceri Rang_calc AF SC TARO 1 1000 1 AA METEOR 2 300 70 AD BOOGYE 3 200 80 AB FAURAR 4 100 90 AE RATION 5 100 91 AJ FABY 6 100 92 AC RATING 7 90 93 AG FLAMENCO 8 20 98 AH PC UNIT 9 10 99 AI COMPUTER 10 10 100 În cazul în care se consideră întreprinderile după caracteristica numărul de muncitori, definită int nr_m, dispunerea se face în ordine descrescătoare, obţinându-se rangurile din tabelul 5. Funcţia care face ordonarea întreprinderilor după caracteristica numărul muncitorilor este ord_nrm(). Prototipul funcţiei este: void ord_nrm(intrepr intr1). Dispunerea întreprinderilor după numărul de muncitori Tabelul 5 Rang Rang_calculat Cod Denumire Nr. muncitori 1 1 AE RATION 800 2 40 AI COMPUTER 400 3 50 AB FAURAR 300 4 70 AA METEOR 100 5 71 AJ FABY 100 6 72 AC RATING 80 7 77 AD BOOGYE 30 8 78 AF SC TARO 20 9 79 AG FLAMENCO 20 10 80 AH PC UNIT 10 79

Când se consideră întreprinderile după câmpul productivitate, definit float prod, dispunerea se efectuează în ordine descrescătoare, obţinându-se rangurile din tabelul 6. Funcţia care face ordonarea întreprinderilor după caracteristica productivitate este ord_prod(). Prototipul funcţiei este: void ord_prod(intrepr intr1). Dispunerea întreprinderilor după productivitate Tabelul 6 Rang Rang_calculat Cod Denumire Productivitate 1 1 AE RATION 400 2 2 AF SC TARO 400 3 20 AB FAURAR 200 4 30 AJ FABY 100 5 37 AG FLAMENCO 30 6 38 AA METEOR 20 7 39 AC RATING 20 8 40 AD BOOGYE 20 9 41 AI COMPUTER 20 10 42 AH PC UNIT 2 Variabila rangul_calculat, pentru caracteristicile productivitate, număr muncitori, cifra de faceri, rezultă din secvenţa: if (x1[0]< = 100) { poz [i] = x1[0]-x1[i]; if (poz [i]==0) poz [i]=1; for (int k=0; k<i; k++) if (poz [k]==poz[i]) poz [i]+=1; } else { poz [i]=(x1[0]-x1[i])/10; if (poz [i]==0) poz [i]=1; for (int k=0; k<i; k++) if (poz [k]==poz[i]) poz [i]+=1; } unde: x1[i] reprezintă valorile câmpurilor. --------------PENTRU A PĂRĂSI APLICAŢIA ALEGEŢI OPTIUNEA 0---------------- OPŢIUNILE MENIULUI 1 : PRELUARE DATE DESPRE COLECTIVITATE 2 : PRELUARE DATE DIN FIŞIER 3 : NOI MEMBRI AI COLECTIVITĂŢII 4 : NOI CARACTERISTICI ALE COLECTIVITĂŢII 5 : AFIŞARE MEMBRI 6 : AFIŞARE CARACTERISTICI 7 : AFIŞARE SITUAŢII DUPĂ CARACTERISTICI 8 : AFIŞARE SITUAŢIE FINALĂ 9 : RANG AGREGAT PRIN SUMĂ 10 : RANG AGREGAT PRIN PRODUS 11 : RANG MEDIU CALCULAT 12 : SALVARE DATE ÎN FIŞIER OPŢIUNEA DUMNEAVOASTRĂ Figura 1 Meniul aplicaţiei 80

2. Ordonarea multirang Atunci când se consideră două caracteristici şi se doreşte rangul agregat, există mai multe metode de a rezolva această problemă. Pentru mulţimea întreprinderilor şi pentru caracteristicile considerate, prin punerea rangurilor din tabelele 2, 3, 4, 5, 6 rezultă tabelul 7. Funcţia ce are ca finalitate tabelul 7 este af_final(). Prototipul funcţiei este: void af_final(intrepr h,int a[][10]), unde h este o variabilă de tipul intrepr, iar a este o matrice de tip int. Situaţia finală a rangurilor Tabelul 7 Cod după denumire după cifra de afaceri după nr. de muncitori după productivitate AA 5 2 4 7 AB 8 6 3 3 AC 7 7 6 8 AD 2 3 7 9 AE 9 4 1 1 AF 10 1 8 2 AG 4 8 9 5 AH 6 10 10 10 AI 3 9 2 6 AJ 1 5 5 4 Agregarea rangurilor prin însumare constă în adunarea rangurilor obţinute după diferite clasificări şi conduce la apartenenţa elementelor colectivităţii la clase de componente. Prin ordonarea crescătoare a rangurilor agregate prin însumare, se obţine tabelul 8. Funcţia care face ordonarea întreprinderilor după rangurile însumate este ord_af_ins(). Prototipul funcţiei este: void ord_af_ins(intrepr intr,intrepr h,int aa[][10]). Programul calculează, de asemenea, rangul real pe care îl are întreprinderea respectivă, făcând abstracţie de numărul întreprinderilor. Dispunerea întreprinderilor după rangul însumat Tabelul 8 Cod Denumirea _însumat _calculat AB FAURAR 17 1 1 AA METEOR 20 2 4 AE RATION 22 3 6 AD BOOGYE 24 4 8 AJ FABY 26 5 10 AF SC TARO 27 6 11 AI COMPUTER 28 7 12 AC RATING 32 8 16 AG FLAMENCO 34 9 18 AH PC UNIT 45 10 29 _calculat a fost obţinut cu formula: (x1[i]-x1[0])/min+1, unde: min reprezintă minimul calculat cu formula if ((x1[i]-x1[i-1])<min) min = x1[i]-x1[i-1], pentru i = 0, nr_intr-1; x1[i], x1[0] sunt respectiv valoarea curentă şi valoarea cea mai mică. Agregarea produs este realizată prin înmulţirea valorilor rangurilor din tabelul 7, iar ordonarea crescătoare a rangului produs duce la obţinerea tabelului 9. Funcţia ce realizează ordonarea întreprinderilor în funcţie de rangul produs este ord_af_produs(). Prototipul funcţiei este: void ord_af_produs(intrepr intr,intrepr h,int a1[][10]). 81

Dispunerea întreprinderilor după rangul produs Tabelul 9 Codul Denumirea _produs AE RATION 270 AA METEOR 336 AB FAURAR 360 AD SC TARO 756 AF FABY 960 AI BOOGYE 1944 AJ COMPUTER 2400 AC RATING 8064 AG FLAMENCO 12600 AH PC UNIT 56000 3. Creşterea generalităţii aplicaţiei Utilizatorul are posibilitatea să execute rezolvarea oricărei probleme ce presupune ordonarea şi calculul rangurilor. În acest scop, se definesc următoarele date de intrare ale problemei: numele colectivităţii; caracteristicile colectivităţii (nu mai mult de nouă); tipul caracteristicilor (int sau float). Pentru următorul stadiu al aplicaţiei ne propunem introducerea variabilelor de tip char. Unele dintre caracteristici au tendinţa de maximizare, pentru a genera efecte pozitive la nivelul elementelor colectivităţii. În acest caz, rangurile uzează ordonarea descrescătoare. Dacă avem caracteristici pentru care se urmăreşte scăderea valorilor, vom ordona descrescător valorile. Pentru început, aplicaţia vizează doar obiective de maximum. În scopul de a realiza şi obiective de minim, trebuie introduse noi proceduri care se ataşează produsului existent. Produsul este realizat în limbajul C, are 6 module, ocupă pe disc 32 KB, iar configuraţia minimă necesară va fi furnizată de un calculator echipat cu microprocesor 486, cu spaţiu de RAM de 32 MB şi un hard de 10 MB. Concluzii Implementarea acestui produs software, aflat la adresa www.moscs.ase.ro, permite noi abordări când se efectuează analize ale unor colectivităţi omogene de elemente şi se doreşte extragerea unor submulţimi, prin agregarea de criterii. Direcţiile următoare ale cercetărilor trebuie să includă o combinare a algoritmilor de ordonare multirang cu algoritmii de ordonare în care sunt utilizaţi coeficienţi de importanţă. În mod corespunzător, pentru noua tipologie de algoritmi se dezvoltă un produs software suficient de flexibil. Bibliografie [BODEA02] Constanţa-Nicoleta BODEA Handbook of Project-Based, Bucureşti, Editura Economică, 2002 [IVAN90] Ion IVAN - Modele de ierarhizare a produselor, Revista de Statistică, Nr. 6, 1990 [POPESCU00] Theodor POPESCU Serii de timp, Bucureşti, Editura Tehnică, 2000 [SMEUREANU01] Ion SMEUREANU Programarea în limbajul C/C++, Bucureşti, Editura Cison, 2001 [SMEUREANU02] Ion SMEUREANU Programarea orientată obiect in limbajul C++, Bucureşti, Editura Cison, 2002 [TROIE01] Liviu TROIE Analiza statistică a activităţii economice şi a gestiunii financiare a întreprinderii, Bucureşti, Editura ASE, 2001 Prof. univ. dr. inf. ec. Ion IVAN Academia de Studii Economice Bucureşti, Stud. Daniel MILODIN CSIE, an IV 82