PRO2

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.

Calendari

Tema 1
Classes
Orientació a Objectes. Tipus Abstractes de Dades. Especificació de Classes. El paràmetre implícit. Tipus de mètodes. Mètodes de vector<T>.
Tema 2
Estructures de Dades Lineals
stack<T>. queue<T>. list<T>. Iteradors. Recorreguts amb iteradors. Mètodes de list<T>.
Tema 3
Diccionaris i Conjunts
La classe map<K,V>. La classe set<K>. Iteradors.
Tema 4
Verificació Formal I
Correctesa d'un programa. Demostracions de correctesa. Correctesa d'iteracions. L'invariant: concepte i ús. Invariants gràfics. Disseny inductiu.
Tema 5
Arbres Binaris
Disseny recursiu. Arbres binaris. Especificació de la classe BinTree. Mida, alçada i cerca en un arbre. Recorreguts: pre-ordre, in-ordre, post-ordre. Recorregut en amplada.
Tema 6
Verificació Formal II
Principi d'Inducció. Funció de mida. Hipòtesi d'Inducció. Funció d'Immersió. Eliminació de Càlculs Repetits.
Exàmen
Examen Parcial
Tema 7
Implementació de Classes
Disseny modular. Diagrames. Fitxers .hh i .cc. Atributs. Membres privats. Invariant de la representació. Ampliacions de TADs. Presentació de la Pràctica.
Tema 8
Punters
Memòria dinàmica. Apuntadors. Operadors. new i delete. Vectors d'apuntadors. Assignació, còpia i destrucció d'objectes.
Tema 9
Implementació de Piles i Cues
Implementació de piles i cues fent servir punters. Mètodes: constructor i destructor, top, empty, size, clear, push, pop. Assignació.
Tema 10
Implementació de Llistes
Implementació de llistes fent servir punters. Punt d'interès. Mètodes: copiar i esborrar cadenes, assignació, afegir elements, concatenar.
Tema 11
Implementació d'Arbres
Implementació d'arbres fent servir punters. Mètodes: constructor, assignació, plantar, fills, arrel, subst.
Vacances
Nadal
Exàmen
Examen Final