Está en la página 1de 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 2


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 para codificar


programas en distintos lenguajes

Algoritmos, diagramas de flujo y pseudocdigo 3


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 4


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 5


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 en un


programa Java o de cualquier otro lenguaje

4. Validacin del programa. Evaluacin de los resultados del


programa

Algoritmos, diagramas de flujo y pseudocdigo 6


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 7


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 8


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 2

No

Actividad 3

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 Flujo condicionado

Actividad Actividad 1
1

S
Actividad 2 condicin Actividad 2

No

Actividad 3
Actividad 3

Actividad 4 Actividad 4

En este caso se ejecutan las En este caso se ejecuta siempre la actividad 1.


actividades 1, 2, 3 y 4, de forma Si la condicin es verdadera, entonces se
ordenada ejecuta la actividad 2, en caso contrario se
realiza la actividad 3. Finalmente, se ejecuta la
actividad 4

Algoritmos, diagramas de flujo y pseudocdigo 15


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 de forma fcil operaciones


repetitivas complejas

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 carcter
int nmero entero
float nmero real
boolean 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 se ejecutan


secuencialmente, en su orden natural

 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: Conjunto de instrucciones alternativas


end switch

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

+ suma
- resta
* producto
/ divisin
^ potencia
Div divisin entera (cociente)
Mod division entera (residuo)
Sqr cuadrado
Sqrt 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 A AND B es verdadero si A y B son verdaderos


OR A OR B es verdadero si A o B son verdaderos
NOT 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

Si n=0, entonces Factorial(0) = 1


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

Algoritmos, diagramas de flujo y pseudocdigo 33

También podría gustarte