Lógica, Tipos y Semántica:

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Lógica, Tipos y Semántica:"

Transcripción

1 Lógica, Tipos y Semántica: I para TAL Jornada informativa Paradigma de Lenguajes de Programación Depto de Computación FCEyN UBA 29 de noviembre de 2005

2 Índice Lógica, tipos y semántica para lenguajes de alto nivel han sido estudiados extensamente Una tendencia reciente: enfocar atención sobre 1. lenguajes de bajo nivel (o intermedios) y 2. sus entornos de ejecución (máquinas abstractas y virtuales) En esta charla Repasamos algunas motivaciones Desarrollamos un ejemplo ( ) con algunas citas que respaldan la tendencia I para TAL

3 Por más precisas que sean nuestras técnicas para inferir/probar propiedades sobre lenguajes de alto nivel, lo que termina ejecutándose es la imagen del mismo a través de un compilador Los compiladores son programas complejos Modifican sustancialmente el programa fuente a través de numerosas etapas Movilidad y distribución masiva de código vía Internet Con frecuencia creciente, el productor distribuye el código en algún formato de bajo nivel El consumidor debe poder verificar si el código cumple con su poĺıtica de seguridad/comportamiento antes de ejecutarlo Proof Carrying Code (PCC) I para TAL

4 Qué es PCC? Overview of PCC Approach Please install and execute this. OK, but let me quickly look over the instructions first. I para TAL Code producer Host Slide by Peter Lee

5 Qué es PCC? Overview of PCC Approach I para TAL Code producer Host Slide by Peter Lee

6 Qué es PCC? Overview of PCC Approach This store instruction is dangerous! I para TAL Code producer Host Slide by Peter Lee

7 Qué es PCC? Overview of PCC Approach Can you prove that it is always safe? I para TAL Code producer Host Slide by Peter Lee

8 Qué es PCC? Overview of PCC Approach Yes! Here s the proof I got from my certifying Java compiler! λ Can you prove that it is always safe? I para TAL Code producer Host Slide by Peter Lee

9 Qué es PCC? Overview of PCC Approach λ Your proof checks out. I believe you because I believe in logic. I para TAL Code producer Host Slide by Peter Lee

10 Datos confidenciales deben ser protegidos de posibles filtraciones Mecanismos convencionales como (mandatory/discretionary) access control o stack inspection se quedan cortos pues no hay control sobre la propagación de los datos una vez que se permite el acceso a los mismos I para TAL

11 Information flow apunta a imponer poĺıticas de confidencialidad en una modalidad punta-a-punta: asegurar que, una vez que los datos han sido liberados al programa, la poĺıtica de confidencialidad es respetada Poĺıtica de confidencialidad: I para TAL 1. Indicar qué información es pública, privada, etc. Ej. decorar las direcciones de memoria o variables con etiquetas de seguridad {L, H}. 2. Especificar poĺıtica de flujo de información. Ej. información puede fluír de niveles seguridad bajos a altos

12 Information Expĺıcito/Impĺıcito Flujo de información expĺıcito: y:=x Flujo de información impĺıcito: if x then y:=1 else y:=2 endif Channel: Mechanism for signaling information through a computing system [Myers,Sabelfeld2003] Aparece un covert storage channel : El programa crea un flujo de información desde x hacia y. Otros flujos de información: timing, terminación, consumo de recursos, etc. Survey: -based information flow security, A. Sabelfeld y A.Myers, 2003 I para TAL

13 Detección de flujos ímplicitos Se asigna una etiqueta al program-counter [Denning,Denning1977] Se analiza el programa infiriendo si las variables deben etiquetarse como secretas o públicas PC=L PC=lx PC=lx PC=L if x then y :=1 else y :=2 endif; z :=3 Al llegar al endif podemos volver a bajar el nivel del PC ( junction point ) Instrucciones de control de flujo guían el análisis I para TAL

14 Detección de flujos ímplicitos También se puede hacer a través de sistemas de tipos [Volpano,Smith1996;1997] Dos ejemplos de reglas de tipos Γ e : l Γ c 1 : cmd l Γ c 2 : cmd l l l I para TAL Γ if e then c 1 else c 2 endif : cmd l Γ c 1 : cmd l Γ c 2 : cmd l Γ c 1 ; c 2 : cmd l

15 No-interferencia Cómo determinamos la correctitud de nuestro análisis de flujo de información? No-interferencia [Goguen,Meseguer1982]. Una formalización posible de ausencia de filtraciones Noción semántica que establece que los inputs sólo afectan los outputs de mayor nivel de seguridad L H1 L H2 I para TAL L H1 L H2 Correctitud del sistema de tipos programas tipados verifican no-interferencia

