PDF de programación - Conceptos básicos - Fundamentos de la programación

Imágen de pdf Conceptos básicos - Fundamentos de la programación

Conceptos básicos - Fundamentos de la programacióngráfica de visualizaciones

Publicado el 15 de Septiembre del 2018
221 visualizaciones desde el 15 de Septiembre del 2018
2,3 MB
99 paginas
Creado hace 4a (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á
  • Links de descarga
http://lwp-l.com/pdf13494

Comentarios de: Conceptos básicos - Fundamentos de la programación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad