MOPT - Lògica i programacio / Pseudocodi: Continguts Pseudocodi
Pseudocodi psint
https://www.josedomingo.org/pledin/2019/05/curso-programacion-pseudocodigo/
Pseudocódigo: Introducción
Estructura del algoritmo
Tipos de datos simples
Variables
Operadores y expresiones
Asignación de variables
Entrada y salida de información
4 exercicis seqüèncials
Pseudocódigo:
Estructura alternativa: Si
Estructura alternativa: Segun
4 exercicis estructura alternativa
Pseudocódigo:
Estructura repetitivas: Para
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.