|

Subprogramele Predefinite (Funcții de Sistem) în C++ 9


1. Obiectivele lecției:

  • Să înțeleagă conceptul de subprograme predefinite în C++.
  • Să învețe cum să utilizeze funcțiile de sistem pentru diverse operații.
  • Să implementeze exemple practice cu funcții predefinite din biblioteci standard.

2. Ce sunt subprogramele predefinite?

  • Definiție: Subprogramele predefinite, cunoscute și ca funcții de sistem, sunt funcții oferite de bibliotecile standard ale limbajului C++ pentru a realiza operații comune fără a fi nevoie să fie implementate de utilizator.
  • Exemple de utilizare: Operații matematice, manipularea șirurilor, gestionarea fișierelor, manipularea timpului, și altele.

3. Categorii de funcții predefinite


1. Funcții matematice (<cmath> sau <math.h>)

FuncțieDescriereExemplu
sqrt(x)Rădăcina pătrată a lui x.sqrt(16) -> 4.0
pow(x, y)Ridică x la puterea y.pow(2, 3) -> 8.0
abs(x)Valoarea absolută a lui x.abs(-5) -> 5
ceil(x)Rotunjire în sus la cel mai apropiat întreg.ceil(4.2) -> 5.0
floor(x)Rotunjire în jos la cel mai apropiat întreg.floor(4.8) -> 4.0
log(x)Logaritm natural al lui x.log(10) -> 2.3026
exp(x)Ridică e la puterea x.exp(1) -> 2.718
sin(x), cos(x), tan(x)Funcții trigonometrice.sin(3.14) -> ~0.0

Exemplu: Utilizarea funcțiilor matematice

#include <iostream>

#include <cmath>

using namespace std;

int main() {

    double numar = 25.0;

    cout << „Rădăcina pătrată: ” << sqrt(numar) << endl;

    cout << „Puterea a doua: ” << pow(numar, 2) << endl;

    cout << „Valoarea absolută: ” << abs(-numar) << endl;

    return 0;

}


2. Funcții pentru șiruri de caractere (<cstring>)

FuncțieDescriereExemplu
strlen(sir)Returnează lungimea șirului.strlen(„abc”) -> 3
strcmp(sir1, sir2)Compară două șiruri lexicografic.strcmp(„abc”, „abd”) -> -1
strcpy(dest, src)Copiază șirul src în dest.strcpy(dest, „hello”)
strcat(dest, src)Concatenează șirul src la sfârșitul lui dest.strcat(dest, ” world”)
strtok(sir, delim)Împarte un șir în segmente.strtok(„a,b,c”, „,”) -> „a”

Exemplu: Funcții pentru șiruri

#include <iostream>

#include <cstring>

using namespace std;

int main() {

    char sir1[50] = „Salut”;

    char sir2[] = ” lume!”;

    strcat(sir1, sir2);

    cout << „Concatenare: ” << sir1 << endl;

    cout << „Lungime: ” << strlen(sir1) << endl;

    return 0;

}


3. Funcții pentru manipularea timpului (<ctime>)

FuncțieDescriereExemplu
time(NULL)Returnează timpul curent în secunde de la epoca UNIX.time(NULL) -> 1672444800
localtime(&time)Conversie timp în structura tm (timp local).localtime(&t)
strftime(buffer, size, format, &time)Formatare timp.strftime(buf, 80, „%Y-%m-%d”, &t)
clock()Returnează timpul procesorului folosit de program.clock()

Exemplu: Afișarea timpului curent

#include <iostream>

#include <ctime>

using namespace std;

int main() {

    time_t timpCurent = time(NULL);

    tm* timpLocal = localtime(&timpCurent);

    cout << „Ora curenta: ” << timpLocal->tm_hour << „:”

         << timpLocal->tm_min << „:” << timpLocal->tm_sec << endl;

    return 0;

}


4. Funcții pentru generarea numerelor aleatoare (<cstdlib>)

FuncțieDescriereExemplu
rand()Generează un număr aleator între 0 și RAND_MAX.rand()
srand(seed)Inițializează generatorul cu un număr specific (seed).srand(time(NULL))

Exemplu: Generarea numerelor aleatoare

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main() {

    srand(time(NULL));

    for (int i = 0; i < 5; i++) {

        cout << „Numar aleator: ” << rand() % 100 << endl; // Număr între 0 și 99

    }

    return 0;

}


5. Activități practice pentru elevi

  1. Scrieți un program care calculează aria unui cerc folosind funcția pow și M_PI (constantă din <cmath>).
  2. Realizați un program care verifică dacă două șiruri sunt identice utilizând funcția strcmp.
  3. Implementați un program care generează 10 numere aleatoare între 1 și 50 și le afișează sortate.

6. Scheme logice

  1. Calcul matematic:
    • Start -> Apel funcție matematică -> Returnează rezultat -> Stop.
  2. Manipularea șirurilor:
    • Start -> Citire șiruri -> Apel funcție (strlen, strcat, etc.) -> Afișare rezultat -> Stop.
  3. Generare aleatorie:
    • Start -> Inițializare generator -> Generare număr -> Afișare -> Stop.

7. Concluzie

  • Funcțiile predefinite din C++ oferă soluții rapide și eficiente pentru probleme comune.
  • Alegerea funcției corecte depinde de tipul de problemă: matematică, manipulare șiruri, timp sau generare aleatoare.
  • Practica utilizării funcțiilor predefinite ajută la dezvoltarea rapidă a programelor.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *