MANUAL DE ALGORITMOS UNIANDES Javier Reyes Leonardo Giler
Contenido MANUAL DE ALGORTIMOS.............................................................................. 2 ¿Qué es un algoritmo? ....................................................................................... 2 EJEMPLO........................................................................................................... 2 LAVARSE LOS DIENTES DESPUÉS DE COMER ............................................ 2 EJEMPLO:.......................................................................................................... 2 CAMBIANDO UN FOCO .................................................................................... 2 Características de un algoritmo: ......................................................................... 3 ¿Tipos de algoritmos? ........................................................................................ 3 Tipos de Datos ................................................................................................... 3 Datos simples ..................................................................................................... 4 Datos numéricos ............................................................................................. 4 Datos lógicos .................................................................................................. 4 Datos alfanuméricos ....................................................................................... 4 Variables, constantes y expresiones .................................................................. 4 Variables: ........................................................................................................ 4 Constante:....................................................................................................... 5 Expresiones: ................................................................................................... 5 Operadores Fundamentales ............................................................................... 5 DIAGRAMA DE FLUJO ...................................................................................... 6 EJEMPLO:.......................................................................................................... 7 Sacar el promedio de un estudiante tomando en cuenta que se obtiene 3 notas. ........................................................................................................................... 7 PSEUDOCODIGO.............................................................................................. 7 ¿QUE ES EL CICLO PARA?.............................................................................. 8 ¿QUE ES EL CICLO MIENTRAS? ..................................................................... 9
1
MANUAL DE ALGORTIMOS ¿Qué es un algoritmo? Los algoritmos permiten describir claramente una serie de instrucciones que debe realizar el computador para lograr un resultado previsible.
En resumen, un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que llevan a la solución de un determinado problema.
EJEMPLO LAVARSE LOS DIENTES DESPUÉS DE COMER 1. Tomar la crema dental 2. Destapar la crema dental 3. Tomar el cepillo de dientes 4. Aplicar crema dental al cepillo 5. Tapar la crema dental 6. Abrir la llave del lavamanos 7. Remojar el cepillo con la crema dental 8. Cerrar la llave del lavamanos 9. Frotar los dientes con el cepillo 10. Abrir la llave del lavamanos 11. Enjuagarse la boca 12. Enjuagar el cepillo 13. Cerrar la llave del lavamanos 14. Secarse la cara y las manos con una toalla
EJEMPLO: CAMBIANDO UN FOCO 1. Ubicar una escalera o un banco debajo de la bombilla fundida 2. Tomar una bombilla nueva 2
3. Subir por la escalera o al banco 4. Girar la bombilla fundida hacia la izquierda hasta soltarla 5. Enroscar la bombilla nueva hacia la derecha en el plafón 6. hasta apretarla 7. Bajar de la escalera o del banco 8. Fin
Características de un algoritmo: 1. Entrada: definir lo que necesita el algoritmo 2. Salida: definir lo que produce. 3. No ambiguo: explícito, siempre sabe qué comando ejecutar. 4. Finito: El algoritmo termina en un número finito de pasos. 5. Correcto: Hace lo que se supone que debe hacer. La solución es correcta. 6. Efectividad: Cada instrucción se completa en tiempo finito. Cada instrucción debe ser lo suficientemente básica como para que en principio pueda ser ejecutada por cualquier persona usando papel y lápiz. 7. General: Debe ser lo suficientemente general como para contemplar todos los casos de entrada. Así podemos, decir que un Algoritmo es un conjunto finito de instrucciones precisas para resolver un problema.
¿Tipos de algoritmos? Cualitativos: son aquellos que describen los algoritmos por medio de palabras. Cuantitativos: es el tipo de algoritmos que se define los pasos del proceso por medio de los cálculos numéricos.
Tipos de Datos Todo tipo de carácter en un diagrama de flujo es dato bien puede ser una simple letra como una “C” o bien un número como el “12” existen varios tipos de datos entre ellos están los datos simples.
3
Datos simples Datos numéricos Estos datos son todo tipo de número enteros como el 35 o números del 1 al 1000” hasta los números reales, con estos datos se pueden realizar todo tipo de operaciones aritméticas.
Datos lógicos Con los siguientes datos se puede obtener solo 2 tipos de valores que son verdaderos o falsos (0 y 1), estos datos representan la comparación de datos.
Datos alfanuméricos Se representan con 2 tipos de datos los numéricos y los tipos string (letras), pero con los numéricos pierden su capacidad matemática por lo cual no se realizan operaciones aritméticas y estos se representan por el numero entre comillas.
Variables, constantes y expresiones Variables: Es un espacio en la memoria de la computadora que almacena temporalmente un dato en el momento que está en ejecución el programa, para colocar una variable es necesario un nombre bien puede ser una letra o una palabra siguiendo del signo igual y lo que se desea guardar en la variable ejemplo: Perímetro= 4*l Variables por contenido: • • •
La variables numéricas son aquellas que componen números del 0 al 9 signos (+ y -) y el punto decimal. Las variables lógicas son del tipo verdadero o falso que representan una comparativa de 2 datos. Las alfanuméricos son donde componer letras y números ejemplo: A=”9 elefantes”
Variables por su uso • • •
Variables de trabajo son donde se guardan operación aritméticas Variables contadoras son las que llevan la contabilidad de uno en uno, usualmente se los usa para llevar el control de una cantidad. Variables acumuladoras estas variables tienden a sumar acumulativamente una serie de valores que se van leyendo o bien acumulando progresivamente.
4
Constante: Es un dato de tipo numérico que no cambia en el momento de la ejecución del programa ejemplo: Pi=3.1416
Expresiones: Las expresiones son combinaciones de todos tipos de datos, variables operadores lógicos, paréntesis mediante una operación aritméticas ejemplo: A+b(3*2)>2
Operadores Fundamentales Operadores aritméticos son los siguientes: SUMA
+
RESTA
-
MULTIPLICACION DIVISION
*
/
EJEMPLOS: SUMA:
23+52=75
RESTA:
12-2=10
MULTIPLICACION: 2*3=6 DIVISION:
10/5=5
ESTRUCTURAS DE CONTROL DE FLUJO Los programas que se pueden realizar utilizando solamente variables y operadores son una simple sucesión de instrucciones básicas para poder llegar a la solución de un problema. IF (se lee “si”) condición THEN (se lee “entonces”) sentencia o grupo de sentencias ELSE (se lee caso “contrario”) sentencia o grupo de sentencia END IF (se lee “final del si”). Ejemplo: Inicio Promedio de notas Ingreso 5
a If a>5 then “pasa de año” Else “pierde el año” End if
DIAGRAMA DE FLUJO Los diagramas de flujo, como su nombre lo indica, son gráficas que representan la dirección que sigue la información que contiene un algoritmo; los datos se encierran en diferentes figuras, estas se llaman figuras lógicas. Existen cinco figuras lógicas únicas utilizadas en el diagrama de flujo: Inicio, Proceso, Pregunta, Ciclo y Fin. Indica que es el inicio o final del diagrama de flujo.
Es en donde se ingresa los datos o variables.
Se realizan todo tipo de operación aritmética.
Presentación o salida del proceso.
Conector o representación de la continuidad del D.F.
Toma de decisiones o comparable de datos, variables.
Salida del proceso por medio de impresora.
6
EJEMPLO: Sacar el promedio de un estudiante tomando en cuenta que se obtiene 3 notas.
Inicio
n1, n2, n3
Suma = n1+n2+n3
Promedio= suma/3
Promedio
Fin PSEUDOCODIGO En pseudocódigo se describen los algoritmos utilizando una mezcla de lenguaje común, con instrucciones de programación, palabras claves, etc. El objetivo es que el programador se centre en la solución lógica del algoritmo y no en la implementación en un lenguaje de programación concreto, o en otras palabras, sólo ayudan a "pensar" un programa antes de escribirlo en un lenguaje de programación formal. Ejemplo: Seudocódigo de un algoritmo de una promedio con 3 notas. INICIO 7
Leer (n1, n2, n3) Suma = n1 + n2 + n3 Promedio = suma /3 Escribir (promedio) FIN
¿QUE ES EL CICLO PARA? El ciclo para permite la ejecución repetida de un conjunto de acciones. El número de veces que el bloque es ejecutado está determinado por los valores que puede tomar una variable contadora (de tipo entero). Variable=num1
La mayoría de las variables en el ciclo para son “x”, ”y” o “z”, pero eso es a opinión del programador, en num1 se coloca el numero con el cual comienza el ciclo y este va de acuerdo con num3 que es el número que indica con cuantos saltos de 1 en 1 o de 2 en 2 dará hasta num2 que es el número del final del ciclo
, num2, num3
Ejemplo: Incio a For x= 1 to 10; 1 m=a*x (imprimir) , m Next
8
¿QUE ES EL CICLO MIENTRAS? En esta sentencia el número de veces que se han de repetir algunas instrucciones no se conoce por anticipado y el interior de la sentencia se repite MIENTRAS se cumple una determinada condición. Por esta razón, esta sentencia se denomina Ciclo o sentencia Condicional.
El ciclo mientras o while es una ciclo de repetición, en el diagrama de flujo se usa de la manera siguiente en el primer cuadro se coloca una condición de manera que si se cumple el ciclo dejara de repetirse pero si no repetirá hasta que se cumpla el ciclo.
Ejemplo Inicio a while a=0 then “ingrese un numero diferente a cero” a End while “usted ingreso 0 gracias, el programa ha finalizado”
9