Limbaje de programare
Curs, anul I ETC seria B, sem. I 2012/2013  (Curs anterior)
Cadru didactic: Marius Minea, marius@cs.upt.ro
Laborator: Gabriela Bobu, Casandra Holotescu, Alexandru Iovanovici
Curs: luni 8-11, D1
Consultații: marti 14-16, B528a; joi, 16-18 B426 (la cerere)
Modul de evaluare
Situația finală a notelor după prezentările 1-3
Materiale de curs
- Introducere și recursivitate
 Note de curs: Introducere, Recursivitate
 Tema 1 (noțiuni de la cursul 1)
- Recursivitate. Citirea de caractere
 Note de curs
 radacina patrata, numere si cifre, citire de numere, fractal recursiv (triunghiul lui Sierpiński)
 Tema 2 (noțiuni de la cursul 2)
 Tema 3 (pentru laboratorul 3)
- Decizia. Atribuirea. Iterația.
 Exemple: an bisect, suma numerelor, tipărirea de numere, filtru HTML
 Note de curs: decizie, 
variabile/atribuire,
iterație
 Tema 4 (pentru laboratorul 4)
- Prelucrări iterative
 Exemple cu numarare, factori primi, numărare cuvinte (varianta 1, 2, 3, 4), cuvinte pe linie, eliminare comentarii
- Operatori pe biți. Tablouri
 Tiparirea in baza 2 si 16
 Tema 6 (pentru laboratorul 6)
- Tablouri. Șiruri de caractere. Matrice
 Exemple: suma din tablou, media elementelor ≥ 5, caută factor prim, numără apariții de caractere, caută subșir
 Tema 7 (pentru laboratorul 7)
- Funcții de intrare/ieșire
 Exemple: text cu nume si note,
extragerea de etichete XML
 Tema 8 (pentru laboratorul 8)
- Exemple: suma cifrelor in baza 16,
  micșorarea la jumătate a unei imagini,
  numărarea rândurilor dintr-un tabel HTML.
 Folii de curs: Pointeri
 Exemple: citire cu prompt, interschimbare, conversie secunde
- Pointeri (continuare). Alocare dinamică
 Exemple: suma argumentelor, sortare de tablou, citire/sortare de text
 Tema 10 (pentru laboratorul 10)
- Fișiere. Structuri
 Tema 11 (pentru laboratorul 11)
 Exemple: Afișare caracter cu caracter, numarare cuvinte, micșorarea la jumătate a unei imagini,
 numere raționale, situație studenți
 Tema 12 (pentru laboratorul 12)
- Recapitulare. Citire formatată de la intrare, și prelucrarea cu format a unei linii citite. Crearea unui tablou de referințe la structuri
Lucrări de laborator
- Introducere
- Decizie. Recursivitate
- Recursivitate. Citirea de caractere
- Prelucrări iterative
- Testul 1
- Operatori pe biți
- Tablouri și șiruri de caractere
- Funcții de intrare/ieșire
- Testul 2
- Pointeri. Alocare dinamică
- Fișiere
- Structuri
Compilatoare și medii de programare
Compilatorul gcc și o varietate de editoare, inclusiv emacs fac parte din orice distribuție Linux. Încercați de exemplu Ubuntu.
Pentru a lucra cu gcc sub Windows, puteți folosi distribuția bazată pe gcc propusă aici.
Puteți încerca Code::Blocks sau 
Dev-C++, bazate pe MinGW, sau sa lucrați sub Cygwin, 
Bibliografie
      
Materiale de referință
	  
- Standardul curent pentru limbajul de progamare C: ISO/IEC 9899:201x.
Ultima versiune disponibilă public.
 Referința cea mai autoritativă, de consultat în caz de ambiguitate.
Cărți
- Brian Kernighan, Dennis Ritchie. Limbajul C. Editura Teora, 2000.
- Valentin Cristea, Cristian Giumale, Eugenia Kalisz, Alexandru
Pănoiu. Limbajul C standard. Editura Teora, 1992
- Liviu Negrescu. Limbajul C Editura Libris, Cluj-Napoca,
1992
- Ioana Șora, Doru Todinca. Introducere în programarea
calculatoarelor. Editura Politehnica, 2003
Cursuri online
- 
C Programming. Brian Brown, Central Institute of Technology, NZ.
Conține și teste interactive.
- C Programming. Peter Burden, University of Wolverhampton, UK. Conține și exerciții.
- C Programming
Steven Summit, Experimental College, University of Washington, USA.
- 
Introduction to C Programming, University of Leicester, UK.
- C Programming.
Steve Holmes, University of Strathclyde, UK.
- C Language Tutorial. Drexel University, USA. O introducere concisă. 
marius@cs.upt.ro
Last modified: Thu Feb 14 13:20:00 EET 2013