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:
  1. Introducere (folii 1:1 sau 1:6 pentru tiparire)
  2. Tipuri. Operatori. Expresii (folii 1:1 sau 1:6 pentru tiparire)
  3. Declaratii. Instructiuni (folii 1:1 sau 1:6 pentru tiparire)
  4. Functii de intrare/iesire. (folii 1:1 sau 1:6 pentru tiparire)
  5. Pointeri. (folii 1:1 sau 1:6 pentru tiparire)
    Exemplu de program. Analiza declaratiilor in C. decl.c
  6. Tipuri definite de utilizator. (folii 1:1 sau 1:6 pentru tiparire)
  7. Fișiere. Preprocesorul C. (folii 1:1 sau 1:6 pentru tiparire)
    Exemplu cu număr variabil de argumente. myprintf.c
  8. 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
  9. 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
  10. 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ță

Cursuri online

Articole


Marius Minea
Last modified: Sun May 2 09:48:18 EEST 2004