Programarea Calculatoarelor

Laborator
9.5/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 95 în total
Cuvinte : 17536
Mărime: 75.56KB (arhivat)
Publicat de: Augusta Ursu
Puncte necesare: 0

Extras din laborator

Lucrarea nr. 1

Determinarea experimentala a timpului de execuţie al unui program

1. Scopul lucrării - lucrarea prezintă aspecte legate de diferite modalitaţi de determinare experimentală a timpilor de execuţie pentru diferite secvenţe de program.

2. Aspecte teoretice

2.1. Determinarea experimentală a timpului de execuţie al unui program

Determinarea timpului de execuţie al unui program prin metode analitice este foarte dificilă în practică. Aşa ca mai exista si o alta metoda experimentală, mult mai uşoară, şi cu rezultate la fel de concludente în condiţiile în care se porneşte de la anumite premize iniţiale. Ideea acestei metode constă din determinarea timpului efectiv (în secunde, milisecunde, etc.) necesar rulării unui algoritm, folosindu-ne de ceasul calculatorului. Se prezintă mai jos schema bloc a acestei metode.

Ideea acestui algoritm este aceea de a determina, folosindu-se ceasul calculatorului, două momente de timp : dinaintea inceputului algoritmului şi respectiv imediat de dupa terminarea acestuia. Rezultatul, ca fiind diferenţa între cele două momente, este considerat ca fiind timpul de execuţie efectiv al algoritmului respectiv.

Este cunoscut faptul că, în general, timpul de execuţie al unui program depinde de următorii factori :

-volumul datelor de intrare

-calitatea codului generat de compilator

-natura si viteza de execuţie a instrucţiunilor programului (dependentă şi de performanţele calculatorului pe care acesta rulează)

-complexitatea algoritmului care stă la baza programului.

In condiţiile în care algoritmii sunt rulaţi pe calculatoare cu performanţe similare, utilizîndu-se acelaşi compilator, practic timpul de execuţie devine funcţie doar de volumul datelor de intrare şi complexitatea algoritmului. In aceste condiţii simplificate, evaluarea experimentală a performanţelor unui algoritm este cu adevarat relevantă.

In C++, funcţia prin care se poate determina ora curentă a calculatorului este gettime, şi se găseşte în bibioteca <dos.h>

2.2. Exemplu de determinarea experimentala a timpului de executie al unui program

Se prezintã în continuare modul de evaluare a timpului de execuþie a procedurii de sortare a elementelor unui tablou de dimensiune N utilizînd algoritmul bubblesort, prezentat mai jos:

typedef int tablou[n];

void bubble_sort(tablou a)

{

int i,j,temp

(1) for (i=0;i<n;i++)

(2) for (j=n;j>=i+1;j--)

(3) if (a[j-1]>a[j])

{

(4) temp=a[j-1];

(5) a[j-1]=a[j];

(6) a[j]=temp

}

}

Dacă dorim să folosim metoda experimentală, şi să utilizăm funcţia gettime, programul se va modifica astfel:

typedef int tablou[n];

void bubble_sort(tablou a)

{

int i,j,temp

for (i=0;i<n;i++)

for (j=n;j>=i+1;j--)

if (a[j-1]>a[j])

{

temp=a[j-1];

a[j-1]=a[j];

a[j]=temp

}

}

void main()

{

(1) struct time t1,t2;

int durata;

(2) gettime(&t1);

(3) bubble_sort(a);

(4) gettime(&t2);

(5) durata=(t2.ti_sec*100+t2.ti_hund)

-(t1.ti_sec*100+t1.ti_hund);

printf("Durata de executie=%dms",durata);

}

Trebuie ţinut cont însă de faptul că funcţia gettime are nevoie ca şi parametri de variabile de tip structură de timp, deci în cazul nostru vom avea nevoie de două variabile t1 şi t2 în care să se stocheze ora calculatorului (1). Se stochează ora calculatorului în t1, exact înainte de a rula algoritmul (2). Se rulează algoritmul (3) dupa care, imediat se stochează în t2 ora calculatorului (4). Pentru obţinerea diferenţei se va realiza un mic calcul matematic pentru diferenţa între cei doi timpi t2 şi t1 (5), iar rezultatul final obţinut va fi durata de execuţie în sutimi de secunda.

