You are on page 1of 7

Algoritmos Y Programas Unidad1

1. Algoritmos y Programas 2. Introduccin El objetivo de esta sesin consistir en explicar los conceptos de algoritmo, programa y lenguaje de programacin. As como explorar otros temas concurrentes. 3. Temtica Sistemas de procesamiento de informacin. Concepto de Algoritmo. Lenguaje de programacin. Datos, tipos de datos y operaciones primitivas. Constantes y variables. Expresiones. Funciones intrnseca. Asignacin. Entrada y salida de informacin.

4. 1. Sistemas de procesamiento de la informacin Un sistema de esta clase se define como un conjunto de componentes interconectados entre s que transforman datos en informacin organizada, significativa y til. 5. Esquemticamente Datos Procesador Informacin 6. Una primera definicin Un algoritmo consiste en el grupo de instrucciones que definen la secuencia de operaciones a realizar para resolver un sistema especfico o clase de problema. 7. Conceptos importantes Hardware: grupo de componentes fsicos de una computadora. Software: conjunto de programas que controlan el funcionamiento de una computadora 8. 2. Concepto de Algoritmo La metodologa de la programacin es aquella que es necesaria para resolver problemas mediante programas, su eje es el algoritmo. Problema Diseo del algoritmo Programa 9. Pasos para la solucin de un problema El diseo del algoritmo describe el anlisis del problema y desarrollo del algoritmo. Expresar el algoritmo como un programa en un lenguaje de programacin. Ejecutar y validar el programa por la computadora. 10. Caractersticas de los algoritmos Preciso, indicar el orden de cada paso. Definido, el mismo resultado se obtendr al ejecutar el algoritmo n ocasiones. Finito, deber terminar en algn momento. 11. Ejemplo 2.1 Genere un algoritmo que solucione la entrega de un pedido a un cliente Inicio. Leer el pedido. Examinar el historial crediticio del cliente Si el cliente es solvente, entregar el pedido. En caso contrario, rechazarlo. Fin 12. Ejemplo 2.2 Genere un algoritmo que sume los nmeros entre el 3 y el 30. Inicio. Hacer SUMA igual cero. Establecer NMERO igual a 3. Sumar NMERO a SUMA. Incrementar NMERO en 3 Si NUMERO es menor o igual que 30 ir a 4; si no imprimir a SUMA. Fin

13. Ejemplo 2.3 Genere un algoritmo que determine al mayor de tres nmeros enteros. Inicio Leer los nmeros y guardarlos en NUM1, NUM2 y NUM3 respectivamente Comparar NUM1 y NUM2, el nmero mayor se guarda en AUX. Comparar AUX y NUM3, imprimir el nmero mayor. Fin. 14. Tarea 2.1 Disee un algoritmo para determinar si un nmero es primo o no. Tarea 2.2 Genere un algoritmo que sume los nmeros entre el 2 y el 20. Tarea 2.3 Genere un algoritmo que sume los nmeros entre el 5 y el 50. 15. 3. Los lenguajes de programacin Cuando el procesador de datos es una computadora entonces el algoritmo de solucin se expresa en un programa. Por tanto, un programa es escrito en un lenguaje de programacin. Luego, la programacin consiste en expresar las operaciones en forma de programa de un algoritmo. 16. Tipos de lenguajes Mquina; escritos en cdigo binario. Bajo nivel (ensamblador); escrito en nemotcnicos. Alto nivel; diseados para ser entendidos por el ser humano. 17. Instrucciones bsicas Entrada/Salida; transferencia de informacin entre dispositivos perifricos y memoria central. Aritmtico/Lgicas; ejecutan operaciones de stos tipos. Selectivas; seleccionan tareas en funcin de los resultados Repetitivas; permiten la iteracin de secuencias de instrucciones un nmero dado de veces 18. Traductores del Lenguaje A) Intrpretes; Toma un programa fuente lo traduce e inmediatamente lo ejecuta. Programa fuente Intrprete Traduccin y ejecucin en lnea 19. Traductores del Lenguaje (cont.) B) Compiladores; traduce un programa fuente a cdigo objeto. Programa fuente Programa Objeto Programa ejecutable Compilador (Compiler) Montador (Linker) 20. 4. Datos, Tipos de Datos y Operaciones Primitivas Un dato es la expresin general que describe los objetos con los cuales opera la computadora Los tipos son: simples (no estructurados) y compuestos (estructurados). Aquellos se subdividen en: Numricos (integer, real) Lgicos (booleans) Carcter (char, string) 21. Datos primitivos Datos Carcter Numrico Lgico Entero Real 22. 5. Constantes y Variables Constantes: valores que durante la ejecucin de un programa no cambian su valor. Variables: valores que cambiarn durante la ejecucin del programa 23. 6. Expresiones Se definen como una combinacin de constantes, variables, smbolos de operacin, parntesis, y nombres de funciones especiales. Una expresin consta de operandos y operadores. Las expresiones se clasifican en aritmticas, lgicas y carcter. 24. Expresiones aritmticas Entero Entero mdulo Mod Entero Entero Divisin entera Div Real Real Divisin / Entero o real Entero o real Multiplicacin * Entero o real Entero o real Resta Entero o real Entero o real Suma + Entero o real Entero o real Exponenciacin ** Tipo resultado Tipo de operndoos Significado Operador

25. Reglas de prioridad ( ) Parntesis +, - Ms y menos Div, mod Div y mod *, / Multi, divide ** Exponencial Grafo Operador 26. Operadores de relacin Menor < Distinto <>,!= Mayor o igual >= Menor o igual <= Igual = Mayor > Significado Operador Expresin 2 Operador de relacin Expresin 1 27. Operadores lgicos disyuncin P o Q Or Conjuncin P y Q And Negacin Not p Not Significado Expresin lgica Operador lgico 28. 7. Funciones Intrnsecas Truncamiento Trunc(x) Raz cuadrada Sqrt(x) Cuadrado Sqr(x) Seno Sin(x) Redondeo Round(x) Log decimal Log10(x) Log neperiano Ln(x) Exponencial Exp(x) Coseno Cos(x) Tangente inversa Arctan(x) Absoluto Abs(x) Descripcin Funcin

29. 8. Operacin de Asignacin Es la forma de darle valores tanto a variables como constantes, se representa con el smbolo 30. Tipos de asignacin Aritmtica Lgica Cadena de caracteres 31. 9. Entrada y salida de informacin La operacin de lectura READ permite el ingreso de los datos necesarios para los clculos computacionales. La operacin de escritura WRITE imprime la informacin procesada por el programa y su respectivo algoritmo. 32. PROBLEMAS RESUELTOS CON COMPUTADORAS Y HERRAMIENTAS DE PROGRAMACION 33. INDICE OBJETIVO SOLUCION DE PROBLEMAS ANALISIS DEL PROBLEMA DISEO DEL ALGORITMO SOLUCION DEL PROBLEMA MEDIANTE COMPUTADORA REPRESENTACION GRAFICA DE ALGORITMOS PSEUDOCODIGO 34. 2.1 OBJETIVO EXPONER LOS CONOCIMIENTOS INDISPENSABLES PARA EL APRENDIZAJE DE LA PROGRAMACION. 35. 2.2 SOLUCION DE PROBLEMAS Fases de fragmentacin: Anlisis del problema: definicin concisa a fin de que sea analizado en todo detalle. Diseo del algoritmo: procedimiento, paso a paso, para la solucionar el problema dado. Solucin del algoritmo con la computadora: codificacin del algoritmo en un lenguaje de programacin 36. 2.3 ANALISIS DEL PROBLEMA El propsito es ayudar al programador a llegar a un cierto grado de comprensin de la naturaleza del problema. Una buena definicin del problema, junto con una descripcin detallada de entrada y salida, son los requisitos ms importantes para una solucin eficaz. 37. 2.3 ANALISIS DEL PROBLEMA cont. Que informacin debe proporcionar la solucin del problema. Solucin del Problema Anlisis del Problema Diseo del algoritmo Solucin por computadora

