Sunteți pe pagina 1din 34

Programarea calculatoarelor

şi
limbaje de programare
Scopul cursului
 Formarea unei gândiri algoritmice
 Formarea şi dezvoltarea deprinderilor de programare într-un limbaj de
programare

Obiectivele cursului
 -însuşirea noţiunilor de baza referitoare la algoritmi şi reprezentarea algoritmilor
 -iniţiere în utilizarea unui limbaj de programare
 -formarea deprinderilor de programare în limbajul C/C++
 -analiza unor algoritmi simpli şiimplementarea acestora in limbajul C/C++
Număr de ore

Managementul energiei 2C + 2L (5)


Sisteme electrice 3C + 2L (5)
Electronică aplicată 2C + 2L (5)
Conţinutul cursului (1)
 Noţiuni introductive
 Algoritmi, programe, limbaje de programare
 Etapele rezolvării unei probleme pe calculator
 Reprezentarea algoritmilor
 Limbajul C - elemente introductive
 Elementele limbajului C. Alfabet, constante, variabile, operatori, expresii
 Structura şi sintaxa programelor C
 Tipuri simple de date
 Declaraţii de variabile
 Instrucţiuni
 Tipuri de date structurate - tablouri
 Prelucrarea caracterelor
Conţinutul cursului (2)
 Funcţii şi proceduri în C
 Fişiere
 Tipuri de date agregat in C/C++
 Structuri
 Uniuni
 Campuri de biti

 Programare modulară în C/C++


 Clase de memorare
 Realizarea proiectelor in C/C++
 Transmiterea datelor între diferite module deprogram
 Parametri in linia de comanda
 Biblioteci de subprograme
Bibliografie
 Herbert Schildt – C – manual complet, Ed.Teora

 Brian W. Kernighan, Dennis M. Ritchie – Limbajul C, Ed.Teora, 2003

 Şt. Ghe. Pentiuc, Cr. Turcu, C. Turcu, G. Mahalu, C. Petrişor –


Programarea calculatoarelor, Suceava 1995

 Adina Bărîlă – Programare şi Tehnici de Programare, Îndrumar de


laborator, Suceava, 2003

 www.eed.usv.ro/~adina/pclp.html
Evaluare
Activitate pe parcurs (NP, nr_abs_lab)

Examen:
proba scrisă (S)
proba practică (P)
NE =(S+P)/2

notaPCLP=(NE+NP)/2, dacă NE≥5 şi NP ≥5 şi nr_abs_lab=0


Algoritmi

Algoritmul reprezintă o mulţime finită de operaţii care, aplicate într-o


anumită ordine unei mulţimi de valori, numite date de intrare,
produce o altă mulţime de valori, numită mulţimea datelor de ieşire.

☺ Termenul de algoritm (algorithm) provine de la numele


matematicianului al-Khwarizmi.
Algoritmi

Abu Muhammad ibn Musa al-Khwarizmi

 matematician şi astronom/astrolog persan

 a trăit în perioada 780 - 845 d.Hr.

 a scris un tratat referitor ca calculele cu cifre hinduse (“Algoritmi

de numero Indorum”) care a dus la răspândirea în Europa a


sistemului de numeraţie poziţional zecimal şi a setului de cifre
cunoscute astăzi ca „cifre arabe”.
Algoritmi

Exemple:

 algoritmul lui Euclid

 rezolvarea ecuaţiei de gradul doi

 utilizarea unui bancomat


Caracteristici
1.Determinismul. In fiecare moment al execuţiei unui algoritm
următoarea operaţie poate fi stabilită în mod unic, funcţie de valorile
datelor de intrare şi a rezultatelor intermediare.
2.Eficacitatea. Fiecare operaţie prescrisă de algoritm trebuie să
poată fi executată într-un timp finit de către procesorul care execută
algoritmul (om sau calculator).
3.Finitudinea. Orice algoritm trebuie să-şi încheie execuţia după un
număr finit de paşi.
4.Universalitatea. Un algoritm trebuie să poată rezolva o clasă de
probleme şi nu o problemă concretă
Etapele rezolvării unei probleme

1. Analiza problemei, pentru a stabili datele de intrare şi de ieşire

2. Elaborarea unui algoritm de rezolvare a problemei

3. Implementarea algoritmului într-un limbaj de programare

4. Verificarea corectitudinii algoritmului implementat

