TEMA 2: Lenguajes de programación
|
|
- Sandra Herrera Gutiérrez
- hace 8 años
- Vistas:
Transcripción
1 TEMA 2: Lenguajes de programación Introducción a los lenguajes de programación Qué es un lenguaje? Conjunto de símbolos y palabras (vocabulario o léxico) y conjunto de reglas (sintaxis y semántica) que permiten agrupar los símbolos para formar las frases del lenguaje. De programación? Que sirve para especificar algoritmos sobre un ordenador. Un programa se escribe como una secuencia de frases del lenguaje. Un lenguaje de programación viene definido por un léxico, una sintaxis y una semántica Léxico Conjunto de símbolos que se pueden usar en un lenguaje. Estos símbolos o elementos básicos del lenguaje, podrán ser de los siguientes: Identificadores: nombres simbólicos que se darán a ciertos elementos de programación (p.e. nombres de variables, tipos, módulos, etc.). Constantes: datos que no cambiarán su valor a lo largo del programa. Operadores: símbolos que representarán operaciones entre variables y constantes. Instrucciones: símbolos especiales que representarán estructuras de procesamiento, y de definición de elementos de programación. Comentarios: texto que se usará para documentar los programas Fernando Barber y Ricardo Ferrís 9
2 Sintaxis Consta de unas definiciones, denominadas reglas sintácticas o producciones que especifican la secuencia de símbolos que forman una frase del lenguaje. Estas reglas dicen si una frase está bien escrita o no. Las reglas sintácticas pueden contener dos tipos de elementos: Elementos Terminales ( Vocabulario) Elementos no Terminales, que son construcciones intermedias de la gramática. Existen diversas formas de especificar las reglas, pero únicamente vamos a ver dos de ellas: Notación BNF (Backus-Naur Form). Es de las primeras notaciones que se empezó a utilizar para especificar lenguajes de programación. Notación BNF: <elemento no terminal>::= Definición1 Definición2... Los elementos terminales, o sea, que pertenecen al vocabulario, se escriben tal cual. Los elementos no terminales se escriben entre los símbolos <>. Ejemplo: Descripción sintáctica de una expresión matemática en notación BNF: ---> 4*(3+1) <expresión> ::= <numero> (<expresión>) <expresión><operador><expresión> <operador> ::= + - * / <numero> ::= <digito> <numero><digito> <digito> ::= Diagramas sintácticos. Es una representación gráfica de la sintaxis. Tiene la ventaja de ser más intuitivo. Los elementos terminales se inscriben en una elipse. Los elementos no terminales se inscriben en un rectángulo. Fernando Barber y Ricardo Ferrís 10
3 Ejemplo: Descripción sintáctica de una expresión matemática en diagrama sintáctico: ---> 4*(3+1) Semántica Define el significado de las construcciones sintácticas del lenguaje y de las expresiones y tipos de datos utilizadas Ejemplo: if (a>b) max := a else max := b; el significado corresponde a la construcción algorítmica Si entonces sino Además la expresión después de If debe tener un resultado lógico (verdad o falso.) Lenguajes de bajo nivel y lenguajes de alto nivel. Los lenguajes de programación se pueden clasificar en lenguajes de bajo y alto nivel dependiendo de lo cercanos o lejanos que estén de la arquitectura de la máquina en la que van a funcionar Lenguajes de bajo nivel: Están basados directamente en la máquina de Von Neumann, por lo que están a un nivel muy cercano a la máquina. Fernando Barber y Ricardo Ferrís 11
4 Las instrucciones del lenguaje son las instrucciones del microprocesador del ordenador, que normalmente son demasiado simples. Es exclusivo de cada ordenador. Es difícil y costoso de programar. En lenguajes de bajo nivel distinguimos entre lenguaje máquina y lenguaje ensamblador. Lenguaje máquina: Instrucciones reconocidas por los circuitos del procesador. Se codifican en binario. Los datos se referencian por su posición de memoria. Lenguaje ensamblador: Codificación mnemotécnica del lenguaje máquina. Necesita un traductor. Se pueden utilizar etiquetas en vez de posiciones de memoria. Ejemplo: Suma de en un procesador 8086 (también Pentium, Pentium II, ) Ensamblador Código máquina (Hexadecimal) mov ax, 0003 B add ax, Lenguajes de alto nivel: Están basados en máquinas abstractas, que facilitan la comprensión por personas. Instrucciones más flexibles y potentes. Necesita un traductor para convertir el programa a lenguaje máquina, que es el que entiende el ordenador. No depende del procesador, por lo que el mismo programa sirve para diferentes ordenadores. Fernando Barber y Ricardo Ferrís 12
5 Al tener que traducirlo, es más lento e ineficiente que el lenguaje de bajo nivel. Ejemplo: Suma de en C++ x = Clasificación de los lenguajes de alto nivel Paradigmas de programación. Por paradigma de programación se entiende una filosofía de programar, es decir, los lenguajes que utilizan un mismo paradigma de programación utilizarán los mismos conceptos básicos para programar. Se pueden definir cuatro tipos fundamentales: - Imperativos - Orientados a objetos - Funcionales - Logicos Procedurales, describen los pasos a seguir para encontrar la solución Declarativos, describen el problema a solucionar Imperativos: La unidad de trabajo es la sentencia (acción). Pascal, C. Orientados a Objetos: La unidad de trabajo es el objeto. Agrupa las estructuras de datos con sus algoritmos. Smalltalk. Funcionales: La unidad es la función. Consiste en combinar funciones para conseguir funciones más complejas hasta llegar a la función que es el programa. Lisp. Basado en el Cálculo Lambda. Lógicos: Se especifican los hechos y las propiedades que especifican el problema. El sistema utiliza esa información para encontrar la solución. Prolog. Basado en la Lógica de Predicados Clasificación de lenguajes según la administración de memoria Estáticos: Los requisitos de memoria del programa se pueden calcular antes de ejecutar el programa. No permiten recursividad. Fortran, Cobol. Fernando Barber y Ricardo Ferrís 13
6 Basados en pila: Se calculan los requisitos de memoria generales del programa antes de ejecutarlo. El resto de la memoria necesaria durante la ejecución del programa se utiliza en forma de pila. Algol 60. Pila Fija Dinámicos: No se puede saber a priori la cantidad de memoria que utilizará el programa. El programa puede crear y destruir estructuras de datos en cualquier lugar del programa. Prolog, Lisp. C++ es un lenguaje principalmente basado en pila, pero que también tiene características dinámicas Otras clasificaciones Por la forma en que se pasa a lenguaje máquina. Lenguajes compilados C, Pascal, C++,... Lenguajes interpretados BASIC Por el objetivo principal de los programas escritos en el lenguaje. Lenguajes de propósito general C, Delphi... Lenguajes para la enseñanza Logo, Pascal, Modula, BASIC... Lenguajes para cálculo científico Fortran, Matlab, Mathematica, Maple... Lenguajes para gestión Cobol... Lenguajes para la gestión de bases de datos System Query Languages (SQL) Informix... Lenguajes de inteligencia artificial Prolog, Lisp... Programación multiplataforma e internet Java 2.4.-Historia de los lenguajes de alto nivel En 1945, el matemático y químico Jonh (Janos) von Neumann presenta los principios generales que debe seguir una máquina de propósito general. El primer lenguaje en el que se programaron los ordenadores fue el propio del procesador, es decir, instrucciones análogas a las presentes en la máquina de Von Neumann. Sin embargo era necesario tener en cuenta los detalles propios de la máquina para poder realizar cualquier cálculo y además era muy tedioso introducir el programa en el ordenador. Fernando Barber y Ricardo Ferrís 14
7 1951 En 1951, apenas siete años después de que Von Neumann introdujera el concepto de programa almacenado en memoria, Wilkes, Wheeler y Gill describen un cargador de programas que realiza la conversión de valores decimales a binarios para permitir una mayor comodidad en la codificación de instrucciones y direcciones. Con objeto de simplificar la programación, los ensambladores fueron enriqueciéndose paulatinamente, hasta convertirse en traductores de representaciones simbólicas (mnemotécnicas) del lenguaje máquina (lenguajes ensambladores) al propio lenguaje máquina. Los lenguajes ensambladores siguen siendo próximos a los lenguajes de máquina y, si bien simplifican considerablemente el proceso de la programación, mantienen dos de sus principales inconvenientes: requieren un excesivo nivel de detalle en la escritura de programas y son dependientes del sistema computador concreto, de cuyas instrucciones elementales hace representación simbólica. Es por ello que se intentó crear un nuevo lenguaje que no estuviese basado directamente en las instrucciones propias de la máquina (que no dependiese de la máquina concreta), sino en una abstracción de éstas y que fuese más cómoda para el programador. De la misma forma, no se utilizarían directamente los dispositivos físicos (registros, celdas de memoria, etc.) sino abstracciones de éstos (variables.) De esta forma surge un nuevo concepto de lenguaje de programación, donde cada lenguaje lleva asociado una máquina abstracta sobre el que se puede ejecutar su código. Si deseamos ejecutar sobre un ordenador concreto los programas escritos en un lenguaje de alto nivel, debemos traducirlos a otros equivalentes en un código máquina concreto (manualmente o mediante un proceso denominado compilación) o disponer de una herramienta que lea el programa e interprete paso a paso el significado de cada sentencia del programa (proceso de interpretación) Trabajando en esta dirección, entre 1954 y 1958, John Backus lideró un grupo de trabajo que tenía por objeto la realización de un traductor a código máquina de fórmulas matemáticas que expresaran cálculos. El resultado fue tanto la especificación de un lenguaje de alto nivel, el Fortran, como la realización de un compilador que traducía dicho lenguaje al código máquina de un ordenador concreto (IBM 704). Alrededor del año 1960 se crearon tres lenguajes decisivos: el Algol 60, el Cobol y el Lisp El Lisp, diseñado por John McCarthy, fue también un lenguaje muy innovador en el sentido de que se aleja mucho del concepto de la máquina de Von Neumann. Se basa casi exclusivamente en el uso de funciones y en el cálculo lambda y su objetivo principal era el cálculo simbólico. Fue el precursor de los denominados lenguajes funcionales. Este lenguaje ha sido ampliamente utilizado en el ámbito de la inteligencia artificial El Cobol fue encargado por el Departamento de Defensa de EUA. Su objetivo era claramente práctico y aunque se realizó sin tener en cuenta algunos de los avances realizados en el momento en el diseño de lenguajes de programación, fue innovador en Fernando Barber y Ricardo Ferrís 15
8 el tratamiento de los datos. Fue además el primer lenguaje estandarizado, lo que favoreció su utilización posterior El Algol 60 fue principalmente un lenguaje académico, en donde se introdujeron numerosos conceptos innovadores que fueron adoptados por gran parte de los lenguajes posteriores. El lenguaje fue completamente especificado con la notación BNF, un formalismo equivalente a las gramáticas incontextuales En 1964 nace el Basic. Este lenguaje se diseñó desde el punto de vista del usuario, es decir, se procuró que el lenguaje fuera fácil de aprender y manejar. Este lenguaje tuvo bastante éxito en la enseñanza y sobre todo, en la programación de los primeros microcomputadores, pero apenas se llegó a utilizar en el ambiente profesional En 1967 se desarrolló Simula, basado en el Algol 60. El campo de aplicación principal de este lenguaje era la simulación, pero lo más importante es que introdujo el concepto de clase y es, por tanto, el precursor de los tipos abstractos de datos El Pascal nació en torno a 1970, después de la crisis del software. Diseñado por Niklaus Wirth con la idea de crear un lenguaje sencillo y claro que permitiese afrontar la complejidad creciente de los programas de la época. Es el primer lenguaje basado exclusivamente en la programación estructurada, y gracias a su simplicidad ha sido el lenguaje ideal sobre el que desarrollar la semántica de los lenguajes y la verificación formal, cuyos inicios datan también de estos años. Además el Pascal ha sido buen progenitor de posteriores lenguajes. En este sentido, Wirth diseñó posteriormente el Modula-2 lenguaje levantado sobre muchos conceptos introducidos en Pascal, si bien hace hincapié en la construcción del programa entendido como conjunto de módulos independientes Después del Pascal se desarrollaron multitud de lenguajes, entre ellos el C, que a costa de un menor nivel de abstracción, aporta una gran flexibilidad y control sobre los recursos de la máquina. Aparece también por esta época el concepto de programación concurrente El primer lenguaje de programación lógica, el Prolog, se desarrolló en 1975 por los grupos de Kowalski y Colmerauer. Sin embargo, a diferencia de lo ocurrido con otros lenguajes, su gestación fue bastante larga, se puede considerar que los inicios del Prolog son de Al igual que el Lisp, el Prolog se aleja totalmente del concepto de la máquina de Von Neumann y se basa casi totalmente en la lógica de primer orden. El Prolog presenta como importante ventaja frente a otros lenguajes que la verificación de programas es casi inmediata debido a su base lógica, sin embargo, tiene como contrapartida que suele ser bastante ineficiente En 1983 se crea el Ada, un lenguaje desarrollado bajo los auspicios del Departamento de Defensa norteamericano. Se basa en gran medida en el Pascal, aunque es más complejo. Permite abordar adecuadamente la programación concurrente y el manejo de excepciones e introduce el concepto de sobrecarga. Fernando Barber y Ricardo Ferrís 16
9 Actualmente existen gran cantidad de nuevos lenguajes (C++, Java, Modula-3, Oberon, Delphi, Eiffel ), la mayoría evoluciones de los presentados aquí, a los que se les ha añadido algunos de los conceptos comentados anteriormente como orientación a objetos, manejo de excepciones, sobrecarga, modularidad, etc. Resumiendo: (1957) - FORTRAN (FORmula TRANslation) Para cálculo científico. Se continúa utilizando aunque está ya muy superado. (1958) - LISP (LISt Processing) Se utiliza en Inteligencia Artificial. Funcional. Common Lisp en (1959) - COBOL Aplicaciones de gestión, contabilidad y bases de datos. (1960) - ALGOL 60 Precursor de la programación estructurada. (1964) - BASIC Muy simple, para principiantes. Actualmente existen versiones muy mejoradas. (1967) - Simula Primer lenguaje que introduce el concepto de clases y objetos. (1972) - PASCAL (1972) - C Programación estructurada. Está pensado para la enseñanza. Similar al Pascal, pero no tan estricto. Muy adecuado para la programación de sistemas operativos (UNIX) y en general para la programación a bajo nivel. (1975) - PROLOG (PROgramación LOGica) (1980) - Smalltalk (1983) - Ada (1983) - C++ Programación orientada a objetos. Programación concurrente, manejo de excepciones, Lenguaje C con orientación a objetos (1994) - JAVA Fernando Barber y Ricardo Ferrís 17
10 2.5.- Traductores e intérpretes. Para que un procesador ejecute un programa escrito en un lenguaje de alto nivel es necesario que lo transforme a su equivalente en lenguaje máquina. Para ello existen dos posibilidades, la interpretación y la traducción Interpretación: Un intérprete traduce y ejecuta sentencia a sentencia el programa original (programa fuente.) Programa fuente Intérprete Traducción: Traduce el programa original en un programa escrito en lenguaje máquina. Existen dos tipos de traductores: Ensamblador: Cuando el lenguaje fuente es ensamblador. Compilador: Cuando el lenguaje fuente es de alto nivel Comparación compiladores-intérpretes: Un intérprete puede ejecutar un programa directamente, incluso sin estar completo. Un compilador ha de traducirlo completamente antes de ejecutarlo. Un programa interpretado ocupa poca memoria. Un programa compilado es más rápido. Fernando Barber y Ricardo Ferrís 18
11 El compilador crea un ejecutable independiente del propio compilador. Un programa interpretado necesita siempre su intérprete. Actualmente casi todos los lenguajes son compilados o una mezcla entre los dos (Prolog, Java.) Fases del proceso de compilación: Análisis léxico: Identificación de palabras y símbolos del lenguaje. Análisis sintáctico: Comprobación de las reglas sintácticas. Análisis semántico: Comprobación de las reglas semánticas (variables no declaradas, comprobación de tipos, ). Interpretación de las órdenes. Optimización: Análisis del programa para mejorarlo (en velocidad, en espacio de memoria) Tipos de errores: Errores de compilación: Los producidos en la fase de compilación o interpretación de un programa, es decir, cuando no se cumplen las reglas sintácticas o semánticas. Errores de ejecución: Los producidos durante la ejecución del programa. Estos mensajes de error no son producidos por el compilador, sino por una porción de código que el compilador añade al programa. Errores lógicos: Cuando el programa no da ningún error pero los resultados no son los esperados. Puede ser porque el algoritmo ha sido incorrectamente implementado o porque el algoritmo estaba mal hecho. Fernando Barber y Ricardo Ferrís 19
Presentación: Jessica Rivero Espinosa (100025022) Inteligencia en Redes de Comunicaciones. Ingeniería de Telecomunicación.
Presentación: Historia de la programación Jessica Rivero Espinosa (100025022) Ingeniería de Telecomunicación 5º Curso La computadora fue inventada para facilitar el trabajo intelectual. Si el hombre tiene
Lenguajes de Cuarta Generación (4GL)
Lenguajes de Cuarta Generación (4GL) Herramientas de Diseño Prof. Víctor Valenzuela R. Contenido Introducción Breve Reseña Histórica Lenguaje de Cuarta Generación Áreas Funcionales Tipos de 4GL Componentes
COLEGIO DE ESTUDIOS DE POSGRADO DE LA CIUDAD DE MÉXICO
COLEGIO DE ESTUDIOS DE POSGRADO DE LA CIUDAD DE MÉXICO ELABORO: ALEJANDRA FUERTES FRANCISCO TEMA: LENGUAJES DE PROGRAMACIÓN INTRODUCCIÓN Un lenguaje de programación es un conjunto de instrucciones que
Algoritmos y Diagramas de flujo
Algoritmos y Diagramas de flujo En los pasos a seguir para el desarrollo de un problema, existen básicamente dos tipos de elementos con los cuales es posible especificar un problema en forma esquemática
Lenguajes de Programación
Lenguajes de ción Bloque 1. Complemento a Tema 1 1. Historia 2. Paradigmas de programación 3. Fases creación de un programa 4. Traducción: compilación e interpretación 1ª Generación Ordenadores sólo entienden
LÓGICA DE PROGRAMACIÓN
LÓGICA DE PROGRAMACIÓN Lógica de la Programación Lenguajes de Programación Ing CIP. Mike Joseph Palacios Juárez Clasificación del Software Sistemas Operativos 1. Multitarea 2. Multiusuario 3. Multiproceso
Introducción a la programación
Introducción a la programación Conceptos Básicos El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. El programador de computadoras es antes que nada una persona
Tema 1: Introducción
Tema 1: Introducción Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 1: Introducción 1 / 12 Definición de compilador Un compilador
Introducción a la Programación en C
Christopher Expósito-Izquierdo cexposit@ull.edu.es Airam Expósito-Márquez aexposim@ull.edu.es Israel López-Plata ilopezpl@ull.edu.es Belén Melián-Batista mbmelian@ull.edu.es José Marcos Moreno-Vega jmmoreno@ull.edu.es
Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria. Sistema complejo se estudia
Lenguajes de Programación. Elementos
Lenguajes de Programación Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas
Conceptos básicos de programación. Arquitectura de Computadoras. Conceptos básicos de programación
Arquitectura de Computadoras Conceptos básicos de programación 1. Introducción: Programación es el conjunto de actividades implicadas en la descripción, el desarrollo y la implementación eficaz de soluciones
Etapas para la solución de un problema por medio del computador
Algoritmos. Definición Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones
1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
PROGRAMACIÓN ALGORITMOS y DIAGRAMAS
PROGRAMACIÓN ALGORITMOS y DIAGRAMAS ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA ESTABLECIENDOSE UNA SECUENCIA DE
INICIACIÓN A LA PROGRAMACIÓN 1ª parte
TEMA 4 INICIACIÓN A LA PROGRAMACIÓN 1ª parte Qué es la programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. En la actualidad,
TEMA 2: Algoritmos y Programas. Fundamentos de Informática (Grados en Ingenierías Industriales)
TEMA 2: Algoritmos y Programas Fundamentos de Informática (Grados en Ingenierías Industriales) Índice de contenidos 1. Introducción. Conceptos básicos 2. Representación de algoritmos. 3. Metodología de
ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE INFORMÁTICA SÍLABO PLAN DE ESTUDIOS 2008
UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE INFORMÁTICA I. DATOS GENERALES SÍLABO PLAN DE ESTUDIOS 2008 CURSO : TALLER BASICO DE PROGRAMACIÓN CÓDIGO
Lenguajes de Cuarta Generación
Lenguajes de Cuarta Generación Diana Marcela SánchezS http://www.csi.map.es/csi/metrica3/index.html www.csi.map.es/csi/metrica3/ /metrica3/index.htmlindex.html Que es un programa? La unión de una secuencia
descripción del argumento identificador tipo longitud condición restricción
Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía PROGRAMACIÓN 0 Prof. Dolores Cuiñas H. recomendada APUNTES Nº. METODOLOGÍA PARA LA CONSTRUCCIÓN DE PROGRAMAS. Presentaremos
Fundamentos de Programación y Bases de Datos
Descripción En la actualidad la mayoría de nuestra vida está basada en el uso de programas informáticos. Para desarrollar un programa informático es necesario transcribir la realidad a dicho programa,
Evolución del software y su situación actual
Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su
Informática Básica. Definiciones. Conceptos generales e historia
Informática Básica Conceptos generales e historia Definiciones Informática: ciencia del tratamiento automático (mediante máquinas) y racional (siguel razonamiento humano) de la información. Computadora:
Lenguajes de programación Última modificación 2008/10
Lenguajes de programación Última modificación 2008/10 La Torre de Babel (1563) - Pieter Brueghel el Viejo 2008 Güimi (http://guimi.net) Esta obra está bajo una licencia "Reconocimiento-Compartir bajo la
TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR
Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN
Introducción a los ordenadores
Tema 1 Introducción a los ordenadores Versión: 16 de febrero de 2009 Las palabras españolas informática y ordenador provienen de las francesas informatique y ordinateur. La palabra francesa informatique
Conceptos fundamentales de Algoritmos
Conceptos fundamentales de Algoritmos Es una secuencia de acciones para la realización de una tarea determinada. Conjunto de reglas o instrucciones que indican una secuencia lógica de operaciones que proporciona
LA MÁQUINA VIRTUAL JAVA (JVM). COMPILADOR E INTÉRPRETE. BYTECODE, CÓDIGO FUENTE Y CÓDIGO MÁQUINA. (CU00611B)
APRENDERAPROGRAMAR.COM LA MÁQUINA VIRTUAL JAVA (JVM). COMPILADOR E INTÉRPRETE. BYTECODE, CÓDIGO FUENTE Y CÓDIGO MÁQUINA. (CU00611B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero
Organización. Organización. Llenguatges de Programació Curs Gonzalo Besuievsky IMA - UdG. Horario Miércoles de 9:30 a 13:00
Llenguatges de Programació Curs 03-04 Gonzalo Besuievsky IMA - UdG Organización Horario Miércoles de 9:30 a 13:00 Tutorías Después de clase por mail: gonzalo@ima.udg.es Página del curso http://ima.udg.es/docencia/03-04/3157ra0008/index.html
INTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN Dpto. Escultura. Facultad de BB.AA. Valencia. UPV Prof. Moisés Mañas Carbonell Dpto. Escultura. UPV moimacar@esc.upv.es DÓNDE ESTAMOS/ DÓNDE VAMOS A TRABAJAR? PROCESADORES
Bloque II. Elementos del lenguaje de programación Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida
Programación Digital I
Programación Digital I Programación Digital I Gilberto Diaz gilberto@ula.ve Universidad de Los Andes Facultad de Ingeniería Escuela de Sistemas Depto de Computación Mérida - Venezuela Repaso Componentes
Lenguajes de programación
Lenguajes de programación por Iván Cruz A través de la historia, el hombre siempre ha buscado la manera de comunicarse con otros seres vivos, debido a ello se crearon diversas formas de comunicación, tales
INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL
INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL MEDIA TÉCNICA EN PROGRAMACIÓN DE SOFTWARE TEMA: LOS LENGUAJES DE PROGRAMACIÓN Profesora: Beatriz Elena Herrera Legarda Qué es una computadora? Computadora electrónica
UNIDAD I. ALGORITMOS
UNIDAD I. ALGORITMOS 1.1 Definición Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. 1.2 Tipos Cualitativos: Son aquellos
Conceptos básicos. IC-1800 Introducción a la programación. I semestre,
Conceptos básicos IC-1800 Introducción a la programación I semestre, 2017 1 Definiciones Básicas Hardware: componentes físicos. tangibles Software: componentes lógicos. no tangibles DVDs de Ubuntu, Kubuntu
Tema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Lenguajes de programación
Introducción Lenguajes de programación Primera generación: lenguajes máquina Los programas se escriben en código binario 000001011010000000000000 Segunda generación: lenguajes simbólicos Cada instrucción
Sintaxis y Semántica del Lenguaje. Gramáticas
Gramáticas La tarea de proveer una descripción bien concisa y entendible de un lenguaje de programación es difícil pero esencial para el éxito de un lenguaje. Uno de los problemas en describir un lenguaje
1. Algoritmo, Pseudocódigo, Diagramas de flujo.
1. Algoritmo, Pseudocódigo, Diagramas de flujo. Algoritmo: es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos. En matemáticas, ciencias de la computación y
Conceptos básicos. IC-1800 Introducción a la programación. I semestre,
Conceptos básicos IC-1800 Introducción a la programación I semestre, 2016 1 Definiciones Básicas Hardware: componentes físicos. tangibles Software: componentes lógicos. no tangibles DVDs de Ubuntu, Kubuntu
Tema 1: Algoritmos y programas
Tema 1: Algoritmos y programas Objetivo: utilizar la computadora como una herramienta para resolver problemas. Medio: Aprendizaje de lenguajes y técnicas de programación. La resolución de un problema exige
Programación del Proceso de Enseñanza Aprendizaje
Programación del Proceso de Enseñanza Aprendizaje Actividad 1 Definir qué es programar. Definir qué es programación. Diferencias entre ambos conceptos. Elementos que los une. Podrías poner un ejemplo?
Teoría de Autómatas y Lenguajes Formales. Capítulo 1: Introducción. Teoría de Autómatas y Lenguajes formales es un repaso a la informática teórica.
Teoría de Autómatas y Lenguajes Formales Capítulo 1: Introducción Holger Billhardt holger.billhardt@urjc.es Introducción Teoría de Autómatas y Lenguajes formales es un repaso a la informática teórica.
Introducción a la programación: Contenido. Introducción
Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....
Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 3 CICLO DE VIDA DE UN PROGRAMA 1 OBJETIVOS Saber qué es la Ingeniería
TEMA 5: INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Definición de Ingeniería del Software
TEMA 5: INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE Definición de Estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software [Zelkovitz, 1978]. Aplicación práctica del
Augusta Ada Byron Mayor conocida como Ada Lovelace. A Ada se le atribuyó el papel de asistente/transcriptora de Babbage; sin embargo, hoy en día, es c
Augusta Ada Byron Mayor conocida como Ada Lovelace. A Ada se le atribuyó el papel de asistente/transcriptora de Babbage; sin embargo, hoy en día, es considerada como la madre de la programación. Ella diseñó
Fundamentos de Programación. Introducción. Fundamentos de Programación. Página 01.0 de 24
Fundamentos de Programación. Introducción. Fundamentos de Programación. Página 01.0 de 24 Objetivo General del Curso Entender los fundamentos de la programación de las computadoras y resolver problemas
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
ALGORITMO. Podemos encontrar muchas definiciones de algoritmo en los textos de programación, todas ellas muy similares:
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente en términos de instrucciones de un lenguaje, sino
Lenguajes y paradigmas de programación
Lenguajes y paradigmas de programación Temas Que es un programa? Que es un lenguaje de programación? Características de los lenguajes de programación Paradigmas de programación Que es un programa? La unión
TEMA 1 FUNDAMENTOS DE PROGRAMACIÓN
TEMA 1 FUNDAMENTOS DE PROGRAMACIÓN 1.1 Introducción 1.2 Evolución de los lenguajes de programación 1.3 Paradigmas de programación 1.4 Métodos de implementación 1.5 Lecturas recomendadas 1.6 Ejercicios
Capítulo 1. Algoritmos, diagramas de flujo y programas.
Capítulo 1. Algoritmos, diagramas de flujo y programas. 1.1 Problemas y algoritmos 1.2 Diagramas de flujo 1.2.1 Reglas para la construcción de diagramas de flujo 1.3 Conceptos fundamentales 1.3.1 Tipos
Unidad de Promoción y Desarrollo Guadiana OBJETIVO GENERAL
Unidad de Promoción y Desarrollo Guadiana OBJETIVO GENERAL Conocer los elementos básicos de un ordenador, identificar sus elementos principales, diferenciando aquellos que forman parte de su hardware y
Acción que el procesador puede ejecutar sin necesidad de información suplementaria
TEMA 5: Algoritmos y programas Fundamentos de Informática (Ingeniería Técnica Industrial) Escuela Universitaria Politécnica Índice de contenidos 1. 2. 3. 4. Introducción. Conceptos básicos Representación
UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R
UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R Técnicas Inteligentes en Bioinformática Máster en Lógica, Computación e Inteligencia Artificial Dpto. Ciencias de la Computación e Inteligencia Artificial
Temario. Conceptos Fundamentales de POO. Lenguajes Orientados a Objetos. Relación entre clases y objetos
Fundamentos de POO Temario Evolución de la Programación Conceptos Fundamentales de POO Lenguajes Orientados a Objetos Relación entre clases y objetos Papel de clases y objetos en el análisis y diseño Analizar
Parte I: Programación en Ada
Parte I: Programación en Ada 1. Introducción a los computadores y su programación 2. Elementos básicos del lenguaje 3. Modularidad y programación orientada a objetos 4. Estructuras de datos dinámicas 5.
Lenguajes de Programación I
Lenguajes de Programación I Prof. Wilmer Pereira Universidad Simón Bolívar Primeros pasos en los lenguajes de alto nivel El primer computador (1940) tenía el poder cálculo de una calculadora actual Primer
Tema 2: Introducción a los algoritmos
Tema 2: Introducción a los algoritmos Objetivos: este tema pretende mostrar al alumno cómo, a partir de unas especificaciones de un problema del mundo real, diseñar una solución para dicho problema (algoritmo)
Principios de diseño de lenguajes
Capítulo 1 Principios de diseño de lenguajes Objetivo El alumno describirá los procedimientos y gramáticas empleadas en el diseño de los lenguajes de programación. Figura 1.1: Preguntas incómodas 1.1.
INSTITUTO SUPERIOR DE FORMACIÓN TÉCNICA Nº 177
INSTITUTO SUPERIOR DE FORMACIÓN TÉCNICA Nº 177 Instrucción condicional if else Uso de la estructura condicional Ejemplos con diagramas de flujo y codificación wdcarnero@gmail.com LA INSTRUCCIÓN CONDICIONAL
Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015
Aspectos de los LP Diseño de compiladores Lenguajes de Programación Antes de comenzar con la construcción de un compilador, debemos comprender los conceptos basicos del lenguaje de programación con el
Lenguajes de Alto Nivel de Programación
Lenguajes de Alto Nivel de Programación CONCEPTO También denominado high-level language, en el idioma inglés. Estos son tipo de lenguajes de programación que permite al programador escribir programas (algoritmos)
Metodología de Desarrollo de Programas
Metodología de Desarrollo de Programas Prof. Judith Barrios Albornoz Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Semestre A_2013 Este material
Representación de la información
Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 1 2 3 4 5 Contenido En el mundo que vivimos estamos rodeados
Oracle Database 11g: Programación con PL/SQL Nuevo
Oracle University Contacte con nosotros: 902 302 302 Oracle Database 11g: Programación con PL/SQL Nuevo Duración: 5 Días Lo que aprenderá Este curso ofrece una introducción sobre PL/SQL a los estudiantes
Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas
Unidad I Introducción a la programación de Sistemas M.C. Juan Carlos Olivares Rojas Agenda 1.1 Qué es y que estudia la programación de sistemas? 1.2 Herramientas desarrolladas con la teoría de programación
Módulo 1. Introducción a los lenguajes de programación
Módulo 1. Introducción a los lenguajes de programación Objetivo - Definir qué es un lenguaje de programación e identificar cómo es su forma de clasificación. Introducción a los lenguajes de programación
Tema 5. Soporte lógico de computadoras.
Tema 5. Soporte lógico de computadoras. 5.1 Conceptos generales Como se ha visto previamente, un ordenador consta de dos partes, una la parte física, conocida como "Hardware" y otra, la parte lógica denominada
Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación
COMPILADORES Unidad I: Introducción al proceso de compilación Flor Prof. Flor Narciso GIDyC-Departamento de Computación LABSIULA-Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de
Introducción a la programación
Introducción a la programación PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Introducción 1 Introducción a la programación Computador: aparato electrónico capaz de interpretar
4.1 Dispositivos y manejadores de dispositivos: device drivers
Unidad IV: Administración de entrada/salida 4.1 Dispositivos y manejadores de dispositivos: device drivers Se pueden clasificar en dos grandes categorías: 1. Dispositivos de bloque 2. Dispositivos de carácter
Prof. María Alejandra Quintero. Informática Año
Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO ESTRUCTURA Y PROGRAMACIÓN DE COMPUTADORAS 1429 4 09 Asignatura Clave Semestre Créditos Ingeniería Eléctrica Ingeniería
Lenguajes y Compiladores Introducción. Compiladores 1
Facultad de Ingeniería de Sistemas Lenguajes y Introducción 1 Objetivos Conocer los fundamentos de construcción de en todas sus fases, presentando los conceptos básicos, definiciones formales, técnicas
COMO REALIZAR UN FLUJOGRAMA
COMO REALIZAR UN FLUJOGRAMA 1. INTRODUCCION Este documento proporciona la secuencia de pasos necesarios para la construcción de un FLUJOGRAMA o diagrama de Flujo. Muestra la importancia de dos aspectos
Fundamentos de programación
Fundamentos de programación 1 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Material de la Prof.ª Mercedes Gómez Albarrán Versión revisada y ampliada
Denominación de la materia. N créditos ECTS = 36 carácter = MIXTO PROGRAMACIÓN
Denominación de la materia PROGRAMACIÓN N créditos ECTS = 36 carácter = MIXTO Ubicación dentro del plan de estudios y duración La materia Programación está formada por 6 asignaturas de 6 créditos ECTS
2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.
Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe
Introducción a la Geometría Computacional
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 8 de enero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Introducción a la GC 8 de enero del 2013 1 / 17 1 Introducción a la Geometría Computacional
Diagramas de Flujo Programación Estructurada. Diagramas de Flujo y Pseudocódigo
. y Es la representación gráfica de los pasos que deben seguirse para resolver un problema. El traducir una descripción narrada a diagrama de flujo agrega claridad y precisión a la descripción de una tarea.
DISPOSITIVOS ELÉCTRICOS DE CONTROL
Unidad 1 DISPOSITIVOS ELÉCTRICOS DE CONTROL Objetivo: Interpretar los diagramas de control para sistemas electromecánicos. Contenido: 1.1 Introducción a los sistemas de control. 1.2 Simbología normalizada
Unidad 2. Introducción Lenguajes y Compiladores
Unidad 2 Introducción Lenguajes y Compiladores Principal material bibliográfico utilizado Compiladores Principios, técnicas y herramientas. Aho y Ullman. Addison Wesley. www.jorgesanchez.net www.iqcelaya.itc.mx/~vicente/programacion/tradcomp.pdf
INTRODUCCIÓN A LA INGENIERÍA EN SISTEMAS TEMA 7
1 INTRODUCCIÓN A LA INGENIERÍA EN SISTEMAS 7. CIENCIAS DE LA COMPUTACIÓN Objetivo Particular: Identificar las diferentes herramientas computacionales que apoyan el desarrollo del campo de la ingeniería
Introducción a la programación
1 Introducción a la programación Marduk Bolaños Puchet Miércoles 28 de agosto de 2012 Parte I Algoritmos y programación Algoritmos y programación 2 Algoritmo Un algoritmo es una secuencia ordenada, finita
Parte I: Programación en un lenguaje orientado a objetos
Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación Lenguajes de alto nivel. El proceso de compilación. El ciclo de vida del software. Concepto de algoritmo.
Estructura del Computador
ARQ. DE COMPUTADORAS Arquitectura de Computadoras Villalobos Universidad Peruana Union Filial Tarapoto Semana 02.2 Estructura del Computador El modelo von Neumman Formado por 5 componentes principales:
Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3: 3 - Paradigmas de Programación
3 - Paradigmas de Programación En los inicios los lenguajes de programación imitaron y abstrajeron las operaciones de una computadora, lo cual trajo aparejado que el tipo de computadora para el cual fueron
Algoritmos y programas
Algoritmo Algoritmos y programas Secuencia ordenada de pasos que resuelve un problema concreto. Características - Corrección (sin errores). - Precisión (ausencia de ambigüedades). - Repetitividad (solución
Tema 1.1. Un lenguaje mínimo y su procesador: Introducción
Tema 1.1. Un lenguaje mínimo y su procesador: Introducción Profesor Federico Peinado Elaboración del material José Luis Sierra Federico Peinado Facultad de Informática Universidad Complutense de Madrid
Ingeniería Informática
Grado en Ingeniería Informática PLAN DE ESTUDIOS Explicación general del plan de estudios El plan de estudios contendrá toda la formación teórica y práctica que el alumnado deba adquirir: aspectos básicos
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos Cristina Cachero Castro Pedro J. Ponce de León Amador Estela Saquete Boró Departamento de lenguajes y sistemas informáticos Universidad de Alicante Índice
Introducción a los compiladores
Introducción a los compiladores William Cruz-Santos wdelacruzd@uaemex.mx Ingeniería en Computación Universidad Autónoma del Estado de México Unidad de Competencia I 2 de octubre de 2015 William Cruz-Santos
Conceptos Básicos de Lenguajes de Programación
Conceptos Básicos de Lenguajes de Programación Escriba el título aquí Escriba el título aquí Seleccionar y escribir Que es un lenguaje de programación? Cuantos lenguajes de programación existen? Que es
CELERON PPGA370, PENTIUM III FCPGA, CYRIX III
CELERON PPGA370, PENTIUM III FCPGA, CYRIX III ARQUITECTURAS DE COMPUTADORAS ARQ. VON NEUMANN: Ejecución secuencial de las instrucciones de un programa AVANCES EN LAS ARQ. ACTUALES: SEGMENTACIÓN DE INSTRUCCIONES
C u e s t i onario: Historia y evolución de la computadora. Clasificación de la computadora.
Nombre: No. de lista: Instrucciones: Lee detenidamente las siguientes preguntas y subraya la respuesta correcta. 1. Rústico objeto hecho de madera que se utilizaba para realizar operaciones matemáticas
Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java
Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java José Alfredo Jiménez Murillo Eréndira Miriam Jiménez Hernández Laura Nelly Alvarado Zamora Selecciona el libro para continuar