Sunteți pe pagina 1din 33

Escuela Politcnica Superior de Ingeniera Departamento de Ingeniera Informtica

Fundamentos de la informtica 2. Algoritmos, diagramas de flujo y pseudocdigo

Contenido
Algoritmos Diagramas de flujo Pseudocdigo
Tipos de datos Control del flujo Estructuras repetitivas Operadores aritmticos, lgicos y relacionales Arrays y vectores Funciones

Algoritmos, diagramas de flujo y pseudocdigo

Algoritmos
Algoritmos y programas Un algoritmo es un conjunto ordenado y finito de operaciones que permite hallar la solucin de un problema (Diccionario RAE) Para programar de forma eficaz es necesario aprender a resolver problemas de una forma sistemtica y rigurosa. Slo se puede llegar a realizar un buen programa si previamente se ha diseado un algoritmo Un algoritmo puede ser utilizado programas en distintos lenguajes para codificar

Algoritmos, diagramas de flujo y pseudocdigo

Algoritmos
Algoritmos y programas Los algoritmos son independientes de los lenguajes de programacin. Un lenguaje de programacin permite expresar un algoritmo para que sea ejecutado por un ordenador Un algoritmo describe los datos de entrada, el proceso y los datos de salida
1. Entrada: Datos que utiliza el algoritmo para su ejecucin 2. Proceso: Reglas y operaciones del algoritmo para resolver un problema 3. Salida: Resultados del proceso

Algoritmos, diagramas de flujo y pseudocdigo

Algoritmos
Algoritmos y programas Un algoritmo debe ser claro y preciso, debe especificar las acciones a realizar y el orden de realizacin Un algoritmo debe tener un nmero finito de pasos y, cada vez que se realice con los mismos datos de entrada, debe dar el mismo resultado

Algoritmos, diagramas de flujo y pseudocdigo

Algoritmos
Las fases de desarrollo de un programa 1. Anlisis. Consiste en entender el problema que se quiere resolver Qu debemos hacer? 2. Diseo. Plan para resolver el problema Cmo hacer? 3. Programacin. Traduccin de un algoritmo programa Java o de cualquier otro lenguaje en un

4. Validacin del programa. Evaluacin de los resultados del programa

Algoritmos, diagramas de flujo y pseudocdigo

Algoritmos
Constantes y variables Las constantes y las variables son valores almacenados en una direccin de memoria. El valor almacenado debe tener un tipo de dato: entero, decimal, carcter, etc. El nombre que se utiliza para hacer referencia a una constante o una variable se denomina identificador El valor de una constante no cambia durante la ejecucin de un programa. Por ejemplo pi = 3,1416 Las variables almacenan los datos utilizados por los programas. El valor de una variable puede cambiar durante la ejecucin de un programa

Algoritmos, diagramas de flujo y pseudocdigo

Algoritmos
Identificadores Representan las variables de un programa e identifican la direccin de memoria donde se almacena una variable El identificador de una variable debe comenzar con una letra. Despus de la primera letra pueden aparecer ms letras o nmeros Un identificador no puede tener espacios en blanco
a1 es un identificador vlido 1a no es un identificador vlido

Algoritmos, diagramas de flujo y pseudocdigo

Algoritmos
Herramientas para diseo de algoritmos Para disear un algoritmo se dispone de dos herramientas: los diagramas de flujo y el pseudocdigo Un diagrama de flujo representa grficamente un algoritmo. Muestra la secuencia de operaciones a realizar para resolver un problema. Cada smbolo de un diagrama de flujo representa una accin El pseudocdigo es un lenguaje que describe algoritmos con una sintaxis similar a un lenguaje de programacin. Normalmente se escribe en ingls o en espaol. La traduccin de pseudocdigo a un lenguaje de programacin es muy sencilla
Algoritmos, diagramas de flujo y pseudocdigo 9

Diagramas de flujo
Diagramas de flujo y procesos Un diagrama de flujo muestra las actividades y las decisiones que definen un proceso Un diagrama de flujo tiene un punto de inicio y un nmero finito de puntos de finalizacin. Puede dividirse en carriles para identificar a los responsables de realizar cada actividad Un diagrama de flujo es una herramienta til en las fases de anlisis y diseo de software

