17
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Unidad Educativa de Talentos Deportivos Táchira San Cristóbal – Estado Táchira República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Unidad Educativa de Talentos Deportivos Táchira San Cristóbal – Estado Táchira DESARROLLO DE ALGORITMOS UNIDAD I – COMPUTACIÓN Conceptos Básicos de Algoritmos Docente: Pablo Contramaestre Octubre 2012

Conceptos basicos algoritmos

Embed Size (px)

DESCRIPTION

 

Citation preview

  • 1. Repblica Bolivariana de Venezuela Ministerio del Poder Popular para la Educacin Unidad Educativa de Talentos Deportivos Tchira San Cristbal Estado TchiraDESARROLLO DE ALGORITMOS UNIDAD I COMPUTACIN Conceptos Bsicos de Algoritmos Docente: Pablo Contramaestre Octubre 2012
  • 2. IntroduccinLa principal razn para que las personas aprendan lenguajes ytcnicas deprogramacin es utilizar el computador como una herramienta pararesolver problemas.La resolucin de un problema exige al menos los siguientes pasos:1.- Definicin o anlisis del problema.2.- Diseo del algoritmo.3.- Transformacin del algoritmo en un programa.4.- Ejecucin y validacin del programa
  • 3. Definicin de problemaLos problemas son una serie de inquietudes que se plantean paraser resueltas. La naturaleza de los problemas vara con el contextoen que se presenta: problemas matemticos, qumicos, filosficos,etc.Es importante que al tratar un problema se tenga una descripcinsimple y precisa del mismo, de lo contrario resultara complejotratar de simular, o programar su solucin en un computador.Un programador es una persona que resuelve problemas, y parallegar a ser un programador eficaz se necesita aprender a resolverproblemas de un modo riguroso y sistemtico. Diseo Problema Anlisis Programa algoritmo
  • 4. Algoritmo y sus caracteristicasSerie de pasos lgicos y ordenados con los cuales le damos solucin a unproblema determinado o a un objetivo especfico. Sin algoritmos no puedeexistir un programa. Los algoritmos son independientes tanto del lenguaje deprogramacin como del computador que los ejecuta.La palabra Algoritmo viene de un matemtico persa que vivi en el siglo IXllamado Mohammed Al-Khowriz, cuyo apellido traducido al latn esAlgorismus. Caractersticas de un algoritmo: Preciso: indicar el orden de realizacin de las instrucciones. Definido: si se sigue el algoritmo dos veces, se debe obtener el mismo resultado. Finito: siempre debe terminar despues de un nmero finito de pasos.Ejemplo: Obtener el rea de un rectngulo.1. Obtener la medida de la base del rectngulo2. Obtener la medida de la altura del rectngulo3. Multiplicar la medida de la base por la medida de la altura.
  • 5. Ejemplo de AlgoritmoEjemplo tradicional de un algoritmo: Cambiar la llanta pinchada de un carro .INICIO1. Buscar herramientas, llanta de repuesto y tringulo de sealizacin2. Ubicar el tringulo en el lugar adecuado3. Ir al lugar de la llanta averiada4. Sacar las tuercas5. Colocar el gato6. Levantar el carro7. Sacar la llanta8. Colocar la llanta de Repuesto9. Colocar las tuercas10. Apretar las tuercas11. Guardar las herramientasFIN
  • 6. Fases de un algoritmoFase de Anlisis: consiste en el estudio detallado del problema con el finde obtener una serie de documentos (especificacin) en los cuales quedantotalmente definido el proceso a seguir en la automatizacinDiseo: consiste en la realizacin del algoritmo que resuelve el problemade acuerdo a la especificacin dada en la fase anterior. El algoritmo serepresenta mediante pseudocdigo.Codificacin: consiste en la traduccin del algoritmo a un programa escritoen un lenguaje de programacinCompilacin/Interpretacin: consiste en obtener el programa ejecutable uobjeto a partir del programa fuentePrueba: consiste en determinar si el programa funciona correctamente yrealiza las operaciones que esperamos de l.
  • 7. Clasificacin de los AlgoritmosAlgoritmos para ser ejecutados por personas:Para que un algoritmo sea ejecutado por una persona, debe estar escritode tal manera que esta persona lo entienda claramenteNormas: Debe escribirse en el idioma de la persona que realizar el algoritmo Debe enumerar cada uno de los pasos a realizar en un orden lgico. Debe utilizar palabras que comprenda claramente la persona que realizarel algoritmo.Ejemplos:Las recetas de cocina, los manuales de funcionamiento, itinerarios, gua dematricula etc.
  • 8. Clasificacin de los AlgoritmosAlgoritmos para ser ejecutados por computadores:Los pasos para la solucin de un problema utilizando como herramienta lacomputadora son:1. Diseo del algoritmo que describa la secuencia ordenada de pasos, queconducen a la solucin de un problema dado(anlisis del problema ydesarrollo del algoritmo).2. Expresar el algoritmo como un programa en un lenguaje deprogramacin adecuado( fase de codificacin). La actividad de expresar unalgoritmo en forma de programa se denomina programacin.3. Ejecucin y validacin de programa por la computadora.
  • 9. Definicin de pseudocdigoSerie de instrucciones abstractas que resuelven un problema. Es unaherramienta til para el seguimiento de la lgica de un algoritmo, facilita latranscripcin a un lenguaje de programacin. Con el pseudocdigorepresentamos los pasos de un algoritmo a travs de palabras, utilizandouna nomenclatura estandarizada para el significado de cada paso.Ej. Obtener el rea de un rectngulo.1. Inicio2. Leer BASE3. Leer ALTURA4. AREA = BASE * ALTURA5. Escribir AREA6. Fin
  • 10. Lenguajes de programacinLenguaje: conjunto de reglas y convenciones que se utilizan paracomunicar informacin.Lenguaje de Programacin: es un lenguaje que permite la traduccin deun algoritmo para que sea entendible por el computador. Son los lenguajesutilizados para escribir programas de computadores.Tipos de Lenguaje de Programacin:* Lenguaje de Mquina* Lenguaje de Bajo Nivel (Ensamblador)* Lenguaje de Alto Nivel
  • 11. Lenguaje de mquinaSon aquellos que estn escritos en lenguaje directamente inteligibles por lamquina, ya que sus instrucciones son cadenas binarias (0s ,1s) queespecifican una operacin. - Las instrucciones en lenguaje mquina dependen del Hardware de lacomputadora, difiere de una PC a otra.- La ventaja de los lenguajes mquina es que ofrecen mayor velocidad deejecucin. - Existen algunas desventajas: dificultad y lentitud en la codificacin, pocafiabilidad, los programas no son portables. 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 00010111 11110101 00101011 11001010 11110101 00101011 00101011
  • 12. Lenguaje de bajo nivelSon lenguajes que permiten escribir programas con instrucciones similaresal lenguaje humano.Son ms fciles de utilizar que los lenguajes de mquina, pero stostambin dependen de la mquina en particular.El mejor ejemplo es el lenguaje ensambladorUn programa escrito en lenguaje ensamblador requiere una fase detraduccinEntre las desventajas tenemos: que este lenguaje depende de la mquinay demanda una mayor exigencia para los programadores, ya que debenconocer tanto las tcnicas de programacin as como el interior de lamquina.
  • 13. Ejemplo lenguaje de bajo nivel
  • 14. Lenguaje de Alto Nivel- Son los ms utilizados por los programadores- Son independientes de la mquina- Los programas escritos en estos lenguajes son portables- Aumento de la ocupacin de la memoria- Las estructuras de los programas se basan en reglas sintcticas Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi,Java,...Ejemplo de lenguaje de alto nivel#include int main(void){printf("Hola, Mundon");}
  • 15. Ejemplos de Algoritmos ALGORITMO PARA CAMBIAR UNA BOMBILLA QUEMADAINICIO1. Buscar una bombilla nueva2. Buscar una escalera o similar3. Ir al lugar de la bombilla quemada4. Instalar la escalera5. Subir a la escalera6. Sacar la bombilla quemada7. Colocar la nueva bombilla8. Ajustar la bombilla9. Bajarse de la escalera10. Probar la bombilla instalada11. Retirar la escalera12. Votar la bombilla quemada13. Guardar la escaleraFIN
  • 16. Ejemplos de Algoritmos ALGORITMO PASOS PARA IR AL CINEINICIO1. Revisar la cartelera de cine2. Seleccionar la pelcula de mi inters3. Seleccionar el horario de mi inters4. A la hora adecuada, desplazarme hasta el cine5. Hacer la fila para comprar boletos6. Comprar los boletos7. Hacer la fila para entrada a la sala8. Entrar a la sala9. Buscar mi puesto asignado10. Ubicarme en el puesto asignado11. Disfrutar de la pelculaFIN
  • 17. Gracias por su atencinCorreo: [email protected]: @pcontramaestre