PDF de programación - Tema 1 - Introducción a la Programación

Imágen de pdf Tema 1 - Introducción a la Programación

Tema 1 - Introducción a la Programacióngráfica de visualizaciones

Publicado el 20 de Enero del 2019
1.074 visualizaciones desde el 20 de Enero del 2019
1,1 MB
42 paginas
Creado hace 8a (06/09/2015)
Tema 1

Introducción a la Programación

Programación
2015-2016

Programacion – Tema 1: Introducción a la Programación

1

Agenda

 ¿Qué es programar?
 Arquitectura básica de un ordenador
 Breve introducción histórica a la programación
 Compilación vs. interpretación de programas
 Paradigmas de programación
 Programación orientada a objetos: Java
 Resumen y Referencias

Programacion – Tema 1: Introducción a la Programación

2

¿Qué es programar?

 Según la RAE:

 5. tr. Inform. Elaborar programas para la

resolución de problemas mediante ordenadores

 Una definición informal pero más explicativa:

 Proporcionar a un ordenador un conjunto de

datos y unas instrucciones sobre lo que se debe
hacer con esos datos con el objetivo de
resolver algún problema

Programacion – Tema 1: Introducción a la Programación

3

¿Qué es programar?

Objetivo: Resolver un Problema
Cómo resolverlo: Utilizando un algoritmo y los
datos del problema.
– Un algoritmo es:

• Un conjunto de instrucciones que en una determinada
secuencia permite la resolución de un problema paso a
paso.

• Una lista bien definida, ordenada y finita de operaciones

que permite hallar la solución a un problema.

– Los datos son los propios del problema y serán

manejados por el algoritmo

Programacion – Tema 1: Introducción a la Programación

4

Ejemplo de algoritmo

 Algoritmo para cambiar la rueda de un coche
Datos: rueda pinchada y ubicación del gato, de la rueda de
repuesto y de la llave inglesa

 PASO 1. Aflojar los tornillos de la rueda pinchada con la llave inglesa
 PASO 2. Colocar el gato mecánico en su sitio
 PASO 3. Levantar el gato hasta que la rueda pinchada pueda girar

libremente

 PASO 4. Quitar los tornillos
 PASO 5. Quitar la rueda pinchada
 PASO 6. Poner rueda de repuesto
 PASO 7. Poner los tornillos y apretarlos ligeramente
 PASO 6. Bajar el gato hasta que se pueda liberar
 PASO 7. Sacar el gato de su sitio
 PASO 8. Apretar los tornillos con la llave inglesa

Programacion – Tema 1: Introducción a la Programación

5

Agenda

 ¿Qué es programar?
 Arquitectura básica de un ordenador
 Breve introducción histórica a la programación
 Compilación vs. interpretación de programas
 Paradigmas de programación
 Programación orientada a objetos: Java
 Resumen y Referencias

Programacion – Tema 1: Introducción a la Programación

6

Arquitectura básica de un ordenador
 Hardware vs. Software
 El 99% de los ordenadores actuales tiene la

siguiente arquitectura1:

Memoria

Bus

CPU

Dispositivos

E/S

 Datos e instrucciones comparten memoria
1Denominada arquitectura de Von Neumann, aunque fue propuesta inicialmente por Eckert y Mauchly

Programacion – Tema 1: Introducción a la Programación

7

Características de la arquitectura

 Componentes:

 Unidad central de proceso (CPU)

 Memoria

 Se encarga fundamentalmente de ejecutar las instrucciones y

coordinar el resto de elementos

 Almacena los datos, las instrucciones y los resultados
 Clasificación: principal/secundaria, permanente/volátil, acceso

directo/secuencial

 Dispositivos de entrada/salida

 Para proporcionar los datos e instrucciones y recibir los

resultados

 Bus de datos

 Para compartir la información entre los componentes anteriores

Programacion – Tema 1: Introducción a la Programación

8

Ejemplo de ordenador real

Programacion – Tema 1: Introducción a la Programación

9

Tipos de software

 Básicamente se puede dividir en 2 tipos:

 Software de Sistema (Sistema operativo)

 Proporciona control sobre el hardware y sirve de base a las

aplicaciones

 Software de Aplicaciones

 Programas con finalidades específicas, resuelven un problema o

familia de problemas determinados

 Ofimática (procesadores de texto, hojas de cálculo…)
 Contabilidad
 Control
 Juegos
 ...

Programacion – Tema 1: Introducción a la Programación

10

Agenda

 ¿Qué es programar?
 Arquitectura básica de un ordenador
 Breve introducción histórica a la programación
 Compilación vs. interpretación de programas
 Paradigmas de programación
 Programación orientada a objetos: Java
 Resumen y Referencias

Programacion – Tema 1: Introducción a la Programación

11

Lenguaje de programación

 Programa = datos + instrucciones
 Para comunicarle al ordenador el programa se

usa un lenguaje de programación

 Los ordenadores no entienden lenguaje natural

 ¿Cómo decimos al ordenador lo que tiene que
hacer?: Escribiendo un programa en un lenguaje de
programación determinado, para implementar ese
algoritmo

 Lenguajes específicos vs. generales

Programacion – Tema 1: Introducción a la Programación

12

Tipos de lenguajes de programación

 Lenguaje Binario o Código Máquina

 0 y 1

 Lenguajes de Bajo Nivel

 Instrucciones básicas (mover datos, sumar…)

 Lenguajes de Alto Nivel

 Más cercanos al lenguaje natural
 … aunque tampoco demasiado

