Documente Academic
Documente Profesional
Documente Cultură
TEMARIO
1. Conceptos bsicos
1.1. Introduccin 1.2. Definicin de lenguaje, algoritmo y lenguajes algortmicos 1.3. Metodologa para la solucin de problemas por medio de computadoras. 1.4. Entidades primitivas para el diseo de instrucciones. 1.5. Tcnicas para la formulacin de algoritmos.
TEMARIO
2. Estructuras algortmicas secuenciales
2.1. Asignacin 2.2. Entrada 2.3. Salida 2.4. Solucin de problemas
TEMARIO
4. Estructuras algortmicas repetitivas
4.1. Mientras hacer 4.2. Hacer mientras 4.3. Hacer para 4.4. Solucin de problemas
1. Conceptos bsicos
INTRODUCCIN La escritura de un programa de computadora consiste normalmente en implementar un mtodo de resolucin de un problema, que se ha diseado previamente. Con frecuencia este mtodo es independiente de la computadora utilizada: es igualmente vlido para muchas de ellas. En cualquier caso es el mtodo, no el programa, el que debe estudiarse para comprender cmo est siendo abordado el problema.
1. Conceptos bsicos
El objetivo del diseo estructurado de algoritmos es obtener la estructura modular y los detalles de proceso de un algoritmo. No se trata solamente de desarrollar un programa que funcione, sino que tambin sea fcil de mantener, que mejore su reutilizacin y se pueda probar y entender fcilmente.
Un algoritmo es un conjunto ordenado y finito de pasos usados en la solucin de un problema o realizacin de una tarea.
CURIOSIDAD:
El trmino algoritmo es muy anterior a la era informtica: proviene de Mohammed al-Khowrizm (apellido que se tradujo al latn empleando la palabra algoritmus), matemtico persa del siglo IX que enunci paso a paso las reglas para sumar, restar, multiplicar y dividir nmeros decimales.
Caractersticas de un algoritmo
Precisin Definitud o determinismo Finitud Si se sigue el algoritmo dos o ms El algoritmo debe El algoritmo debe veces con los mismos terminar en algn indicar el orden datos de entrada, se momento y debe exacto de ejecucin deben obtener los usar una cantidad de de cada tarea. mismos datos de recursos finita. salida.
Algoritmos Cotidianos
Se refiere a todos aqullos algoritmos que nos ayudan a resolver problemas diarios, y que los hacemos casi sin darnos cuenta de que estamos siguiendo una metodologa para resolverlos.
Es aqul que describe en espaol, para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utilizan trminos especializados de una determinada ciencia, profesin o grupo.
Es aqul que se vale de diversos smbolos para representar las ideas o acciones a desarrollar. Es til para organizar las acciones o pasos de un algoritmo pero requiere de etapas posteriores para implementarse en un sistema de cmputo.
Es aqul que se utiliza para introducir en la computadora un algoritmo especfico. Se les conoce tambin como Lenguaje de Programacin.
1. 2. 3. 4. 5. 6. 7.
Definicin de Problema Anlisis de los Datos Diseo de la Solucin Codificacin Prueba y Depuracin Documentacin Mantenimiento
Diseo de la solucin
Una computadora no tiene capacidad para solucionar problemas ms que cuando se le proporcionan los sucesivos pasos a realizar, esto se refiere a la obtencin de un algoritmo que resuelva adecuadamente el problema. En caso de obtenerse varios algoritmos, seleccionar uno de ellos utilizando criterios ya conocidos.
Esta etapa incluye la descripcin del algoritmo resultante en un lenguaje natural, de diagrama de flujo o natural de programacin. Como puede verse, solo se establece la metodologa para alcanzar la solucin en forma conceptual, es decir ; sin alcanzar la implementacin en el sistema de cmputo.
Codificacin
Se refiere a la obtencin de un programa definitivo que pueda ser comprensible para la mquina. Incluye una etapa que se reconoce como compilacin. Si la codificacin original se realiz en papel, previo a la compilacin deber existir un paso conocido como transcripcin.
Prueba y depuracin
Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a fin de determinar si resuelve o no el problema planteado en forma satisfactoria. Las pruebas que se le aplican son de diversa ndole y generalmente dependen del tipo de problema que se est resolviendo. Comnmente se inicia la prueba de un programa introduciendo datos vlidos, invlidos e incongruentes y observando como reacciona en cada ocasin. El proceso de depuracin consiste en localizar los errores y corregirlos en caso de que estos existan. Si no existen errores, puede entenderse la depuracin como una etapa de refinamiento en la que se ajustan detalles para optimizar el desempeo del programa.
Documentacin
Debido a que el programa resultante en esta etapa se encuentra totalmente depurado (sin errores), se procede a la utilizacin para resolver problemas del tipo que dio origen a su diseo. En vista de que esta utilizacin no podr ser supervisada en todas las ocasiones por el programador, debe crearse un manual o gua de operacin que indique los pasos a seguir para utilizar el programa.
Mantenimiento
Se refiere a las actualizaciones que deban aplicarse al programa cuando las circunstancias as lo requieran. Este programa deber ser susceptible de ser modificado para adecuarlo a nuevas condiciones de operacin.
Tipos de Datos
Un dato se define como la expresin general que describe los objetos con los cuales opera una computadora. Los datos de entrada se transforman por el programa, despus de las etapas intermedias, en datos de salida.
Tipos de Datos
Los datos se clasifican en diversas categoras, segn el tipo de mquina o del lenguaje en uso. Generalmente podemos encontrar las siguientes categoras :
Datos numricos
Son aqullos que representan una cantidad o valor determinado.
Su representacin se lleva a cabo en los formatos ya conocidos (enteros, punto y fracciones decimales si estas existen).
Tipo Real
Booleano
Falso Verdadero
Se utiliza para representar las alternativas (si/no) a determinadas condiciones. Por ejemplo, cuando se pide si un valor entero sea primo, la respuesta ser verdadera o falsa, segn sea.
Ejemplo 2: una fecha es un dato compuesto por tres datos simples (da, mes, ao).
Fecha: da...: 30 mes...: 11 ao...: 2006
Constantes y variables
Una Constante es aqulla que no cambia de valor durante la ejecucin de un programa (o comprobacin de un algoritmo en este caso). Se representa en la forma descrita para cada categora. Las Variables son aqullas que pueden modificar su valor durante la ejecucin de un programa (idem). Su representacin se da a travs de letras y smbolos generalmente numricos a los que se
Operadores y Operandos
OPERADORES
Un operador es el smbolo que determina el tipo de operacin o relacin que habr de establecerse entre los operandos para alcanzar un resultado.
Operadores y Operandos
Los operadores se clasifican en tres grupos: Aritmticos Relacionales Lgicos
Operadores Aritmticos
Son aqullos que permiten la realizacin de clculos aritmticos. Utilizan operandos numricos y proporcionan resultados numricos.
Operador
+ * / Div Mod ^ Operacin Suma Resta Multiplicaci n Divisin real Divisin entera Residuo Exponenciaci n
Operadores Relacionales
Permiten realizar comparaciones de valores de tipo numrico o carcter. Estos operadores sirven para expresar las condiciones en los algoritmos. Proporcionan resultados lgicos.
Operador < > Significado Menor que Mayor que
=
<=
Igual que
Menor o igual que Mayor o igual que Diferente de
>=
<>
Operadores Lgicos
Son aqullos que permiten la combinacin de condiciones para formar una sola expresin lgica. Utilizan operandos lgicos y proporcionan resultados lgicos tambin.
Oper ador
not and
Relacin
Negacin (No) Conjuncin (Y)
or
xor
Disyuncin (O)
Disyuncin Exclusiva (O/SOLO)
Asignacin
Una instruccin de asignacin (o simplemente asignacin) consiste en asignar el resultado de la evaluacin de una expresin a una variable. Ejemplo 1: Dadas las declaraciones
PI = 3.141592
real area, longitud, radio = 5.78
Entrada
Una instruccin de entrada (o simplemente entrada) consiste en asignar a una o ms variables, uno o ms valores (datos) recibidos desde el exterior. Normalmente, los datos son recogidos desde la entrada estndar (el teclado), pero, tambin existen otros dispositivos de entrada (el ratn, el escner,...).
Entrada
leer( <nombre_de_la_variable_1>, <nombre_de_la_variable_2 >, ..., <nombre_de_la_variable_n >)
Salida
Una instruccin de salida (o simplemente salida) consiste en llevar hacia el exterior los valores (datos) obtenidos de la evaluacin de una lista de expresiones. Normalmente, los datos son enviados a la salida estndar (la pantalla), pero, tambin existen otros dispositivos de salida (la impresora, el plotter,...).
Salida
escribir( <expresin_1>, ..., <expresin_n> ) escribir( <lista_de_expresiones> )
Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de operadores, parntesis y nombres de funciones especiales. Las mismas ideas son utilizadas en notacin matemtica tradicional ; por ejemplo :
a + b ( b+2) Aqu los parntesis indican el orden de clculo.
REFERENCIAS
CASTILLO, Vctor. Lenguajes algortmicos. Recuperado el 10 de Julio de 2011 de http://docente.ucol.mx/abolio/tareas/Lenguaje.pdf INSTITUTO TECNOLOGICO DE LA PAZ. Tutorial de diseo estructruturado de algoritmos, recuperado el 10 de Julio de 2011 de http://sistemas.itlp.edu.mx/tutoriales/algoritmos/ RODRGUEZ, Sala Jess. (2003). Introduccin a la programacin: teora y prctica. Recuperado el 10 de Julio de 2011 de http://books.google.com.mx/books?id=nLMJsInMyBwC&pg=PA38&dq=introduccion+ al+dise%C3%B1o+estructurado+de+algoritmos&hl=es&ei=llMaToORKoLUtQOG_cz DDQ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCgQ6AEwAA#v=onepage &q&f=false UNIVERSIDAD NACIONAL DE COLOMBIA, Diseo estructurado de algoritmos, recuperado el 10 de Julio de 2011 de http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo1/cap_02/leccion_1. htm