Upload
raquel-jimenez-cabrera
View
219
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
…..
…..
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
Lenguajes de ProgramaciónClasificación:
• Lenguaje de máquina
• Lenguaje ensamblador
• Lenguaje de alto nivel
Prof. Flor Narciso 7Programación 1Semestre A-2010
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
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
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
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
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
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
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
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
Lenguaje de alto nivel
LenguajeensambladorLenguajeensamblador
Lenguaje de máquina
UsuarioUsuario
ComputadoraComputadora
Prof. Flor Narciso 16Programación 1Semestre A-2010
Lenguajes de Programación
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
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
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 ?
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
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
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