Que es un algoritmo de jorge magaña

jorgerikkar 565 views 18 slides Oct 05, 2014
Slide 1
Slide 1 of 18
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18

About This Presentation

algoritmo


Slide Content

QUE ES UN ALGORITMO? Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Método y notación en las distintas fórmulas del cálculo. El algoritmo constituye un método para resolver un problema mediante una secuencia de pasos a seguir.

DISEÑO DE UN ALGORITMO Fases para el diseño de un algoritmo: -Algoritmo narrado -Algoritmo detallado - Diagrama de flujo o pseudocódigo Diseño de un algoritmo Algoritmo detallado Diagrama de flujo o pseudocódigo. Algoritmo narrado

EJEMPLO DE UN ALGORITMO NARRADO Ejemplo : Algoritmo para cambiar un foco fundido INICIO Situar escalera bajo el foco quemado. Elegir un foco de reemplazo (de la misma potencia que el anterior). Subir por la escalera hasta alcanzar el foco. Girar el foco contra las manecillas del reloj hasta que esté suelto. Ubicar el foco nuevo en el mismo lugar que el anterior. Enroscar en el sentido de las manecillas del reloj hasta que quede apretado. Bajar de la escalera. FIN

ALGORITMO DETALLADO ALGORITMO DETALLADO: Es un lenguaje mas limitado , con reglas de sintaxis y semánticas definidas , esto quiere decir que consiste en crear programas con instrucciones agrupadas en un estricto orden secuencial.

DIAGRAMA DE FLUJO - Es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva . SIMBOLO NOMBRE ACCION TERMINAL Representa el inicio o el fin del diagrama de flujo. ENTRADA Y SALIDA Representa los datos de entrada y salida. Decisión Representa las comparaciones de dos o mas valores , tiene dos salidas de información falso o verdadero. PROCESO Indica todas las acciones o cálculos que se ejecutaran con los datos de entrada u otros obtenidos . LINEAS DE FLUJO DE INFORMACIÓN Indican el sentido de la información obtenida y su uso posterior en algún proceso. CONECTOR Este símbolo permite identificar la continuación de la información si el diagrama es muy extenso.

EJEMPLO DE UN DIAGRAMA DE FLUJO Calcula el área de un triangulo en diagrama de flujo. Result=(BASE*ALTURA)/2 Escribir "Resultado = a Result. LEER BASE LEER ALTURA INICIO Fin En pseudocódigo. Inicio Result <-a*b/2 Introduce la base Leer a Introduce la altura Leer b “El área de un triangulo es”, R esult .

PSEUDOCÓDIGO E l pseudocódigo es una descripción informal de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación. 1.- Ejemplo de pseudocódigo y en diagrama de flujo. Proceso Promedio Inicio Escribir "Ingrese la cantidad de datos:" Leer n acum <-0 Para i<-1 Hasta n Hacer Escribir "Ingrese el dato ",i,":" Leer dato acum <- acum+dato FinPara prom <- acum /n Escribir "El promedio es: ", prom FinProceso INICIO "Ingrese la cantidad de datos" N Acum <-0 FIN "Ingrese el dato ",i,; dato Acum<-acum+dato prom<-acum+dato "El promedio es ",prom

ESTRUCTURAS SECUENCIALES La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso . En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma: PSEUDOCODIGO :Nombre Variables. Nombre : Tipo de dato. Constantes Nombre = Valor INICIO     acción     accion1    accion2     acción N FIN INICIO accion 1 accion 2 accion N FINAL

EJEMPLO DE UNA ESTRUCTURA SECUENCIAL. Ejemplo 1: Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de estos. Use Pseudocódigo y diagrama de flujos. PSEUDOCÓDIGO SUMAR Variables: Num1,Num2,Suma : Entero INICIO    Escribir ('introduzca dos números')    leer (Num1, Num2)    Suma=Num1 + Num2    escribir ('La suma es:' , Suma) FIN INICIO num1,num2,Suma:ENTERO "Diga dos numeros" Num1,Num2 Suma<- Num1+Num2 "La suma es ;", Suma FIN

