Anda di halaman 1dari 10

UNIVERSIDAD ALEJANDRO DE HUMBOLDT CURSO: PRE INGRESO SECCIN N2PREII NOCTURNO

ALGORITMO ANLISIS DE PROBLEMAS

ALUMNOS: CATAMO, NELSON DIAZ, EDDY GONZALEZ, FILIBERTO MEDINA, DALIA PROFESOR:

CARACAS, JULIO, 2010

ALGORITMO Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien lo ejecute. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solucin; Son el objeto de estudio de la algoritmia. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrn. Algunos ejemplos en matemticas son el algoritmo de la divisin para calcular el cociente de dos nmeros, el algoritmo de Euclides para obtener el mximo comn divisor de dos enteros positivos, o el mtodo de Gauss para resolver un sistema lineal de ecuaciones. Un algoritmo describe la transformacin de una entrada en la salida La entrada se refiere a algo que existe y es utilizado por el algoritmo para transformarlo en los resultados que uno planifica.

CARACTERISTICAS PRINCIPALES Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Ser definido: Sin ambigedad, cada paso del algoritmo debe indicar la accin a realizar sin criterios de interpretacin. Ser finito: Un nmero especfico y numerable de pasos debe componer al algoritmo, el cual deber finalizar al completarlos.

Tener cero o ms entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.

Tener una o ms salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como nicamente verlos en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programacin que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.

Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada ms ni nada menos que aquello que se requiera para y en su ejecucin. FASES PARA RESOLVER UN PROBLEMA COMPUTABLE

Diseo de programas Anlisis Diseo (descendente)

Anlisis del problema Diseo del algoritmo Verificacin manual del algoritmo En la computadora

Codificacin del algoritmo Ejecucin del programa Verificacin del programa Mantenimiento (documentacin)

Codificacin Ejecucin Prueba Mantenimiento

ANLISIS DEL PROBLEMA Es el primer paso a seguir para encontrar la solucin aun problema computable es el anlisis del problema. En el anlisis del problema se requiere del mximo de creatividad e imaginacin. Debido a que se busca una solucin se debe examinar cuidadosamente el problema a fin de identificar que tipo de informacin es necesaria producir. En seguida se deben identificar aquellos elementos de informacin ofrecidos por el problema y que resulten tiles para obtener la solucin al problema. Finalmente, un procedimiento para producir los resultados deseados a partir de los datos, es decir, el algoritmo.

ANLISIS DE PROBLEMAS

Definir y entender el Problema

Identificar los datos de entrada

Identificar los datos de salida, es decir los resultados

ELEMENTOS QUE CONFORMAN UN ALGORITMO Entrada. Los datos iniciales que posee el algoritmo antes de ejecutarse. Proceso. Acciones que lleva a cabo el algoritmo. Salida. Datos que obtiene finalmente el algoritmo.

ELEMENTOS BSICOS DE UN PROGRAMA Un programa es similar a un algoritmo: la gran diferencia es que los pasos que permiten resolver el problema deben escribirse en un determinado lenguaje de programacin para que el ordenador pueda ejecutarlos y encontrar as la solucin. Qu es la sintaxis de un lenguaje?: Conjunto de reglas que tenemos que seguir a la hora de escribir un programa en ese lenguaje tal que si no seguimos esas reglas de sintaxis el compilador da errores. Elementos del lenguaje de programacin: Palabras reservadas: Son un conjunto de palabras especiales que nos sirven para definir la estructura del programa, y solo se pueden usar para el fin para el que estn reservadas. Identificadores: Son los nombres que aparecen en el programa dados por el usuario. Son por tanto los nombres de variables, de constantes, de subprogramas y nombres de tipos creados por el usuario. Caracteres especiales: Sirven como separadores entre sentencias, por ejemplo el ;. Instrucciones: De 3 tipos, secuenciales, repetitivas y selectivas, y pueden aparecer elementos especiales (bucles, contadores, interruptores y acumuladores).

Bucle: Un conjunto de instrucciones que se repiten un nmero

finito de veces. Lleva asociado aparte de las instrucciones una condicin que es la que determina cuando se termina un bucle. Ejecucin de un bucle (iteracin). Los bucles se pueden anidar unos dentro de otros, y puede haber varios bucles al mismo nivel, pero nunca se entrelazan.

Contador: Un elemento cuyo valor se incrementa o decrementa

en un valor constante en cada iteracin de un bucle, y se utiliza para controlar la condicin del bucle.

Acumulador: Es una variable que tambin se suele usar en los

bucles y que se incrementa o decrementa en cada iteracin del bucle, pero no en una cantidad constante.

Interruptor (marca, bandera o flag): Es una variable que sirve

como indicador de una determinada informacin y que solo puede tomar uno de dos valores. El valor de la variable tiene asociado un signo y puede variar a lo largo de la ejecucin. INSTRUCCIONES Instrucciones Simples Instrucciones declarativas: Son instrucciones que se utilizan para declarar los objetos que se van a usar en el programa, estos objetos son los datos con los que trabajaremos en el programa y que estarn almacenados en una determinada zona de memoria. Instrucciones de entrada y salida: Las instrucciones de salida se utilizan para presentar, en pantalla o impresora, comentarios, mensajes al usuario, contenidos de las variables, resultados de una expresin. Las instrucciones de entrada se utilizan para tomar datos del exterior y guardarlos en variables. Una instruccin de entrada detiene la ejecucin del programa y espera a que el usuario introduzca un dato por teclado. El valor tecleado se introduce en la variable que se indique en la instruccin y contina la ejecucin del programa. Una instruccin de entrada suele estar precedida por una de salida, para que en sta le indiquemos al usuario la informacin que queremos que introduzca. Instrucciones de asignacin: Este tipo de instrucciones se utilizan para asignar valores a las variables dentro de un programa, teniendo en cuenta