38. 2.3 ANALISIS DEL PROBLEMA cont. 2. Que datos se necesitan para resolver el problema. Anlisis del Problema Definicin del Problema Especificaciones de entrada Especificaciones de salida 39. 2.3 ANALISIS DEL PROBLEMA cont. Ejemplo: leer los lados de un tringulo rectngulo e imprima la hipotenusa. Entradas: valores de los lados (variable LADO1 y variable LADO2). Salida: valor de la hipotenusa (variable LADO3). Variables: LADO1, LADO2 y LADO3 (tipo reales). 40. 2.4 DISEO DEL ALGORITMO La informacin proporcionada al algoritmo constituye su entrada y la informacin producida constituye su salida. Los problemas complejos se resuelven eficazmente si se fragmentan en subproblemas que sean ms sencillos de solucionar que el original. Esta tcnica es conocida como divide y vencers (divide and conquer). 41. 2.4 DISEO DEL ALGORITMO cont. La descomposicin del problema original en subproblemas cuya solucin puede implementarse a travs de la computadora se le denomina diseo descendente (top down design) La descripcin detallada de la solucin mediante pasos especficos se le denomina refinamiento del algoritmo (stepwise refinement). 42. 2.4 DISEO DEL ALGORITMO cont. Diseo del algoritmo Diseo descendente Refinamiento por pasos Herramientas de programacin diagramas de flujo -pseudocdigo 43. 2.4 DISEO DEL ALGORITMO cont. Ejemplo: Determine a los nmeros menores que 90 y mltiplos de 9, as como su sumatoria. Definicin del Problema Especificaciones de entrada Especificaciones de salida Imprimir mltiplos de 9 y su suma siempre y cuando sea menor que 90 TOTAL = 0 NUM = 9 LIMITE = 90 NUM, TOTAL 44. 2.4 DISEO DEL ALGORITMO cont. Diseo descendente Refinamiento por pasos Herramientas de programacin Mltiplos de 9 Sumatoria Num=9 Print num Num <= 90 regresar a) Num=+9 Total=+num 45. 2.4 DISEO DEL ALGORITMO cont. Inicio Total=0, Num=9, Limite=90 Print Num Total=Total+Num Si Num <= Limite entonces Num=Num+9 y regresar a 3 Print Total Fin 46. tarea Determine si una palabra es un palndromo. Determine el mximo comn divisor para dos nmeros enteros. Lea e imprima una serie de nmeros distintos de cero. El algoritmo terminar con un valor que no se debe imprimir. Finalmente obtenga la cantidad de valores ledos. 47. tarea 4. Imprima y sume la serie de nmeros mltiplos de 3 en el rango cerrado de 3 y 99. 5. Lea cuatro nmeros e imprima el mayor de ellos. 6. Calcule la superficie de un triangulo en funcin de la base y la altura. 48. 2.5 SOLUCION DE PROBLEMAS MEDIANTE LA COMPUTADORA Una vez diseado el algoritmo y representado mediante una herramienta de programacin se debe: Solucin del Problema por Computadora Codificacin del programa Ejecucin del programa Comprobacin del programa

49. 2.6 REPRESENTACION GRAFICA DE LOS ALGORITMOS Los mtodos usuales para representarlo son: Diagrama de flujo Lenguaje de especificacin de algoritmo 50. 2.6 REPRESENTACION GRAFICA DE LOS ALGORITMOS cont 51. 2.7 PSEUDOCODIGO Es un lenguaje de especificacin de algoritmos que permite una codificacin rpida y simple. Su ventaja radica en que el programador no debe preocuparse por la sintaxis de un lenguaje de programacin en particular. Utiliza palabras sencillas de entender para codificar programas. 52. ESTRUCTURA DE UN PROGRAMA 53. Concepto de Programa Conjunto de instrucciones que producirn la ejecucin de una determinada tarea. Esencialmente es un medio para lograr un fin. 54. PROCESO DE PROGRAMACION Consiste en la solucin de problemas y el desarrollo de programas 55. Fases del proceso de programacin Definicin y anlisis del problema. Diseo de algoritmos: Diagrama de flujo. Diagrama (N-S). Pseudocdigo Codificacin del programa. Depuracin y verificacin del programa. Documentacin. Mantenimiento. 56. Partes de un programa concepto de caja negra Entrada Algoritmo Salida 57. De inicio / fin. De asignacin. De lectura, De escritura. De bifurcacin. Tipos de Instrucciones (acciones que resuelven un problema) 58. Elementos bsicos de un programa Palabras reservadas. Identificadores (nombres de variables). Caracteres especiales. Constantes. Variables. Expresiones. instrucciones. 59. Otros elementos Iteraciones, Contadores, Acumuladores, Interruptores, Estructuras: Secuenciales, Selectivas, Repetitivas. 60. Iteraciones Es el segmento de un algoritmo o programa, cuyas instrucciones se repiten un nmero determinado de veces mientras se cumple una determinada condicin. Sus partes son: decisin cuerpo del bucle salida 61. Contadores Un contador es una variable cuyo valor se incrementa o decremento en una cantidad constante en cada iteracin. 62. Acumuladores Un Acumulador es una variable cuya misin es almacenar cantidades distintas resultantes de sumas sucesivas. 63. Interruptores Un interruptor (conmutador, bandera, flag) es una variable que puede tomar diversos valores durante la ejecucin de un programa y que permite comunicar informacin desde una parte a otra del mismo.

64. Componentes de un algoritmo Algoritmo Cabecera del programa Seccin de declaracin Seccin de acciones 65. PROGRAMACIN ESTRUCTURADA 66. Tcnicas de Programacin... Programacin modular: Descomposicin del problema en mdulos. Programacin estructurada: Programacin de cada mdulo mediante mtodos estructurados. 67. Caractersticas de la programacin modular Todo programa tiene un mdulo principal. Dicho mdulo primario se divide en submdulos, que a su vez ejecutan una tarea nica y podrn codificarse de manera independiente de cualquier otra actividad. Sin embargo, al finalizar su funcin devolvern el control al mdulo principal. Esta independencia alude a que ningn otro mdulo podr accesarlo directamente, a excepcin de sus propios subsubmdulos y al mdulo principal. 68. Consideraciones. La descomposicin de un programa podra implementarse as: Mdulo principal. Submdulo impresin de ttulos Submdulo de lectura de datos Submdulo ejecucin de procesos Submdulo impresin de resultados 69. Conjunto de tcnicas que reducen el tiempo requerido para escribir, verificar, depurar y mantener los programas. Mediante el uso de: recursos abstractos, diseo descendente, estructuras bsicas. Caractersticas de la programacin estructurada 70. Recursos Abstractos Consiste en descomponer una determinada accin compleja en un nmero de acciones ms simples, capaces de ser ejecutada por una computadora y sus respectivas instrucciones. 71. Diseo Descendente TOP-DOWN DESIGN Esta metodologa efecta una relacin de refinamiento entre las distintas etapas de estructuracin, de modo que se relacionen unas con otras, mediante entradas y salidas de informacin. Descompone el problema en etapas o estructuras jerrquicas, de modo que se pueda considerar cada estructura desde dos puntos de vista: qu hace y cmo lo hace 72. Diseo Descendente Desde el exterior. 73. Diseo Descendente Desde el interior. 74. Estructuras bsicas Teorema de la programacin estructurada: Un programa propio es aquel que cumple las siguientes caractersticas: secuenciales, selectivas, y repetitivas. Posee un solo punto de entrada y salida. Se puede recorrer toda la estructura del programa modular. Todas las instrucciones son ejecutables y no existen bucles infinitos. 75. Instrucciones Secuenciales 76. Instruccin Selectiva Simple

77. Instruccin Selectiva Compuesta 78. Instruccin Selectiva Mltiple 79. Instruccin Repetitiva While 80. Instruccin Repetitiva Repeat 81. Instruccin Repetitiva For 82. F I N

You might also like