fundamentos de informática -...

17
Fundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información y Documentación

Upload: others

Post on 13-Jun-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Fundamentos de Informática

Tema 4

Introducción a la programación

1

Grado en Información y Documentación

Page 2: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Contenidos   Introducción: Programas e instrucciones.

  Representación de instrucciones.   Tipos de instrucciones.   Tipos de estructuras en programas.   Partes de una instrucción.

  Tipos de lenguajes.   Código máquina.   Lenguaje ensamblador.   Lenguajes de alto nivel   Lenguajes de bajo nivel vs lenguajes de alto nivel.   Lenguajes de programación: Evolución.

  Traducción.   Ejemplos de lenguajes de alto nivel.

  Entorno de programación.   Metodología de la programación.   Software libre y software propietario.

2

Page 3: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Introducción: Programas e instrucciones.   Para trabajar con un sistema informático nos hace falta un

ordenador (Hardware) y una serie de programas (Software).

  Un programa se puede ver como la solución a un problema establecida en términos de una secuencia de pasos computacionales (instrucciones o sentencias).

  La programación de ordenadores es el proceso de planificación de secuencias de las instrucciones para realizar una acción o tarea.

3

Instrucción1 Instrucción2 Instrucción3

Page 4: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Representación de instrucciones.

  Las instrucciones se representan mediante 0’s y 1s. Código binario o Código máquina.

  Cada codificación depende del procesador.

  Las instrucciones deben ser sencillas. Por ejemplo, suma A,B y no Dibuja una casa.

4

  Un programa se compone de instrucciones.

Page 5: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Tipos de instrucciones   Instrucciones de transferencia: Mover los datos de un

sitio a otro.   Instrucciones de tratamiento de datos: Operaciones

Aritmético-Lógicas   Instrucciones de control: Permiten saltar el orden

secuencial de un programa. Debido a esto, encontramos tres tipos de estructuras en los programas:   Estructura secuencial: Una sentencia sigue a otra.   Estructura condicional: Dependiendo de cuna condición se

ejecuta un conjunto de sentencias u otro.   Estructura repetitiva: Dependiendo de una condición se ejecuta

de forma repetitiva un conjunto de sentencias.

5

Page 6: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Tipos de estructuras en programas.

6

Page 7: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Partes de una instrucción   Código de operación: Codifican una

instrucción determinada.   Argumentos: Datos de la instrucción: Pueden

ser:   Direcciones de memoria con datos.   Datos a usar directamente.   Direcciones de memoria con la siguiente

instrucción.

7

Page 8: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Código máquina   Código máquina, código binario, lenguaje máquina o lenguaje

de bajo nivel.   Las instrucciones propias de cada máquina están codificadas con

ceros y unos.   Dependiente del procesador.   Incomprensibles y engorrosos de usar.   Realización de tareas complejas supone un gran esfuerzo.   Es dificil escribir en binario, se usan nemotécnicos (SUM, MUL,....).

8

Page 9: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Lenguaje ensamblador   Nemotécnico del código máquina.   Sigue ligado al ordenador, pero menos engorroso, pues se

utilizan palabras en lugar de sólo ceros y unos   Se traduce a lenguaje máquina, con un programa

Ensamblador.   Permiten variables, macros y comentarios.

9

Page 10: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Lenguajes de alto nivel   Cercanos al lenguaje natural y matemático. Por tanto son mas

fáciles de entender, leer y escribir.   Más compatibles (casi independientes del procesador).   Se permiten operaciones más complejas. Ej.: raíz cuadrada.   Son menos eficientes.   Se pueden usar sin conocer los entresijos de los ordenadores.   Necesidad de un Traductor que pase de lenguaje de alto

nivel a código máquina.

10

Page 11: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Lenguajes de alto nivel vs. bajo nivel

11

Si(nota>=5)entonces nota=aprobado Sino nota=suspenso Escribe(nota)

Mueve M[22], R1 Mueve 5,R2 Compara R1,R2 SaltaMenor M[10] Mueve M[30],x41 Mueve M[31],x70 Mueve M[32],x72 Mueve M[33],x6F, etc.

Page 12: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Lenguajes de programación. Evolución.   Programas en Circuitos (No hay lenguaje como tal)   Con Von Newmann nacen lenguajes específicos para cada

computadora, en formato binario; son instrucciones simples (0001101011101011010).

  Código máquina.   Lenguaje Ensamblador.   Lenguajes de alto nivel.   Lenguajes de cuarta generación: Herramientas que

permiten construir aplicaciones sencillas combinando piezas prefabricadas.

12

Page 13: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Traducción   Necesidad de un Traductor que pase de lenguaje de alto nivel a

código máquina:   Compilador: Se hace la conversión una vez de forma completa. Una vez

obtenido el programa ejecutable, se ejecutará  todas las veces que queramos, sin nuevas traducciones.

  Intérprete: Se hace la conversión cada vez que se llama, sentencia a sentencia. Interpreta una instrucción y la ejecuta directamente. La traducción se repite en cada ejecución del programa. Los programas son más portables pero más difíciles de optimizar y más lentos.

13

  Cuando la traducción se hace en una máquina distinta a la de ejecución del programa, se utiliza un traductor cruzado. En una computadora se puede interpretar otra distinta, con programas llamados emuladores.

Page 14: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Ejemplos de lenguajes de alto nivel   Java (Interpretado), C(Compilado), C++(Compilado), C#

(Interpretado), Objetive C (Compilado), Pascal(Compilado), Python (Interpretado), PHP (Interpretado), Perl (Interpretado) , JavaScript (Interpretado), Basic(Interpretado), Cobol(compilado), Fortran(Compilado)

14

Page 15: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Entorno de programación   Editor de texto   Compilador/traductor   Depurador: Para corregir errores.   Sistemas de ayuda   Herramientas varias (generación de documentación,

generación de interfaces de usuario, etc.)

15

Page 16: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Metodología de la programación   Estudio de procedimientos y/o métodos para resolver

problemas con computadoras, independientemente de un lenguaje de programación concreto y del ordenador que se va a implementar.

16

  Es fundamental que los programas cumplan:   Legibles: Comprensibles para

cualquier programador.   Modificables: Su estructura debe

permitir modificaciones.   Depurables: Debe ser fácil la

localización y corrección de errores.

Page 17: Fundamentos de Informática - UGRdecsai.ugr.es/~fjgc/docencia/2010-2011/fiid/apuntes/FI-ID-Tema4.pdfFundamentos de Informática Tema 4 Introducción a la programación 1 Grado en Información

Software libre y software propietario   El software libre es el software que respeta la libertad de los usuarios y, por

tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado, redistribuido libremente e incluso vendido. Por lo tanto, debe venir acompañado del código fuente.

  El software libre suele ser gratis o a precio de costo. Sin embargo no es obligatorio que sea así, por lo tanto software libre no es "software gratuito" (denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente.

  Dentro de software libre hay, a su vez, matices que es necesario tener en cuenta:   El software de dominio publico no está protegido, por tanto, podrían generarse

versiones no libres del mismo.   El software libre protegido con copyleft impide a los redistribuidores incluir algún

tipo de restricción, es decir, después de los cambios seguirá siendo libre.

  El software propietario (también llamado no libre o privativo) se refiere a cualquier programa donde los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o redistribuirlo (con o sin modificaciones), o que su código fuente no está disponible o el acceso a éste se encuentra restringido. 17