ESTRUCTURAS DE DECISIÓN ESTRUCTURAS DE DECISIÓN:  Estas permiten seleccionar la próxima sentencia a ejecutarse sobre la base de una decisión (expresión lógica o variable lógica). Los tipos de estructuras de decisión que podemos encontrar son: ● Simples ● Dobles ● Múltiples ESTRUCTURAS DE DECISION SIMPLE _SI: La estructura de selección simple permite ejecutar una acción o un grupo de acciones sólo si se cumple una determinada condición. Si la condición es verdadera se ejecuta la acción  acciona ; en caso contrario, no se hace nada. Pseudocódigo (acción simple)SI( condición )    acciona Pseudocódigo (acción compuesta) SI( condición ){    acciona1    acciona2    .    .    .    Accionan. Por ejemplo, si se desea cambiar el signo de un número únicamente en caso que sea negativo, podemos escribir: SI( numero < 0 )     numero = -1 * numero Condición No Proposición Si

SELECCIÓN DOBLE SI -SINO La estructura de selección doble permite seleccionar una ruta de dos rutas posibles en base a la verdad o falsedad de una condición. Si la condición es verdadera, se ejecuta la acción A; en caso contrario, se ejecuta la acción B . Pseudocódigo (acción simple)SI( condición )    acciona SINO    accionb Pseudocódigo (acción compuesta)SI( condición ){    acciona1    acciona2    .    .    .    accionan SINO{    accionb1    accionb2    .    .    .    Accionbn . Por ejemplo : la siguiente estructura de selección doble determina si una persona es mayor o menor de edad: SI( edad >= 18 )     estado = "Mayor de edad" SINO     estado = "Menor de edad" Si No A ccionb Condición Accion a

ESTRUCTURA DE DECISIÓN MÚLTIPLE SEGUN La estructura de selección múltiple  SEGUN  permite elegir una ruta de entre varias rutas posibles, en base al valor de una variable que actúa como  selector . La estructura compara el valor del selector  con las constantes c1, c2, ..., en orden descendente. En el momento en que se encuentre una coincidencia, se ejecuta la acción correspondiente a dicha constante y se abandona la estructura . Pseudocódigo SEGUN ( selector ){V      CASO c1 : accion1      CASO c2 : accion2      CASO c3 : accion3                .                .                .      CASO  cn : accionn      DEFECTO : acciondefecto Por ejemplo , la siguiente estructura de selección múltiple determina el nombre de la estación del año conociendo el número de la estación (1 para Primavera, 2 para Verano, 3 para Otoño y 4 para Invierno) : SEGUN ( numeroEstacion ) {     CASO  1   :  nombreEstacion = "Primavera"      CASO  2  : nombreEstacion = "Verano"      CASO  3  : nombreEstacion = "Otoño"     DEFECTO :  nombreEstacion = "Invierno" selector==c1 selector==c2 selector==cn acciondecto accion1 break accion2 break accion 3 break F F F V V V

ESTRUCTURAS DE REPETICIÓN Permiten la ejecución de una lista o secuencia de instrucciones (bloque de instrucciones) en varias ocasiones. El número de veces que el bloque de instrucciones se ejecutará se puede especificar de manera explícita, o a través de una condición lógica que indica cuándo se ejecuta de nuevo y cuándo no. A cada ejecución del bloque de instrucciones se le conoce como una iteración . Existen tres tipos principales de sentencias de repetición: - Ciclo mientras - Ciclo haga-mientras - Ciclo para

CICLO MIENTRAS El ciclo mientras permite ejecutar un bloque de instrucciones mientras que una expresión lógica dada se cumpla, es decir, mientras su evaluación dé como resultado verdadero. La expresión lógica se denomina condición y siempre se evalúa antes de ejecutar el bloque de instrucciones. Si la condición no se cumple, el bloque no se ejecuta. Si la condición se cumple, el bloque se ejecuta, después de lo cual la instrucción vuelve a empezar, es decir, la condición se vuelve a evaluar. En el caso en que la condición evalúe la primera vez como falsa, el bloque de instrucciones no será ejecutado, lo cual quiere decir que el número de repeticiones o iteraciones de este bloque será cero. Si la condición siempre evalúa a verdadero, la instrucción se ejecutará indefinidamente , es decir, un número infinito de veces . En Pseudocódigo: mientras <condición> hacer <bloque instrucciones> fin _mientras Donde , <condición> es la expresión lógica que se evalúa para determinar la ejecución o no del bloque de instrucciones, y <bloque instrucciones> es el conjunto de instrucciones que se ejecuta si la condición evalúa a Verdadero. CONDICION BLOQUE f v ENTRADA

EJEMPLO DE CICLO MIENTRAS EJEMPLO : Separa un numero entero en sus dígitos Proceso Dígitos Escribir "Ingrese un numero entero positivo:" Leer n // Primero, Contar Cuantos Dígitos cont <- 0 aux <- n Mientras aux >0 hacer // mientras no sea cero cont <- cont + 1 // contar cuantos dígitos aux <- trunc ( aux /10) // dividir por 10 y despreciar los de Fin Mientras Escribir "El numero tiene ", cont ," dígitos" // luego, mostrarlos uno por uno aux <-n Para i<-1 hasta cont Hacer pot <- 10^( cont -i) // por cuanto hay que dividir para obtener el primer digito digito <- trunc ( aux / pot ) // obtener el digito aux <- aux - digito* pot // quitar ese digito al numero Escribir "El digito ",i," es ",digito Fin Para Fin Proceso Proceso Digitos "Ingrese un numero entero positivo" n cont<-0 aux <- n aux>0 cont <- cont + 1 aux <- trunc(aux/10) "El numero tiene " , cont , "digitos" aux<-n pot<-10*(cont-i) digito<-trunc(aux/pot) aux<-aux-digito*pot "El digito",i,"es , digito Fin proceso

CICLO PARA El ciclo Para ejecuta un bloque de instrucciones un número determinado de veces. Este número de veces está controlado por una variable contadora (de tipo entero) que toma valores desde un límite inferior hasta un límite superior. En cada ciclo después de ejecutar el bloque de instrucciones, la variable contadora es incrementada en 1 automáticamente y en el momento en que la variable sobrepasa el límite superior, el ciclo termina. para variable    valor_inicia l hasta valor_final [incremento valor_incremento ] hacer bloque_de_instrucciones fin_para En una instrucción repetitiva Para , siempre se utiliza una variable a la que se le debe asignar un valor_inicial . Inicio para contador   1 hasta 10 incremento 1 hacer Escribir (contador) fin_para Fin VarControl <- Val_inicial VarControl <=Val_final Sentencias VarControl<-VarControl+1 No SI

EJEMPLO DE CICLO PARA // Calcula el promedio de una lista de N datos Proceso Promedio: Escribir "Ingrese la cantidad de datos:" Leer n acum <-0 Para i<-1 Hasta n Hacer Escribir "Ingrese el dato ",i,":" Leer dato acum <- acum+dato FinPara prom <- acum /n Escribir "El promedio es: ", prom FinProceso Proceso Promedio " Ingrese la cantidad de datos ! n acum<-0 ingrese el dato , i dato acum<-acum+dato prom<-acum/n "El promedio es ",prom Fin proceso

BIBLIOGRAFIA Paginas Web: http:// es.wikipedia.org/wiki/Algoritmo Wikipedia Definiciones. http://www.cs.buap.mx/~andrex / pagina del profesor José Andrés vesques flores http:// informaticaingqmi.blogspot.mx/2010/11/estructuras-de-decision-simples-y.html blog de la Ing. María Piña. http:// www.fceqyn.unam.edu.ar/infoiq/temas/Algoritmia/Algoritmia/cap03.htm ejercicios propuestos por David Espinoza Sandoval
Tags