Programacion – Tema 1: Introducción a la Programación

13

Código Máquina

 Lenguaje Binario o Código Máquina: único

lenguaje que entiende el ordenador
 Datos e instrucciones se codifican mediante

conjuntos de 0 y 1

propio lenguaje

 El más rápido: hablamos al ordenador en su

 Muy propenso a errores, muy complicado

Programacion – Tema 1: Introducción a la Programación

14

Representación de datos e instrucciones
 La memoria está compuesta por bits que sólo

pueden valer 1 o 0
 Información codificada en binario
 Los bits se agrupan en bytes (8 bits)
 Cada celda de memoria contiene entre 1 y 8
bytes y almacena un dato, un resultado o una
instrucción

0
1
2
3

0 1 0 1 1 1 1 1
0 0 0 0 0 1 1 1
1 0 0 1 1 0 1 0
0 1 1 0 0 1 1 0

95
7
sumar
102

Programacion – Tema 1: Introducción a la Programación

15

Lenguajes de bajo nivel
 Se usa un traductor para convertir desde un

lenguaje textual a código máquina
 El traductor es un programa que le dice al

ordenador cómo realizar la traducción

1010

1101

Traduc-tor

Programa binario

Programa

 Nace el lenguaje ensamblador: cambiamos 0 y

1 por texto, pero sigue siendo muy poco
intuitivo
 Depende totalmente del tipo de procesador

Programacion – Tema 1: Introducción a la Programación

16

Lenguajes de bajo nivel

 Ejemplo de código en ensamblador

.model small
.stack
.data
Cadena1 DB 'Hola Mundo.$'
.code

programa:
mov ax, @data
mov ds, ax
mov dx, offset Cadena1
mov ah, 9
int 21h
mov ah,4ch
int 21h
end programa

Programacion – Tema 1: Introducción a la Programación

17

Lenguajes de alto nivel (I)
 Intentan acercar el lenguaje de programación al lenguaje

humano
 Luego el ordenador se encargará de traducir
 Ideal: poder usar lenguaje natural

 Existen más de 300 (unos 2400 con dialectos)
 Los pioneros incluían conceptos como:

 Variables: no es necesario gestionar los datos

directamente en la memoria

 Estructuras de datos complejas
 Nuevas instrucciones, distintas de las que proporciona

el ordenador

 Historia:

http://manuelpereiragonzalez.blogspot.com/2009/09/historia-de-la-informatica-los.html

Programacion – Tema 1: Introducción a la Programación

18

La evolución de forma gráfica

Programacion – Tema 1: Introducción a la Programación

19

Uso de algunos lenguajes

Programacion – Tema 1: Introducción a la Programación

20

Jerarquía de los programadores

Quién se considera
superior a quién

http://www.hermann-uwe.de/files/images/programmer_hierarchy.png

Programacion – Tema 1: Introducción a la Programación

21

Agenda

 ¿Qué es programar?
 Arquitectura básica de un ordenador
 Breve introducción histórica a la programación
 Compilación vs. interpretación de programas
 Paradigmas de programación
 Programación orientada a objetos: Java
 Resumen y Referencias

Programacion – Tema 1: Introducción a la Programación

22

Compilación e interpretación

 La traducción desde un lenguaje de programación

a binario se puede hacer de dos formas:
 Todo a la vez: compilador

 Ejecución más rápida

 Instrucción a instrucción: intérprete

 Ejecuta aunque haya errores en el código
 Permite cambios “en caliente”

Programacion – Tema 1: Introducción a la Programación

23

Compilación

http://xkcd.com/303/

Programacion – Tema 1: Introducción a la Programación

24

Agenda

 ¿Qué es programar?
 Arquitectura básica de un ordenador
 Breve introducción histórica a la programación
 Compilación vs. interpretación de programas
 Paradigmas de programación
 Programación orientada a objetos: Java
 Resumen y Referencias

Programacion – Tema 1: Introducción a la Programación

25

Paradigmas de programación

 Tres formas principales de darle las instrucciones al
ordenador:
 Programación imperativa (Java, C, C++, Python)
 Programación funcional (Lisp, Haskell, Erlang,F#)

 Se describen los pasos necesarios para solucionar el problema

 Las instrucciones se dan mediante funciones “matemáticas”

que transforman los datos.

 Programación lógica (Prolog)

 Se describe el problema pero no se dan instrucciones: se

resuelve mediante inferencia lógica.
 Ninguno es siempre mejor que otro
 Muchos lenguajes son mixtos

(ver http://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng.pdf)

Programacion – Tema 1: Introducción a la Programación

26

Paradigmas de programación

Java – Factorial.java
public class Factorial {

public static double factorial(int n) {
int f = 1;
for(int i= 2; i< = n; i+ + )
f *= i;
return f;
}
public static void m ain(String [] args) {
factorial(42);
}

}

Haskell – fac.hs
fac 0 = 1 fac n = n * fac (n-1)
m ain = print (fac 42)

Prolog - factorial.hs
factorial(0,1).
factorial(N,F) :-
N > 0,
N 1 is N -1,
factorial(N1,F1),
F is N * F1.
?- factorial(42,X).

Programacion – Tema 1: Introducción a la Programación

27

Agenda

 ¿Qué es programar?
 Arquitectura básica de un ordenador
 Breve introducción histórica a la programación
 Compilación vs. interpretación de programas
 Paradigmas de prog
  • Links de descarga
http://lwp-l.com/pdf14913

Comentarios de: Tema 1 - Introducción a la Programación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad