Page 1

S.E.P.

D.G.E.S.T.

D.I.T.D.

INSTITUTO TECNOLÓGICO SUPERIOR DE LIBRES Organismo Público Descentralizado del Gobierno del Estado de Puebla

Fundamentos de Programación

INGENIERÍA EN SISTEMAS COMPUTACIONALES

TEMA: ALGORITMOS

PRESENTA: RODRIGO ARRIAGA HERNANDEZ

LIBRES, PUEBLA, DICIEMBRE DE 2013

Algoritmo En programación, los algoritmos se implementan en forma de sentencias en algún lenguaje de programación. De esta manera, la forma de escribir los algoritmos depende del lenguaje de


programación, y del paradigma usado. Estos son los algoritmos que pueden ser interpretados por una computadora y así ser ejecutados. Los diagramas de flujo sirven para representar algoritmos de manera gráfica. En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi1 ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.


· Paso 1 Comprender qué es lo que se nos está pidiendo. En este caso, el enunciado del ejercicio es: "Diseñe el algoritmo de un programa que: 1º) Pida por teclado un número (dato entero). 2º) Muestre por pantalla los mensajes: * Ha introducido <cantidad_de_números> número(s) * La suma es <suma> 3º) Pregunte al usuario si desea introducir otro o no. 4º) Repita los pasos 1º, 2º y 3º, mientras que, el usuario no responda 'n' de (no). 5º) Muestre por pantalla la media aritmética (dato real) de los números introducidos.


EJEMPLO: Introduzca un número entero: 3 Ha introducido 1 número(s) La suma es 3 ¿Desea introducir otro (s/n)?: s Introduzca un número entero: 7 Ha introducido 2 número(s) La suma es 10 ¿Desea introducir otro (s/n)?: s Introduzca un número entero: 6 Ha introducido 3 número(s) La suma es 16 ¿Desea introducir otro (s/n)?: s Introduzca un número entero: 13 Ha introducido 4 número(s) La suma es 29 ¿Desea introducir otro (s/n)?: n La media aritmética es 7.25 Introduzca un número entero: 8 Ha introducido 1 número(s) La suma es 8 ¿Desea introducir otro (s/n)?: n La media aritmética es 8.000000

· Paso 2 Escribir la estructura básica del algoritmo en pseudocódigo: Algoritmo Media_aritmetica_de_numeros_introducidos inicio ... fin Obsérvese que, ya podemos nombrar al algoritmo mediante un identificador, en este caso, podemos escribir: Media_aritmetica_de_numeros_introducidos En ordinograma, comenzaremos escribiendo el inicio y fin del cuerpo:


Paso 3 Según se nos indica en el primer punto del ejercicio, el algoritmo debe: 1º) Pedir por teclado un número (dato entero). Mostrándose por pantalla: Introduzca un número entero: <número> Por consiguiente, en el algoritmo hay que escribir una instrucción de salida y otra de entrada. En pseudocódigo: Ejemplo: algoritmoMedia_aritmetica_de_numeros_introducidos inicio escribir( "Introduzca un número entero: " ) leer( numero ) ... Fin

Paso 4 A continuación, en el segundo punto del ejercicio se nos indica que: 2º) El programa debe mostrar por pantalla los mensajes:


* Ha introducido <cantidad_de_números> número(s) * La suma es <suma> De modo que, incorporamos dos nuevas instrucciones de salida al algoritmo, en las que vamos a mostrar el valor de una variable contador para mostrar la cantidad de números introducidos por el usuario y, por otra parte, el valor de una variable acumulador, para mostrar la suma de dichos números. En pseudocódigo: algoritmoMedia_aritmetica_de_numeros_introducidos variables entero numero inicio escribir( "Introduzca un número entero: " ) leer( numero ) ... escribir( "Ha introducido ", contador, " número(s)" ) escribir( "La suma es ", acumulador ) ... Fin

Pero, ¿qué valores tienen las variables contador y acumulador? Inicialmente, almacenarán un cero (0) cada una de ellas y, después de leer un número, habrá que incrementar el valor de contador en uno (1) y sumar el valor de dicho número a acumulador.


algoritmoMedia_aritmetica_de_numeros_introducidos variables entero acumulador, contador, numero inicio acumulador ← 0 contador ← 0 escribir( "Introduzca un número entero: " ) leer( numero ) acumulador ← acumulador + numero contador ← contador + 1 escribir( "Ha introducido ", contador, " número(s)" ) escribir( "La suma es ", acumulador ) ... Fin


· Paso 6 Teniendo en cuenta el cuarto punto del ejercicio: 4º) Repetir los pasos 1º, 2º y 3º, mientras que, el usuario no responda 'n' de (no). es necesario hacer uso de una instrucción de control repetitiva que, como se especifica en la "Nota" del ejercicio, será un bucle hacer...mientras. En cualquier caso, también podríamos habernos hecho las preguntas del apartado ¿Cuándo usar un bucle u otro? del Curso de Diseño de Algoritmos: * ¿Se conoce, de antemano, el número de veces (iteraciones) que tiene que ejecutarse un determinado bloque de instrucciones? No, por tanto, descartamos el bucle "para". * ¿El bloque de instrucciones debe ejecutarse al menos una vez? Sí, de forma que, optamos por hacer uso de un bucle "hacer...mientras".


En pseudocódigo: algoritmoMedia_aritmetica_de_numeros_introducidos variables caracter seguir entero acumulador, contador, numero inicio acumulador ← 0 contador ← 0 hacer escribir( "Introduzca un número entero: " ) leer( numero ) acumulador ← acumulador + numero contador ← contador + 1 escribir( "Ha introducido ", contador, " número(s)" ) escribir( "La suma es ", acumulador ) escribir( "¿Desea introducir otro número (s/n)?: " ) leer( seguir ) mientras ( seguir <> 'n' ) ... fin


Paso 7 Y, finalmente, para el quinto punto: 5º) Mostrar por pantalla la media aritmética (dato real) de los números introducidos. añadimos una última instrucción. En pseudocódigo: algoritmoMedia_aritmetica_de_numeros_introducidos variables caracter seguir entero acumulador, contador, numero


inicio acumulador ← 0 contador ← 0 hacer escribir( "Introduzca un número entero: " ) leer( numero ) acumulador ← acumulador + numero contador ← contador + 1 escribir( "Ha introducido ", contador, " número(s)" ) escribir( "La suma es ", acumulador ) escribir( "¿Desea introducir otro número (s/n)?: " ) leer( seguir ) mientras ( seguir <> 'n' ) escribir( "La media aritmética es ", acumulador / contador ) fin


En conclusión diría que el algoritmo es de carácter general y puede aplicarse a cualquier operación matemática o a cualquier problema, también la formulación de algoritmos fue uno de los más grandes adelantos dentro de la ciencia matemática ya que a partir de ellos se pudieron resolver infinidad de problemas.

Referencias http://es.wikipedia.org/wiki/Algoritmo www.scribd.com/.../PASOS-A-SEGUIR-PARA-DESARROLLAR-UNALGORITMO http://www.carlospes.com/articulos/003_como_se_disena_un_algoritmo.ph p

Rodrigoo algoritmo  
Read more
Read more
Similar to
Popular now
Just for you