Este documento introduce conceptos fundamentales de algoritmia y programación, incluyendo computadoras, programas, lenguajes de programación, algoritmos y estilos de programación. Explica que un algoritmo es una serie de pasos ordenados para resolver un problema, y que el proceso de programación implica definir el problema, diseñar el algoritmo, codificar el programa, y mantenerlo. También resume cuatro paradigmas de programación: funcional, lógico, imperativo y orientado a objetos.
0 calificaciones0% encontró este documento útil (0 votos)
206 vistas27 páginas
Este documento introduce conceptos fundamentales de algoritmia y programación, incluyendo computadoras, programas, lenguajes de programación, algoritmos y estilos de programación. Explica que un algoritmo es una serie de pasos ordenados para resolver un problema, y que el proceso de programación implica definir el problema, diseñar el algoritmo, codificar el programa, y mantenerlo. También resume cuatro paradigmas de programación: funcional, lógico, imperativo y orientado a objetos.
Este documento introduce conceptos fundamentales de algoritmia y programación, incluyendo computadoras, programas, lenguajes de programación, algoritmos y estilos de programación. Explica que un algoritmo es una serie de pasos ordenados para resolver un problema, y que el proceso de programación implica definir el problema, diseñar el algoritmo, codificar el programa, y mantenerlo. También resume cuatro paradigmas de programación: funcional, lógico, imperativo y orientado a objetos.
Este documento introduce conceptos fundamentales de algoritmia y programación, incluyendo computadoras, programas, lenguajes de programación, algoritmos y estilos de programación. Explica que un algoritmo es una serie de pasos ordenados para resolver un problema, y que el proceso de programación implica definir el problema, diseñar el algoritmo, codificar el programa, y mantenerlo. También resume cuatro paradigmas de programación: funcional, lógico, imperativo y orientado a objetos.
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 27
Algoritmia y Programación
Albeiro Aponte Vargas
Introducción a la algoritmia Contenido • Conceptos generales – Computadora – Programa – Lenguajes de Programación – Algoritmo • El proceso de programación • Estilos de programación Conceptos Generales • Computadora: – Es uno de los productos más importantes del siglo XX – Son una herramienta esencial en muchas áreas: industria, ciencia, educación, etc – Las computadoras son inútiles sin una lista de instrucciones a seguir (lenguajes de programación) – Las computadoras son una herramienta para resolver problemas Conceptos Generales • Computadora: – Es un dispositivo electrónico-mecánico capaz de ejecutar cálculos y tomar decisiones lógicas a velocidades de millones y a veces miles de millones de instrucciones por segundo
DATOS PROCESO INFORMACIÓN
Conceptos Generales Conceptos Generales • El programa – Es el conjunto de instrucciones escritas de algún lenguaje de programación y que ejecutadas secuencialmente resuelven un problema especifico
Programa = Estructura de datos +
Operaciones primitivas elementales + Estructuras de control Conceptos Generales El lenguaje de programación – Es el medio a través del cual le comunicamos a la computadora la secuencia de instrucciones que debe ejecutar para llevar a cabo actividades, tareas o solución de problemas. – Carácterísticas • Alfabeto o conjunto de caracteres – Alfabéticos – Numéricos – Especiales { [.], [,], [:], [#] y muchos otros } Conceptos Generales El lenguaje de programación – Carácterísticas • Vocabulario o léxico – Es el conjunto de palabras reservadas en el lenguaje. • Gramática – Conjunto de lineamientos que se deben seguir para construir frases, oraciones o instrucciones. Conceptos Generales Características de un buen programa – Operatividad: mínimo que el programa funcione – Legibilidad: estilo de programación – Transportabilidad: Ejecutarse en cualquier entorno sin hacer modificaciones – Claridad: el programa debe indicar claramente lo que el programador desea – Modularidad: dividir el programa en un número de módulos pequeños y fáciles. Cada módulo debe realizar sólo una tarea específica Algoritmo • El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. Para ello necesitamos estudiar una metodología que nos ayudará en dicha tarea • El eje central de dicha metodología es el concepto de algoritmo. Algoritmo • Un algoritmo es una serie de pasos ordenados que describen el proceso que se debe seguir para dar solución a un problema específico • Un algoritmo es un conjunto finito de instrucciones que especifican la secuencia de operaciones a realizar en orden para resolver un problema Algoritmo • Sin algoritmo no puede existir programa • Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora donde se ejecutan • Un lenguaje de programación es un medio para expresar un algoritmo y una computadora para ejecutarlo • La definición de un algoritmo debe describir 3 partes – Entrada: 0 o más entradas – Proceso: Pasos del algoritmo – Salida: 1 o más salida Algoritmo Características • Las características fundamentales son: – Debe ser preciso – Debe estar definido – Debe ser finito Algoritmo • Ejercicios – Elaborar un algoritmo para que guíe a una persona normal a cambiar un foco fundido, considerando que algún foco de nuestra casa está fundido – Supongamos que estamos tratando de entrenar a un robot para que haga la tarea; en tal caso no funcionará, tendremos que ser más específicos y claros tomando en cuenta las capacidades elementales del robot Algoritmo • Ejercicios – Capacidades del robot • Colocar la escalera • Subir a la escalera • Quitar el foco fundido • Obtener foco de repuesto • Colocar el foco de repuesto • Bajar de la escalera • Guardar la escalera • Fin El proceso de programación Elaborar un programa implica llevar a cabo una serie de pasos secuenciales y cronológicos, las cuales son: – Definición del problema • Surge la necesidad de resolver algún problema mediante la computadora – Análisis del problema • Entender en detalle el problema en cuestión • Datos -> Proceso -> Información El proceso de programación • Diseño del programa – Elaborar el algoritmo: • Se diseña el algoritmo de la solución al problema • Secuencia lógica y cronológica de los pasos que la computadora debe seguir – Técnicas como: pseudocódigo, diagramas de flujo, diagramas de clase, etc. – Prueba de escritorio • Simular el funcionamiento del algoritmo con datos propios respecto al problema • Comprueban a mano los resultados a fin de validar la correcta operación del algoritmo El proceso de programación • Codificación del programa – Convertir las acciones del algoritmo en instrucciones de computadora. – El programa codificado debe editarse, compilarse, probarse y depurarse – Definir el tipo de lenguaje a utilizar • Lenguajes de máquina • Lenguajes de bajo nivel o ensamblador • Lenguajes de alto nivel El proceso de programación • Codificación del programa El proceso de programación • Codificación del programa – Los lenguajes ensamblador y de alto nivel deben ser traducidos en programas objeto. Estos traductores se llaman Compiladores e Interpretes – Compiladores es un programa que se encargan de convertir las instrucciones escritas en un lenguaje de programación en instrucciones escritas en lenguaje máquina (0´s y 1´s) que la computadora pueda entender – Intérprete toma el programa fuente, lo traduce y a continuación lo ejecuta. El proceso de programación Codificación del programa • Fases de ejecución de un programa El proceso de programación • Implantación del programa – Una vez que el programa está correcto, se instala y se pone a funcionar. – Debe ser supervisado continuamente para detectar posibles cambios o ajustes que sea necesario • Mantenimiento del programa – Puede presentar errores – Requerir cambios o ajustes en sus datos, procesos o información Paradigmas de programación • Un paradigma define un conjunto de reglas, patrones y estilos de programación que son usados por un grupo de lenguajes de programación – Paradigma funcional – Paradigma lógico – Paradigma imperativo o procedimental (estructurado) – Paradigma orientado a objetos Paradigma funcional • El Programa es una Función (o un grupo de funciones). Una Función puede llamar a otra Función, o el resultado de una Función puede ser usado como el argumento de otra Función • La computación se realiza mediante la evaluación de expresiones • Lenguajes: LISP, Scheme, Haskell, Scala Paradigma lógico • La programación Lógica está basada en la noción de relación, debido a que en la relación es un concepto más general de una aplicación. • Definición de reglas • Unificación como elemento de computación • Lenguajes: PROLOG,Mercury, Oz Paradigma Imperativo • Se dispone de un conjunto de operaciones primitivas con una ejecución secuencial • Es necesario diseñar una secuencia adecuada de instrucciones • Definición de procedimientos • Definición de tipos de datos • Chequeo de tipos en tiempo de compilación • Cambio de estado de variables • Ejemplos: PASCAL, ADA y C Paradigma OO • La programación orientada al objeto esta basada en los objetos, clase, método, envió y recepción de mensajes, herencia y polimorfismo • Objetos como abstracción de datos y procedimientos • Chequeo de tipos en tiempo de ejecución • Ejemplos: C++, JAVA.