Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas...

22
Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes

Transcript of Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas...

Page 1: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Programación 1 (01)Unidad III: Lenguajes de Programación

Metodología de desarrollo de programas

Prof. Flor NarcisoDepartamento de Computación

Escuela de Ingeniería de SistemasFacultad de Ingeniería

Universidad de Los Andes

Page 2: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Sistema computacional = Hardware + Software + Datos + Usuarios

Componentes físicos o equipo (hardware)

Componentes lógicos o programas (software)

Datos que son convertidos en información por el sistema

Usuarios o personas

Sistema computacional = Hardware + Software + Datos + Usuarios

Componentes físicos o equipo (hardware)

Componentes lógicos o programas (software)

Datos que son convertidos en información por el sistema

Usuarios o personas

Componentes de la computadora

Prof. Flor Narciso 2Programación 1Semestre A-2010

Page 3: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Software

• El software es un objeto abstracto asociado a un sistema de computación para:

– Dar solución a un problema – Automatizar procesos de información y decisión

– Satisfacer requisitos de un conjunto de usuarios

Prof. Flor Narciso 3Programación 1Semestre A-2010

Page 4: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Software vs. Programa

• Software: Conjunto de programas necesarios para hacer posible la realización de una tarea específica

Software = Programas + Datos + Documentación

• Programa: Secuencia de sentencias• Sentencia o instrucción: Especifica ciertas

operaciones que debe ejecutar una computadora

Prof. Flor Narciso 4Programación 1Semestre A-2010

Page 5: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Software vs. Programa

Prof. Flor Narciso 5Programación 1Semestre A-2010

SoftwareSoftware

Programa 1Programa 1 Programa 2Programa 2 Programa nPrograma n

Sentencia 1Sentencia 1 Sentencia mSentencia m

…..

…..

Page 6: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguajes de Programación

• Lenguaje de programación: Notación que permite escribir programas

– Léxico : Vocabulario

– Sintaxis : Reglas gramaticales

– Semántica: Reglas que permiten determinar el significado de las sentencia del lenguaje

Prof. Flor Narciso 6Programación 1Semestre A-2010

Page 7: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguajes de ProgramaciónClasificación:

• Lenguaje de máquina

• Lenguaje ensamblador

• Lenguaje de alto nivel

Prof. Flor Narciso 7Programación 1Semestre A-2010

Page 8: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguaje de Máquina Lenguaje más básico, propio de cada computadora, ya que

está relacionado con el diseño del hardware de la misma (dependiente de la computadora)

Consiste en cadenas de ceros y unos (sistema numérico binario)

El programador debe conocer la arquitectura de la computadora

Prof. Flor Narciso 8Programación 1Semestre A-2010

Page 9: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguaje de Máquina• Operaciones básicas:

• Cargar datos desde la memoria• Almacenar datos en memoria• Operaciones aritméticas• Operaciones de comparación

Ejemplo: C = A + B

0001010110000001000101111000001000010110100000110001011010000111

Prof. Flor Narciso

Segmento de programa en lenguaje de máquinaSegmento de programa en lenguaje de máquina

9Programación 1Semestre A-2010

Page 10: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguaje Ensamblador o de bajo nivel

Consiste en abreviaturas similares al inglés, llamadas instrucciones mnemotécnicas, que permiten representar las operaciones elementales de la computadora

Ejemplo: C = A + B

LOAD A ADD B STORE C

Prof. Flor Narciso

Segmento de programa en lenguaje ensambladorSegmento de programa en lenguaje ensamblador

10Programación 1Semestre A-2010

Page 11: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguaje Ensamblador o de bajo nivel

• La computadora no entiende directamente lenguaje ensamblador por lo que un programa escrito en este lenguaje tiene que ser traducido a lenguaje de máquina por un programa llamado un ensamblador para que pueda ser ejecutado por la computadora

Prof. Flor Narciso

Programa escrito en lenguaje ensamblador (código fuente)

Programa escrito en lenguaje de máquina (código objeto)

Ensamblador

11Programación 1Semestre A-2010

Page 12: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguaje Ensamblador o de bajo nivel

• Son dependientes de la arquitectura de la computadora (dependientes de la máquina), todo programa escrito en un lenguaje ensamblador particular tendrá que ser reescrito si se va a ejecutar en otro tipo de computadora

• Requieren que el programador tenga un buen conocimiento de la arquitectura de la computadora

Prof. Flor Narciso 12Programación 1Semestre A-2010

Page 13: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguaje de Alto Nivel

• Permite a los programadores escribir programas en un lenguaje más familiar para ellos y que contiene notaciones matemáticas comúnmente utilizadas (independiente de la máquina)

• La programación es más fácil para los programadores ya que no necesitan conocer la arquitectura de la computadora

