Publicado el 15 de Septiembre del 2018
629 visualizaciones desde el 15 de Septiembre del 2018
2,3 MB
99 paginas
Creado hace 8a (07/09/2015)
Conceptos básicos
Fundamentos de la programación
Salvador Sánchez, Miguel A. Sicilia
Universidad de Alcalá
Septiembre de 2015
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
1 / 53
Licencia
Los contenidos de esta presentación pueden ser copiados y redistribuidos
en cualquier medio o formato, así como adaptados, remezclados,
transformados y servir de base para la creación de nuevos materiales a
partir de ellos, según la licencia Atribución 4.0 Unported (CC BY 4.0)
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
2 / 53
Resolver problemas
Problema: enunciado → estrategia de resolución → solución
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
3 / 53
Resolver problemas
Problema: enunciado → estrategia de resolución → solución
Un algoritmo es un método para resolver un problema
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
3 / 53
Resolver problemas
Problema: enunciado → estrategia de resolución → solución
Un algoritmo es un método para resolver un problema
Al-Khw¯arizm¯ı: matemático persa (siglo IX) que enunció reglas paso a
paso para la resolución de operaciones aritméticas de números
decimales
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
3 / 53
Resolver problemas
Problema: enunciado → estrategia de resolución → solución
Un algoritmo es un método para resolver un problema
Al-Khw¯arizm¯ı: matemático persa (siglo IX) que enunció reglas paso a
paso para la resolución de operaciones aritméticas de números
decimales
Uno de los objetivos fundamentales de esta asignatura es aprender
a dise¯nar algoritmos
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
3 / 53
Algoritmo
Una receta es un algoritmo, pues describe cómo llevar a cabo un
cierto trabajo, en este caso, la elaboración de una Tortilla francesa
Cascar un huevo de gallina en un plato
Batirlo con un tenedor
Calentar 10cc de aceite de oliva en una sartén
Cuando el aceite esté caliente, verter el contenido del plato
Darle la forma deseada volteando el huevo con un tenedor
Quitar la sartén del fuego una vez terminada
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
4 / 53
Algoritmo
Una receta es un algoritmo, pues describe cómo llevar a cabo un
cierto trabajo, en este caso, la elaboración de una Tortilla francesa
Cascar un huevo de gallina en un plato
Batirlo con un tenedor
Calentar 10cc de aceite de oliva en una sartén
Cuando el aceite esté caliente, verter el contenido del plato
Darle la forma deseada volteando el huevo con un tenedor
Quitar la sartén del fuego una vez terminada
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
4 / 53
Algoritmos para humanos
Otro algoritmo (muy popular)...
Estirar el brazo izquierdo
Estirar el brazo derecho
Tocar el hombro derecho con brazo izquierdo
Tocar el hombre izquierdo con bazo derecho
Poner la mano izquierda en la nuca
Poner la mano derecha en la nunca
Poner la mano izquierda en la cadera
Poner la mano derecha en la caldera
Giro completo de la cadera
Saltar y girar 90◦ a la derecha
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
5 / 53
Algoritmos para humanos
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
6 / 53
Procesadores
Un procesador es toda entidad capaz de comprender un algoritmo y
llevar a cabo el trabajo indicado en el mismo
En los dos primeros ejemplos, una persona que sepa leer español y que
disponga de los utensilios necesarios
En el ejemplo de Lego, cualquiera que sepa interpretar los diagramas
Un algoritmo puede expresarse en diferentes lenguajes
Si se desea que lo procese un ordenador, hay que emplear un lenguaje
especial, llamado lenguaje de programación
El microprocesador de un ordenador es un procesador capaz de
ejecutar instrucciones mediante operaciones simples y accesos a la
memoria del ordenador.
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
7 / 53
Un microprocesador
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
8 / 53
Esquema simplificado de un ordenador
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
9 / 53
Resolución de problemas con ordenador
Ayudado por un ordenador, la resolución de un problema consiste en:
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
10 / 53
Resolución de problemas con ordenador
Ayudado por un ordenador, la resolución de un problema consiste en:
Analizar el problema
Diseñar una estrategia de resolución o algoritmo
Resolver el algoritmo en el ordenador
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
10 / 53
Resolución de problemas con ordenador
Ayudado por un ordenador, la resolución de un problema consiste en:
Analizar el problema
Diseñar una estrategia de resolución o algoritmo
Resolver el algoritmo en el ordenador
Se trata de un proceso iterativo e incremental
No termina con la entrega del programa: mantenimiento
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
10 / 53
Resolución de problemas con ordenador
Análisis: ¿qué datos necesito para resolverlo? ¿qué información ha de
producir su resolución?
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
11 / 53
Resolución de problemas con ordenador
Análisis: ¿qué datos necesito para resolverlo? ¿qué información ha de
producir su resolución?
Diseño: Descomponer el problema en problemas más simples.
Especificar los pasos para cada subproblema.
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
11 / 53
Resolución de problemas con ordenador
Análisis: ¿qué datos necesito para resolverlo? ¿qué información ha de
producir su resolución?
Diseño: Descomponer el problema en problemas más simples.
Especificar los pasos para cada subproblema.
Resolución: Codificación del algoritmo en un lenguaje de
programación. Ejecución del programa y comprobación.
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
11 / 53
Lenguajes de programación
Un lenguaje de programación es un lenguaje formal concebido para
comunicar instrucciones a un ordenador.
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
12 / 53
Lenguajes de programación
Un lenguaje de programación es un lenguaje formal concebido para
comunicar instrucciones a un ordenador.
Un programa es la representación de un algoritmo en un lenguaje de
programación que permite ejecutar dicho algoritmo en un ordenador.
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
12 / 53
Lenguajes de programación
Un lenguaje de programación es un lenguaje formal concebido para
comunicar instrucciones a un ordenador.
Un programa es la representación de un algoritmo en un lenguaje de
programación que permite ejecutar dicho algoritmo en un ordenador.
La representación se puede hacer a varios niveles:
Lenguaje máquina (código binario: por ejemplo el conjunto de
instrucciones para los microprocesadores de la familia x86).
Lenguaje ensamblador (por ejemplo, la sintaxis Intel para el conjunto
de instrucciones x86).
Lenguajes de alto nivel (por ejemplo, C, Java, Python, etc.).
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
12 / 53
Código máquina
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
13 / 53
Ensamblador
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
14 / 53
Lenguajes de programación de alto nivel
Dentro de los de alto nivel, hay diferentes formas de clasificarlos.
http://en.wikipedia.org/wiki/Category:Programming language classification
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
15 / 53
Lenguajes de programación de alto nivel
Dentro de los de alto nivel, hay diferentes formas de clasificarlos.
http://en.wikipedia.org/wiki/Category:Programming language classification
Desde la aparición de Fortran en 1954, se han contado al menos 2300
lenguajes de alto nivel. Sus relaciones se pueden consultar aquí:
http://www.digibarn.com/collections/posters/tongues/
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá)
Fundamentos de la programación
Septiembre de 2015
15 / 53
Lenguajes de programación de alto nivel
Dentro de los de alto nivel, hay diferentes formas de clasificarlos.
http://en.wikipedia.org/wiki/Category:Programming language classification
Desde la aparición de Fortran en 1954, se han contado al menos 2300
lenguajes de alto nivel. Sus relaciones se pueden consultar aquí:
http://www.digibarn.com/collections/posters/tongues/
Muchos de ellos están “en peligro de extinción”.
Salvador Sánchez, Miguel A. Sicilia (Universidad de Alcalá
Comentarios de: Conceptos básicos - Fundamentos de la programación (0)
No hay comentarios