capitulo iii algoritmo.ppt

45
Capitulo III ALGORITMOS Docente: Ing. Eleana Regina Vásquez Cutipa

Upload: diegomaldonadopacheco

Post on 12-Nov-2015

12 views

Category:

Documents


0 download

DESCRIPTION

Algoritmos para el area de INFORMATICApuede ser util en INGENIERIAS.

TRANSCRIPT

  • Capitulo IIIALGORITMOSDocente: Ing. Eleana Regina Vsquez Cutipa

  • Marco Histrico La palabra algoritmo se deriva del nombre latinizado del gran Matemtico rabe Mohamed Ibn Al Kow Rizmi, el cual escribi sobre los aos 800 y 825 su obra Quitad Al Mugabala, donde se recoga el sistema de numeracin hind y el concepto del cero. Fue Fibinacci, el que tradujo la obra al latn y el inicio con la palabra: Algoritmi Dicit.

  • Algoritmo El lenguaje algortmico es aquel por medio al cual se realiza un anlisis previo del problema a resolver y encontrar un mtodo que permita resolverlo. El conjunto de todas las operaciones a realizar y el orden en que se deben efectuarse, se le denomina algoritmo. Es un mtodo para resolver un problema mediante una serie de datos precisos, definidos y finitos.

  • Un algoritmo es un conjunto ordenado y finito de instrucciones que conducen a la solucin de un problema

  • Si un algoritmo puede ser ejecutado por una computadora, se dice que es un algoritmo computacional; en caso contrario, se dice que es un algoritmo no computacional.

    Para que un algoritmo pueda ser ejecutado por una computadora se necesita expresar el algoritmo en instrucciones comprensibles por la computadora, para esto se requiere de un determinado lenguaje de programacin.

    Al algoritmo expresado en un determinado lenguaje de programacin, se denomina programa.

    Un programa es la implementacin o expresin de un algoritmo en un determinado lenguaje de programacin siguiendo las reglas establecidas por el lenguaje elegido

  • Relacin entre Problema, Algoritmo y programa

  • Pasos para la resolucin de un problema

    Diseo de algoritmo, que describe la secuencia ordenada de pasos que conducen a la solucin de un problema dado. (Anlisis del problema y desarrollo del algoritmo).Expresar el algoritmo como un programa de lenguaje de programacin adecuado. (Fase de codificacin.)Ejecucin y validacin del programa por la computadora.

  • Los algoritmos son independientes tanto del lenguaje de programacin en que se expresan como de la computadora que lo ejecuta.

    En la ciencia de la computacin y en la programacin, los algoritmos son ms importantes que los lenguajes de programacin o las computadoras.

    Un lenguaje de programacin es tan solo un medio para expresar un algoritmo y una computadora es solo un procesador para ejecutarlo

  • Caractersticas de un algoritmoSer preciso.Ser definido. Ser finito: Presentacin formal:Correccin:Eficiencia:

  • Definicin de un algoritmo Debe definir tres partes:

    EntradaProcesoSalida

  • Algoritmo para expresar en centmetros y pulgadas un cantidad dada en metros.

    Entrada:La cantidad M de metros.Proceso:Clculo de centmetros: C = M*100.Clculo de pulgadas: P=C/2.4Salida:La cantidad C de centmetros y la cantidad P de pulgadas

  • Diseo del Algoritmo

    En la etapa de anlisis del proceso de programacin se determina que hace el programa. En la etapa de diseo se determina como hace el programa la tarea solicitada. Los mtodos mas eficaces para el proceso de diseo se basan en el conocido por Divide y Vencers, es decir, la resolucin de un problema complejo se realiza dividiendo el problema en sub. problemas y a continuacin dividir estos sub. Problemas en otros de nivel mas bajo, hasta que pueda ser implementada una solucin en la computadora. Este mtodo se conoce tcnicamente como diseo descendente (Top Down) o modular.

  • Anlisis De Algoritmos Un algoritmo es mejor cuantos menos recursos consuma, su facilidad de programarlo, corto, fcil de entender, robusto, etc.

  • Tcnicas para Representar Algoritmos Pseudocdigo.Diagrama de flujoDiagrama N-S (NASSI SCHNEIDERMAN) conocido como diagramas de Chapin

  • El Pseudocdigo Es un lenguaje de pseudoprogramacin utilizado para escribir algoritmos computacionales. El objetivo del pseudocdigo es permitir que el programador se centre en los aspectos lgicos de la solucin, evitando las reglas de sintaxis de los lenguajes de programacin. Utiliza palabras y frases del lenguaje natural.

  • Todo pseudocdigo debe posibilitar la descripcin de:Instrucciones de entrada/salida.Instrucciones de proceso.Sentencias de Control del flujo de ejecucin.Acciones compuestas, a referir posteriormente.

  • Variables

    Una variable es una localizacin o casillero en la memoria principal que almacena un valor que puede cambiar en el transcurso de la ejecucin del programa. Cuando un programa necesita almacenar un dato, necesita una variable.

    Toda variable tiene un nombre, un tipo de dato y un valor. Antes de poder utilizar una variable es necesario declararla especificando su nombre y su tipo de dato.

  • Para declarar variables usaremos los siguientes formatos: Declaracin de una variable: tipo nombre

    Declaracin de varias variables con el mismo tipo de dato: tipo nombre1, nombre2, nombre3, ..., nombren

    Tipo Es el tipo de dato de la variable que puede ser: ENTERO (si la variable almacenar un nmero entero) , REAL (si la variable almacenar un nmero decimal) , CARACTER (si la variable almacenar un carcter), CADENA (si la variable almacenar un conjunto de caracteres) o LOGICO (si la variable almacenar el valor verdadero o el valor falso).nombre1,nombre2,nombren Nombres de las variables . El nombre de una variable debe comenzar con una letra, un smbolo de subrayado o un smbolo de dlar. Los dems caracteres del nombre puede ser letras, smbolos de subrayado o smbolo de dlar. Debe considerarse tambin que una letra mayscula se considera diferente de una letra minscula.

  • La siguiente instruccin declara la variable edad de tipo ENTERO y la variable descuento de tipo REAL.

    ENTERO edad REAL descuento

    Esto crea los casilleros de memoria edad y descuento. Luego de la creacin, las variables estn indefinidas ( ? ). Edad ?Descuento ?

    La siguiente instruccin declara las variables nota1, nota2 y nota3, todas de tipo ENTERO.

    ENTERO nota1, nota2, nota3

    Esto crea los casilleros de memoria nota1, nota2 y nota3. Luego de la creacin, las variables estn indefinidas ( ? ).

    Nota1 ?Nota2 ?Nota3 ?

  • Literales Se denominan literales a todos aquellos valores que figuran en el pseudocdigo y pueden ser:

    LiteralesValoresenteros12, 20300, 15, etc.reales3.1416, 2345.456, etc.carcter'a', 'B', ';', '

  • Instrucciones Algortmicas Bsicas Existen tres instrucciones algortmicas bsicas que son las siguientes

    Entrada Consiste en obtener un dato de un dispositivo de entrada, como el teclado, y almacenarlo en una variable. En general, la accin de ingresar un dato a una variable se expresa en el pseudocdigo mediante la palabra LEER, de la siguiente forma:

    LEER variable

    Ejemplo; LEER estatura

  • Salida Consiste en mostrar el valor de una variable en un dispositivo de salida, como la pantalla. En general, la accin de mostrar el valor de una variable se expresa en el pseudocdigo mediante la palabra IMPRIMIR de la siguiente forma: IMPRIMIR variable

    Ejemplo, IMPRIMIR Edad

  • Asignacin

    Consiste en asignar a una variable el valor de una expresin. La expresin puede ser una simple variable, un simple literal o una combinacin de variables, literales y operadores. La asignacin se expresa en el pseudocdigo de la siguiente forma:

    variable = expresin

    Donde variable y el valor de expresin deben tener el mismo tipo de dato.

  • Problema: Elabore el algoritmo y su pseudocdigo para calcular e imprimir el rea de un triangulo Solucin:Declarar las variables. b,h: realEntrada: (datos a introducir al computador) Base=bAltura=h Operacin: Calcular rea del triangulo (Base x Altura)/2 Salida: (Resultado que mostrar el computador)

  • Pseudocdigo1. Iniciar proceso.2. Declarar las variables h: realb: realA: real.3. Leer b.4. Leer h.5. A=(b*h)/26. Imprimir A.

  • Expresiones Aritmticas

    Es Combinacin de variables, literales y operadores aritmticos.Operadores Aritmticos

    OperadorSignificadoEjemplo+Sumaa+b-Restaa-b*Multiplicacina*b/Divisina/b%Residuoa%b

  • Reglas de Jerarqua de los Operadores Aritmticos

    OperadorOrden de evaluacin ( )Se evalan en primer lugar*, /, % Se evalan en segundo lugar+, - Se evalan en tercer lugar

  • Expresiones Lgicas Combina variables, literales, operadores aritmticos, operadores relacionales y operadores lgicos. Operadores Relacionales

    OperadorSignificadoEjemplo>mayor que a > b>=mayor o igual que a >= b