MOPT - Lògica i programacio / Pseudocodi: Continguts Pseudocodi

De wikiserver
Dreceres ràpides: navegació, cerca

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.