Algoritmica
Programación.
Andrés Arcia
Departamento de Computación
Escuela de Ingeniería de Sistemas
Facultad de Ingeniería
Universidad de Los Andes
Introducción a la
Programación
Algunas definiciones importantes:
¿Qué es Programar?
Es la acción de escribir instrucciones correctas para que sean
interpretadas por una máquina.
¿Qué es el Software?
Son programas. Para quetengan sentido de software deben
ser ejecutados sobre una máquina.
¿En qué medida nos compete programar?
Depende de su interes. De todas formas hoy en día es un
“must” para cualquier ingeniero.
¿En que medida dependemos de software?
Depende de su estilo de vida, pero para el ciudadano común
la dependencia es bastante: celulares, controles remotos (TV, DVD,
radios, mp3 players, etc.), cajerosautomaticos, etc. ¿Sabia Ud. Que
muy pronto será espiado sin darse cuenta?
Lenguajes de Programación
•
¿Qué es un Lenguaje de Programación?
Es un conjunto de reglas para comunicar ideas.
Generalmente las ideas se le comunican a una
máquina.
•
De que hay que estar pendiente cuando programamos
en un lenguaje:
Sintaxis / Semantica
Sistema de tipos
Errores / ExcepcionesLenguajes de Programación
•
Paradigmas de la Programación
Programación Imperativa
Programación Orientada por Objeto
Programación Funcional
Programación por Eventos
Programación Concurrente
•
•
etc.
Lenguajes de programación populares:
C, C++, Java, PHP, Perl, XHTML.
Dominios de aplicación importantes:
Programación Sistema
Sistemas de Gestión de Información
Niveles de loslenguajes
Lenguaje Natural
Lenguaje de Programación
Compilador / Interprete
Lenguaje Máquina
¿Qué aprenderemos en el
curso?
Aprenderemos a programar en
lenguaje C.
C fue diseñado para dar soporte a
UNIX a mediados de los 70. Hoy en dia
lo encontramos en los mas grandes
OS: Linux y FreeBSD.
C esta normalizado por ANSI (1988).
Etapas de la Compilación
Lenguaje de Máquina
•Lenguaje mas básico, propio de cada computadora,
ya que está relacionado con el diseño del hardware de
la misma (dependiente de la máquina). Por lo general
consisten en cadenas de números al final reducidos a
ceros y unos (sistema numérico binario).
•
Operaciones:
• Cargar
• Almacenar
• Sumar
• Restar
Lenguaje Ensamblador
•
Lenguaje de bajo nivel o ensamblador:
La computadorano 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.
Los lenguajes ensambladores todavía requieren que
el programador tenga un buen conocimiento de la
arquitectura de la computadora.
Como los lenguajes ensambladoresson 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.
Lenguaje de Alto Nivel
•
Permite a los programadores escribir instrucciones en un
lenguaje mas familiar para ellos y que contiene notaciones
matemáticas comúnmente utilizadas (independiente de la
máquina).
Ejemplo:Código de
operación
Dirección
Instrucción en
lenguaje ensamblador
00010101
00010111
00010110
10000001
10000010
10000011
LOAD A
ADD B
STORE C
Instrucción en
lenguaje de alto
nivel
C= A+B
Con este tipo de lenguajes, la programación es mas fácil para los
usuarios ya que éste no necesita tener conocimiento de la
arquitectura de la computadora.
Lenguaje de Alto NivelLenguaje de alto nivel:
Como ocurre con los lenguajes ensambladores, 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.
Los lenguajes de alto nivel permiten portabilidad,
mejor expresión de las...
Regístrate para leer el documento completo.