5. Analiza complexitatii algoritmului


Limbaje de programare

Un limbaj de programare este un limbaj artificial ce constă


dintr-un vocabular fixat şi un set de reguli (numit sintaxă)
ce poate fi folosit la crearea instrucţiunilor pe care le poate
parcurge un calculator.
Limbaje de programare - exemple
FORTRAN (FORmula TRANslator)
 a fost dezvoltat între anii 1954 şi 1958 de către o echipă condusă de
Jim Bachus
 a introdus şi definit concepte ca variabile, expresii, enunţuri
iterative, subrutine compilate separat si input/output format.
 folosit în domenii ştiinţifice şi inginereşti
 au apărut numeroase standarde ale limbajului: FORTRAN II (1958),
FORTRAN IV (1961), FORTRAN 66 (1966), FORTRAN 77 (1977)
, Fortran 90 (1990), Fortran 95 (1995), Fortran 2003 (2003)
Limbaje de programare - exemple
COBOL (COmmon Business-Oriented Language)
 a fost dezvoltat între anii 1959-1961
 este utilizat în special pentru aplicaţii cu caracter economic şi
administrativ
 a fost initial sustinut de Departamentul de Apărare American şi
ulterior dezvoltat pentru aplicaţii comerciale.
Limbaje de programare - exemple
BASIC – Beginner’s Allpurpose Symbolic Instruction
Code (cod de instrucţiuni simbolice, de uz general, destinat
începătorilor)
 creat în 1964 la Darmooth College (SUA)
 a cunoscut succesul maxim în anii 80
 este
 simplu de învăţat
 neorientat pe un anumit tip de problemă
 un limbaj nestructurat.
 au fost implementate noi versiuni de BASIC, diferite de versiunea
standard, care introduc elemente de structurare în limbaj
Limbaje de programare - exemple
Pascal
 conceptualizat în 1970 de către Niklaus Wirth
 poartă numele matematicianului şi filozofului Blaise Pascal (1623-
1662), în semn de recunoaştere a meritelor sale în teoretizarea
maşinilor de calcul moderne
 a fost şi este considerat un limbaj modern
 a introdus în versiunea sa iniţială noţiunea de programare structurată
şi ulterior noţiunile de date dinamice, date definite de utilizator.
Limbaje de programare
C
 a fost creat în 1971 de către Dennis Ritchie şi Brian Kernigham pentru
dezvoltarea sistemului de operare UNIX
 Caracteristici:
 este un limbaj structurat de nivel înalt
 posedă şi concepte de nivel scăzut, hardware
 concizie deosebită a limbajului (set de operatori şi instrucţiuni foarte concise)
 rutine de conversie a datelor foarte evoluate
 tipuri de date definibile de către programator
 gestionarea elaborată a datelor de tip dinamic
 definirea de noi funcţii
 adresări indirecte ale datelor(pointeri)
 recursivitate
 set complet de funcţii matematice
 funcţii pentru realizarea de grafică elementară 2D
Limbajul C – cuvinte cheie
 cuvinte cu înţeles bine precizat (predefinit)

 se scriu cu litere mici şi nu pot fi utilizate în alte scopuri.

auto extern sizeof


break float static
case for struct
char goto switch
const if typedef
continue int union
default long unsigned
do register void
double return volatile
else short while
Limbajul C – identificatori (nume)
 o secvenţă de litere, cifre şi _ (semnul de subliniere), care trebuie să prezinte ca
prim simbol o literă sau _
 nu pot fi cuvinte cheie (nume rezervate) ale limbajului
 Alfa şi alfa sunt considerate nume diferite
 Exemple:
numar
nr_1
nr20
_litera
Limbajul C – tipuri de date

Un tip de date specifică domeniul de valori pe care o variabilă de acel tip le


poate păstra şi setul de operaţii pe care le poate executa asupra datelor.

tipuri de date definite


tipuri de date predefinite - asociate cu un cuvânt cheie, utilizat în declaraţie
Limbajul C – tipuri de date
cuv cheie lungime descriere

short int 2o valori întregi în intervalul –32768 şi 32767