16 I para Los obstáculos más relevantes a la hora de trasladar lógicas, sistemas de tipos y semántica a lenguajes de bajo nivel son: Ausencia de sentencias de control de flujo de alto nivel La presencia de una pila Las instrucciones de salto Estos obstáculos varían de gravedad según el problema en cuestión I para TAL

17 Qué es? Descripción ejecutiva [D.Walker, Lect. Notes, 2004]: Lenguaje assembler RISC sencillo Semántica operacional formal para una máquina abstracta Sistema de tipos formal que captura propiedades del procesador y memoria: registros, pila y heap I para TAL

18 Ejemplo en TAL fact : L2 : X.{sp : X, r 1 : int, r 2 : int, r 3 : {r 1 : int, sp : X } {}} {} ble r 1, L2 % if n<=0 goto L2 mul r 2, r 2, r 1 % a:=a*n sub r 1, r 1, 1 % n:=n-1 jmp fact[x ] % goto fact X.{sp : X, r 2 : int, r 3 : {r 1 : int, sp : X } {}} {} mov r 1, r 2 % result:=a jmp r 3 % jump to return address I para TAL

19 Algunas reglas de tipado de TAL Las reglas de tipado de TAL permiten capturar una serie de propiedades interesantes de código de bajo nivel Ilustramos algunas propiedades junto con la regla de tipado que la captura Saltos son a etiquetas válidas I para TAL Ψ; ; Γ 1 v : [].Γ 2 Γ 1 Γ 2 T Jmp Ψ; ; Γ 1 jmp v Aritmética sobre enteros Ψ; ; Γ r s : int Ψ; ; Γ v : int Ψ; ; Γ[r d := int] B T Arith Ψ; ; Γ aop r d, r s, v; B

20 Algunas reglas de tipado de TAL Más ejemplos de propiedades No puede escribirse fuera de la pila Γ(sp) = τ 1... τ i Σ Ψ; ; Γ v : σ Ψ; ; Γ[sp := τ 1... τ i 1 σ Σ] B T Sst Ψ; ; Γ sst sp[i], v; B I para TAL Bloque llamado no puede trastornar pila del llamador

21 I para TAL Problema 1 I para TAL Construcciones de flujo de control de alto nivel (encargados de guíar el proceso de tipado) se encuentran ausentes!

22 I para TAL % r 1 holds x, r 2 holds y Start : bnz r 1, L1; % if x goto L1 jmp L2 % goto else branch L1 : mov r 2, 1; % y:=1 jmp L3 I para TAL L2 : mov r 2, 2; % y:=2 jmp L3 L3 : halt

23 I para TAL % r 1 holds x, r 2 holds y Start : bnz r 1, L1; % if x goto L1 jmp L2 No debe bajar PC, L2 no es junction point! L1 : mov r 2, 1; % y:=1 jmp L3 Debe bajar PC, L3 es junction point! L2 : mov r 2, 2; % y:=2 jmp L3 Debe bajar PC, L3 es junction point! L3 : halt I para TAL

24 I para TAL Idea: adaptar linear continuations de [Myers,Zdancewic2002] a lenguaje assembler % r 1 holds x, r 2 holds y Start : bnz r 1, L1; jmp L2 L1 : mov r 2, 1; % y:=1 jmp L3 L2 : mov r 2, 2; % y:=2 jmp L3 L3 : halt % if x goto L1 No debe PC, L2 no es junction point! Debe bajar PC, L3 es junction point! Debe bajar PC, L3 es junction point! I para TAL

25 I para TAL % r 1 holds x, r 2 holds y Start : pushjp L3; Introducir continuación bnz r 1, L1; % if x goto L1 jmp L2 Obligación lineal, te acompaña! L1 : mov r 2, 1; % y:=1 jmpjp L3 Obligación lineal descargada L2 : mov r 2, 2; % y:=2 jmpjp L3 Obligación lineal descargada L3 : halt pushjp es una directiva de tipado: guía el sistema de tipos pero desaparece en tiempo de ejecución jmpjp L se comporta igual que jmp L I para TAL

26 I para TAL % r 1 holds x, r 2 holds y Start : pushjp L3; Introducir continuación bnz r 1, L1; % if x goto L1 jmp L2 Obligación lineal, te acompaña! L1 : mov r 2, 1; % y:=1 jmpjp L3 Obligación lineal descargada L2 : mov r 2, 2; % y:=2 jmpjp L3 Obligación lineal descargada L3 : halt pushjp es una directiva de tipado: guía el sistema de tipos pero desaparece en tiempo de ejecución jmpjp L se comporta igual que jmp L I para TAL

27 I para TAL % r 1 holds x, r 2 holds y Start : pushjp L3; Introducir continuación bnz r 1, L1; % if x goto L1 jmp L2 Obligación lineal, te acompaña! L1 : mov r 2, 1; % y:=1 jmpjp L3 Obligación lineal descargada L2 : mov r 2, 2; % y:=2 jmpjp L3 Obligación lineal descargada L3 : halt pushjp es una directiva de tipado: guía el sistema de tipos pero desaparece en tiempo de ejecución jmpjp L se comporta igual que jmp L I para TAL

28 I para TAL Problema 2 I para TAL La pila

29 Dos ejemplos ilustrativos En los dos ejemplos siguientes, al finalizar la ejecución del programa el componente que queda en el tope de la pila es público deja filtrar información secreta (a saber, si el contenido secreto del registro r2 es cero o no) Problema del primer ejemplo: en una rama secreta del bnz se libera un componente público de la pila Problema del segundo ejemplo: en una rama secreta se liberan componentes que no se liberan en la otra rama secreta del bnz I para TAL

30 Rama secreta libera componente público L start Code {r1 : int L, r2 : int H } L salloc 2 mov r1,0 sst sp[0],r1 mov r1,1 sst sp[1],r1 bnz r2,l high jmp L JP I para TAL L high Code {r1 : int L } H sfree 1 jmp L JP L JP Code {r1 : int L } L sld r1,sp[0]...

31 Ramas secretas liberan no. de componentes L start Code {r1 : int L, r2 : int H } L salloc 3 mov r1,0 sst sp[2],r1 mov r1,1 sst sp[1],r1 sst sp[0],r2 bnz r2, L high jmp L JP I para TAL L high Code {r1 : int L } H sfree 1 jmp L JP L JP Code {r1 : int L } L sfree 1 sld r1,sp[0]...

32 SIFTAL SIFTAL: un TAL con junction points y tipos decorados con etiquetas de seguridad. Incluye registros, heap locations y stack polimórfico Un sistema de tipos y una noción formal de no-interferencia Semántica operacional: la máquina abstracta original de TAL Prueba de type soundness: programas tipados gozan de la propiedad de no-interferencia I para TAL

33 Hay una clara tendencia a estudiar propiedades de programas escritos en lenguajes de bajo nivel como (TAL) Java bytecode (Sun) Common Intermediate (CIL, Microsoft) Muchos otros asociados a máquinas abstractas de una variada gama y sus entornos de ejecución (abstract y virtual machines) como ser JVM (Java Virtual Machine) CLR (Common Runtime) Otros: Abstract Machines for Programming Implementation, Diehl, Hartel y Sestoft, Future Generation Computing Systems, I para TAL

34 Hemos visto algunas complicaciones que surgen a la hora de analizar secure information flow en un lenguaje de bajo nivel Ausencia de sentencias de control de flujo de alto nivel Pila Saltos (en menor medida) I para TAL

35 Más allá de information flow Qué sucede con otras técnicas para estudiar lenguajes de programación: lógica, sistemas de tipos, semántica, etc? Mucha actividad Verificación (ej: lógicas à la Hoare) Propiedades de seguridad (ej: information flow, secuenciación de operaciones, lectura/escritura a memoria) Terminación y Consumo de recursos (ej: heap bounded assembly language) Optimizaciones (ej: SOOT para bytecode) Fundamentos (derivación de abstract machines a partir de semántica operacional, Isomorphismo de Curry-Howard) I para TAL

36 Gracias! I para TAL

37 Information flow flow via linear continuations, Myers y Zdancewic, 2002 Type based information flow analysis for low-level languages, Kobayashi y Kirane, 2002 Security Types Preserving Compilation, Barthe, Basu y Rezk, 2004 I para TAL Checking secure information flow in Java bytecode by code transformation an d standard bytecode verification, Bernardeschi, De Francesco, Lettieri y Martini, 2004 Non-Interference for a JVM-like, Barthe, Basu y Rezk, 2005