que si la variable ya contena un valor, ste ser destituido por el valor nuevo que se le asigne. Instrucciones de control: Este tipo de instrucciones modifican el flujo de control secuencial que sigue un programa. Son de varios tipos, y las veremos en el tema siguiente. Instrucciones Compuestas: Estas instrucciones estn formadas por un conjunto de instrucciones simples que desarrolladas en un lugar apartado del resto y agrupadas bajo un nombre son llamadas desde cualquier punto del programa. Una vez ejecutadas el control del programa vuelve a la instruccin siguiente que realiz dicha llamada. PROGRAMACIN MODULAR Se basa en dividir el programa en partes llamadas mdulos, que se analizan y codifican de forma independiente y que realizan una determinada tarea que ser en realidad una parte del problema total a resolver. En todo algoritmo o programa existir un mdulo o programa principal que es al que transfiere el control cuando comienza la ejecucin del programa, y luego desde l, se va llamando al resto de los subprogramas. Llamar a un subprograma quiere decir transferirle el control, es decir que se comienza a ejecutar y lo har desde el comienzo del subprograma hasta que se termine y al terminar devuelve el control al subprograma que lo llam. Dentro del subprograma a su vez tambin puedo llamar a otros pero en cualquier caso al final se devuelve el control al mdulo que hace la llamada. El control al programa llamado se devuelve a la instruccin siguiente a la que se hizo la llamada. Un mdulo solo tiene acceso a los mdulos a los que llama y a los submdulos a los que a su vez llaman stos. Los resultados producidos por un mdulo pueden ser utilizados por otros. No existe un criterio fijo para determinar el tamao, ni muy grandes ni muy pequeos, la idea fundamental

es que realicen una nica cosa y muy concreta. Los mdulos o subprogramas reciben diferentes nombres segn el lenguaje de programacin y segn su tipo. Se llaman procedimientos y funciones (Pascal, C), subrutinas (basic, fortran), secciones (cobol). ESTRUCTURA DE CONTROL BSICO Las Estructuras Bsicas pueden ser: Secuenciales: cuando una instruccin del programa sigue a otra. Seleccin o decisin: acciones en las que la ejecucin de alguna depender de que se cumplan una o varias condiciones. Repeticin, Iteracin: cuando un proceso se repite en tanto cierta condicin sea establecida para finalizar ese proceso. ESTRUCTURAS BSICAS.

Estructura Secuencial. Se caracteriza porque una accin se ejecuta detrs de otra. El flujo del programa coincide con el orden fsico en el que se han ido poniendo las instrucciones. Dentro de este tipo podemos encontrar

operaciones de inicio/fin, inicializacin de variables, operaciones de asignacin, clculo, sumarizacin, etc. Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa: 1.- Definicin de variables (Declaracin) 2.- Inicializacin de variables. 3.- Lectura de datos 4.- Clculo 5.- Salida ESTRUCTURA SECUENCIAL: Es aquella en que una accin sigue a otra en consecuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente. ESTRUCTURA SELECTIVA: Se utilizan para tomar decisiones lgicas. En estas se evala una condicin y en funcin del resultado de la misma se realiza una opcin u otra. Las condiciones se especifican usando expresiones lgicas. En pseudocdigo estas palabras son: if, then, else. Pueden ser simples, dobles o mltiples. RECURSOS ABSTRACTOS Los recursos abstractos son utilizados como un apoyo en la programacin estructurada, en vez de los recursos concretos de los que se dispone (lenguaje de programacin determinado). Para disgregar un programa en trminos de recursos abstractos debemos descomponer acciones complejas en acciones ms simples, las que son capaces de ejecutar o constituyen instrucciones de computadora disponible. DISEO DESCENDENTE (TOP-DOWN) Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivos (stepwise). Esta metodologa consiste en crear una relacin entre las etapas de estructuracin, las que son sucesivas,

de tal forma que se interrelacionen mediante entradas y salidas de informacin. Considerando los problemas desde dos puntos de vista: que hace? y cmo lo hace? Ventajas

Las estancias de programacin del equipo se centraron en la meta Cada uno sabe su o su trabajo Para el momento en que el comienzo de programacin all no sea ninguna pregunta El cdigo es ms fcil de seguir, puesto que se escribe metdicamente y con propsito

Desventajas

La programacin de arriba hacia abajo puede complicar la prueba, puesto que nada voluntad ejecutable incluso existe hasta cerca del final del proyecto

La programacin bottom-up puede permitir la prueba de unidad, pero hasta que ms del sistema viene junto ninguno del sistema se puede probar en su totalidad, a menudo causando complicaciones cerca del final del proyecto, nosotros est parado individualmente, combinado nosotros baja.

Todas las decisiones dependen de la meta que comienza del proyecto, y algunas decisiones no se pueden tomar dependiendo de cmo especfico que es la descripcin

Anda mungkin juga menyukai