Professional Documents
Culture Documents
Email: fnunez@itla.edu.do
Introduccion
Programacion
Lenguajes tipos
Lenguajes
de bajo nivel
Lenguajes de nivel intermedio
Lenguajes de alto nivel
Errores de programacin
Errores
de sintaxis
Dato
Dat
Errores
Errores
en tiempo de ejecucin
de lgica
Suma=a+b
Suma=a*B
Errores
frecuentes cuando
programacion
ambito
La
informtica:
actualmente aplicada
No
es vitalmente importante
Importante:
entrenar y tener fruto
Capacidad de anlisis
Metodologa para la resolucin
Fases de proceso de
programacion
Anlisis
Diseo
Codificacin
Compilacin
Depuracin
y ejecucin
Documentacin
verificacin
tipo)
Cual es la salida deseada?
Que mtodo produce la salida deseada?
Fase de diseno
Fase
Fase
Implementacin del
algoritmo
Para
Codificacin
Compilacin y ejecucin
Verificacin
Depuracin
Documentacin
codificacion
Se
Ejemplo:
Anlisis
algoritmo
Respuesta=0
A=1 b=2
Respuesta=a+b
Presentar(respue
sta)
Proceso sumar
Respuesta<-0
Leer a
Leer b
Respuesta <a+b;
Escribir
respuesta;
Fin proceso
Codificacin en
un lenguaje
Codificacin
Mtodos
Codificar
es
lenguaje u otro
Compilacin y ejecucion
El
compilador y el S.O).
Si
Verificacin , depuracin y
documentacin
Podremos
cdigo.
Lo haremos con las facilidades que
nos de el programa.
Transcripcin
Este es el proceso a travs del cual convertimos un algoritmo, escrito en
trminos muy
coloquiales e informales, en un listado de instrucciones entendibles a un
computador y que se ajustan a las reglas sintcticas de determinado
lenguaje de programacin. Podramos decir que es la traduccin de un
algoritmo con la ortografa de un Lenguaje de Programacin.
Qu son las reglas sintcticas de un Lenguaje de Programacin..? Son todas
las restricciones
tcnicas (y algunas veces caprichosas) sobre las cuales est construdo el
Lenguaje. Por ejemplo y solo con el nimo de ilustrar lo que acabo de decir.
Si estamos utilizando el Lenguaje de Programacin C, la orden para leer un
dato se da con la instruccin cin as como est escrito y sin ningn tipo de
modificacin por mas mnima que sta sea. Ser un error, entonces,
escribir esta orden as Cin as cim. El Lenguaje C solo entiende la
instruccin cin tal como sus creadores la disearon. De tal forma que para
escribir un algoritmo computacional en trminos entendibles a
uncomputador lo nico que necesitamos saber son las reglas sintcticas de
Qu
es un programa?
Qu es un programa?
Un programa de ordenador es una secuencia de instrucciones
que el ordenador debe seguir para realizar una tarea.
Traduccin de un algoritmo a un lenguaje de
programacin
Lenguajes de programacin:
niveles, sintaxis y semntica (IV)
Lenguaje de programacin =
Lxico + Sintaxis + Semntica
Lenguajes de programacin:
niveles, sintaxis y semntica (V)
Aspectos a considerar en el diseo e implementacin
de los lenguajes de programacin (I)
Lxico
Sintaxis
Semntica
Gestin de memoria
Manejo de excepciones
Implementacin
Pragmtica
Lenguajes de programacin:
niveles, sintaxis y semntica (VI)
Aspectos a considerar en el diseo e implementacin
de los lenguajes de programacin (II)
Lxico
Es el conjunto de categoras gramaticales que definen el
vocabulario del lenguaje de programacin. Comnmente, el
lxico de un lenguaje de programacin posee las siguientes
categoras gramaticales:
Identifier (nombre de variables, nombre de constantes, nombre
de funciones, etc.)
Literal (nmeros enteros y decimales)
Operator (+, -, *, /. etc.)
Separator (; . , etc.)
Keyword (while, read, write, if, for, case, int, real, etc.)
Lenguajes de programacin:
niveles, sintaxis y semntica (VII)
Aspectos a considerar en el diseo e implementacin
de los lenguajes de programacin (III)
Sintaxis
La sintaxis de un lenguaje de programacin es la definicin
gramatical de lo que constituye un programa en dicho lenguaje.
La sintaxis se especifica en trminos de un conjunto de reglas
que rigen la construccin de los programas. La definicin de la
sintaxis de un lenguaje de programacin debe ser clara, concisa y
formal. La sintaxis del lenguaje de programacin se describe a
partir de otros lenguajes, llamados metalenguajes. Uno de los
metalenguajes ms difundidos es el formalismo BNF (BackusNaur Form), una gramtica libre de contexto.
Lenguajes de programacin:
niveles, sintaxis y semntica (VIII)
Aspectos a considerar en el diseo e implementacin
de los lenguajes de programacin (IV)
Semntica
Se refiere al significado de los programas. Es el conjunto de
reglas que permiten determinar el significado de cualquier
construccin del lenguaje. La semntica asocia un significado a
cada posible construccin gramatical del lenguaje.
Gestin de memoria
La gestin de memoria se refiere al proceso de asignar valores a
la memoria, considerando tanto las caractersticas estticas como
dinmicas de dichos valores. Los valores pueden ser asignados a
una de tres categoras de memoria: memoria esttica, la pila en
tiempo de ejecucin y el montculo.
Lenguajes de programacin:
niveles, sintaxis y semntica (IX)
Aspectos a considerar en el diseo e implementacin
de los lenguajes de programacin (V)
Manejo de excepciones
Una excepcin es una condicin detectada por una operacin la
cual no se puede resolver en el contexto de la operacin. Dos
procesos bsicos se asocian al manejo de excepciones: (1)
lanzamiento de la excepcin y (2) captura de la excepcin. El
lanzamiento de una excepcin es sealar que se ha producido
una excepcin, mientras que la captura de la excepcin consiste
en proporcionar una forma de manipular dicha excepcin,
transfirindose el control del programa al manipulador de la
excepcin.
Lenguajes de programacin:
niveles, sintaxis y semntica (X)
Aspectos a considerar en el diseo e implementacin
de los lenguajes de programacin (VI)
Implementacin
Cmo se ejecutan los programas.
Pragmtica
Se refiere a los aspectos prcticos del uso de los programas.
Lenguajes de programacin:
niveles, sintaxis y semntica (XI)
Lenguaje natural
Aplicacin
Lenguaje de programacin
Compilador/Intrprete
Contexto en el
que se ubican
los lenguajes
de
programacin
Mquina virtual
Sistema operativo
Lenguaje
de
mquina
Lenguajes de programacin:
traductores de lenguajes (I)
Traductores de
lenguaje
Intrpretes
Compiladores
Lenguajes de programacin:
traductores de lenguajes (II)
Intrpretes
Un intrprete es un traductor que recibe como entrada un
programa fuente, lo traduce y lo ejecuta. Un intrprete traduce y
ejecuta una instruccin en cdigo fuente, a la vez. Los programas
interpretados generalmente son ms lentos en ejecucin que los
programas compilados.
Programa
fuente
Intrprete
Traduccin y
ejecucin
lnea a lnea
Lenguajes de programacin:
traductores de lenguajes (III)
Compiladores
Un compilador traduce un programa fuente escrito en lenguaje de
alto nivel al lenguaje de mquina de la computadora. El programa
traducido a lenguaje de mquina es almacenado como cdigo
objeto.
Programa
fuente
Compilador
Programa
objeto
Lenguajes de programacin:
traductores de lenguajes (IV)
Fases de la compilacin de un
programa
Programa
fuente
Analizado
r lxico
Compilado
r
Analizado
r
sintctico
Programa
objeto
Analizado
r
semntico
Generado
r de
cdigo
intermedi
o
Linker
Optimizad
or de
cdigo
Programa
ejecutable
en
lenguaje
de
mquina
Generado
r de
cdigo
objeto
Estrategias de construccin de
programas (I)
Fases de construccin de un programa
Descripci
n y anlisis
del
problema
Diseo del
algoritmo
Codificacin
del
programa
Ejecucin
del
programa
Validacin
del
programa
documentacin
mantenimiento
Partes de un programa
Entrada
Salidas
Algoritmo
de solucin
de las entradas.
Entradas
leer. Carlos
Programa (algoritmo de resolucin)
Mara= Carlos
Salida
Escribir Mara
PROBLEMAS
COMPLICACIONES
Algunas
objetivo
En nuestro caso, y mas que nunca, podemos decir que para llegar a la
solucin de un problema la clave de ello est en Tener muy claro cul
es el objetivo y No perderlo nunca de Vista. Tal vez usted tendr
alguna inquietud en cuanto a la insistencia de este tpico pero la
realidad es que muchas veces creemos tener claro el objetivo y solo
cuando nos empeamos en lograrlo vemos que no era as.
Tener claro el objetivo nos permite algo adicional. Aqu voy a utilizar
una frase que, aunque un poco romntica, nos va a ilustrar a que me
refiero: El objetivo es el faro que solo cuando est bien claro nos
ilumina el camino para lograrlo. Cuando el objetivo est
suficientemente claro podemos vislumbrar un camino lgico para llegar
hasta l.
Qu es un
Algoritmo?
Algoritmos
Qu es un Algoritmo...? Es un conjunto de pasos
secuenciales y ordenados que permiten lograr un
objetivo.
Que sean pasos secuenciales significa que deben
ser ejecutados uno despus de otro y que sean pasos
ordenados quiere decir que deben llevar un orden
casi-obligatorio (u obligatorio en la mayora de los
casos). Como puede notar el algoritmo permite lograr
un objetivo. O sea que ste es el camino que
necesitamos para lograrlo.
De nuevo, cundo podemos visualizar claramente
el algoritmo..? Cuando el objetivo est realmente
claro. Siempre que usted, en el desarrollo de la
solucin de un problema, vea que en algn momento
Tipos:
Algoritmos
Informales
Algoritmos Computacionales
Se consideran como tales todos aquellos algoritmos que
Veamos
entonces ejemplo:
Desarrollar un algoritmo que nos
permita adquirir el libro El Coronel
no tiene quien le escriba de
Gabriel Garca Mrquez.