• Son independientes de la máquina, cualquier programa escrito en un lenguaje de alto nivel particular (que tiene una versión estandarizada) puede ser ejecutado en cualquier computadora

Prof. Flor Narciso 13Programación 1Semestre A-2010

Page 14: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguaje de Alto Nivel• La computadora no entiende directamente lenguaje de alto

nivel, por lo que un programa escrito en este lenguaje tiene que ser traducido a lenguaje de máquina por un programa llamado un compilador para que pueda ser ejecutado por la computadora

Prof. Flor Narciso

Compilador

Programa escrito en lenguaje de alto nivel (código fuente)

Programa escrito en lenguaje de máquina (código objeto)

14Programación 1Semestre A-2010

Page 15: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Ejemplos

- Java - BASIC - Modula 2- C - Visual Basic - Logo- C++ - Pascal - Ruby- C# - Object Pascal- FORTRAN - ADA - Eiffel- PROLOG - COBOL - Clarion- LISP - ALGOL - Delphi

-PL/I - CLIPPER - Perl

-SMALLTALK - Objective-C - PHP-PowerBuilder - Phyton - Ocaml

Prof. Flor Narciso 15Programación 1Semestre A-2010

Lenguaje de Alto Nivel

Page 16: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguaje de alto nivel

LenguajeensambladorLenguajeensamblador

Lenguaje de máquina

UsuarioUsuario

ComputadoraComputadora

Prof. Flor Narciso 16Programación 1Semestre A-2010

Lenguajes de Programación

Page 17: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguajes de Programación

• Cada CPU tiene su propio lenguaje de máquina interno. La programación a este nivel se realiza generalmente en el lenguaje ensamblador específico de la computadora

• Cada instrucción en lenguaje ensamblador corresponde a una instrucción en lenguaje de máquina

• Cualquier programa escrito usando un estándar de un lenguaje de programación debe poder ejecutarse en cualquier computadora después de compilarlo. Esto se le conoce como portabilidad de programas

Prof. Flor Narciso 17Programación 1Semestre A-2010

Page 18: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Lenguajes de Programación Elementos de un lenguaje de programación

Un sub-lenguaje para definir los datos ¿ Qué datos tenemos ? ¿ Cómo les llamamos ?¿ Cómo son (tipo y/o estructura) ?¿ Qué se puede hacer con ellos ?

Un sub-lenguaje para definir los algoritmos ¿ Qué le hacemos a los datos ? ¿ En qué orden (cuándo se lo hacemos) ? ¿ Cuántas veces ?

Prof. Flor Narciso 18Programación 1Semestre A-2010

Page 19: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Software

Prof. Flor Narciso

SoftwareDatos

(Entrada)

Información

(Salida)

19Programación 1Semestre A-2010

¿ Qué datos tenemos ? ¿ Cómo les llamamos ?¿ Cómo son (tipo y/o estructura) ?¿ Qué se puede hacer con ellos ?

¿ Qué datos tenemos ? ¿ Cómo les llamamos ?¿ Cómo son (tipo y/o estructura) ?¿ Qué se puede hacer con ellos ?

¿ Qué le hacemos a los datos ? ¿ En qué orden (cuándo se lo hacemos) ? ¿ Cuántas veces ?

¿ Qué le hacemos a los datos ? ¿ En qué orden (cuándo se lo hacemos) ? ¿ Cuántas veces ?

Page 20: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Dato

• Dato: Representación simbólica (numérica, alfabética, etc.), atributo o característica de una entidad

Ejemplo – Entidad: “país”– Datos: número de habitantes, densidad de población,

idioma, moneda, ubicación geográfica, etc.

Prof. Flor Narciso 20Programación 1Semestre A-2010

Page 21: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Información Información: Conjunto organizado de datos, que constituyen

un mensaje sobre un determinado ente o fenómeno

Ejemplo Entidad: “país” Datos: número de habitantes, densidad de población,

idioma, moneda, ubicación geográfica, etc. Información: Si por ejemplo organizamos datos estos

datos y escribimos el capítulo de un libro, se puede decir que ese capítulo constituye información sobre ese país

Prof. Flor Narciso 21Programación 1Semestre A-2010

Page 22: Programación 1 (01) Unidad III: Lenguajes de Programación Metodología de desarrollo de programas Prof. Flor Narciso Departamento de Computación Escuela.

Conocimiento

• Cuando se tiene que resolver un determinado problema o se tiene que tomar una decisión:

– Se emplean diversas fuentes de información (como por ejemplo el capítulo mencionado de este imaginario libro)

– Se construye lo que en general se denomina conocimiento o información organizada que permite la resolución de problemas o la toma de decisiones

Prof. Flor Narciso 22Programación 1Semestre A-2010