Algoritmia y Programación

Descargar como pdf o txt
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.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy