SDA Lucrarea 1

De la WikiLabs
Jump to navigationJump to search

Utilizarea IDE-ului Netbeans

Netbeans este un mediu integrat de dezvoltare (IDE) open-source și gratuit care permite dezvoltarea de programe în limbajele Java, C, C++, Javascript, HTML, PHP și Groovy. Netbeans nu instalează și compilatoare pentru Java și C/C++, acestea trebuie instalate manual, în prealabil.

Atenție: Imaginea de Linux folosită la Programarea Calculatoarelor are deja instalat compilatorul de C.

Instalarea compilatoarelor pentru C/C++ în Linux

Pentru instalarea compilatorului de C (GCC) în distribuțiile de Linux provenite din Ubuntu (Ubuntu, Kubuntu, Xubuntu, Mint, LMDE, etc.) se poate folosi comanda:

apt-get install -y build-essential

Instalarea compilatoarelor pentru C/C++ în Windows

Pentru compilarea de programe cu GCC în Windows, aveți nevoie de instalarea acestui compilator care poate fi făcută prin instalarea unuia din următoarele două pachete:

Instalarea Netbeans

Exerciții

Exercițiul 1

Realizați un program care să citească de la tastatură o lungime n, apoi n numere care să fie stocate într-un vector. Apoi se va citi de la tastatură o valoare v și se va afișa pe ecran de câte ori apare valoarea v în vector.

Exercițiul 2

Modificați programul de la exercițiul 1 astfel încât citirea datelor și cautarea valorii în vector să fie scrise în funcții diferite.

Exercițiul 3

Modificați programul de la exercițiul 2 astfel încât cele două funcții și main să se afle în fișiere separate.

Exercițiul 4

Următorul program implementează o sortare de vector dar are o eroare. Utilizați debugger-ul grafic pentru a identifica problema.

#include <stdio.h>

int main(){
    int vectorLength;
    printf("Length = ");
    scanf("%d", &vectorLength);

    int vector[vectorLength];
    int i;    
    
    for(i=0; i<vectorLength; i++){
        printf("v[%d] = ", i);
        scanf("%d", &vector[i]);
    }
    

    int temp;
    int done;
    
    do{
        done = 1;
        for(i=0; i<vectorLength; i++){
            if(vector[i] > vector[i + 1]){
                temp = vector[i];
                vector[i] = vector[i + 1];
                vector[i + 1] = temp;
                done = 0;
            }
        }
    }while(!done);
    
    for(i=0; i<vectorLength; i++){
        printf("%d, ", vector[i]);
    }
    printf("\n");
    return 0;
}

Exercițiul 5

Următorul program calculează factorial-ul unui număr, dar are o eroare. Utilizați debugger-ul grafic pentru a identifica problema.

#include<stdio.h>

int factorial(int n){
    return n * factorial(n - 1);
}

int main(){

    int number;
    scanf("%d", &number);
    
    printf("n! = %d\n", factorial(number));
    
    return 0;
}