Curs: Programarea Calculatoarelor 2
Curs, anul II C, sem. I 2003/2004
Cadru didactic: Marius Minea
marius@cs.utt.ro
Laborator: prep.ing. Anca Pop, ing. Daniel Voina
Informații despre curs
Curs: Luni, 14-17, CC (centrul de calcul)
Consultații: Marți 8-11 sau la cerere (e-mail)
Parțial: Luni 24 nov. 14-15:30.
Rezultatele
Examen: 14-15 feb. 2004. Rezultatele
Prezentarea a 3-a: Teorie: Sambata 5 iunie ora 8, A106.
Probleme: Sambata 5 iunie orele 13 si 15. Inscrieri la B531 pana joi 3 iunie. Rezultatele
Situatia finala pe semestrul I
Câteva observații despre erori frecvent
întâlnite în programe C.
Cateva probleme propuse pentru anul I
Situația la laborator
ATENTIE!!!
1 octet (byte) = 8 biți (bits) !!!
malloc(n) alocă n octeți, nu n biți !!!
NU E VOIE să scriem int *p; *p = valoare; Pointerul p nu e inițializat, deci nu conține o adresă validă la care să punem valoarea !!!
NU E VOIE să scriem char *p; scanf("%20s", p); Pointerul p nu e inițializat, deci nu conțină o adresă validă la care să se citească șirul !!!
NU E VOIE să scriem scanf("%s", sir); Utilizatorul poate introduce
oricăte caractere, depășind memoria alocată pentru șir !!!
Examen - programarea a 2-a: Rezultatele
Cateva din problemele date: adrese de IP si o
varianta, scanf, fisier ZIP
Materiale de curs
Materiale de la consultații:
- Introducere (folii 1:1 sau 1:6 pentru tiparire)
- Tipuri. Operatori. Expresii (folii 1:1 sau 1:6 pentru tiparire)
- Declaratii. Instructiuni (folii 1:1 sau 1:6 pentru tiparire)
- Functii de intrare/iesire. (folii 1:1 sau 1:6 pentru tiparire)
- Pointeri. (folii 1:1 sau 1:6 pentru tiparire)
Exemplu de program. Analiza declaratiilor in C. decl.c
- Tipuri definite de utilizator. (folii 1:1 sau 1:6 pentru tiparire)
- Fișiere. Preprocesorul C. (folii 1:1 sau 1:6 pentru tiparire)
Exemplu cu număr variabil de argumente. myprintf.c
- Tipuri de date abstracte. Recursivitate (folii 1:1 sau 1:6 pentru tiparire)
Exemple: Numere complexe polar.c polar.h polaruse.c
TDA matrice matrix.c matrix.h matr_use.c
TDA multime set_fix.h set_fix.c set_var.h set_var.c
Analiza descendent recursiva a unei expresii expr.c
- Aplicații. Alocare dinamică. Tabele de dispersie.
(folii 1:1 sau 1:6 pentru tiparire)
Analiza declaratiilor intr-un limbaj structurat pe blocuri stack.h stack.c symtab.c
- Programare dinamică (folii 1:1 sau 1:6 pentru tiparire)
Laborator
Laborator 1
Laborator 2
Laborator 3
Laborator 4
Laborator 5
Laborator 6
Laborator 7
Laborator 8
Laborator 9
Laborator 10
Laborator 11
Laborator 12
Laborator 13
Bibliografie
Materiale de referință
- Standardul curent pentru limbajul de progamare C:
ISO/IEC 9899:1999.
Ultima versiune disponibilă public.
Referința cea mai autoritativă, de consultat în caz de ambiguitate.
- Pagina de referințe de la Lysator
(societatea de calculatoare de la Universitatea din Linköping).
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ă.
Articole
Marius Minea
Last modified: Sun May 2 09:48:18 EEST 2004