MOPT - Lògica i programacio / Pseudocodi: Continguts Pseudocodi
"Pseudocodi psint"
https://www.josedomingo.org/pledin/2019/05/curso-programacion-pseudocodigo/
Un algoritme és una seqüència ordenada de passos, sense ambigüitats, que permet la resolució d'un problema donat. Una de les eines més emprades per fer algoritmes és el pseudocodi.
El Pseudocodi és un llenguatge universal per comunicar-se entre programadors, consisteix en un un conjunt d'instruccions en llenguatge natural com ara català, castellà, anglès..., que permeten elaborar algoritmes utilitzant paraules i frases que es comprenguin fàcilment.
Pseudocodi
- Variables
Una variable ens permet emmagatzemar informació. Durant l'anàlisi del problema, determineu les variables que necessitarem en el nostre algorisme (les dades d'entrada i la informació de sortida).
Cada variable té un nom i en crear-les cal indicar el tipus de dades que voleu emmagatzemar.
Declaració de variables
El perfil “Estricte” ens obliga, igual que molts llenguatges de programació, a indicar explícitament les variables que utilitzarem i els seus tipus. Tot i que no cal és recomanable que les declaracions es facin al principi de l'algorisme.
Per definir una variable fem servir la següent instrucció:
Definir <var1>, <var2>, ..., <varN> com a <Tipus de dades>;
Com a tipus de dades podem posar les següents opcions:
- Tipus enter: Enter
- Tipus real: Real, Numeric o Numero
- Tipus cadena de caràcters: Caràcter, Text o Cadena
- Tipus lògic: Lògic
Per exemple:
Definir numero1, numero2 com a Enter; Definir superfície, perímetre com a Real; Definir nom com a Caràcter; Definir major_edat com a Lògic;
- Assignació de variables
Un cop definida una variable, podem assignar-li un valor amb l'operador d'assignació (<- o :=). La dada que es desa en una variable pot estar expressada per un literal, guardada en una altra variable o calculada després d'operar una expressió. Per exemple:
- var1 <- 7;
- var2 <- var1;
- var3 <- var1 + var2;
Hem de tenir en compte el següent:
- No es pot assignar un valor a una variable que no hagi estat definida abans.
- No es pot fer servir una variable sense inicialitzar.
- Amb cada assignació es perd el valor anteriorment desat a la variable.
Les assignacions següents produeixen error:
- Una variable real (amb part decimal) si assigneu una variable sencera.
- Una cadena de caràcters variable si s'assigna a una variable numèrica.
- Una variable numèrica si s'assigna a una cadena de caràcters variable.
- Una assignació duna variable lògica a qualsevol altra variable dun altre tipus, i al contrari.
Increment i decrement de variable
En incrementar o decrementar una variable numèrica li modifiquem el valor sumant o restant un nombre.
Per exemple, per incrementar una variable en 1:
numero1 <- numero1 + 1
I per decrementar seria una cosa semblant:
numero1 <- numero1 - 1
- Lectura
Dades que es necessiten per poder fer l'algoritme.
Llegir <variable1>, <variable2>, ..., <variableN>;
Exemple:
Definir variable com a enter; Llegir variable;
- Estructura
Són les instruccions: processos, càlculs, comparacions, etc., que hem de fer per trobar la solució.
- Escriptura
Per mostrar informació per pantalla utilitzem la instrucció Escriure:
Escriure <dada1>, <dada2>, ..., <dadaN>;
Les dades que mostrem poden ser literals, variables o expressions.
També podem utilitzar la instrucció Escriure Sense Saltar perquè no s'introdueixi una nova línia per a cada dades mostrada.
Exemple:
Escriure "El valor de la variable és", variable;
- Operadors emprats amb pseudocodi:
+ Suma - Resta * Multiplicació / Divisió ^ Potència MOD Resta de la divisió sencera SQRT Arrel quadrada ABS Valor absolut TRUNC Part sencera RANDOM Nombre aletatori
- Instrucció condicional
SI <expressió condicional> LLAVORS Instruccions (expressió certa) FSI S'empra quan s'han de realitzar unes instruccions només si una condició és certa. SI <condició> LLAVORS Instruccions (condició certa) ALTRAMENT Instruccions (condició falsa) FSI S'empra quan s'han de realitzar unes instruccions o unes altres en funció si la condició certa o és falsa.
Per fer les condicions es poden utilitzar els següents operadors de comparació:
> Major < Menor >= Major o igual <= Menor o igual != Diferent = Igual
- Operadors lògics
El valor retornat per una operació lògica és un valor lògic:
- & ó Y: Conjunció, operació AND.
- ó O: Disjunció, operació OR.
- ~ o NO: Negació, operació NOT.
- Condicions múltiples
SEGONS (expressió / valor) FER CAS valor 1 Instruccions CAS valor 2 Instruccions CAS valor 3 Instruccions ... CAS valor N Instruccions ALTRAMENT Instruccions FSEGONS
El bloc SEGONS permet simplificar varis SI's niuats.
- Processos repetitius
Són aquells en que una serie d'instruccions es repeteixin de forma cíclica un número finit de vegades.
Quan és coneix o es pot determinar el nombre de repeticions s'utilitza el bloc PER:
PER varComptador=valorInicial FINS valorFinal PAS n FER Instruccions FPER
Quan ni és coneix ni es pot determinar el nombre de repeticions s'utilitza el bloc MENTRE:
MENTRE condició FER Instruccions FMENTRE
- Cal tenir en compte que tot el que es pot fer amb el bloc PER es pot fer amb un bloc MENTRE però no a l'inrevés.