programacion

download programacion

of 32

Transcript of programacion

UNIVERSIDAD AUTNOMA DE CHIHUAHUA FACULTAD DE INGENIERA

PROGRAMACININGENIERA AEROESPACIAL

La programacin estructurada es una forma de escribir programas de computadora de manera clara. Se escribe de acuerdo a las siguientes reglas: Tiene diseo modular Los mdulos son diseados de modo descendente Cada mdulo se codifica utilizando las tres

estructuras de control bsicas: secuencia, seleccin y repeticin.

Es el conjunto de tcnicas que incorporan: Recursos

abstractos: descomponer una determinada accin compleja en trminos de un nmero de acciones ms simples. Diseo descendente (top-down): proceso en el cual un problema se descompone en una serie de niveles o pasos sucesivos. Estructuras de control: son mtodos de especificar el orden en que las instrucciones de un algoritmo se ejecutarn.

El teorema de BhmJacopini, demuestra que todo programa puede escribirse utilizando nicamente las tres estructuras de control siguientes:i. ii. iii.

Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programacin tienen un mayor repertorio de estructuras de control, stas pueden ser construidas mediante las tres bsicas.

Secuencia Instruccin condicional. Iteracin (bucle de instrucciones) con condicin al principio.

Estructura secuencial.Una estructura de programa es secuencial si se ejecutan instrucciones una tras otra a modo de secuencia, es decir que una instruccin no se ejecuta hasta que finaliza la anterior.Accin 1

Accin 2

Accin n

Estructura selectivaLa estructura selectiva permite la realizacin de una instruccin u otra segn un criterio, solo una de estas instrucciones se ejecutara.

Estructura iterativaUn bucle iterativo o iteracin de una secuencia de instrucciones, hace que se repitan mientras se cumpla una condicin, en un principio el nmero de iteraciones no tiene porque estar determinado.

Ventajas: 1. Los programas son ms fciles de entender, ya que pueden ser ledos de forma secuencial.

Sin necesidad de hacer seguimiento a saltos de lnea (GOTO) dentro de los bloques de cdigo para entender la lgica.

2.

La estructura del programa es clara, puesto que las instrucciones estn ms ligadas o relacionadas entre s. Reduccin del esfuerzo en las pruebas.

3.

El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a la estructura ms visible, por lo que los errores se pueden detectar y corregir ms fcilmente.

4.

Reduccin de los costos de mantenimiento de los programas. Programas ms sencillos y ms rpidos (ya que es ms fcil su optimizacin).

5.

6.

Los bloques de cdigo son auto explicativos, lo que facilita la documentacin. Un programa escrito de acuerdo a estos principios no solamente tendr una mejor estructura sino tambin una excelente presentacin.

7.

Inconvenientes:

El principal inconveniente de este mtodo de programacin es que se obtiene un nico bloque de programa, que cuando se hace demasiado grande puede resultar problemtico su manejo. Esto se resuelve empleando la programacin modular, definiendo mdulos interdependientes programados y compilados por separado.

Un algoritmo se puede definir como: Serie de pasos organizados, que describe el

proceso que se debe seguir para dar solucin a un problema especifico. Secuencia finita de instrucciones cada una de las cuales tiene un significado claro y puede ser efectuada con una cantidad de esfuerzo en una longitud de tiempo tambin finito.

Los pasos para la resolucin de un problema son: Diseo del algoritmo, que describe la secuencia

ordenada de pasos que conducen a la solucin de problema dado (anlisis del problema y desarrollo del algoritmo) Expresar el algoritmo como un programa en un lenguaje de programacin adecuado (fase de codificacin) Ejecucin y validacin del programa por la computadora.

Para llegar a la realizacin de un programa es necesario el diseo previo de un algoritmo. Los algoritmos son independientes tanto del lenguaje de programacin como de la computadora que los ejecuta.

Caractersticas. Un algoritmo debe ser preciso e indicar el orden de

realizacin de cada paso. Un algoritmo debe estar definido. Si se sigue el algoritmo dos veces, se debe obtener el mismo resultado cada vez. Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento; o sea, debe tener un numero finito de pasos.

La definicin de un algoritmo debe describir tres partes: entrada, proceso y salida.

Ejemplo: Se desea disear un algoritmo para saber si un

numero es primo o no.

Inicio Poner X igual a 2 ( X=2, X variable que representa a los divisores del numero que se busca N) Dividir N por X (N/X) Si el resultado de X/N es entero, entonces N no es un numero primo y bifurcar al punto 7; en caso contrario, continuar el proceso. Suma 1 a X (X = Operacin Igual que Diferente a Menor que Mayor que Menor o igual que Mayor o igual que Ejemplo 'hola' = 'lola' a' < > 'b' 7 5 15 = 20 Resultado

Operadoradores lgicos Operador lgico Jerarqua Expresin lgica (mayor) NO No P Y O (menor) PyQ PoQ

Significado No P No es cierto que P Es falso que P P^Q P sin embargo Q PoQ o P o Q o ambos Mnimo P o Q

Tabla de verdad de los operadores lgicos P Q ~P ~Q PoQ VERDADERO VERDADERO VERDADERO FALSO FALSO VERDADERO FALSO FALSO

P^Q

Jerarqua de los operadores Operadores Jerarqua () (mayor) ** *, /, div, mod =, < >, , = NO Y O (menor)

Notas: Cuando se utilizan los operadores de relacin con

operandos lgicos, falso es menor que verdadero. El operador ( ) es un operador asociativo que tiene la prioridad mas alta en cualquier lenguaje. En ciertos lenguajes, las prioridades de los operadores se manejan en forma diferente. No se puede resolver la comparacin entre un valor lgico y un numrico, utilizando un operador relacional.

Escribir las siguientes expresiones algebraicas como expresiones algortmicas:a)?????? ??????

+ ???????????? ????????????

b) ?????? + c) d)??????+?????? ?????? ?????? ?????? 5

e)

??????+ ??????2 4???????????? 2?????? 2 +?????? 2 ?????? ?????? 2

Ejercicios1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

7+5-6 9+7*8-36/5 7*5**3/4div3 7*8*(160mod3**3)div5*13-28 15/2*(7+(68-15*33+(45**2/16)/3)/15)+19 Si A=5 y B=16; (A**2)>(B*2) Si X=6 y B = 7.8; (X*5+B**3/4)(7+8*3**4))>((15*2)=(60*2/4)) NO(15>=7**2)O(43-8*2div43*2div2) (15>=7*3**2Y 8>3Y 15>6) O NO(7*3(15/2*6>=15*2/17=15))