Algoritmos, diagramas de flujo y pseudocdigo

10

Diagramas de flujo
Simbologa El inicio y el final de un diagrama de flujo se representa con un rectngulo con los bordes redondeados

Los procesos se representan con rectngulos

Algoritmos, diagramas de flujo y pseudocdigo

11

Diagramas de flujo
Simbologa Los controles del flujo se representan con rombos. Dentro del rombo se indica la condicin o expresin lgica a evaluar
Actividad
1

S condicin

Actividad

No

Actividad

Algoritmos, diagramas de flujo y pseudocdigo

12

Diagramas de flujo
Simbologa Para indicar un punto de unin de dos o ms flujos se utiliza un conector

La entrada y salida de datos se representa con el smbolo

Algoritmos, diagramas de flujo y pseudocdigo

13

Diagramas de flujo
Simbologa Para indicar un punto de unin dos o ms flujos de ejecucin se utiliza el flujo se utiliza un join. El flujo no continua hasta que todos los flujos de entrada hayan finalizado

Para iniciar dos o ms flujos en paralelo se utiliza un fork

Algoritmos, diagramas de flujo y pseudocdigo

14

Diagramas de flujo
Flujo secuencial
Actividad
1

Flujo condicionado
Actividad
1

Actividad

condicin

Actividad

No

Actividad

Actividad

Actividad

Actividad

En este caso se ejecutan las actividades 1, 2, 3 y 4, de forma ordenada

En este caso se ejecuta siempre la actividad 1. Si la condicin es verdadera, entonces se ejecuta la actividad 2, en caso contrario se realiza la actividad 3. Finalmente, se ejecuta la actividad 4
15

Algoritmos, diagramas de flujo y pseudocdigo

Pseudocdigo
Se denomina pseudocdigo a un lenguaje basado en normas lxicas y gramaticales similares a las utilizadas por los lenguajes de programacin El pseudocdigo combina lenguaje coloquial con las normas gramaticales de los lenguajes de programacin Es una herramienta til en las fases de anlisis y diseo de software

Algoritmos, diagramas de flujo y pseudocdigo

16

Pseudocdigo
El pseudocdigo permite disear algoritmos utilizando frases en lenguaje comn, instrucciones de programacin y palabras clave para definir las estructuras bsicas de control Los algoritmos escritos en pseudocdigo se puede convertir fcilmente a cualquier lenguaje de programacin

Algoritmos, diagramas de flujo y pseudocdigo

17

Pseudocdigo
El pseudocdigo es una herramienta muy til 1. Facilita la comprensin y la verificacin del algoritmo a desarrollar 2. Permite representar repetitivas complejas de forma fcil operaciones

3. Facilita la traduccin a un lenguaje de programacin 4. Permite observar claramente los distintos niveles de la estructura de un programa

Algoritmos, diagramas de flujo y pseudocdigo

18

Pseudocdigo
Pseudocdigo y algoritmos 1. El algoritmo tiene un nico punto de inicio 2. El algoritmo tiene un nmero finito de posibles puntos de finalizacin 3. Es necesario que exista un nmero finito de caminos, entre el punto de inicio y los posibles puntos de finalizacin

Algoritmos, diagramas de flujo y pseudocdigo

19

Pseudocdigo
Tipos de datos Los tipos de datos bsicos utilizados en pseudocdigo son: char, int, float, boolean
char int float boolean carcter nmero entero nmero real admite un valor falso o verdadero

Las variables se declaran como se indica a continuacin:


<tipo de dato1> variable1 = valor <tipo de dato2> variable2, variable3, ... , variablen

Algoritmos, diagramas de flujo y pseudocdigo

20

Pseudocdigo
Instrucciones Conjunto de instrucciones que secuencialmente, en su orden natural se ejecutan

La ejecucin del programa comienza por la primera instruccin y continua sucesivamente con las siguientes en orden secuencial:
Instruccin1 Instruccin2 Instruccinn

Algoritmos, diagramas de flujo y pseudocdigo

