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

De la WikiLabs
Jump to navigationJump to search
Linia 5: Linia 5:
 
<div class="regula"><span style="color: red; font-weight: bold">Atenție:</span> Imaginea de Linux folosită la Programarea Calculatoarelor are deja instalat compilatorul de C.</div>
 
<div class="regula"><span style="color: red; font-weight: bold">Atenție:</span> Imaginea de Linux folosită la Programarea Calculatoarelor are deja instalat compilatorul de C.</div>
  
== Instalarea compilatoarelor pentru C/C++ în Linux ==
+
== 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:
 
Pentru instalarea compilatorului de C (GCC) în distribuțiile de Linux provenite din Ubuntu (Ubuntu, Kubuntu, Xubuntu, Mint, LMDE, etc.) se poate folosi comanda:
Linia 11: Linia 13:
 
  apt-get install -y build-essential
 
  apt-get install -y build-essential
  
== Instalarea compilatoarelor pentru C/C++ în Windows ==
+
=== 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:
 
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:

Versiunea de la data 21 februarie 2016 16:08

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

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