SDA Lucrarea 1

De la WikiLabs
Versiunea din 21 februarie 2016 17:52, autor: Radu Hobincu (Discuție | contribuții) (Realizarea unui proiect)

După acest laborator veți putea folosi IDE-ul Netbeans pentru a scrie și depana programe în C. Totodată veți relua și recapitula noțiunile legate de pointeri în C.

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 GCC

Instalarea GCC î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 GCC î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

De la adresa https://netbeans.org/downloads/ puteți descărca kitul de instalare pentru sistemul vostru de operare (imaginea de Virtualbox cu Linux folosită la Programarea Calculatoarelor ruelază un Linux pe 32 de biți). Descărcați una din variantele care suporta C/C++ (C/C++ sau All).

Instalare Netbeans în Linux

Fișierul descărcat pentru Linux va avea extensia .sh. Pentru a instala programul, deschideți un terminal și rulați următoarele comenzi:

cd ~/Downloads # navigare catre directorul unde a fost salvat fisierul descarcat
chmod +x *.sh # activarea fanionului 'executabil' pentru toate fisierele cu extensia .sh
sudo ./netbeans-8.1-cpp-linux-x86.sh # folositi numele corespunzator al fisierului descarcat

Mai departe urmați pașii din programul de instalare.

Instalare Netbeans în Windows

Fișierul descărcat va avea extensia .exe. Rulați-l și urmăriți instrucțiunile. Veți fi întrebați unde este compilatorul de C/C++. Executabilele pentru acestea sunt în directorul unde ați instalat MinGW sau Cygwin, în subdirectorul /usr/bin.

Realizarea unui proiect

Aplicațiile în Netbeans sunt structurate în Proiecte. O aplicație este un proiect. Nu este suficient să scrieți un fișier sursă C și să-l rulați. Netbeans trebuie să creeze fișiere Makefile și să pregătească mediul pentru compilare și execuție precum și să fie capabil să vă ofere informații legate de corectitudinea codului și să vă ofere sugestii de îmbunătățire. Pentru a crea un proiect nou, se folosește meniul File - New Project... sau combinația Ctrl-Shift-n:

Proiect nou

Mai departe selectați categoria C/C++ și la Project selectați C/C++ Application. Va apărea următoarea fereastră:

Aplicație nouă

Completați următoarele informații:

  • Project Name - numele proiectului/ al aplicației voastre; va fi numele directorului creat de Netbeans pentru proiect;
  • Project Location - directorul unde va fi salvat directorul proiectului de către Netbeans;
  • Project Folder - calea completă până la directorul proiectului; este obținut din concatenarea celor două de mai sus; nu poate fi modificat;
  • Project Makefile Name - numele fișierului Makefile care va fi creat de către Netbeans pentru proiectul vostru;
  • Create Main File - se bifează dacă se dorește crearea unui fișier sursă care să conțină funcția main și se completează numele acestui fișier (fără extensie); în căsuța de selecție din dreapta se alege limabjul (C sau C++) și standardul folosit pentru compilarea codului și generarea fișierului main;
  • Build Host - numele sau adresa IP a calculatorului unde se realizează compilarea (localhost este calculatorul pe care lucrați);
  • Tool Collection - dacă există mai multe compilatoare instalate, de aici se alege care compilator este utilizat pentru proiect.

După ce dați click pe Finish, proiectul se va deschide și fereastra va arăta în felul următor:

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ă factorialul 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;
}