CODIGO ASCCII American Standard Code for Information Interchange Cdigo Estndar Estadounidense para el Intercambio de Informacin. Cdigo de caracteres basado en el alfabeto latino creado por ANSI, como una evolucin de los cdigos utilizados en telegrafa. Utiliza 7 bits para representar los caracteres. Sistemas informticos actuales utilizan el cdigo ASCII o una extensin compatible para representar textos y para el control de dispositivos que manejan textos como el teclado. No confundir ALT + con cdigos ASCII. Unicode Estndar de codificacin de caracteres diseados para facilitar el tratamiento informtico y visualizacin de textos de mltiples lenguajes y disciplinas tcnicas, textos clsicos. Unicode proviene de : Universalidad, uniformidad y unicidad. Estndar mantenido por Unicode Technical Committee (UTC) Integrado por Unicode Consortium cuyos miembros son Microsof, IBM, Oracle, Google, Yahoo, etc. Unicode Proyecto que busca reemplazar los esquemas de codificacin de caracteres existentes, limitados en tamao e incompatibles con entornos plurilinges. Actualmente es el ms extenso y completo esquema de codificacin usado en tecnologas recientes XML, Java, SO modernos. Compatible con ASCII7 Introduccin a los lenguajes de programacin Lenguaje de programacin Conjunto de smbolos, palabras (vocabulario o lxico) y conjunto de reglas (sintaxis y semntica) que permiten agrupar los smbolos para formar las frases del lenguaje, que sirve para especificar algoritmos sobre un ordenador. Un programa se escribe como una secuencia de frases del lenguaje. Un lenguaje de programacin viene definido por un lxico, una sintaxis y una semntica Lxico Conjunto de smbolos que se pueden usar en un lenguaje. Estos smbolos, podrn ser los siguientes: Identificadores Constantes Operadores Instrucciones Comentarios Sintaxis Consta de unas definiciones, denominadas reglas sintcticas o producciones, que especifican la secuencia de smbolos que forman una frase del lenguaje. Estas reglas dicen si una frase est bien escrita o no. Las reglas sintcticas pueden contener dos tipos de elementos: Elementos Terminales Elementos no Terminales Sintaxis Notacin BNF (Backus-Naur Form). Es de las primeras notaciones que se empez a utilizar para especificar lenguajes de programacin. Notacin BNF: <elemento no terminal>::= Definicin1 | Definicin2 | ... Semntica Define el significado de las construcciones sintcticas del lenguaje, de las expresiones y tipos de datos utilizados Ejemplo: if (a>b) max == a else max == b; el significado corresponde a la construccin algortmica Si entonces sino Clasificacin de los lenguajes de programacin 1. Lenguajes de bajo nivel Lenguaje mquina: Instrucciones reconocidas por los circuitos del procesador. Se codifican en binario. Los datos se referencian por su posicin de memoria. Clasificacin de los lenguajes de programacin Lenguaje ensamblador: Codificacin mnemotcnica del lenguaje mquina. Necesita un traductor. Se pueden utilizar etiquetas en vez de posiciones de memoria. Clasificacin de los lenguajes de programacin 2. Lenguajes de alto nivel Estn basados en mquinas abstractas, que facilitan la comprensin por personas. Instrucciones ms flexibles y potentes. Necesita un traductor para convertir el programa a lenguaje mquina. No depende del procesador. Clasificacin de los lenguajes de alto nivel 1. Paradigmas de programacin : Clasificacin de los lenguajes de alto nivel 2. Segn la administracin de memoria Estticos Basados en pila Dinmicos Clasificacin de los lenguajes de alto nivel 3. Por la forma en que se pasa a lenguaje mquina. Lenguajes compilados Lenguajes interpretados Clasificacin de los lenguajes de alto nivel 4. Por el objetivo principal de los programas Lenguajes de propsito general Lenguajes para la enseanza Lenguajes para clculo cientfico Lenguajes para gestin Clasificacin de los lenguajes de alto nivel 4. Por el objetivo principal de los programas Lenguajes para la gestin de bases de datos Lenguajes de inteligencia artificial Programacin multiplataforma e internet Traductores del lenguaje de programacin Programas que traducen los cdigos fuente (Programas escritos en un lenguaje de alto nivel) a cdigo mquina. Se dividen en : Intrpretes.- Traduccin y ejecucin secuencial (lnea x lnea). Lenta Compiladores.-Traduce el cdigo fuente a programa objeto (ejecutable cdigo mquina). Rpida Los lenguajes de programacin y el proceso de compilacin Fases del proceso de compilacin: Anlisis lxico Anlisis sintctico Anlisis semntico Optimizacin