38 Information flow Timing aware information flow security for a javacard-like bytecode, Hedin y Sands, 2005 Information Analysis for Java Bytecode, Genaim y Spoto, 2005 A for Non-Interference, E.B., R. Medel y A. Compagnoni. ICTCS 2005 I para TAL Information- Analysis for a with Polymorphic Stacks, E.B., R. Medel y A. Compagnoni, CASSIS 2005.

Grupo de Procesadores de Lenguajes - Línea: Código Móvil Seguro

Grupo de Procesadores de Lenguajes - Línea: Código Móvil Seguro Grupo de Procesadores de Lenguajes - Línea: Código Móvil Seguro Francisco Bavera Martín Nordio Jorge Aguirre Marcelo Arroyo Gabriel Baum Ricardo Medel Resumen En el último tiempo Proof-Carrying Code (PCC)

Más detalles

GENERACIÓN DE CÓDIGO

GENERACIÓN DE CÓDIGO GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

Comunicación con la Computadora

Comunicación con la Computadora Comunicación con la Computadora Programación Básica Copyright CARIMOBITS Comunicación con la computadora Se logra a través de lenguajes de computadoras o lenguajes de programación. Tipos de lenguajes de

Más detalles

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

1. Aplicaciones del J2SE SDK1.4.2 de Sun. Dept Informatica Índice 1 Aplicaciones del J2SE SDK142 de Sun 1 11 javac 1 12 java 1 13 javadoc 2 14 Las que no se explican 3 2 Guía de estilo de Java 3 21 Clases 3 211 Nombres para las clases 3 212 Estructura

Más detalles

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Más detalles

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes Introducción al.net Framework Diseño Basado en Componentes Introducción al.net Framework Arquitectura.NET Herramientas, lenguajes y tecnologías.net.net Framework Ingeniería Informática Universidad Carlos

Más detalles

TEMA 1: INTRODUCCIÓN

TEMA 1: INTRODUCCIÓN 1 DISEÑO Y DESARROLLO DE COMPILADORES TEMA 1: INTRODUCCIÓN Qué es un Compilador? Un compilador no es más que un traductor, es decir, un programa que nos permite pasar información de un lenguaje a otro.

Más detalles

INF 473 Desarrollo de Aplicaciones en

INF 473 Desarrollo de Aplicaciones en INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James

Más detalles

Práctica 4. Introducción a la programación en lenguaje ensamblador

Práctica 4. Introducción a la programación en lenguaje ensamblador Enunciados de prácticas Práctica 4. Introducción a la programación en lenguaje ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Práctica 4:

Más detalles

Datos parciales. Datos Parciales. La Programación estructurada se concentra en las acciones que controlan el flujo de datos.

Datos parciales. Datos Parciales. La Programación estructurada se concentra en las acciones que controlan el flujo de datos. Unidad I Conceptos Básicos de la Programación Orientada a Objetos 1.1 Paradigma de la Programación Orientada a Objetos Paradigma. Según el Diccionario de la Real Academia de la Lengua Española, paradigma

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes Modificador final Introducción a la Programación IV Curso de Programación en Java Luis Guerra l.guerra@upm.es Enero 2012 Una variable declarada con final no puede volver a ser reinicializada final int

Más detalles

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

Agustiniano Ciudad Salitre School Computer Science Support Guide - 2015 Second grade First term

Agustiniano Ciudad Salitre School Computer Science Support Guide - 2015 Second grade First term Agustiniano Ciudad Salitre School Computer Science Support Guide - 2015 Second grade First term UNIDAD TEMATICA: INTERFAZ DE WINDOWS LOGRO: Reconoce la interfaz de Windows para ubicar y acceder a los programas,

Más detalles

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Ingeniero en Computación José Alfredo Cobián Campos josealfredocobian@gmail.com Facultad de Ciencias

Más detalles

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Fundamentos de Arquitectura de Computadores Modelo de von Neumann Profesor: Felipe Cabarcas Correo:cabarcas@udea.edu.co Oficina:

Más detalles

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Informática Aplicada I

Informática Aplicada I Informática Aplicada I Dr. Alonso Ramirez Manzanares CIMAT e-mail: alram@cimat.mx web: http://www.cimat.mx/~alram/info_apli1/ Profesor Alonso Ramirez Manzanares, Ciencias de la computación, computo matemático.

Más detalles

picojava TM Características

picojava TM Características picojava TM Introducción El principal objetivo de Sun al introducir Java era poder intercambiar programas ejecutables Java entre computadoras de Internet y ejecutarlos sin modificación. Para poder transportar

Más detalles

"Programación en Ensamblador del microprocesador Pentium (I)"

