1. 1
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 1
CONSTRUCCION DE
ALGORITMOS
Programación Básica
Análisis de Sistemas
Abril 2009.
2. 2
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 2
ALGORITMO
• Secuencia de pasos que resuelve un determinado problema.
• Programa: Algoritmo escrito en
(Lenguaje de programación)
Técnicas para Construir Algoritmos:
• Diagramas de Flujo
• Pseudocódigo
4. 4
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 4
SIMBOLOGIA D. FLUJO
Proceso o Actividad
Conector
Entradas o Salidas
Repetición o Iteración Inicio o Fin
Condición
5. 5
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 5
ELEMENTOS DE ALGORITMOS
1.1. VariablesVariables
• Almacenan un determinado dato en memoria.
• Posee un nombre que la identifica, el cual debe comenzar con una
letra y no debe contener espacios en blanco ni caracteres.
• Puede variar su valor en el transcurso del algoritmo.
• Debe tener un tipo de dato definido, en relación al valor que
almacena, que no puede modificarse en la secuencia del
algoritmo.
6. 6
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 6
TIPOS DE DATOS VARIABLES
Tipo de Dato Definición Ejemplos
ENTERO Almacena valores
numéricos enteros
4, 7, -8, 24, 76,
876
REAL Almacena valores
numéricos reales
5, 7, 5.8, 4.9,
-4,...
CARACTER Almacena sólo un valor
alfanumérico
a , b, c, *, $, ...
CADENA Almacena un con-junto
alfanumérico
casa, auto, perro,
estre&&$, ...
BOOLEAN Almacena un valor u otro. FALSO
VERDADERO
7. 7
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 7
DETERMINAR VARIABLES
• Ejemplo
Problema: Determinar y mostrar en pantalla la suma de dos números
ingresados desde teclado.
¿Qué datos necesita el problema para su solución?
• Variable para almacenar el primer número ingresado por teclado.
• Variable para almacenar el segundo número ingresado por teclado.
• Variable para almacenar la suma.
Nombre identificador Tipo de dato Qué almacena
numero1 ENTERO Primer número
numero2 ENTERO Segundo número
suma ENTERO Suma dos numeros
8. 8
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 8
VARIABLES
• Representación en Pseudocódigo
ALGORITMO SUMA
INICIO
ENTERO numero1, numero2
REAL suma
...
...
• Sintaxis definición de Variables
<TIPO DE DATO> <nombre variable>
• Ejemplo:
ENTERO numero
9. 9
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 9
ELEMENTOS ALGORITMOS
2. Entradas y Salidas2. Entradas y Salidas
Las entradas y salidas se obtienen de la definición del problema.
• Entradas : ¿qué datos se necesitan para resolver el problema?
Son los datos que el algoritmo requiere antes de realizar las
actividades que resuelven el problema.
• Salidas: ¿qué información debe entregar la solución del problema?
Son los datos que el algoritmo entregará como resultado de las
actividades realizadas.
10. 10
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 10
ELEMENTOS ALGORITMOS
22. Entradas y Salidas. Entradas y Salidas
• Ejemplo
Problema: Determinar y mostrar en pantalla la suma de dos números
ingresados desde teclado.
Entradas Salidas
Primer número de tipo entero.
Segundo número de tipo entero.
Suma de dos números enteros.
11. 11
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 11
ENTRADAS Y SALIDAS
• Representación en Diagrama de
Flujo
• Representación en Pseudocódigo
ALGORITMO SUMA
INICIO
/*Definición de variables*/
ENTERO numero1
ENTERO numero2
ENTERO suma
/*Entradas*/
LEER numero1
LEER numero2
...
/*Salidas*/
MOSTRAR suma
FIN
• Sintaxis de entradas
LEERLEER <nombre variable><nombre variable>
• Sintaxis de salidas
MOSTRARMOSTRAR <nombre variable><nombre variable>
12. 12
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 12
ENTRADAS Y SALIDAS
• En los algoritmos las entradas se expresan a través de la palabra clave LEER.
• Las entradas son datos que se obtienen generalmente desde teclado y su valor debe
almacenarse en memoria, es decir en variables, por lo tanto, la instrucción LEER siempre
va acompañada de una variable.
• Ejemplo:
• Las salidas se expresan con la palabra clave MOSTRAR.
• Las salidas son datos que están almacenados en memoria y se mostrarán en pantalla, por lo
tanto generalmente MOSTRAR va acompañada de un variable. También puede acompañarse
de texto.
• Ejemplos:
MOSTRAR suma
Significa que el valor mostrado en pantalla, será
el valor que en ese instante posee la variable
suma.
MOSTRAR “Hola mundo”
Significa que en pantalla se mostrara el texto
“Hola mundo”.
LEER numero1
Significa que el valor ingresado por teclado quedará almacenado en la variable
numero1
13. 13
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 13
ELEMENTOS DE ALGORITMOS
3. Instrucciones de asignación3. Instrucciones de asignación
Son instrucciones que asignan o entregan a una variable a través del
símbolo “=“. Los contenidos a entregar son los siguientes:
• El resultado de una expresión matemática, la cual puede contener uno o
varios operadores matemáticos del tipo: +, - , * , / , DIV, MOD.
• El contenido de otra variable.
• El resultado de una función.
14. 14
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 14
ASIGNACIONES
• Ejemplos:
mayor = num1
doble = numero * 2
resultado = 3 * x + 5
suma = numero1 + numero2
Operadores Matemáticos
+ Suma
- Resta
* Multiplicación
/ División
% Resto
• El resultado de la expresión debe ser del mismo tipo de dato que
nombre_variable. Ej. NO se puede asignar la palabra “Hola” a una
variable de nombre numero, definida como tipo ENTERO.
• Instrucción incorrecta : numero = “HOLA”
Porque no son del mismo tipo de dato.
15. 15
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 15
ASIGNACIONES
• Representación en Diagrama de
Flujo
• Representación en Pseudocódigo
ALGORITMO SUMA
INICIO
/*Definición de variables*/
ENTERO numero1, numero2
ENTERO suma
/*Entradas*/
LEER numero1
LEER numero2
/*Obtener suma*/
suma=numero1+numero2
/*Salidas*/
MOSTRAR suma
FIN
• Sintaxis de entradas
<nombre variable><nombre variable> = <expresión>
16. 16
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 16
ELEMENTOS ALGORITMOS
4 . Instrucciones condicionales4 . Instrucciones condicionales
• Las instrucciones condicionales evalúan una pregunta. Si la condición se
cumple, realiza una alternativa de instrucciones, sino, realiza la otra
alternativa de instrucciones.
• La condición que evalúa el algoritmo, se construye con uno de los
siguientes operadores condicionales:
Operadores Condicionales
> Mayor a
< Menor a
== Igual a
!= Distinto a
>= Mayor o igual a
<= Menor o igual a
17. 17
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 17
CONDICIONES
• Ejemplos:
(numero > 2)
(nombre == “Juan”)
(numero1 <= numero2)
(numero2 != numero1)
• La evaluación puede tener una o varias condiciones, las cuales se agrupan a través
de operadores lógicos del tipo: AND o Y, OR u O.
• Ejemplos:
(numero>0) Y (numero<10)
(num1>num2) Y (num2<10)
(nombre=”Juan”) O ( nombre=”Pedro”)
(letra=”a”) O (letra=”A”)
18. 18
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 18
REPRESENTACION
• Representación en Diagrama de
Flujo
• Representación en
Pseudocódigo
ALGORITMO SUMA
INICIO
/*Definición de variables*/
ENTERO numero1,numero2
/*Entradas*/
LEER numero1
LEER numero2
/*Obtener suma*/
SI (numero1>numero2)
MOSTRAR numero1
SINO
MOSTRAR numero2
FIN
19. 19
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 19
ELEMENTOS ALGORITMOS
5.5. Instrucciones de RepeticiónInstrucciones de Repetición
• Las instrucciones de Repetición permiten realizar varias veces una serie
de instrucciones.
• Las instrucciones de Repetición, a diferencia de las condicionales, se
pueden plantear distintas formas, según el problema a resolver:
– Repetir la serie de instrucciones un número FIJO de veces, por lo tanto, es
necesario especificar la cantidad de veces.
– Repetir la serie de instrucciones un número VARIABLE de veces, lo que
también puede realizarse de dos forma:
• Comenzar la serie de instrucciones y LUEGO evaluar una condición.
• Preguntar PRIMERO si se cumple una condición y luego comenzar la serie de
repeticiones.
20. 20
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 20
REPETICIONES O ITERACIONES
1. Repetir las instrucciones una cantidad FIJA de veces.
• Este tipo de instrucciones necesita definir una variable que controle el ciclo de
repeticiones. Debe especificar
• En qué valor comienza la variable.
• En qué valor finalizará la variable.
• Cuanto será su incremento en cada repetición.
Ejemplo: Imprimir en pantalla los primeros 100 números
enteros.
Variable : Entero i
Comienzo : i=1
Fin : i<N
Incremento : i++
21. 21
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 21
REPETICIONES O ITERACIONES
• Representación en Diagrama de
Flujo
ALGORITMO IMPRIMIR
INICIO
/*Definición de variables*/
ENTERO i
/*Mostrar números*/
PARA (i=1, i<=100, i++)
INICIO
MOSTRAR i
FIN
FIN
• Representación en
Pseudocódigo
22. 22
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 22
REPRESENTACION
EXPLICACION DIAGRAMA Y PSEUDOCODIGO
• La instrucción MOSTRAR i, se repetirá 100 veces, ya que está dentro del
símbolo (en diagrama de flujo) o palabras (en Pseudocódigo) relacionadas a
repeticiones. Para esto, se especifica lo siguiente:
– La variable de nombre i, controlará las repeticiones.
– La variable i comenzará el ciclo de repeticiones con el valor 1.
– Las repeticiones finalizarán cuando la variable i alcance el valor 100.
– En cada repetición la variable i incrementará su valor en 1
– La instrucción a repetir es MOSTRAR i
23. 23
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 23
REPETICIONES
2. Repetir las instrucciones un número VARIABLE de veces
Instrucciones y luego la Condición.
• Este tipo de instrucciones necesita especificar primero una serie de instrucciones, y
luego, una condición que permita controlar el ciclo de repeticiones. Mientras la
condición se cumpla, las instrucciones se repetirán. Si la condición no se cumple se
terminará el ciclo de repeticiones
• Ejemplo: Leer números desde teclado mientras el valor de éstos sea menor a cero.
24. 24
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 24
REPETICIONES
ALGORITMO LEER
INICIO
/*Definición de variables*/
ENTERO numero
HACER
INICIO
/*Leer números*/
LEER numero
FIN
MIENTRAS (numero<0)
FIN
• Representación en Diagrama de
Flujo
• Representación en
Pseudocódigo
25. 25
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 25
REPETICIONES
EXPLICACION DIAGRAMA Y PSEUDOCODIGO
• La instrucción LEER numero, se repetirá mientras el valor leído sea
menor a cero, ya que está dentro del símbolo(en diagrama de flujo) o
palabras (en Pseudocódigo) relacionadas a repeticiones. Entonces:
– Primero ejecuta la instrucción LEER numero.
– Verifica si se cumple la condición (numero <0)
– Si la condición se cumple, repite la instrucción LEER numero.
– Si la condición no se cumple, finalizará las repeticiones, asegurando que el
valor almacenado en la variable numero será igual o superior a cero.
26. 26
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 26
REPETICIONES
2. Repetir las instrucciones un número VARIABLE de veces
Condición y luego Instrucciones.
• Este tipo de instrucciones necesita especificar primero una condición
que controle el ciclo de repeticiones y luego la serie de instrucciones a
repetir. Mientras la condición se cumpla, las instrucciones continuarán
repitiéndose.
• Ejemplo: Leer un número y comenzar una suma, mientras esa suma
sea menor a 10, sumar 2 a la suma.
27. 27
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 27
REPETICIONES
• Representación en Diagrama de
Flujo
• Representación en
Pseudocódigo
ALGORITMO SUMAR
INICIO
/*Definición de variables*/
ENTERO numero, suma
/*Leer número*/
LEER numero
/*Iniciar suma*/
suma=0
MIENTRAS (suma<10)
INICIO
/*Sumar 2 a suma*/
suma=suma+2
FIN
/*Mostrar suma*/
MOSTRAR suma
FIN
28. 28
Programación Básica 2009
Construcción de Algoritmos
Natalia Voitmann Rocha 28
REPETICIONES
EXPLICACION DIAGRAMA Y PSEUDOCODIGO
• La instrucción suma=suma+2, se repetirá mientras la suma sea menor a 0,
valor leído sea menor a cero, ya que está dentro del símbolo (en diagrama de
flujo) o palabras (en Pseudocódigo) relacionadas a repeticiones. Entonces:
– Primero se lee el valor de numero y se asigna ese valor a la variable suma.
– Luego evalua o Verifica si se cumple la condición que suma sea menor a 10 (suma
<10)
– Si la condición se cumple, agrega 2 a la variable suma, es decir, repite la instrucción
suma=suma+2.
– Si la condición no se cumple, finalizará las repeticiones, mostrando en pantalla el
valor de la variable suma a través de la instrucción IMPRIMIR suma.