Diferență între revizuiri ale paginii „SDA Lucrarea 2 Backup”

De la WikiLabs
Jump to navigationJump to search
Linia 1: Linia 1:
== Calcularea unui interval de timp ==
+
În acest laborator veți relua și recapitula noțiunile legate funcții recursive și citire și scriere din fișiere.
  
În Visual Studio 2013, următoarea funcție permite obținerea numărului de milisecunde care a trecut de la pornirea sistemului:
+
= Utilizarea fișierelor in C =
  
<syntaxhighlight lang="c">
+
Pentru a recapitula modurile de scriere și citire din fișiere în limbajul C, puteți recapitula [[PC Laborator 13]].
#include <windows.h>
 
  
unsigned long GetTickCount();
+
= Funcțiile recursive - Clasa de algoritmi ''Divide-et-impera'' =
</syntaxhighlight>
 
 
 
Pentru a calcula, de exemplu, cât durează apelul unei funcții ”test”, putem scrie următorul cod:
 
 
 
<syntaxhighlight lang="c">
 
#include <windows.h>
 
 
 
void test();
 
 
 
int main(){
 
    unsigned long start;
 
    unsigned long finish;
 
   
 
    start = GetTickCount();
 
    test();
 
    finish = GetTickCount();
 
 
 
    printf("Functia test a rulat in %ld milisecunde.\n", finish - start);
 
    return 0;
 
}
 
</syntaxhighlight>
 
 
 
== Exercițiul 1 ==
 
 
 
Scrieți o funcție care să citească un fișier text ce conține un număr '''n''', întreg, pozitiv, apoi '''n''' numere în virgulă mobilă. Funcția va sorta șirul de numere folosind algoritmul bubble-sort. Testați această funcție apelând-o în '''main'''.
 
 
 
== Exercițiul 2 ==
 
 
 
Scrieți o funcție care are ca argument un singur număr întreg pozitiv '''n'''. Această funcție trebuie să genereze un fișier text ce va conține numărul '''n''' pe prima poziție, apoi '''n''' numere aleatoare în virgulă mobilă. Această funcție va apela apoi funcția de la exercițiul 1 și va contoriza timpul de execuție. La sfârșit se va afișa pe ecran timpul de rulare și numărul '''n'''.
 
 
 
== Exercițiul 3 ==
 
 
 
Realizați un program care să apeleze funcția de la exercițiul 2 cu numere întregi de la 1000 la 10000, din 1000 în 1000 (adică 1000, 2000, 3000,... 10000). Folosind timpul măsurat de execuție pentru fiecare dimensiune de vector de intrare, se va calcula complexitatea în timp a algoritmului.
 

Versiunea de la data 6 martie 2016 19:06

În acest laborator veți relua și recapitula noțiunile legate funcții recursive și citire și scriere din fișiere.

Utilizarea fișierelor in C

Pentru a recapitula modurile de scriere și citire din fișiere în limbajul C, puteți recapitula PC Laborator 13.

Funcțiile recursive - Clasa de algoritmi Divide-et-impera