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
Componentes de la computadora 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 Prof. Flor Narciso Programación 1 Semestre A-2010 2
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 Programación 1 Semestre A-2010 3
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 Programación 1 Semestre A-2010 4
Software vs. Programa Software Programa 1 Programa 2 ….. Programa n Sentencia 1 ….. Sentencia m Prof. Flor Narciso Programación 1 Semestre A-2010 5
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 Programación 1 Semestre A-2010 6
Lenguajes de Programación Clasificación: Lenguaje de máquina Lenguaje ensamblador Lenguaje de alto nivel Prof. Flor Narciso Programación 1 Semestre A-2010 7
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 Programación 1 Semestre A-2010 8
Lenguaje de Máquina Operaciones básicas: Segmento de programa en Cargar datos desde la memoria Almacenar datos en memoria Operaciones aritméticas Operaciones de comparación Ejemplo: C = A + B 0001010110000001 0001011110000010 0001011010000011 0001011010000111 Segmento de programa en lenguaje de máquina Prof. Flor Narciso Programación 1 Semestre A-2010 9
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 Segmento de programa en lenguaje ensamblador Prof. Flor Narciso Programación 1 Semestre A-2010 10
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 Programa escrito en lenguaje ensamblador (código fuente) Programa escrito en lenguaje de máquina (código objeto) Ensamblador Prof. Flor Narciso Programación 1 Semestre A-2010 11
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 Programación 1 Semestre A-2010 12
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 Programación 1 Semestre A-2010 13
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 Programa escrito en lenguaje de alto nivel (código fuente) Programa escrito en lenguaje de máquina (código objeto) Compilador Prof. Flor Narciso Programación 1 Semestre A-2010 14
Lenguaje de Alto Nivel 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 Programación 1 Semestre A-2010 15
Lenguajes de Programación Lenguaje de alto nivel Usuario Lenguaje ensamblador Lenguaje de máquina Computadora Prof. Flor Narciso Programación 1 Semestre A-2010 16
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 Programación 1 Semestre A-2010 17
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 Programación 1 Semestre A-2010 18
Software ¿ Qué le hacemos a los datos ? Software ¿ En qué orden (cuándo se lo hacemos) ? ¿ Cuántas veces ? Software Datos (Entrada) Información (Salida) ¿ Qué datos tenemos ? ¿ Cómo les llamamos ? ¿ Cómo son (tipo y/o estructura) ? ¿ Qué se puede hacer con ellos ? Prof. Flor Narciso Programación 1 Semestre A-2010 19
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 Programación 1 Semestre A-2010 20
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 Programación 1 Semestre A-2010 21
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 Programación 1 Semestre A-2010 22