Utilizînd aceasta metodă experimentală de determinare a timpului de execuţie, rezultatul se obţine mult mai uşor, fiindu-ne oferit chiar de calculator, în comparaţie cu metoda analitică, unde tot calculul trebuie realizat manual de catre programator, şi care implică, în anumite cazuri, cunoştinţe aprofundate de matematică. Este adevărat că metoda analitică este mai generală.

Preview document

Programarea Calculatoarelor - Pagina 1
Programarea Calculatoarelor - Pagina 2
Programarea Calculatoarelor - Pagina 3
Programarea Calculatoarelor - Pagina 4
Programarea Calculatoarelor - Pagina 5
Programarea Calculatoarelor - Pagina 6
Programarea Calculatoarelor - Pagina 7
Programarea Calculatoarelor - Pagina 8
Programarea Calculatoarelor - Pagina 9
Programarea Calculatoarelor - Pagina 10
Programarea Calculatoarelor - Pagina 11
Programarea Calculatoarelor - Pagina 12
Programarea Calculatoarelor - Pagina 13
Programarea Calculatoarelor - Pagina 14
Programarea Calculatoarelor - Pagina 15
Programarea Calculatoarelor - Pagina 16
Programarea Calculatoarelor - Pagina 17
Programarea Calculatoarelor - Pagina 18
Programarea Calculatoarelor - Pagina 19
Programarea Calculatoarelor - Pagina 20
Programarea Calculatoarelor - Pagina 21
Programarea Calculatoarelor - Pagina 22
Programarea Calculatoarelor - Pagina 23
Programarea Calculatoarelor - Pagina 24
Programarea Calculatoarelor - Pagina 25
Programarea Calculatoarelor - Pagina 26
Programarea Calculatoarelor - Pagina 27
Programarea Calculatoarelor - Pagina 28
Programarea Calculatoarelor - Pagina 29
Programarea Calculatoarelor - Pagina 30
Programarea Calculatoarelor - Pagina 31
Programarea Calculatoarelor - Pagina 32
Programarea Calculatoarelor - Pagina 33
Programarea Calculatoarelor - Pagina 34
Programarea Calculatoarelor - Pagina 35
Programarea Calculatoarelor - Pagina 36
Programarea Calculatoarelor - Pagina 37
Programarea Calculatoarelor - Pagina 38
Programarea Calculatoarelor - Pagina 39
Programarea Calculatoarelor - Pagina 40
Programarea Calculatoarelor - Pagina 41
Programarea Calculatoarelor - Pagina 42
Programarea Calculatoarelor - Pagina 43
Programarea Calculatoarelor - Pagina 44
Programarea Calculatoarelor - Pagina 45
Programarea Calculatoarelor - Pagina 46
Programarea Calculatoarelor - Pagina 47
Programarea Calculatoarelor - Pagina 48
Programarea Calculatoarelor - Pagina 49
Programarea Calculatoarelor - Pagina 50
Programarea Calculatoarelor - Pagina 51
Programarea Calculatoarelor - Pagina 52
Programarea Calculatoarelor - Pagina 53
Programarea Calculatoarelor - Pagina 54
Programarea Calculatoarelor - Pagina 55
Programarea Calculatoarelor - Pagina 56
Programarea Calculatoarelor - Pagina 57
Programarea Calculatoarelor - Pagina 58
Programarea Calculatoarelor - Pagina 59
Programarea Calculatoarelor - Pagina 60
Programarea Calculatoarelor - Pagina 61
Programarea Calculatoarelor - Pagina 62
Programarea Calculatoarelor - Pagina 63
Programarea Calculatoarelor - Pagina 64
Programarea Calculatoarelor - Pagina 65
Programarea Calculatoarelor - Pagina 66
Programarea Calculatoarelor - Pagina 67
Programarea Calculatoarelor - Pagina 68
Programarea Calculatoarelor - Pagina 69
Programarea Calculatoarelor - Pagina 70
Programarea Calculatoarelor - Pagina 71
Programarea Calculatoarelor - Pagina 72
Programarea Calculatoarelor - Pagina 73
Programarea Calculatoarelor - Pagina 74
Programarea Calculatoarelor - Pagina 75
Programarea Calculatoarelor - Pagina 76
Programarea Calculatoarelor - Pagina 77
Programarea Calculatoarelor - Pagina 78
Programarea Calculatoarelor - Pagina 79
Programarea Calculatoarelor - Pagina 80
Programarea Calculatoarelor - Pagina 81
Programarea Calculatoarelor - Pagina 82
Programarea Calculatoarelor - Pagina 83
Programarea Calculatoarelor - Pagina 84
Programarea Calculatoarelor - Pagina 85
Programarea Calculatoarelor - Pagina 86
Programarea Calculatoarelor - Pagina 87
Programarea Calculatoarelor - Pagina 88
Programarea Calculatoarelor - Pagina 89
Programarea Calculatoarelor - Pagina 90
Programarea Calculatoarelor - Pagina 91
Programarea Calculatoarelor - Pagina 92
Programarea Calculatoarelor - Pagina 93
Programarea Calculatoarelor - Pagina 94
Programarea Calculatoarelor - Pagina 95

