Algoritmia II
Algoritmia II
Algoritmia II
En el primer paso en el proceso de solucin a un problema se debe determinar de manera clara y concisa la siguiente informacin: 1.Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos informacin total o parcial til en la bsqueda de los objetos desconocidos. 2.Las condiciones, aquellas relaciones establecidas entre los objetos conocidos y los desconocidos. Para esto se deben encontrar entre otras, la dependencia entre los valores de los objetos desconocidos de los valores de los objetos conocidos y que restricciones le impone al planteamiento del problema a dichos objetos.
EL DIALOGO
Ejemplo: sean los puntos P=( a , b ) y Q=( c , d ) que definen una recta, encontrar un segmento de recta perpendicular a la anterior que pase por el punto medio de los puntos dados.
Un segmento de la recta. Los puntos P y Q. El segmento de la recta debe pasar por el punto medio entre P y Q, y debe ser perpendicular a la recta trazada entre P y Q.
ESPECIFICACIONES
Despus de entender totalmente el problema a resolver (lo cual se consigue con la etapa del dilogo), se debe realizar una especificacin del algoritmo que permita encontrar su solucin. Un algoritmo que no est claramente especificado puede ser
interpretado de diferentes maneras y al disearlo se puede terminar con un algoritmo que no sirve para solucionar el problema.
ESPECIFICACIONES
La especificacin de un algoritmo clara y precisa de: se hace mediante una descripcin 1.Las entradas que el algoritmo recibir. 2.Las salidas que el algoritmo proporcionar. 3.La dependencia que mantendrn las salidas obtenidas con las entradas recibidas. Pasos para la especificacin de algoritmos
Especificar entradas Especificar salidas Especificar condiciones las entradas corresponden a los objetos conocidos. las entradas corresponden a los objetos desconocidos. se especifican claramente como dependen las entradas de las salidas.
DIVISIN
En el que a partir de la especificacin del algoritmo se divide el proceso (algoritmo en abstracto) llegar al nivel de instruccin. en varios subprocesos hasta
Durante el proceso de divisin se determina la estructura de control adecuada, ya sea, secuencia, seleccin, repeticin, asignacin, lectura o escritura, que se puede asociar con cada subproceso obtenido. Tanto los pasos intermedios de subdivisin como el resultado final pueden ser representados por un diagrama de flujo o pseudocdigo.
ABSTRACCIN
Es en el que se revisa que porciones del algoritmo se repiten o son muy utilizadas y con las cuales se construyen funciones y procedimientos. Identificar que secuencias de pasos se utilizan mas de una vez en diferentes partes del proceso.
CODIFICACIN
Cuando ya se ha diseado completamente el algoritmo y se tiene escrito en algn esquema de representacin (pseudocdigo o diagrama de flujo), el siguiente paso es codificarlo en el lenguaje de programacin definido para tal fin. En este momento es cuando el programador interacta con el computador mediante la herramienta de software que disponga para codificar en el lenguaje seleccionado.
PRUEBA Y VERIFICACIN
La prueba de escritorio es una herramienta til para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificacin sin necesidad de ejecutarlo.
PRESENTACIN
Detallan la solucin, el proceso que siguieron para lograrla, sus caractersticas tcnicas (especificaciones, rendimiento, etc.) y justifican las ventajas que presenta. El mtodo presentado no se sigue en forma lineal, sino que entre las etapas hay retroalimentacin que permite ir y venir entre cada una de ellas.
Diseo del Algoritmo: se debe elaborar una algoritmo que refleje paso a paso la resolucin del problema.
VARIABLES Y CONSTANTES
Son espacios de memoria creados para contener valores que de acuerdo a su naturaleza deseen mantenerse (Constantes) o que puedan variar (Variables). Constante Es un dato que permanece con un valor, sin cambios, es decir constante, a lo largo del desarrollo del algoritmo o a lo largo de la ejecucin del programa. Este se utiliza cuando necesitamos que el valor de determinada variable se mantenga durante la ejecucin del programa o hasta tanto se requiera su cambio.
VARIABLES Y CONSTANTES
Variable Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo o en el transcurso de la ejecucin del programa. Una variable descrita o declarada de un tipo determinado, slo podr
VARIABLES Y CONSTANTES
Las variables y constantes tienen bsicamente, dos atributos:
Nombre
VARIABLES Y CONSTANTES
Ejemplo de nombres de variables: NOMBRE, EDAD, TOTAL, SUELDO, NACIONALIDAD Ejemplo de nombres para constantes: ISR=16.5, AOFISCAL=2005, PAIS=VENEZUELA, PI = 3,1416
VARIABLES Y CONSTANTES
Tipo Es la naturaleza del dato: alfabticos o caracteres; numricos: enteros o reales; alfanumricos y Lgicos.
Siguiendo el ejemplo, se determina la naturaleza de las variables arriba mencionadas. NOMBRE CHARACTER (30) EDAD ALFANUMERICO SUELDO NUMERICO REAL NACIONALIDAD LGICO
ESTRUCTURAS DE CONTROL
UTILIZADAS EN EL DISEO DE INSTRUCCIONES En la elaboracin de algoritmos nos vamos a encontrar con
ESTRUCTURAS DE CONTROL
Secuenciales: cuando se requiere que una instruccin siga despus de otra. Seleccin o decisin: se utiliza cuando se requiere tomar decisiones lgicas, la ejecucin de las instrucciones depender de que se cumplan o no, una o varias condiciones. Repeticin o Iteracin: se utiliza cuando un proceso debe repetirse un nmero determinado o no de veces, una vez se haya establecido cierta condicin para finalizar el proceso de repeticin. Asimismo dentro de las estructuras bsicas existen acciones o procesos a los cuales son sometidos los datos, entre ellos, tenemos: a. Asignacin b. Condicionado (a travs de las expresiones lgicas) c. Alternativas (estructura condicional) d. Iterativas e. De entrada y salida
ESTRUCTURAS DE CONTROL
Estructuras Secuenciales.
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROL
Decisiones en Secuencia
Se utiliza cuando se deben realizar preguntas sin que se tome en cuenta lo contrario a la condicin, es decir las dems condiciones no son importantes para el objetivo de la decisin.
ESTRUCTURAS DE CONTROL
La estructura secuencial es til para aquellos procesos en los que se requiere que se cumplan con estricto orden un nmero determinado de instrucciones, siempre y cuando se cumpla la anterior, por lo general, la primera decisin corresponde al aspecto ms determinante o general. En el caso de las postuladas la ms general o determinante debera ser, la nacionalidad, si la participante es venezolana, entra a la primera seleccin, de lo contrario, no entra al
concurso.
Si la instruccin se disea slo para evaluar la condicin de verdadero cuando se cumpla que el empleado es fijo, se estara realizando el clculo slo para el personal fijo, si se requiere realizar el clculo incluyendo a los aprendices se debe utilizar la estructura doble.
El uso y significado de los operadores lgicos Y (And), 0 (Or), No (Not) los describiremos a travs de tablas de la verdad:
Tabla de verdad de Y (And)
Valor de X
Falso Falso Verdadero Verdadero
Valor de X
Falso Verdadero Falso Verdadero
X And Y
Falso Falso Falso Verdadero
Valor de X
Falso Verdadero Falso Verdadero
X OR Y
Falso Verdadero Verdadero Verdadero
NOT X
Verdadero Falso
La unidad aritmtica y lgica, uno de los componentes de una computadora, se encarga del manejo de las operaciones aritmticas y a la porcin lgica de la computadora le corresponde procesar la capacidad de tomar decisiones. La estructura de construccin algortmica if-then-else (si-entonces-de lo contrario) permitir la seleccin de acciones alternativas permitiendo realizar procesos lgicos.
iteracin, es una de las veces en las cuales se efectan todas las instrucciones contenidas en el ciclo.
Se pueden dar en tres condiciones: a) Estructura cclica independiente, es cuando los bucles se realizan uno primero hasta que se cumple la condicin, y slo una vez que cumple con el primer ciclo, entra al siguiente o a instrucciones de finalizacin.
b) Los ciclos anidados son aquellos en los que al entrar a una estructura de
Son estructuras diseadas para que repitan una secuencia de instrucciones un nmero determinado de veces, tambin son llamadas bucles o lazos. El nmero de veces que realiza el proceso se denomina iteraciones, e iteracin al hecho de repetir la ejecucin de una secuencia. Entre las estructuras repetitivas se encuentran:
Repeat
Repetir
For
Para
Esta estructura es muy til cuando dada una condicin, se requiere asegurar se realice un conjunto de instrucciones.
Wend
Fin Mientras
La estructura repetitiva Mientras se realizar si y slo si se cumple la condicin evaluada, de lo contrario el programa no entra en el ciclo, y continua en la siguiente instruccin fuera del bucle. La condicin evaluada debe programarse efectivamente fuera del ciclo, si se requiere realizar el bloque de instrucciones y luego cambiar su condicin dentro del bucle, cuando sea necesario finalizar el proceso, de lo contrario se estara programando un ciclo infinito.
La diferencia entre la estructura repetitiva Mientras y la estructura Repeat es que la estructura Mientras termina cuando la condicin se hace falsa, por el contrario la estructura Repeat finaliza cuando la condicin es verdadera. La estructura Mientras puede ser que no se ejecute, pero la estructura Repeat se realiza al menos una vez.
EJERCICIOS
1. Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y C respectivamente. El algoritmo debe imprimir cual es el mayor y cual es el menor. Recuerde constatar que los tres valores introducidos por el teclado sean valores distintos. Presente un mensaje de alerta en caso de que se detecte la introduccin de valores iguales.
2. Desarrolle un algoritmo que permita leer un valor entero positivo N y determinar si es primo o no.
3. Desarrolle un algoritmo que permita convertir calificaciones numricas, segn la siguiente tabla: A = 19 y 20, B =16, 17 y 18, C = 13, 14 y 15, D = 10, 11 y 12, E = 1 hasta el 9. Se asume que la nota est comprendida entre 1 y 20.