Diferència entre revisions de la pàgina «M3 - Programació»
(→Exercicis seqüencials, estructura alternativa i iteratius) |
(→Exercicis taules, cadenes i nous tipus de dades) |
||
(178 revisions intermèdies per 2 usuaris que no es mostren) | |||
Línia 1: | Línia 1: | ||
==UF1: Programació Estructurada == | ==UF1: Programació Estructurada == | ||
<!-- | <!-- | ||
+ | [[ASIX-M3-UF1-Proves|BPUF1]] | ||
+ | --> | ||
+ | <pre> | ||
A1. L’estructura del programa informàtic | A1. L’estructura del programa informàtic | ||
A2. La composició alternativa | A2. La composició alternativa | ||
Línia 7: | Línia 10: | ||
A5. Tractament de cadenes | A5. Tractament de cadenes | ||
A6. Creació de nous tipus de dades | 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 | ||
+ | </pre> | ||
+ | ===Continguts=== | ||
+ | <!-- | ||
====Algoritmes / pseudocodi==== | ====Algoritmes / pseudocodi==== | ||
Línia 17: | Línia 27: | ||
:*[[M3 - Programació estructurada / Continguts UF1: Exercicis Pseudocodi |Exercicis Pseudocodi]] | :*[[M3 - Programació estructurada / Continguts UF1: Exercicis Pseudocodi |Exercicis Pseudocodi]] | ||
− | + | --> | |
− | ====Variables, constants i | + | ====Variables, constants, entrada de dades i operadors==== |
:*[[M3 - Programació estructurada / Continguts UF1: Algorismes i programes |Algorismes i programes]] | :*[[M3 - Programació estructurada / Continguts UF1: Algorismes i programes |Algorismes i programes]] | ||
Línia 31: | Línia 41: | ||
:*[[M3 - Programació estructurada / Continguts UF1: Operadors amb dades de tipus lògic |Operadors amb dades de tipus lògic]] | :*[[M3 - Programació estructurada / Continguts UF1: Operadors amb dades de tipus lògic |Operadors amb dades de tipus lògic]] | ||
+ | |||
+ | |||
+ | ====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. | ||
:*[[M3 - Programació estructurada / Continguts UF1: Estructura alternativa |Estructura alternativa]] | :*[[M3 - Programació estructurada / Continguts UF1: Estructura alternativa |Estructura alternativa]] | ||
− | ====Estructures iteratives==== | + | ===== Estructures iteratives===== |
Les estructures de repetició o iteratives permeten repetir una mateixa seqüència d’instruccions diverses vegades, mentre es compleixi una certa condició. | Les estructures de repetició o iteratives permeten repetir una mateixa seqüència d’instruccions diverses vegades, mentre es compleixi una certa condició. | ||
Línia 57: | Línia 78: | ||
:*[[M3 - Programació estructurada / Continguts UF1: La sentència do/while|La sentència do/while]] | :*[[M3 - Programació estructurada / Continguts UF1: La sentència do/while|La sentència do/while]] | ||
+ | |||
+ | ===== 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 caràcters ('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. | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Continguts UF1: Esquema de recorregut|Esquema de recorregut]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Continguts UF1: Esquema de cerca|Esquema de cerca]] | ||
+ | <!----> | ||
====Tipus de dades compostes==== | ====Tipus de dades compostes==== | ||
Línia 63: | Línia 116: | ||
:*[[M3 - Programació estructurada / Continguts UF1: Cadenes de caràcters |Cadenes de caràcters]] | :*[[M3 - Programació estructurada / Continguts UF1: Cadenes de caràcters |Cadenes de caràcters]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Continguts UF1: El tipus char |El tipus char]] | ||
:*[[M3 - Programació estructurada / Continguts UF1: Classes |Classes]] | :*[[M3 - Programació estructurada / Continguts UF1: Classes |Classes]] | ||
+ | <!----> | ||
===Activitats=== | ===Activitats=== | ||
====Exercicis seqüencials, estructura alternativa i iteratius==== | ====Exercicis seqüencials, estructura alternativa i iteratius==== | ||
− | |||
− | |||
− | |||
− | :*[[M3 - Programació estructurada / Exercicis UF1: For |Exercicis amb For]] | + | :*[[M3 - Programació estructurada / Exercicis UF1: Seqüencials |Exercicis seqüencials]] / [[M3 - Programació estructurada / Exercicis UF1: Seqüencials-Solucions| Solucions]] |
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1: Expressions lògiques|Exercicis avaluar expressions lògiques]] / [[M3 - Programació estructurada / Exercicis UF1: Expressions lògiques-Solucions| Solucions]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1: Fer expressions lògiques |Exercicis trobar expressions lògiques]] / [[M3 - Programació estructurada / Exercicis UF1: Fer expressions lògiques-Solucions| Solucions]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1: D'estructura alternativa preliminars|Exercicis d'estructura alternativa preliminars]] / [[M3 - Programació estructurada / Exercicis UF1: D'estructura alternativa preliminars-Solucions| Solucions]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1: D'estructura alternativa |Exercicis d'estructura alternativa]] / [[M3 - Programació estructurada / Exercicis UF1: D'estructura alternativa-Solucions| Solucions]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1: For |Exercicis amb For]] / [[M3 - Programació estructurada / Exercicis UF1: For-Solucions| Solucions]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1: Recorregut |Exercicis de recorregut]] / [[M3 - Programació estructurada / Exercicis UF1: Recorregut-Solucions| Solucions]] | ||
− | :*[[M3 - Programació estructurada / Exercicis UF1: | + | :*[[M3 - Programació estructurada / Exercicis UF1: Cerca |Exercicis de cerca]] / [[M3 - Programació estructurada / Exercicis UF1: Cerca-Solucions| Solucions]] |
− | :*[[M3 - Programació estructurada / Exercicis UF1: | + | :*[[M3 - Programació estructurada / Exercicis UF1: Iteratius |Més exercicis iteratius]] / [[M3 - Programació estructurada / Exercicis UF1: Iteratius-Solucions| Solucions]] |
− | + | <!----> | |
<!-- | <!-- | ||
+ | '''Proves exercicis seqüencials, estructura alternativa i iteratius 20/21''' | ||
+ | |||
:*[[M3 - Programació estructurada / Exercicis UF1: Proves |Proves]] | :*[[M3 - Programació estructurada / Exercicis UF1: Proves |Proves]] | ||
− | + | --> | |
+ | <!-- | ||
:*[[M3 - Programació estructurada / Exercicis UF1: Proves+Solucions |Proves + Solucions]] | :*[[M3 - Programació estructurada / Exercicis UF1: Proves+Solucions |Proves + Solucions]] | ||
--> | --> | ||
Línia 90: | Línia 158: | ||
:*[[M3 - Programació estructurada / Exercicis UF1: Taules |Exercicis taules]] | :*[[M3 - Programació estructurada / Exercicis UF1: Taules |Exercicis taules]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1: Taules - Problemes |Exercicis taules - Problemes]] | ||
:*[[M3 - Programació estructurada / Exercicis UF1: Taules - Pokemons |Exercici taules - Pokemons]] | :*[[M3 - Programació estructurada / Exercicis UF1: Taules - Pokemons |Exercici taules - Pokemons]] | ||
:*[[M3 - Programació estructurada / Exercicis UF1: Cadenes |Exercicis de cadenes]] | :*[[M3 - Programació estructurada / Exercicis UF1: Cadenes |Exercicis de cadenes]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1: classe Character |Exercicis de classe Character]] | ||
:*[[M3 - Programació estructurada / Exercicis UF1: Classes|Exercicis Classes]] / [[M3 - Programació estructurada / Exercicis UF1: Menú|Prototipus menú]] | :*[[M3 - Programació estructurada / Exercicis UF1: Classes|Exercicis Classes]] / [[M3 - Programació estructurada / Exercicis UF1: Menú|Prototipus menú]] | ||
+ | <!----> | ||
<!-- | <!-- | ||
+ | '''Proves exercicis taules, cadenes i nous tipus de dades 20/21''' | ||
+ | |||
:*[[M3 - Programació estructurada / Exercicis UF1: Proves_T_C_TD |Proves]] | :*[[M3 - Programació estructurada / Exercicis UF1: Proves_T_C_TD |Proves]] | ||
+ | --> | ||
+ | <!-- | ||
+ | :*[[M3 - Programació estructurada / Exercicis UF1: Proves_T_C_TD+Solucions |Proves + Solucions]] | ||
+ | --> | ||
+ | <!-- | ||
+ | ====Proves OnLine==== | ||
+ | |||
+ | - Exercicis seqüencials, estructura alternativa i iteratius | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1 Part1: Proves OnLine |Proves Online UF1 1a. Part]] | ||
+ | |||
+ | - Exercicis taules, cadenes i nous tipus de dades | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF1 Part2: Proves OnLine |Proves Online UF1 2a. Part]] | ||
+ | |||
+ | - Tota la UF1 | ||
+ | |||
+ | :*[[M3 - Programació estructurada / UF1: Proves OnLine |Proves Online UF1]] | ||
--> | --> | ||
===Pràctiques=== | ===Pràctiques=== | ||
− | :*[[M3 - Programació estructurada / Pràctiques UF1: Pt1 |Pt1 - Taules]] / [[M3 - Programació estructurada / Continguts UF1: System.out.printf |System.out.printf]] | + | :*[[M3 - Programació estructurada / Pràctiques UF1: Pt1 |Pt1 - Taules]] / [[M3 - Programació estructurada / Continguts UF1: System.out.printf |System.out.printf]] / [[M3 - Programació estructurada / Continguts UF1: Colors |Colors]] |
:*[[M3 - Programació estructurada / Pràctiques UF1: Pt2 |Pt2 - Classes]] | :*[[M3 - Programació estructurada / Pràctiques UF1: Pt2 |Pt2 - Classes]] | ||
+ | <!----> | ||
+ | <!-- | ||
====Repàs UF1==== | ====Repàs UF1==== | ||
− | + | ||
Exercicis seqüencials: 1, 4 | Exercicis seqüencials: 1, 4 | ||
Línia 140: | Línia 235: | ||
:*[[M3 - Programació estructurada / Exercicis UF2: Recursivitat |Recursivitat]] | :*[[M3 - Programació estructurada / Exercicis UF2: Recursivitat |Recursivitat]] | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF2: Exercicis repàs programació estructurada|Exercicis repàs programació estructurada]] | ||
+ | |||
===Pràctiques=== | ===Pràctiques=== | ||
Línia 149: | Línia 247: | ||
:*[[M3 - Programació estructurada / Pràctiques UF2: Pt3 |Pt3 - Recursivitat]] | :*[[M3 - Programació estructurada / Pràctiques UF2: Pt3 |Pt3 - Recursivitat]] | ||
+ | <!----> | ||
+ | <!-- | ||
+ | '''Proves disseny modular i recursivitat 2020-21''' | ||
+ | |||
+ | :*[[M3 - Programació estructurada / Exercicis UF2: Proves_DM_R |Proves]] | ||
+ | --> | ||
==UF3: Fonament de gestió de fitxers== | ==UF3: Fonament de gestió de fitxers== | ||
Línia 167: | Línia 271: | ||
:*[[M3 - Programació estructurada / Activitats UF3: Fitxers orientats a byte |Fitxers orientats a byte]] | :*[[M3 - Programació estructurada / Activitats UF3: Fitxers orientats a byte |Fitxers orientats a byte]] | ||
+ | <!----> | ||
==UF4: Programació Orientada a Objectes. Fonaments == | ==UF4: Programació Orientada a Objectes. Fonaments == | ||
Línia 173: | Línia 278: | ||
:*[[M3 - Programació Orientada a Objectes / Activitats UF4: Classes |Classes]] | :*[[M3 - Programació Orientada a Objectes / Activitats UF4: Classes |Classes]] | ||
+ | <!----> | ||
+ | <!-- | ||
+ | :*[[M2 - Bases de dades / Apunts UF3 : Exercicis OnLine paquets i triggers| Paquets i triggers ]] | ||
+ | --> |
Revisió de 18:29, 8 gen 2024
Contingut
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
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 caràcters ('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
Activitats
Exercicis seqüencials, estructura alternativa i iteratius
Exercicis taules, cadenes i nous tipus de dades
Pràctiques
UF2: Disseny modular i recursivitat
Continguts
Activitats