Está en la página 1de 22

Algoritmo.

Estructuras de programacin.

Asignatura: Informatikaren Oinarriak

ndice

Algoritmo

Qu es un algoritmo
Representacin mediante pseudocdigo
Representacin mediante Diagrama de flujo
Conceptos bsicos de programacin:

Variables , constantes
Expresiones
Instrucciones:Acciones
Estructuras de Control
Estructura secuencial
Estructura Selectiva/Condicional
Estructura Repetitiva (iteracin, bucle)

Informatika Saila Dpto. Informtica

Algoritmo
Es una secuencia de pasos lgicos ( secuenciales y ordenados ) para llevar
a cabo una tarea especfica, como es la solucin de un problema.

Diseo del algoritmo

Qu y cmo hacer
Hacerlo mal trae problemas
Si se hace bien, el programa es
mas fcil de hacer

Si el algoritmo esta mal o algo no esta muy claro puede salir cualquier cosa
El algoritmo es independiente del lenguaje de programacin

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Caractersticas de un Algoritmo

Debe ser preciso e indicar el orden de realizacin de cada


paso
Si se ejecuta un algoritmo dos veces con los mismos datos
de entrada, se debe obtener el mismo resultado cada vez

Debe tener un nmero finito de pasos


Generalmente tiene 3 partes:
Entrada = INICIO

Proceso
Salida = FIN

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Representacin de los Algoritmos

Los algoritmos se pueden expresar de muchas


maneras. Vamos a ver dos:
pseudocdigo ( pseudolenguaje)

Diagramas de flujo ( por medio de grficos )

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Pseudocdigo
Es una imitacin o simulacro de instrucciones reales
abreviadas para los ordenadores.
Es una especie de programa borrador o una forma de
plantear el proceso de forma tal que su traduccin a un
lenguaje de alto nivel sea ms sencilla para el programador.

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Diagrama de flujo

Es una representacin grfica de un proceso o algoritmo.


Para dibujar un diagrama de flujo se
usan smbolos
conectados con flechas para indicar la secuencia de
instrucciones.

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Algoritmo:Diagrama de flujo

Principio

Todos los programas tienen que tener un principio.

Proceso

Un programa puede tener mas de un proceso.

Proceso
Como ocurre con el principio, todos los
programas deben de tener un final, es decir,
debe tener un nmero finito de pasos

Final

Los elementos de un algoritmo pueden tener mas de una entrada pero solo una salida

Todos los elemento se unen con flechas


Estructura secuencial

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Las ordenes se ejecutan una detrs de otra.

Ejemplo diagrama de flujo : Tortilla de patatas

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Algoritmo: Variables, Constantes

Para guardar los datos del programa se utilizan las variables


y las constantes.
Variable:=Valor

Las variables se caracterizan por tener:


Nombre, tipo de datos y valor.

Constantes

Durante el programa no cambia su valor

El valor que tiene al principio del programa se mantiene durante este, y


como las variables se elimina al final del programa.
Pi = 3.1415927

Pi

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Pi

10

Algoritmo: Expresiones

Conjunto de elementos ( variables, contantes, operadores, funciones,


campos, ) que se pueden evaluar (proporcionan un valor como
resultado de la evaluacin).
Ejemplo:

7 + 5 : es una expresin valida y su valor es 12


7 + Hola : no es una expresin valida, no se puede evaluar
Las expresiones, en funcin del resultado de su evaluacin, puden ser
de tres tipos:
Numricos
Alfanumricos

Lgicos o booleanos

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

11

Acciones asignacin, lectura.

Asignacin: asigna un nuevo valor a una variable.


< variable > <- < expresin >

Lectura:

Leer N

Para guardar los datos del programa se


utilizan variables.

1. Cuando hacemos esta accin, el programa se queda a la


espera de un dato que le vayamos a meter desde el teclado
2. Cuando metemos el dato desde el teclado se quedara
guardado en la variable N.

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

12

Algoritmo: Acciones - Escritura

Sentencia que se utiliza para exteriorizar el resultado del


programa.
Escribir variable

Accin de exteriorizar el valor de una variable o


constante.

Escritura en la pantalla, en la impresora o en un fichero (en un


dispositivo de salida).

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

13

Estructuras de control: secuencial

Las sentencias se ejecutan una detrs de otra.


Algoritmo

Diagrama de flujo
Principio

Datos
C Grado centgrado(REAL)
K Grado Kelvin (REAL)

Algoritmo
Leer C
Convertir a grado kelvin(k=273+C)
Escribir K

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Leer ( C )

K <- C+273
Escribir(K)
Fin

14

Estructura de control: selectiva/condicional


Dependiendo de la condicin se ejecutara un grupo de ordenes u otro.

Algoritmo

si <condicin> entonces
Grupo de ordenes1

Diagrama de flujo

Si

No

Condicin

Grupo de ordenes1

Continuacin

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

15

Estructura de control: selectiva/condicional

Algoritmo

si <condicin> entonces
Grupo de ordenes1

Diagrama de flujo

Bai

Ez

Condicin

sino

Grupo de ordenes 2

Grupo de ordenes1

Grupo de ordenes2

continuacin

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

16

Estructura de control: selectiva mltiple

Diagrama de flujo

Algoritmo
segn

<expresin>
Expresin

Valor 1: Grupo de ordenes1


Valor 2: Grupo de ordenes2
Valor 3: Grupo de ordenes3
....

Grupo de
ordenes 1

Grupo de
ordenes 2

....

Grupo de
ordenes M

Valor N: Grupo de ordenes N


sino: Grupo de ordenes M

Continuacin

finsegun

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

17

Estructura de control: selectiva anidada

Algoritmo

Diagrama de flujo

1. Condicin < condicin > entonces

Condicin

2. Condicin < condicin > entonces


Grupo de ordenes 1

No

Si

Si

sino

No
Condicin

Grupo de ordenes 2
sino
Grupo de ordenes 3

Grupo de
ordenes 1

Grupo de
ordenes 2

Grupo de
ordenes 3

Continuacin

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

18

Estructura de control: repetitiva (while - mientras)


Se ejecutaran las ordenes mientras se cumpla la condicin: mnimo 0 repeticin

Antes de ejecutar la orden se evala la condicin


Algoritmo

Diagrama de flujo

Mientras <condicin> hacer

No
Condicin

Grupo de ordenes
Si
FinMientras
Grupo de ordenes

Continuacin

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

19

Estructura de control: repetitiva (do-while)


Se ejecutaran las ordenes mientras se cumpla la condicin: mnimo 1 repeticin
Se ejecutan las sentencias antes de evaluar la condicin
Algoritmo

Diagrama de flujo

Hacer
Grupo de ordenes
Grupo de ordenes

Mientras <Condicin>

Si
Condicin
No
Continuacin

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

20

Estructura de control: repetitiva (for)


Sabemos cuantas veces se repetirn las ordenes
Algoritmo

Para <Variable> = <Valor inicial> a <Valor final> Hacer


Grupo de ordenes
Fin_para

Darle un valor al contador


Mientras <Condicin> Hacer
Grupo de ordenes
Incrementar contador
Mientras final

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

21

Estructura de control: repetitiva (for)

Diagrama de flujo
No

Cont = Valor principal

Cont Final

Cont= 1, Cont Final, Cont=Cont+1

No

Si
Grupo de ordenes

Si
Grupo de ordenes
Cont:=Cont+1
Continuacin

Informatika Saila Dpto. Informtica


Oinarrizko Informatika

Continuacin

22