Programació II

Programació II és la segona assignatura de programació al Grau d'Enginyeria en Informàtica. L'assignatura continua l'ensenyament del C++ començat a PRO1 introduïnt els temes següents: estructures de dades (piles, cues, llistes, diccionaris, conjunts, etc.), iteradors i punters, orientació a objectes, i una introducció a la verificació formal.

Temari

Tema 1

Classes i Orientació a Objectes

Orientació a Objectes. Tipus Abstractes de Dades. Mètodes. El paràmetre implícit. Membres privats. El constructor. Fitxers .hh i .cc. Mètodes inline. Mètodes de classe (static). template<>. Exemples.
Tema 2

Piles i Cues

La Standard Template Library (STL). stack: push, pop, top. Exemples d'ús de piles. queue: push, pop, front, back. Exemples d'ús de cues.
Tema 3

Llistes i Iteradors

list: inicialització, inserció, esborrat. Iteradors: begin, end, rbegin, rend. Recorreguts. Iteradors const i reverse. Iteracions amb esborrat i/o inserció. Exemples.
Tema 4

Conjunts i Diccionaris

La classe set: size, insert, find. La classe map<K,V>: size, insert, find. Cerques i recorreguts en conjunts i diccionaris. Comparació de cost computacional en vector, list, set i map<K,V>.
Tema 5

Recursivitat i Arbres 1

Funcions Recursives. Principi d'Inducció. Funció de mida. Hipòtesi d'Inducció. Arbres binaris. Propietats: mida, alçada, amplada. La classe BinTree: constructors, mètodes.
Tema 6

Recursivitat i Arbres 2

Immersió. Recorreguts. Arbres generals. La classe Tree: constructors, mètodes. Propietats comparades amb BinTree. Exemples.
Vacances

Examen Parcial

Tema 7

Projectes amb Classes

Exemple de projecte. Presentació de la Pràctica.
Tema 8

Punters i Implementació de Piles

Apuntadors. Memòria dinàmica. new i delete. Assignació, còpia i destrucció d'objectes. Pila amb vectors. Pila amb apuntadors.
Tema 9

Implementació de Cues i Llistes

Implementació de cues i llistes fent servir punters. Mètodes: constructor i destructor, top, empty, size, clear, push, pop. Assignació.
Tema 10

Implementació d'Arbres Binaris

Implementació de llistes fent servir punters. Mètodes: copiar i esborrar cadenes, assignació, afegir elements, concatenar.
Tema 11

Implementació d'Arbres Generals

Implementació d'arbres fent servir punters. Mètodes: constructor, assignació, plantar, fills, arrel, subst.
Vacances

Examen Final