|
Crèdit 4: fonaments de programació.
|
|
a) Durada: 240 hores.
b) Objectius terminals.
Identificar els recursos del sistema informàtic
necessaris per a la realització de programes.
Definir les estructures de dades estàtiques
i dinàmiques necessàries per a la resolució
de problemes en un llenguatge estructurat.
Dissenyar algorismes per a les operacions bàsiques
d'altes, de baixes, de consultes i de modificacions en arxius.
Utilitzar la programació estructurada i modular
per al disseny d'algorismes i l'elaboració de programes.
Codificar programes amb l'aplicació de tècniques
recursives que optimin la programació, segons la documentació
tècnica.
Especificar, en l'elaboració de programes,
les condicions d'entrada, de sortida i d'error amb el corresponent
tractament.
Desenvolupar els codis font en llenguatges de programació
estructurada i modular, a partir dels algorismes dissenyats, i
d'acord amb la sintaxi.
Obtenir els codis objecte a partir dels codis font.
Obtenir els codis executables a partir dels codis
objecte, amb la utilització de llibreries, utilitats i
altres recursos.
Comprovar que els recursos del sistema, del processador,
de la memòria i dels perifèrics permeten la integració
i l'enllaç de programes.
Depurar els mòduls de programació desenvolupats
en un llenguatge de programació estructurada i modular,
segons els criteris d'eficàcia i eficiència.
Controlar la qualitat del programa desenvolupat en
un llenguatge de programació estructurada i modular, a
partir de les especificacions establertes en el disseny i de les
prestacions esperades per l'usuari.
Verificar el funcionament de cada mòdul d'una
aplicació, les integracions i els enllaços.
Comprovar que l'accés i el tractament de les
dades estan d'acord amb les directrius de l'administrador de dades
del sistema i de les especificacions establertes en el disseny.
Comprovar que els formats d'entrada i de sortida
del programa, i la funcionalitat de les dades s'ajusten als paràmetres
definits.
Elaborar la guia d'usuari i la documentació
completa de les fases de disseny, codificació, traducció,
enllaç, depuració i verificació de programes
elaborats amb programació estructurada i modular, de manera
ordenada i clara.
Determinar les causes i la manera de resoldre les
incidències aparegudes en les fases de codificació,
traducció, enllaç i depuració de programes
en llenguatge de programació estructurada, a partir del
manual de referència.
Adaptar programes en llenguatge estructurat segons
els nous requeriments establerts en el disseny.
Determinar les implicacions que produeixen les noves
modificacions sobre les dades i els mòduls, amb l'ús
de matrius de referències creuades entre mòduls
i dades.
Comprovar l'eficiència i l'eficàcia
de les prestacions i dels rendiments del programa elaborat en
llenguatge de programació estructurada, en els processos
d'adaptació i de disseny de programes.
c) Continguts de fets, conceptes i sistemes conceptuals.
1. Programa:
Instrucció i seqüència d'instruccions.
Tipus de programes: de gestió, científics,
de disseny, d'ensenyament, simuladors.
Característiques dels programes: llegibilitat,
portabilitat, eficàcia, modularitat, estructuració.
Fases bàsiques de desenvolupament d'un programa:
anàlisi, algorismes, codificació en un llenguatge
d'alt nivell, traductors, muntadors, verificació i documentació.
Control de qualitat d'una aplicació informàtica:
factors, índex, mètriques de qualitat.
2. Estructures de dades:
Dades simples: numèriques, alfanumèriques,
lògiques, punter. Operadors: prioritats.
Dades compostes internes estàtiques: cadenes,
taules, registres.
Dades compostes internes dinàmiques: piles,
cues, llistes, arbres.
Dades compostes externes, fitxers: camps, registres,
tipus de fitxers, operacions. Tipus d'organització: seqüencial,
relativa, seqüencial-indexada. Tipus d'accés: seqüencial
i directe per valor i posició. Índex d'activitat
i volatilitat. Sistema gestor de fitxers. Independència
física de les dades.
3. Programació estructurada:
Definició i objectius.
Constants i variables.
Operacions simples: assignació, d'entrada,
de sortida.
Operacions compostes: seqüència, alternativa,
repetitiva.
Algorismes de tractament de cadenes: extracció,
concatenació.
Algorismes de tractament de taules: recorreguts total
i parcial, inserció, recerca seqüencial, ordenació,
recerca dicotòmica.
Algorismes de tractament de piles: inserció
i eliminació.
Algorismes de tractament de cues: inserció
i eliminació.
Algorismes de tractament de llistes: recorregut,
inserció, recerca i eliminació.
Algorismes de tractament d'arbres: recorreguts preordre,
inordre i postordre, recerca, inserció, eliminació.
Algorismes de tractament de fitxers: creació,
inserció, eliminació, consulta, modificació,
còpia, fusió, ordenació, reorganització
i partició.
Aplicació dels algorismes de tractament d'arbres
en la implementació de fitxers indexats.
4. Programació modular:
Definició i objectius.
Anàlisi descendent: mòduls.
Procediments i funcions.
Pas d'arguments: per valor i per referència.
5. Introducció a la programació recursiva:
Recursivitat: directa i indirecta.
6. Llenguatge C:
Característiques i versions.
Tipus de dades: organització interna, operadors.
Instruccions d'entrada i de sortida: dispositius
estàndards, impressora i fitxers.
Instruccions de control.
Funcions: pas d'arguments.
Llibreries: tipus, aplicació, accés,
creació i modificació.
Traductors, muntadors, depuradors.
7. Llenguatge C ampliat amb un gestor de fitxers:
Utilització: accés seqüencial
i directe per posició i valor.
Utilitats externes.
d) Continguts de procediments.
1. Anàlisi del problema que cal resoldre:
Recepció del problema.
Valoració dels avantatges i dels inconvenients
del seu procés manual.
Determinació de les possibilitats de tractament
informàtic.
Selecció del tractament informàtic
més adient.
Documentació de les fases anteriors.
2. Descomposició modular:
Interpretació del tractament informàtic
seleccionat en la fase d'anàlisi del problema que cal resoldre.
Exploració dels blocs diferenciats o repetitius
dins el tractament informàtic.
Elaboració dels organigrames corresponents.
Documentació de la fase.
3. Disseny d'algorismes:
Identificació de les dades d'entrada i de
sortida i dels seus canals.
Establiment d'una estratègia per determinar
la seqüència d'accions.
Determinació de la seqüència d'accions.
Representació de la seqüència
d'accions corresponents.
4. Codificació d'algorismes:
Elecció del llenguatge adient.
Selecció de l'editor existent en el sistema
informàtic.
Traducció de la seqüència d'accions
de l'algorisme.
Verificació de la sintaxi del llenguatge seleccionat.
5. Correcció d'errors de codificació:
Selecció de l'editor existent en el sistema
informàtic.
Edició del fitxer font que s'ha de corregir.
Rescriptura de les instruccions amb errors.
6. Traducció d'un mòdul de programació:
Elecció del fitxer font que s'ha de traduir.
Selecció del programa traductor.
Generació del fitxer objecte.
Execució del procediment de correcció
d'errors de codificació per als casos de no generació.
Documentació del fitxer font traduït
i dels paràmetres utilitzats.
7. Muntatge d'un programa:
Identificació dels fitxers objectes que cal
muntar.
Selecció del programa muntador.
Determinació dels paràmetres d'execució.
Generació del fitxer executable sobre els
fitxers objectes.
Execució del procediment de correcció
d'errors de codificació per als casos de no generació.
Documentació dels fitxers objectes muntats
i dels paràmetres utilitzats.
8. Verificació d'un programa:
Determinació dels resultats esperats i dels
criteris de valoració.
Selecció de la bateria de proves.
Execució del programa amb els paràmetres
corresponents.
Observació del funcionament del programa en
totes les opcions i situacions possibles.
Comparació dels resultats obtinguts amb els
esperats.
Detecció de les fases de desenvolupament de
programes on hi ha error.
Elaboració de la documentació de la
bateria de proves, execució i resultats obtinguts.
9. Desenvolupament de programes:
Anàlisi del problema que cal resoldre.
Descomposició modular.
Disseny de l'algorisme per a cada mòdul.
Codificació dels algorismes.
Traducció dels mòduls.
Muntatge del programa.
Verificació del programa.
Documentació del programa.
10. Producció de la guia d'usuari i de documents
adjunts al programa:
Identificació dels elements i dels processos
que s'han d'incloure al document o guia.
Selecció de l'estructura de la guia d'usuari.
Determinació del format, ordre i esquema de
presentació.
Obtenció de la informació, dades dels
processos, resultats de les proves i de les representacions gràfiques.
Estructuració de les dades.
Redacció del text descriptiu del programa,
dels canvis i de les proves.
Redacció de la guia d'usuari.
Revisió i edició.
11. Adaptació de programes:
Interpretació dels nous requeriments.
Identificació de les dades i dels mòduls
de programació afectats pels nous requeriments.
Reconeixement de les implicacions sobre les dades
i els mòduls.
Determinació dels canvis que s'han d'introduir.
Reajustament de les noves dades i mòduls.
Comprovació del fet que les noves dades i
mòduls no afecten l'eficàcia i eficiència
de les prestacions, ni el rendiment del programa.
e) Continguts d'actituds.
1. Execució sistemàtica del procés
de resolució de problemes:
Presa de decisions a l'hora d'integrar i muntar programes
i rutines, i d'introduir canvis als programes dissenyats amb metodologia
que actualment ja no utilitza l'empresa.
2. Execució sistemàtica de la comprovació
dels resultats:
Constància a l'hora de revisar i corregir
els errors detectats en la provatura de programes en la fase de
programació.
3. Optimació del treball:
Eficàcia per elaborar, adaptar i provar programes
en llenguatges de programació estructurats.
4. Ordre i mètode de treball:
Seqüència i ordenació de les accions
a l'hora de dissenyar els algorismes i d'efectuar canvis en els
programes.
Pulcritud i rigor a l'hora d'editar, traduir, muntar,
executar i verificar programes en llenguatges estructurats.
5. Responsabilitat en el treball:
Cura d'elaborar programes que siguin clars i llegibles.
6. Participació i cooperació en el
treball d'equip:
Col·laboració amb els altres programadors,
si fa al cas, a l'hora de dissenyar i efectuar canvis en els programes.
Interès per les opinions dels altres sobre
el programa desenvolupat.
7. Execució independent del treball:
Autosuficiència per mantenir-se informat de
les innovacions, tendències i tecnologies en llenguatges
de programació de tercera generació.
Rigor en la programació, l'adaptació
i la provatura de programes en llenguatges estructurats.
8. Confiança en si mateix:
Seguretat a l'hora de programar, adaptar i provar
programes en llenguatges de tercera generació.
9. Comunicació empàtica:
Interès pel missatge i per l'interlocutor
a l'hora de rebre el problema que cal resoldre amb tractament
informàtic, i en l'elaboració de la documentació.
10. Creativitat:
Curiositat per esbrinar els problemes que cal resoldre
mitjançant la programació estructurada.
11. Obertura a l'àmbit professional i la seva
evolució:
Interès pels avenços tecnològics
en llenguatges estructurats.
12. Adaptació a noves situacions:
Resposta a noves situacions en la utilització
de nous llenguatges estructurats.
13. Progrés i promoció dins de la professió:
Constància i esforç per aprendre la
utilització de nous llenguatges estructurats.
14. Valoració de resultats:
Argumentació del resultat obtingut amb el
programa elaborat en llenguatges estructurats.
Justificació de la decisió dels algorismes
emprats en la resolució del problema.
|