Conținut arhivă zip

  • Programarea Calculatoarelor.doc

Alții au mai descărcat și

Baze de date - gestionarea cărților într-o bibliotecă

1 Introducere Trebuie menţionat faptul că lucrarea de faţă îşi propune înainte de toate să identifice cele mai importante aspecte şi probleme ale...

Program de contabilitate primară într-un laborator de cofetărie

1 INTRODUCERE Gestiunea datelor a stat in atentia majoritatii utilizatorilor calculatoarelor inca de la incerputul folosirii acestora. La inceput...

Analiza Algoritmilor Genetici

I. Analiza algoritmilor genetici 1.1. Algoritmi evoluţionişti Algoritmii evoluţionişti au la bază câteva principii ale evoluţiei: supravieţuirea...

Modele teste licență programarea sistemelor informatice

1. Care definiţie este corectă: a) Un sistem reprezintă un ansamblu de elemente (componente) interdependente, între care se stabileşte o...

Structuri de Date și Algoritmi

1 Tema:Implimentarea tipului abstract de date.Tabloul de structuri. 2 Sarcina:De implimentat tipul abstract de date,tablou de structuri si de...

Operatori Aritmetici C++

1. SCOPUL LUCRĂRII În această lucrare se vor studia următoarele: -Funcţii de citire / scriere: -Instrucţiunea de atribuire -Operatori...

Crearea unui Site cu Ajutorul MySql și PHP

Tema 4 PHP 4.1 Obiective • Introducere în elementele de bază ale limbajului PHP; • Realizarea unor scripturi PHP, şi modificarea acestora pentru...

Utilizarea și Programarea Calculatoarelor

1. Hardware/Software/IT Tehnologia informatiei se refera la studiul calculatoarelor si utilizarea lor pe scara larga într-o multitudine de...

Te-ar putea interesa și

Dreptul de Autor pe Internet

1. Introducere Modalitatea în care Internetul a devenit fenomenul pe care astăzi îl considerăm un element omniprezent în existenţa umana pare a fi...

Reproducerea neautorizată a programelor de calculator - forme și modalități în Administrația Publică

Capitolul I Conceptul de infracţiune şi trăsăturile ei esenţiale 1.1. Infracţiunea – instituţie fundamentală a dreptului penal INFRACŢIUNEA-...

Dreptul de Autor

INTRODUCERE Pentru a raspunde cerintelor societatii contemporane si obligatiilor asumate pe plan international de catre statul nostru, Parlamentul...

Actele de Autoritate cu Caracter Militar

Introducere În mai putin de o generatie, revolutia informationala si introducerea calculatoarelor în aproape fiecare dimensiune a societatii a...

Protecția juridică a programelor pe calculator

De o natură aparte între creaţiile spiritului protejate prin intermediul Legii 8 din 1996 privind drepturile de autor şi drepturile conexe,...

Protecția juridcă a programelor pentru calculator

Dezvoltarea sistemelor de calculator și în special a micro-calculatoarelor a ridicat probleme juridice specifice referitoare la modul de protecție...

Programarea calculatoarelor și limbaje

Specificatii: - Programul pe care l-am prezantat este construit din patru functii: functia main, functia criptare Caesar,functia decriptare...

Programarea calculatorului II - mapă cu programe

1. PROGRAMUL NR.1 1. Formularea problemei Sa se scrie un program care sa afiseze mesajul “Salut, sunt Mehes Vlad.” 2. Descrierea algoritmului...

Ai nevoie de altceva?