21

Pseudocdigo
Control del flujo y decisiones Para tomar decisiones y controlar el flujo de un algoritmo se puede tomar una decisin simple o mltiple La decisin simple puede tomar dos caminos, en funcin de que la condicin sea verdadera o falsa La decisin mltiple puede tomar muchos caminos, no necesariamente excluyentes entre s

Algoritmos, diagramas de flujo y pseudocdigo

22

Pseudocdigo
Control del flujo y decisiones Flujo simple
if (expresin lgica) Conjunto de instrucciones1 else Conjunto de instrucciones2 end if

Algoritmos, diagramas de flujo y pseudocdigo

23

Pseudocdigo
Control del flujo y decisiones Flujo mltiple
switch (expresin lgica) <valor1>: Conjunto de instrucciones1 <valor2>: Conjunto de instrucciones2 <valor3>: Conjunto de instrucciones3 <valorn>: Conjunto de instruccionesn default: end switch Conjunto de instrucciones alternativas

Algoritmos, diagramas de flujo y pseudocdigo

24

Pseucocdigo
Estructuras iterativas Para repetir un conjunto de instrucciones un nmero determinado de veces es necesario utilizar una estructura iterativa Existen tres tipos de estructuras iterativas
for while do while

Algoritmos, diagramas de flujo y pseudocdigo

25

Pseucocdigo
Estructuras iterativas
for (inicio; expresion lgica; incremento) Conjunto de instrucciones end for while (expresin lgica) Conjunto de instrucciones end while do while (expresin lgica) Conjunto de instrucciones end do

Algoritmos, diagramas de flujo y pseudocdigo

26

Pseudocdigo
Operadores aritmticos
+ * / ^ Div Mod Sqr Sqrt suma resta producto divisin potencia divisin entera (cociente) division entera (residuo) cuadrado raz cuadrada

Algoritmos, diagramas de flujo y pseudocdigo

27

Pseudocdigo
Operadores relacionales Los operadores relacionales evalan una expresin y devuelven un valor falso o verdadero
< > <= >= <> menor que mayor que menor o igual que mayor o igual que diferente de

Algoritmos, diagramas de flujo y pseudocdigo

28

Pseudocdigo
Operadores lgicos Los operadores lgicos evalan una expresin lgica devuelven un valor falso o verdadero
AND OR NOT A AND B es verdadero si A y B son verdaderos A OR B es verdadero si A o B son verdaderos negacin del operando A, es decir, verdadero si A es falso, falso si A es verdadero

Algoritmos, diagramas de flujo y pseudocdigo

29

Pseudocdigo
Arrays y vectores Un conjunto de datos del mismo tipo se almacena en un array o tabla
<tipo de dato> nombre variable[d1, ..., dn]

En este caso, d1, ..., dn representan las dimensiones del array. Cada dimensin tiene un nmero de localidades determinadas Un array de una dimensin se denomina vector

Algoritmos, diagramas de flujo y pseudocdigo

30

Pseudocdigo
Funciones Una funcin es un conjunto de instrucciones que tienen por objeto realizar un clculo. Una funcin siempre devuelve un resultado El uso de funciones facilita la estructura y organizacin de un programa

Algoritmos, diagramas de flujo y pseudocdigo

31

Pseudocdigo
Funciones
<tipo de dato> function <nombre de la funcion> (lista de parmetros) begin Conjunto de instrucciones return (valor de la funcion) end function donde: lista de parmetros: < tipo de dato> variable1 valor de la funcin: variable | valor

Algoritmos, diagramas de flujo y pseudocdigo

32

Pseudocdigo
Funciones Existen funciones que se especifican a partir de su propia definicin. Este tipo de funciones se denominan recurrentes o recursivas Una funcin recursiva se define en trminos de s misma, siempre que exista una solucin simple conocida El factorial de un nmero es un ejemplo de una definicin recursiva
Factorial(n)=

Si n=0, entonces Factorial(0) = 1 Si n>0, entonces Factorial(n) = n * Factorial(n-1)

Algoritmos, diagramas de flujo y pseudocdigo

33

S-ar putea să vă placă și