int 4o valori întregi în intervalul –2147483648 şi 2147483647
long 4o valori întregi în intervalul –2147483648 şi 2147483647
unsigned 2o valori întregi în intervalul 0 şi 4294967295
char 1o un singur caracter (reprezentat prin codul ASCII)
float 4o numere reale în simplă precizie (6 sau 7 cifre) din intervalul
3.4E-38 şi 3.4E+37
double 8o numere reale în dublă precizie (14 sau 15 cifre) din intervalul
1.7E-308 şi 1.7E+308
Limbajul C – variabile
 nume asociat cu una sau mai multe locaţii de memorie.

 valoarea păstrată în aceste locaţii se poate modifica în cursul


execuţiei programului

 trebuie declarate – se specifică tipul şi numele

 exemple:
int n,i;
float x1, x2;
char c;
long numar;
int 1n; INCORECT
float x 1; INCORECT
char auto; INCORECT
Limbajul C – constantă
are un tip şi o valoare fixă pe toată durata execuţiei programului
care o conţine

tipul şi valoarea unei constante se definesc prin caracterele care


compun constanta respectivă

 întreagă: şir de cifre precedat, eventual, de semnul minus

Exemplu:
123
-17
Limbajul C – constantă
 flotantă: are o parte întreagă, care poate fi urmată de o parte fracţionară şi
de un exponent. Partea fracţionară şi exponentul nu sunt ambele
obligatorii, dar cel puţin una din ele trebuie să fie prezentă

Partea fracţionară este un şir de cifre zecimale precedate de punct.

Exponentul începe cu litera e sau E după care poate urma un semn opţional
urmat de cifre.

Exemplu Valoare
1.25 1,25
0.47 0,47
12e-1 12x10-1 (1,2)
12e2 12x102 (1200)
Limbajul C – constantă
 caracter – reprezintă un caracter şi are ca valoare codul ASCII al caracterului
respectiv
caractere grafice
caractere negrafice

O constantă caracter care reprezintă un


caractere negrafice
caracter grafic se scrie incluzând
caracterul respectiv între caractere
backspace ‘\b’
apostrof.
retur de car ‘\r’
Exemplu: tab ‘\t’
linie nouă ‘\n’
‘A’
NULL ‘\0’
‘+’
‘2’
Limbajul C – constantă

 Constantă şir sau şir de caractere - un şir de zero sau mai multe caractere
delimitate prin ghilimele.

Ghilimelele nu fac parte din şirul de caractere.

Exemplu:

“ABC”

“Dati un numar”

OBS: “A” şi ‘A’ sunt diferite


Limbajul C – comentariu
 constituie doar o explicaţie pentru programator
 începe cu caracterele:
/*
şi se termină cu:
*/

Exemplu:
/* Acesta este un comentariu */
Limbajul C – structura unui program
Un program în limbajul C se compune din una sau mai multe funcţii. Dintre
acestea una este funcţia principală care are numele main. Un program
în C se lansează cu prima instrucţiune a funcţiei main.

Exemplu:

#include <stdio.h>
int main( )
{
printf(“Primul program”);
return 0;
}
Program C

Cel mai simplu program C în Code::Blocks

#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("Hello world!\n");
return 0;
}
Program C++

Cel mai simplu program C++ în Code::Blocks

#include <iostream>

using namespace std;

int main()
{
cout << "Hello world!" << endl;
return 0;
}
Citirea şi afişarea datelor
cin>>variabila1>>variabila2>>…
Se preiau de la tastatură valori pentru fiecare
C variabilă.
scanf – citire Exemplu:
printf – afişare int a,b;
cin>>a>>b;
C++
cout<<expresie1<<expresie2<<…
cin – citire
cout - afişare Se afişează valorile expresiilor.
Exemple:
cout<<a;
cout<<"a="<<a;
cout<<"Suma este "<<a+b;
cout<<a<<" + "<<b<<" = "<<a+b;
Exemplu
int main()
{
int a,b;
printf("Introduceti un numar intreg “);
cin>>a;
printf("Introduceti inca un numar intreg “);
cin>>b;
printf("Numerele sunt %d si %d\n“, a, b);
printf("Suma este %d\n“, a+b);
return 0;
}
Exemplu
int main()
{
int a,b;
cout << "Introduceti un numar intreg ";
cin>>a;
cout << "Introduceti inca un numar intreg ";
cin>>b;
cout<<"Numerele sunt "<<a<<" si "<<b<<endl;
cout<<"Suma este "<<a+b<<endl;
return 0;
}

S-ar putea să vă placă și