Programación en Ensamblador del microprocesador Pentium (I) PRÁCTICA 3 "Programación en Ensamblador del microprocesador Pentium (I)" ÍNDICE 3.1.- El microprocesador Pentium. 3.2.- Inserción de ensamblador en Visual Studio. 3.3.- Facilidades para la depuración de

Más detalles

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos.

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos. ANÁLISIS SEMÁNTICO El análisis semántico dota de un significado coherente a lo que hemos hecho en el análisis sintáctico. El chequeo semántico se encarga de que los tipos que intervienen en las expresiones

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

Processadors de Llenguatge II. Compiladores

Processadors de Llenguatge II. Compiladores Processadors de Llenguatge II Compiladores Que es un compilador Un traductor es cualquier programa que toma un texto escrito en un lengiaje y da como salida en otro lenguaje(llamado objeto) texto lenguaje

Más detalles

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador.

Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador. ORGANIZACIÓN DE LA MEMORIA EN TIEMPO DE EJECUCIÓN Compilador Tiempo de Compilación Programa fuente Secuencia de caracteres Scanner Secuencia de símbolos Parser Árbol sintáctico Analizador semántico Generador

Más detalles

Laboratorio Informix. Stored Procedures Triggers

Laboratorio Informix. Stored Procedures Triggers Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Generación de Código Intermedio

Generación de Código Intermedio Generación de Código Intermedio Francisco Rodríguez Zamora Universidad de Costa Rica, Escuela de Ciencias de Computación e Informática San José, Costa Rica francisco.rodriguez@ecci.ucr.ac.cr Jonathan Calderón

Más detalles

TÉCNICAS DE PROGRAMACIÓN Lenguaje Java. Introducción a Java Daniel Finol

TÉCNICAS DE PROGRAMACIÓN Lenguaje Java. Introducción a Java Daniel Finol TÉCNICAS DE PROGRAMACIÓN Lenguaje Java Introducción a Java Daniel Finol Qué es Java? Java: El lenguaje de programación Java. La Máquina Virtual de Java. La plataforma Java. 2 Qué es Java? El lenguaje de

Más detalles

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina.

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina. MIPS Funciones 1 Funciones Diseño de funciones. Uso de instrucción jal y retorno de subrutina. Se suelen denominar funciones, procedimientos, subrutinas, subprogramas a las estructuras que emplean los

Más detalles

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente Capítulo 5: Aplicaciones cliente 46 5.1 La aplicación cliente en la Pocket PC La aplicación desarrollada para el cliente en un dispositivo móvil como corresponde a la Pocket PC necesita una capa muy delgada

Más detalles

Diseño de compiladores. Representación intermedia Ambientes de ejecución

Diseño de compiladores. Representación intermedia Ambientes de ejecución Diseño de compiladores Representación intermedia Ambientes de ejecución Generación de la RI Es la ultima etapa del frontend de un compilador El objetivo es traducir el programa en el formato que espera

Más detalles

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique el total de hojas en la primera. Escriba las

Más detalles

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción Tema 8 Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción IA-64 es una arquitectura de 64 bits desarrollada conjuntamente por Intel y HP (Hewlett- Packard). Está basado en una tecnología

Más detalles

Informática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza

Informática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Informática I Código 2547100 Semestre 2014-2 Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Programming tools Editor de texto (gedit, kate, vim, wordpad, etc):

Más detalles

MANUAL EASYCHAIR. A) Ingresar su nombre de usuario y password, si ya tiene una cuenta registrada Ó

MANUAL EASYCHAIR. A) Ingresar su nombre de usuario y password, si ya tiene una cuenta registrada Ó MANUAL EASYCHAIR La URL para enviar su propuesta a la convocatoria es: https://easychair.org/conferences/?conf=genconciencia2015 Donde aparece la siguiente pantalla: Se encuentran dos opciones: A) Ingresar

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Ricardo.Sanz@upm.es Curso 2004-2005 Arquitectura de Computadores Arquitectura de computadores es la disciplina que estudia la organización y funcionamiento de los computadores

Más detalles

Tema: INTÉRPRETE ENSAMPOCO/3

Tema: INTÉRPRETE ENSAMPOCO/3 Compiladores. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: INTÉRPRETE ENSAMPOCO/3 Contenido En esta práctica se desarrollará un intérprete de lenguaje ENSAMPOCO/3

Más detalles

SOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX.

SOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX. RPC RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX. El RPC es una interfaz de programación de aplicación (API) disponible para el desarrollo de

Más detalles

Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO Programación orientada a objetos

Más detalles

1 Procedimiento de instalación general en español de Conecta Disney

1 Procedimiento de instalación general en español de Conecta Disney 1 2 1 Procedimiento de instalación general en español de Conecta Disney 1. El usuario realiza la instalación estándar por Internet de Conecta Disney. El sistema muestra el primer panel de Conecta Disney.

Más detalles

PARTE II: Programación en ensamblador

PARTE II: Programación en ensamblador Cuaderno de Prácticas Laboratorio de Fundamentos de Computadores PARTE II: Programación en ensamblador Autor: Rafael Moreno Vozmediano Facultad de Informática La Máquina Rudimentaria: Arquitectura del

Más detalles

mari_clau_18@hotmail.com Java es el lenguaje de programación que

mari_clau_18@hotmail.com Java es el lenguaje de programación que PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Dra. Maricela Bravo mari_clau_18@hotmail.com JUSTIFICACIÓN Java es el lenguaje de programación que más impacto ha tenido en los últimos años, especialmente en

Más detalles

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

servicios. El API es definido al nivel de código fuente y proporciona el nivel de GLOSARIO API Application Program -ming- Interface Es la interfaz por la cual una aplicación accede al sistema operativo u a otros servicios. El API es definido al nivel de código fuente y proporciona el

Más detalles

1. Programa de ejemplo

1. Programa de ejemplo Procesadores de Lenguaje Universitat d'alacant, curso 2006-2007 Este documento describe las ideas generales sobre la generación de código objeto (especialmente CIL, aunque también se estudia algo de la

Más detalles

V.- V.-El El manejo de de las las Interrupciones

V.- V.-El El manejo de de las las Interrupciones Las Las V.- V.-El El manejo de de las las Conceptos Conceptos BásicosB Básicos Modos Modos de de Manejo Manejo Ejemplos Ejemplos de de aplicación aplicación Las Las El manejo de las en el 8051 Las interrupciones

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 1. Cuáles de los siguientes enunciados son declaraciones válidas? 2. Cuál de

Más detalles

02 Lenguajes de programación y compiladores

02 Lenguajes de programación y compiladores 2 Contenido Introducción Lenguaje de programación Traductor Compilador Interprete Lenguaje compilado Lenguaje interpretado Compiladores (just in time) Lenguaje ensamblador Programa objeto Lenguajes de

Más detalles

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido

Más detalles

Nociones Básicas de Sémantica: Semántica Denotacional

Nociones Básicas de Sémantica: Semántica Denotacional Nociones Básicas de Sémantica: Semántica Denotacional Análisis de Lenguajes de Programación Mauro Jaskelioff 21/08/2015 Acerca de la Semántica Operacional En la semántica operacional el significado de

Más detalles

Modelo de aplicaciones CUDA

Modelo de aplicaciones CUDA Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas

Más detalles

Maquinas virtuales Conceptos Básicos

Maquinas virtuales Conceptos Básicos Jimenez Zamudio Eduardo Aplicaciones de redes de computadoras 13 de septiembre de 2014 Maquinas virtuales Conceptos Básicos Concepto Básicamente, es un equipo dentro de un equipo, implementado en el software.

Más detalles

Práctica 3: Programación con subrutinas

Práctica 3: Programación con subrutinas Práctica 3: Programación con subrutinas 3.1 Objetivos El objetivo de esta práctica es estudiar el soporte del ensamblador del ARM para la gestión de subrutinas, para lo que resulta necesario familiarizarse

Más detalles

Carrera: IFE - 0438 2-2-6. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Carrera: IFE - 0438 2-2-6. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Software de sistemas Licenciatura en Informática IFE - 0438 2-2-6 2.- HISTORIA

Más detalles

La complejidad de los automatismos y la necesidad de especificar con precisión las tareas => útiles simbólicos de representación

La complejidad de los automatismos y la necesidad de especificar con precisión las tareas => útiles simbólicos de representación PROGRAMACIÓN DEL AUTÓMATA Tiene una serie de pasos: Determinar qué debe hacer el sistema de control y en qué orden Identificar entradas y salidas al autómata Representar mediante un modelo el sistema de

Más detalles

Análisis de Lenguajes de Programación II El Inicio

Análisis de Lenguajes de Programación II El Inicio Análisis de II El Inicio 08/08/2011 Docentes de la Materia Cecilia Manzino Pablo Buiras Lucio Nardelli Adscripto: Martín Ceresa (mauro@fceia.unr.edu.ar) (ceciliam@fceia.unr.edu.ar) (pablobuiras@gmail.com)

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Programa Analítico 2010. Asignatura: Resolución de problemas de Optimización en Entornos Industriales

