M3 - Programació

De wikiserver
La revisió el 16:43, 26 nov 2020 per Administrador (Discussió | contribucions) (Pràctiques)
Dreceres ràpides: navegació, cerca

UF1: Programació Estructurada

A1. L’estructura del programa informàtic
A2. La composició alternativa
A3. Disseny d’algorismes iteratius 
A4. Tractament de taules
A5. Tractament de cadenes
A6. Creació de nous tipus de dades

Nota NF1 = 0.2 Pe1 + 0.08 Pt1+ 0.08 Pt2 +  0.32 Pe2 + 0.32 Pe3

Pe1: Qüestionari
Pt1: Pràctica taules
Pt2: Pràctica nou tipus de dades
Pe2: Prova programació: estructures de control, algoritmes de cerca i de recorregut
Pe3: Prova programació: taules, cadenes i nous tipus de dades

Continguts

Variables, constants, entrada de dades i operadors

Fitxer:Shortcuts-80.pdf

Estructures de control

Estructures alternatives
  • Les estructures alternatives permeten prendre decisions sobre quin conjunt d’instruccions cal executar en un punt del programa.
  • Tota estructura alternativa es basa en l’avaluació d’una expressió que ha de donar un resultat booleà: true (cert) o false (fals). Aquesta expressió s’anomena la condició lògica de l’estructura.
  • El conjunt d’instruccions que s’executarà dependrà del resultat de la condició lògica, i actuarà com una mena d’interruptor que marca el flux que cal seguir dins del programa.
Estructures iteratives

Les estructures de repetició o iteratives permeten repetir una mateixa seqüència d’instruccions diverses vegades, mentre es compleixi una certa condició.

Anomenem bucle o cicle el conjunt d’instruccions que s’ha de repetir un cert nombre de vegades, i anomenem iteració cada execució individual del bucle.
Un bucle infinit és una seqüència d’instruccions dins d’un programa que itera indefinidament, normalment perquè s’espera que s’assoleixi una condició que mai no s’arriba a produir.
Forçosament dins de tot bucle hi ha d’haver instruccions que manipulin variables el valor de les quals permeti controlar la repetició o el final del bucle. Aquestes variables s’anomenen variables de control.

Normalment, les variables de control dins d’un bucle es poden englobar dins d’algun d’aquests tipus de comportament:

  • Comptador: una variable de tipus enter que va augmentant o disminuint, indicant de manera clara el nombre d’iteracions que caldrà fer.
  • Acumulador: una variable en què es van acumulant directament els càlculs que es volen fer, de manera que en assolir cert valor es considera que ja no cal fer més iteracions. Si bé s’assemblen als comptadors, no són ben bé el mateix.
  • Semàfor: una variable que serveix com a interruptor explícit de si cal seguir fent iteracions. Quan ja no en volem fer més, el codi simplement s’encarrega d’assignar-li el valor específic que servirà perquè la condició avaluï false.
Esquemes de tractament seqüencial

Introducció

Un esquema de programació no és altra cosa que un model de solució per a a una família de problemes de programació homòlegs. L'ús d'esquemes de programació és una eina imprescindible per al programador atès que el seu ús facilita molt la solució de problemes i rebaixa considerablement la taxa d'errors de programació.

Aquesta estratègia de treball no és única de l'àmbit de la programació sinó que també l'apliquem en altres disciplines. Per exemple, a física quan aprenem a resoldre problemes de tir parabòlic o a matemàtiques quan aprenem a calcular primitives fent integració per parts.

La metodologia general segueix aquests passos:

• Identificació del tipus de problema.
• Caracterització dels elements característics.
• Aplicació de l'esquema.

En aquest material introduïrem els esquemes seqüencials, és a dir els que s'apliquen a dades que tenen estructura de seqüència.

Seqüències

Una seqüència és un conjunt de dades de qualsevol tipus que es caracteritzen per estar disposades «en forma de fila», ja sigui des d'un punt de vista físic o conceptual. Moltes de les dades que manipula un programa tenen estructura de seqüència. Per exemple, un string com ara "Hola nois", pot ser considerat com una seqüència de caracters ('H', 'o', 'l',...) o una matriu de reals com una seqüència de files. Més formalment, una seqüència és una conjunt de dades tal que:

• És finit.
• Conté un element que és el primer de la seqüència
• Es pot definir la relació de "següent", que donat un element de la seqüència, diu quin ve a darrera.

Per exemple, el enters de 1 a 10 tenen estructura de seqüència atès que són un conjunt finit, tenen un primer ben definit (l'1) i la relació de següent consisteix a sumar una unitat a l'anterior.

Tipus de dades compostes