Programa Analítico 2010. Asignatura: Resolución de problemas de Optimización en Entornos Industriales Programa Analítico 2010 Asignatura: Resolución de problemas de Optimización en Entornos Industriales CARRERA: LCC AÑO: 5º CREDITO HORARIO: 8 hs áulicas semanales DESPLIEGUE (primer semestre, segundo semestre

Más detalles

2. Se puede aplicar a la representación intermedia un optimizador de código independiente de la máquina.

2. Se puede aplicar a la representación intermedia un optimizador de código independiente de la máquina. Traductores, Compiladores e Intérpretes 1 Tema 7 Generación de Código En el modelo de análisis y síntesis de un compilador, la etapa inicial traduce un programa fuente a una representación intermedia a

Más detalles

(volver a Tabla de Contenidos)

(volver a Tabla de Contenidos) Para escribir, compilar y ejecutar un programa en Java lo único que realmente se necesita y no viene incluido con el sistema operativo es el kit de desarrollo de Java, denominado SDK (Software Development

Más detalles

Tutorial para la comunicación TCP en el BMS Server

Tutorial para la comunicación TCP en el BMS Server Tutorial para la comunicación TCP en el BMS Server Contenido 1. Pasos iniciales para trabajar empleando conexión TCP... 2 2. Configuración de la conexión TCP... 4 2.1. Comprobación de la conexión TCP...

Más detalles

GUÍA RÁPIDA DE INICO DE IGSS FREE50

GUÍA RÁPIDA DE INICO DE IGSS FREE50 INDUSTRIAL AUTOMATION Interactive Graphical SCADA System INSIGHT AND OVERVIEW GUÍA RÁPIDA DE INICO DE IGSS FREE50 Page 1 of 27 Guía Rápida de Inicio de IGSS FREE50 Introducción El propósito de esta guía

Más detalles

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA 3.1. Características La tendencia hacia el futuro es el de lograr la integración total de componentes realizados por terceras partes, para lo cual es necesario

Más detalles

Tema 1: Computadores y Programas

Tema 1: Computadores y Programas Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad

Más detalles

1. INTRODUCCIÓN Y OBJETIVOS

1. INTRODUCCIÓN Y OBJETIVOS 1. INTRODUCCIÓN Y OBJETIVOS Los teléfonos móviles son ya parte esencial en nuestra forma de vida y cada día son más los usuarios de estos terminales. Hasta ahora nos han acompañado a todas partes y nos

Más detalles

Capítulo 1 Introducción a la Computación

Capítulo 1 Introducción a la Computación Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:

Más detalles

PLC CONTROLADOR LOGICO PROGRAMABLE

PLC CONTROLADOR LOGICO PROGRAMABLE PLC CONTROLADOR LOGICO PROGRAMABLE PLC Los Controladores Lógicos Programables o PLC (Programmable Logic Controller por sus siglas en inglés) son dispositivos ampliamente usados en la Automatización Industrial.

Más detalles

GLOSARIO DE TÉRMINOS

GLOSARIO DE TÉRMINOS MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES

Más detalles

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8. Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa

Más detalles

Sistemas Operativos. Tema 1. Arquitectura Básica de los Computadores

Sistemas Operativos. Tema 1. Arquitectura Básica de los Computadores Sistemas Operativos. Tema 1 Arquitectura Básica de los Computadores http://www.ditec.um.es/so Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Sistemas Operativos. Tema 1 Arquitectura

Más detalles

Manual de Arduino Wifly Shield

Manual de Arduino Wifly Shield Manual de Arduino Wifly Shield Material necesario: Arduino UNO. Wifly shield Software requerido en la PC: Arduino IDE v.1.0.1 Librería Wifly Alpha2 Preparando el hardware: Como se puede ver 4 LEDs parpadean

Más detalles

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? INTRODUCCIÓN A JAVA 20/02/2007 Introducción a JAVA 2 Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía

Más detalles

Instructions on How to Access and Print Your W2 Statement for Active or Terminated Employees

Instructions on How to Access and Print Your W2 Statement for Active or Terminated Employees Instructions on How to Access and Print Your W2 Statement for Active or Terminated Employees SUBJECT: ACCESSING AND PRINTING YOUR W2 STATEMENT AS AN ACTIVE EMPLOYEE PURPOSE: This document outlines the

Más detalles

Tema 6: Generación de código (parte 2)

Tema 6: Generación de código (parte 2) Tema 6: Generación de código (parte 2) Procesamiento de Lenguajes Dept de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 6: Generación de código (parte 2) 1 /

Más detalles

CLASE # 5 TÉCNICAS DE CAJA BLANCA

CLASE # 5 TÉCNICAS DE CAJA BLANCA CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente

Más detalles

Concurrencia en.net David Jesús Horat Flotats

Concurrencia en.net David Jesús Horat Flotats Concurrencia en.net David Jesús Horat Flotats ÍNDICE 1. Introducción n a.net 2. Sincronización n en.net 2.1 Contextos sincronizados 2.2 Método M Synchronized 2.3 Regiones de código c sincronizado 2.4 Sincronización

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

TEMA 4. EXCEPCIONES Y MANEJO DE EXCEPCIONES.

TEMA 4. EXCEPCIONES Y MANEJO DE EXCEPCIONES. TEMA 4. EXCEPCIONES Y MANEJO DE EXCEPCIONES. 4.1. Introducción. 4.2. Tratamiento de excepciones. 4.2.1. Excepciones en lenguajes tradicionales. 4.2.2. Tratamiento de excepciones moderno. 4.3. Tratamiento

Más detalles

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas

Más detalles

Curso de Python Inicial

Curso de Python Inicial Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

Notas técnicas de JAVA Nro. 4 White Paper

Notas técnicas de JAVA Nro. 4 White Paper Tema: Notas técnicas de JAVA Nro. 4 White Paper (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) JAVA Basics : Entendiendo la Java Virtual Machine (JVM) Java, JVM, objetos, introducción,

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

Compiladores: Generación de Código. Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. María Constanza Pabón

Compiladores: Generación de Código. Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. María Constanza Pabón Compiladores: Generación de Código Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. María Constanza Pabón Generación de Código Representación Intermedia Tabla de Símbolos

Más detalles

PROGRAMACION CONCURRENTE

PROGRAMACION CONCURRENTE PROGRAMACION CONCURRENTE II.3 Sincronización basada en memoria compartida: Semáforos J.M. Drake 1 Procesos concurrentes y memoria compartida. Si los diferentes procesos de un programa concurrente tienen

Más detalles

SERVIDOR VIRTUAL IPLAN

SERVIDOR VIRTUAL IPLAN SERVIDOR VIRTUAL IPLAN ACCESO A UN SV VÍA VPN - PLATAFORMA VMWARE (DESDE WINDOWS) 1. INTRODUCCIÓN En el presente instructivo describiremos cómo conectarse a un Servidor Virtual IPLAN estableciendo una

Más detalles

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los

Más detalles

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com TUTORIAL DE PHP M. en C. Erika Vilches Parte 2 http://www.erikavilches.com Enunciados Condicionales Inicia con la palabra clave if seguida de una condición entre paréntesis $number = 5; if ($number < 10)

Más detalles

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo

Más detalles

Módulo 2. Inicio con Java

Módulo 2. Inicio con Java Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar

Más detalles

Algunas características de los lenguajes de programación orientados a objetos son:

Algunas características de los lenguajes de programación orientados a objetos son: Programación Orientada a Objetos (POO) La programación orientada a objetos es un paradigma de programación que, como su nombre lo indica, se basa en el uso de objetos estructuras de datos que consisten

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Paradigmas de programación 2 Paradigmas de programación Paradigma de programación estructurada Enfatiza la separación datos de un programa

Más detalles

Tutorial Básico de vbscript

Tutorial Básico de vbscript Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así

Más detalles

EL EMU8086 Y EL MICROPROCESADOR 8086.

EL EMU8086 Y EL MICROPROCESADOR 8086. 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). EL EMU8086 Y EL MICROPROCESADOR 8086. Objetivos específicos

Más detalles

JAVA PARA PRINCIPIANTES

JAVA PARA PRINCIPIANTES UN POCO DE HISTORIA Java fue creado en 1991 por James Gosling de Sun Microsystems inicialmente llamado Oak que significa roble, esto debido a la cantidad de arboles que rodeaban el sitio donde este trabajaba.

Más detalles

Tema: PROCEDIMIENTOS ALMACENADOS.

Tema: PROCEDIMIENTOS ALMACENADOS. Base de datos I. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: PROCEDIMIENTOS ALMACENADOS. Objetivo Específico Conocer la sintaxis de un procedimiento almacenado

Más detalles