Definiciones de tipo. Sinónimos de tipo

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

Download "Definiciones de tipo. Sinónimos de tipo"

Transcripción

1 Capítulo 4. Definiciones de tipo 40 Definiciones de tipo Sinónimos de tipo Un sinónimo de tipo renombra un tipo existente. El nuevo nombre y el antiguo son totalmente intercambiables. type Entero =Integer type DeEnteroEnEntero =Entero Entero uno :: Entero uno = 1 sucesor :: DeEnteroEnEntero sucesor x = x + 1 type ParFlotantes = (Float, Float) parceros :: ParFlotantes parceros = (0.0, 0.0) Un sinónimo de tipo muy usado, definido en Prelude, es String: type String = [Char] nombre :: String nombre = [ p, e, p, e ] nombreyapellidos :: String nombreyapellidos = Jośe E. Gallardo Main> length nombre 4 :: Int16 :: Int Main> length nombreyapellidos 16 :: Int

2 Capítulo 4. Definiciones de tipo 41 Definiciones de tipos de datos El programador puede definir nuevos tipos. Tipos enumerados Haskell permite usar los constructores de datos como patrones: esfinsemana :: DíaSemana Bool esfinsemana Sábado = True esfinsemana Domingo = True esfinsemana = False data DíaSemana = Lunes Martes Miércoles Jueves Viernes Sábado Domingo undía :: DíaSemana undía = Lunes laborables :: [DíaSemana] laborables = [Lunes, Martes, Miércoles, Jueves, Viernes] DíaSemana es un constructor de tipo Lunes, Martes,... son constructores de datos Un constructor de dato también puede ser simbólico, y en ese caso debe ser un operador que comience por el carácter dos puntos : Un mismo constructor de dato no puede aparecer en dos tipos distintos en un mismo ámbito. data Dirección = Norte Sur Este Oeste girar 90 :: Dirección Dirección girar 90 Norte = Este girar 90 Sur = Oeste girar90 Este = Sur girar 90 Oeste = Norte data ColorSemáforo = Rojo Verde Amarillo En Prelude data Bool = False True deriving (Eq, Ord, Ix, Enum, Read, Show, Bounded)

3 Capítulo 4. Definiciones de tipo 42 Uniones Podemos definir nuevos tipos uniendo dos tipos existentes: data LetraOEntero = Letra Char Entero Integer unvalor :: LetraOEntero unvalor = Letra x otrovalor :: LetraOEntero otrovalor = Entero 15 Es incorrecto: data LetraOEntero = Char Integer Temperaturas expresadas en dos escalas: Incorrecto!!! data Temp = Centígrado Float Fahrenheit Float estácongelado :: Temp Bool estácongelado (Centígrado grados) = grados 0.0 estácongelado (Fahrenheit grados) = grados 32.0 listamixta :: [LetraOEntero] listamixta = [ Letra a, Entero 10, Entero 12, Letra b ] Cada constructor de dato tiene un tipo. Letra :: Char LetraOEntero Entero :: Integer LetraOEntero incloe :: LetraOEntero LetraOEntero incloe (Entero n) = Entero. (+1) $ n incloe (Letra c) = Letra. chr. (+1). ord $ c Main> incloe (Letra a ) Letra b :: LetraOEntero Main> incloe (Entero 10) Entero 11 :: LetraOEntero

4 Capítulo 4. Definiciones de tipo 43 Productos También es posible definir tipos con un único constructor y varias componentes: data Racional = Par Integer Integer El constructor en este caso tiene el tipo Par :: Integer Integer Racional unmedio :: Racional unmedio = Par 1 2 Usando patrones podemos definir operaciones para trabajar con racionales: numerador numerador (Par x denominador denominador (Par :: Racional Integer ) = x :: Racional Integer y) = y por :: Racional Racional Racional (Par a b) por (Par c d) = Par (a c) (b d) Main> (Par 1 2) por (Par 1 3) Par 1 6 :: Racional Nombre, apellidos y edad de una persona: type Nombre =String type Apellido1 =String type Apellido2 =String type Edad =Integer data Persona =UnaPersona Nombre Apellido1 Apellido2 Edad pepe :: Persona pepe = UnaPersona Jośe Pérez Sánchez 18 Haskell permite nombrar las distintas componentes de un tipo: type Nombre =String type Apellido =String type Edad =Integer data Persona =UnaPersona { nombre :: Nombre, apellido1 :: Apellido, apellido2 :: Apellido, edad :: Edad }

5 Capítulo 4. Definiciones de tipo 44 Con registros, los datos se pueden declarar con la sintaxis habitual o nombrando los campos: pepe :: Persona pepe = UnaPersona Jośe Pérez Sánchez 18 juan :: Persona juan = UnaPersona { nombre = Juan, apellido1 = López, apellido2 = Giménez, edad =24 } Además, se introducen automáticamente funciones selectoras para las componentes: Main> : t edad edad :: Persona Edad Main> edad juan 24 :: Integer Se puede construir un nuevo valor a partir de otro existente, indicando el valor de las componentes que defieren: Main> juan {apellido1 = Boj, apellido2 = Sanz } UnaPersona {nombre = Juan, apellido1 = Boj, apellido2 = Sanz, edad = 24} :: Persona Lo cual, por supuesto, no afecta para nada al valor de juan: Main> juan UnaPersona {nombre = Juan, apellido1 = López, apellido2 = Giménez, edad = 24} :: Persona La siguiente función devuelve una nueva Persona con la edad incrementada: cumpleaños :: Persona Persona cumpleaños p = p {edad = edad p + 1} Main> cumpleaños juan UnaPersona{nombre = Juan, apellido1 = López, apellido2 = Giménez, edad = 25} :: Persona

6 Capítulo 4. Definiciones de tipo 45 Los identificadores de constructores binarios de dato también pueden ser simbólicos Siempre han de comenzar por el carácter dos puntos data Complejo =Float : Float origen :: Complejo origen = 0.0 : 0.0 partereal partereal (x : :: Complejo Float ) = x El constructor de dato introducido tiene el siguiente tipo: (: ) :: Float Float Complejo Main> (: ) : 2.0 :: Complejo Main> 1.0 : : 2.0 :: Complejo Un constructor literal puede usarse de forma infija si se escribe entre acentos franceses: dostercios :: Racional dostercios = 2 Par 3 También es posible definir registros variantes Un tipo que representa cuatro clases de figuras: type Radio =Float type Lado =Float data Figura = C írculo Radio Cuadrado Lado Rectángulo Lado Lado Punto unc írculo :: Figura unc írculo = C írculo 25.0 unrectángulo :: Figura unrectángulo = Rectángulo listafiguras :: [Figura] listafiguras = [C írculo 15.0, Cuadrado 3.0, Rectángulo ] Define dos funciones para calcular el área y per ímetro de una Figura.

7 Capítulo 4. Definiciones de tipo 46 Tipos recursivos Haskell permite la definición de tipos infinitos mediante declaraciones de tipos recursivos. Los naturales El cero es un número natural. Si n es un número natural, entonces n + 1 también lo es. En Haskell la declaración es: data Nat = Cero Suc Nat Cero :: Nat Suc :: Nat Nat Algunas funciones uno :: Nat uno = Suc Cero dos :: Nat dos = Suc (Suc Cero) puede escribirse Suc uno Cero, Suc Cero, Suc (Suc Cero),... los llamaremos valores definidos. Existen otros valores del tipo que no representan ningún número natural. undefined :: a undefined False = undefined siempre falla indefinidon :: Nat indefinidon = undefined Main> uno Suc Cero :: Nat Main> dos Suc (Suc Cero) :: Nat Main> indefinidon Program error : undefined Este valor suele denotarse semánticamente como (se lee bottom). Se considera que las evaluaciones que producen algún error o que no terminan (divergen) se reducen a. indefinidon =. Main> Suc indefinidon Suc Program error : undefined Main> Suc (Suc indefinidon ) Suc (Suc Program error : undefined

8 Capítulo 4. Definiciones de tipo 47 Obsérvese que dan lugar a evaluaciones distintas. Así, Suc indefinidon = Suc mientras que Suc (Suc indefinidon ) = Suc (Suc ) Suc indefinidon está algo más definido que indefinidon. escero :: Nat Bool escero Cero = True escero = False Main> escero indefinidon Program error : undefined Main> escero (Suc indefinidon ) False :: Bool infiniton :: Nat infiniton = Suc infiniton Main> infiniton Suc (Suc (Suc (Suc (Suc (Suc (Suc (Suc {Interrupted!} La siguiente función comprueba si un valor de tipo Nat representa un número par: espar :: Nat Bool espar Cero = True espar (Suc x) = not (espar x) El siguiente operador calcula la suma de dos valores del tipo Nat, analizando la forma del segundo argumento: infixl 6 <+> (<+>) :: Nat Nat Nat m <+> Cero = m m <+> (Suc n) = Suc (m <+> n) uno <+> dos =! definición de dos uno <+> Suc (Suc Cero) =! segunda ecuación de (<+>) Suc (uno <+> (Suc Cero)) =! segunda ecuación de (<+>) Suc (Suc (uno <+> Cero)) =! primera ecuación de (<+>) Suc (Suc (uno)) =! definición de uno Suc (Suc (Suc Cero))

9 Capítulo 4. Definiciones de tipo 48 En general, si una función tiene más de un argumento recursivo, podemos intentar realizar la recursión sobre uno de ellos. infixl 6 <+> (<+>) :: Nat Nat Nat Cero <+> n = n (Suc m) <+> n = Suc (m <+> n) No siempre es posible realizar la definición sobre cualquiera de los argumentos. Para el tipo Nat también es posible definir el producto y la potencia: infixl 7 < > (< >) :: Nat Nat Nat m < > Cero = Cero m < > (Suc n) = m < > n <+> m infixr 8 < > ya que m (n + 1) = m n + m (< >) :: Nat Nat Nat b < > Cero = Suc Cero b < > (Suc n) = b < > b < > n Expresiones aritméticas simples sobre enteros: data Expr = Valor Integer Expr :+: Expr Expr : : Expr Expr : : Expr Calcular el número de operadores que forman parte de una expresión: numopers :: Expr Integer numopers (Valor ) = 0 numopers (e1 :+: e2) = numopers e numopers e2 numopers (e1 : : e2) = numopers e numopers e2 numopers (e1 : : e2) = numopers e numopers e2 Define una función que calcule el valor de una expresión. Define una función que calcule cuántas constantes enteras aparecen en una expresión. Define una función que calcule el nivel de anidamiento máximo de un operador en una expresión. ya que b (n + 1) = b b n

10 Capítulo 4. Definiciones de tipo 49 Funciones de plegado Para cada tipo recursivo es posible definir un recursor de plegado. Muchas de las funciones definidas sobre el tipo Nat siguen un mismo patrón recursivo. Recordemos algunas: data Nat = Cero Suc Nat espar :: Nat Bool espar Cero = True espar (Suc n) = not (espar n) (<+>) :: Nat Nat Nat (<+>) m Cero = m (<+>) m (Suc n) = Suc (m <+> n) Siguen la plantilla: fun :: Nat a fun Cero = e fun (Suc n) = f (fun n) Función de plegado para el tipo Nat foldnat :: (a a) a Nat a foldnat f e Cero = e foldnat f e (Suc n) = f (foldnat f e n) Entonces: espar = foldnat not True (<+>) m =foldnat Suc m Comportamiento de foldnat foldnat h z (Suc (Suc ( i. veces.. (Suc Cero)))) = h (h ( i. veces.. h z)) espar (Suc (Suc Cero)) =! por definición de espar foldnat not True (Suc (Suc Cero)) =! por segunda ecuación de foldnat... True Escribe una función de plegado para el tipo Expr data Expr = Valor Integer Expr :+: Expr Expr : : Expr Expr : : Expr

11 Capítulo 4. Definiciones de tipo 50 Tipos Parametrizados (o Polimórficos) Algunos tipos predefinidos (como las listas) son polimórficos. Otro ejemplo: data Par a = UnPar a a (a es una variable de tipo). Main> UnPar 1 2 UnPar 1 2 :: Par Integer Main> UnPar True False UnPar True False :: Par Bool Main> UnPar a True ERROR : Type error in application Expression : UnPar a True Term : a Type : Char Does not match : Bool El tipo Either data Either a b = Left a Right b deriving (Eq, Ord, Read, Show) listamixta :: [Either Char Integer] listamixta = [Left a, Left c, Right 3, Left z ] otra :: [Either Bool Char] otra = [Left True, Right a, Right c ] El tipo Maybe data Maybe a = Nothing Just a deriving (Eq, Ord, Read, Show) recíproco :: Float Maybe Float recíproco 0 = Nothing recíproco x = Just (1/x) Main> recíproco Just :: Maybe Float Main> recíproco 0 Nothing :: Maybe Float

12 Capítulo 4. Definiciones de tipo 51 Definiciones newtype La declaración newtype crea un nuevo tipo isomorfo (con los mismos valores) a uno existente, pero con una identidad propia para el sistema de tipos. newtype Natural = UnNatural Integer Todo lo dicho para data vale para newtype. newtype evita el nivel extra de indirección (causado por la evaluación perezosa) que la declaración data introduciría. Las declaraciones newtype usan la misma sintaxis que las declaraciones data que poseen un único constructor con un único campo.

13 Capítulo 4. Definiciones de tipo 52 Propiedades de funciones Podemos entender mejor el significado de un programa estableciendo propiedades de las funciones que lo forman. Algunas propiedades pueden probarse directamente a partir de la definiciones de las funciones involucradas. Demostrar que la composición de funciones es asociativa (.) :: (b c) (a b) (a c) g. f = λ x g (f x) Asociatividad de (.) v ((f 1. f 2 ). f 3 ) v = (f 1. (f 2. f 3 )) v ((f 1. f 2 ). f 3 ) v! por definición de (.) (f 1. f 2 ) (f 3 v)! por definición de (.) f 1 (f 2 (f 3 v)) Transformamos ahora la parte derecha: f 1 ((f 2. f 3 ) v)! por definición de (.) f 1 (f 2 (f 3 v)) con lo cual queda demostrada la proposición original. Para tipos enumerados podemos probar la propiedad en cada caso not :: Bool Bool not True = False not False = True Doble negación x :: Bool not (not x) = x Si x es True, hay que probar not (not True) = True. not (not True)! por definición de not not False! por definición de not True Si x es False,... (f 1. (f 2. f 3 )) v! por definición de (.)

14 Capítulo 4. Definiciones de tipo 53 Las declaraciones de tipo recursivas dan lugar a conjuntos infinitos. La inducción es la técnica ideal para probar propiedades de funciones que actúan sobre tipos recursivos. El principio de inducción para el tipo Nat: data Nat = Cero Suc Nat Principio de inducción para valores definidos del tipo Nat P (Cero) x :: Nat P(x) x :: Nat P (x) P (Suc x) P Cero (demostrado en caso base)! por paso inductivo P (Suc Cero)! por paso inductivo P (Suc (Suc Cero)) las dos condiciones del principio de inducción son suficientes!! Este principio de inducción no es válido para valores del tipo Nat parcialmente definidos (como indefinidon e infiniton ).

15 Capítulo 4. Definiciones de tipo 54 Para el operador suma, (<+>) :: Nat Nat Nat m <+> Cero = m m <+> (Suc n) = Suc (m <+> n) Cero es neutro por la izquierda: x :: Nat Cero <+> x = x Por el principio de inducción: Caso Base: Cero <+> Cero = Cero Paso Inductivo: x :: Nat Cero <+> x = x HI Cero <+> (Suc x) = Suc x Caso base: Cero <+> Cero! por definición de (<+>) Cero Paso inductivo:! por definición de (<+>) Suc (Cero <+> x)! por hipótesis de inducción Suc x Cuando en la proposición considerada aparece más de una variable se puede realizar la inducción sobre alguna de ellas. Asociatividad de (<+>) x, y, z :: Nat (x <+> y) <+> z = x <+> (y <+> z) Realizando la inducción sobre la variable z: z :: Nat P (z) donde P(z) = x, y :: Nat (x <+> y) <+> z = x <+> (y <+> z) Por el principio de inducción basta con probar: Caso Base: P(Cero) Paso Inductivo: z :: Nat P (z) P(Suc z) Principio de inducción para el tipo Expr (49)? Cero <+> (Suc x)

16 Capítulo 4. Definiciones de tipo 55 Sobrecarga Haskell permite definir funciones monomórficas y polimórficas. Un ejemplo de función monomórfica: not :: Bool Bool not True = False not False = True (sólo tiene sentido para booleanos). Un ejemplo de función polimórfica: id :: a a id x = x Prelude> id True True :: Bool id con tipo Bool Bool Prelude> (id not) True False :: Bool id con tipo (Bool Bool) (Bool Bool) Una función polimórfica tiene sentido para distintos usos. Función sobrecargada: a medio camino entre las funciones monomórficas y las polimórficas. Tienen sentido para más de un tipo, pero con restricciones. Si el tipo del operador (+) fuera: (+) :: a a a permitiría 1 + 2, y True + False. Haskell utiliza un sistema de clases para modelar la sobrecarga. Una clase es un conjunto de tipos para los que tiene sentido un grupo de funciones. Existen distintas clases predefinidas y cada una contiene una serie de (tipos) ejemplares. La clase Num incluye los tipos Int, Integer, Double y Float. El modo de restringir el polimorfismo es vía un contexto: (+) :: Num a a a a

Tema 7. El sistema de clases

Tema 7. El sistema de clases Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 7. El sistema de clases 7.1 Funciones Sobrecargadas Clases e Instancias 7.2 Algunas Clases

Más detalles

Lógica y Programación

Lógica y Programación Lógica y Programación Programación funcional con Haskell Antonia M. Chávez, Carmen Graciani, Agustín Riscos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Programación

Más detalles

Programación Funcional en Haskell

Programación Funcional en Haskell Programación Funcional en Haskell Paradigmas de Lenguajes de Programación 1 cuatrimestre 2006 1. Expresiones, valores y tipos Un programa en lenguaje funcional consiste en definir expresiones que computan

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

OPERADORES Y EXPRESIONES

OPERADORES Y EXPRESIONES OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador

Más detalles

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS JULIO VIERNES 1 9 7-8 7-8 5-6 1-3-5-7-9 SABADO 2 8 9-0 9-0 7-8 NO APLICA DOMINGO 3 NO APLICA NO APLICA NO APLICA NO APLICA NO APLICA LUNES 4 FESTIVO FESTIVO FESTIVO FESTIVO FESTIVO MARTES 5 1 3-4 3-4 1-2

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Práctica de constantes, expresiones y operadores. Programación en C 1

Práctica de constantes, expresiones y operadores. Programación en C 1 Práctica de constantes, expresiones y operadores Programación en C 1 Definición de variables (II) Las variables (automáticas) no inicializadas tienen cualquier valor. Una variable (automática) se inicializa

Más detalles

Tema 3.- Predicados y sentencias condicionales

Tema 3.- Predicados y sentencias condicionales UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS ENERO VIERNES 1 FESTIVO FESTIVO FESTIVO FESTIVO FESTIVO SABADO 2 3 7-8 7-8 5-6 NO APLICA DOMINGO 3 NO APLICA NO APLICA NO APLICA NO APLICA NO APLICA LUNES 4 4 9-0 9-0 7-8 NO APLICA MARTES 5 5 1-2 1-2 9-0

Más detalles

Estatutos de Control C# Estatutos de Decisión (Selección)

Estatutos de Control C# Estatutos de Decisión (Selección) SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programación 1 Tema 3. Información, datos, operaciones y expresiones Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

TIPO DE DATO ABSTRACTO (TDA)

TIPO DE DATO ABSTRACTO (TDA) TIPO DE DATO ABSTRACTO (TDA) Ing. Eduard Antonio Lozano Córdoba Nota: Toda la información fue copiada de: Libros físicos e Internet Actividad Extra Clases #include #include int binario(int

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Las plantillas permiten definir funciones genéricas.

Las plantillas permiten definir funciones genéricas. Introducción (Genericidad). Plantillas de funciones o funciones genéricas. Sintaxis de plantillas. Ejemplos de declaraciones. A tener en cuenta Un ejemplo de plantilla de funciones: Máximo de un vector.

Más detalles

Expresiones y sentencias

Expresiones y sentencias Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En Java, todas las sentencias

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Programación Funcional Haskell Clase 21

Programación Funcional Haskell Clase 21 Programación Funcional Haskell Clase 21 José Raymundo Marcial Romero rmarcial@fi.uaemex.mx BUAP c José Raymundo Marcial Romero. Clase Número 21 p.1/12 Temas de la clase Clase Anterior En Haskell cada expresión

Más detalles

Programación en Visual Basic Ricardo Rodríguez García

Programación en Visual Basic Ricardo Rodríguez García Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.

Más detalles

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

Fundamentos de JAVA. Angel Kuri Enero, /2/2006 Fundamentos de JAVA Angel Kuri Enero, 2006 Enunciados y Expresiones Los siguientes son enunciados sencillos: int i = 1 import java.awt.font System.out.println( Esta moto es una + color + + marca); m.enginestate

Más detalles

GUÍA BÁSICA DE SCHEME v.4

GUÍA BÁSICA DE SCHEME v.4 Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los

Más detalles

Curso de Programación Avanzada en C

Curso de Programación Avanzada en C Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados

Más detalles

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 7 OPERADORES Y EXPRESIONES. 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 7 OPERADORES Y EXPRESIONES 1 OBJETIVOS Conocer los tipos de operadores

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

El lenguaje Haskell 98

El lenguaje Haskell 98 El lenguaje Haskell 98 Un lenguaje perezoso completamente Curry con sobrecarga. Juan Pedro Villa Introducción Las razones agudas son ronquidos para los oídos tontos. William

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

Datos y tipos de datos

Datos y tipos de datos Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato

Más detalles

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula; Clases en Java ESCRIBIENDO CLASES rmroman@itesm.mx Declaración de clases en Java public class Alumno private int matricula; public void mostrardatos() System.out.println("Matrícula: " + matricula); Firma

Más detalles

Java para programadores

Java para programadores Java para programadores Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Variables. Tipos

Más detalles

Tema 4. Operadores y Expresiones

Tema 4. Operadores y Expresiones Tema 4 Operadores y Expresiones Contenidos 1. Conceptos Básicos. 2. Operadores Aritméticos. 3. Operadores de Relación, de Igualdad y Lógicos. 4. Operadores de Incremento y Decremento. 5. Operadores y Expresiones

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

TEMA 4. ESTRUCTURAS DE CONTROL

TEMA 4. ESTRUCTURAS DE CONTROL M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 4. ESTRUCTURAS DE CONTROL Grado en Ingeniería en Tecnologías Industriales Programación CONTENIDOS 4.1.

Más detalles

Ficha de Aprendizaje N 13

Ficha de Aprendizaje N 13 Ficha de Aprendizaje N 13 Curso: Lógica y lenguaje de programación Tema: Fundamentos de programación Duración: 2 horas pedagógicas Logros de aprendizaje Identifica los diferentes tipos de operadores que

Más detalles

Programación Funcional

Programación Funcional Programación Funcional Jeroen Fokker 1996 Universidad de Utrecht Departamento de Informática Traducci on: Programa MEMI Universidad Mayor de San Simón Hielko R. Ophoff & Bernardo Sánchez J. Revisión: Universidad

Más detalles

Fecha Segundo Cuarto Sexto Octavo

Fecha Segundo Cuarto Sexto Octavo PRIMER ORDINARIO Lunes 23 de Martes 24 de BASE DE Miércoles 25 de Jueves 26 de Viernes 27 de SEGUNDO ORDINARIO Lunes 23 de Martes 24 de BASE DE Miércoles 25 de Jueves 26 de Viernes 27 de TERCER ORDINARIO

Más detalles

Sintaxis básica, variables y 7pos

Sintaxis básica, variables y 7pos Contenidos Sintaxis básica, variables y 7pos Curso de Programación en Java! Sintaxis básica! Variables y 7pos! Entrada/Salida básica! Operadores y expresiones Jesús Montes Sánchez jmontes@fi.upm.es Estructura

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Se desea estudiar el comportamiento de una función a medida independiente x se aproxima a un valor específico.

Se desea estudiar el comportamiento de una función a medida independiente x se aproxima a un valor específico. Tema: Límites de las funciones Objetivos: Comprender el concepto de límite de una función y las propiedades de los límites. Calcular el límite de una función algebraica utilizando las propiedades de los

Más detalles

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es

Más detalles

Programación Declarativa UNIVERSIDAD DE MÁLAGA

Programación Declarativa UNIVERSIDAD DE MÁLAGA Programación Declarativa UNIVERSIDAD DE MÁLAGA (3 o de Ingeniería Técnica en Informática) E.T.S.I. INFORMÁTICA Septiembre de 2006 mbre: Especialidad: Prolog Grupo: Ejercicio 1.1 (1 punto) Realizad el árbol

Más detalles

Las clases como tipos de datos definidos por el usuario

Las clases como tipos de datos definidos por el usuario . La clase Fraccional. Representación en UML de los niveles de acceso 3. Categorías de los objetos que aparecen en los métodos 4. El puntero this. Métodos operadores La clase Fraccional Vamos a diseñar

Más detalles

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS.

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. ALGEBRA y ALGEBRA LINEAL 520142 Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. DEPARTAMENTO DE INGENIERIA MATEMATICA Facultad de Ciencias Físicas y Matemáticas Universidad de Concepción 1 La lógica es

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo

INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN Métodos Numéricos 2008 - Carlos Zotelo Introducción a Fortran 77 / 90 1. El lenguaje Fortran 77 / 90 2. Tipos de datos básicos 3. Constantes y variables 4. Entrada

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros Resumen teoría Prof. Alcón ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Z = N {0} N Enteros Las operaciones + y. son cerradas en Z, es decir la suma de dos números enteros es un número entero y el producto

Más detalles

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison Algoritmos Intro Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison La Computadora Las computadoras trabajan con una base de 0 y 1 llamado sistema binario. En principio todo lo que sucede en un dispositivo

Más detalles

5. Sentencias selectivas o condicionales

5. Sentencias selectivas o condicionales 60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado

Más detalles

Capítulo 5 IDENTIFICADORES, VARIABLES Y CONSTANTES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 5 IDENTIFICADORES, VARIABLES Y CONSTANTES. 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 5 IDENTIFICADORES, VARIABLES Y CONSTANTES 1 OBJETIVOS Saber qué

Más detalles

Bases Matemáticas para la Educación Primaria. Guía de Estudio. Tema 3: Números racionales. Parte I: Fracciones y razones Números racionales

Bases Matemáticas para la Educación Primaria. Guía de Estudio. Tema 3: Números racionales. Parte I: Fracciones y razones Números racionales Bases Matemáticas para la Educación Primaria Guía de Estudio Tema 3: Números racionales Parte I: Fracciones y razones Números racionales 1 Situación introductoria ANÁLISIS DE CONOCIMIENTOS PUESTOS EN JUEGO

Más detalles

Programación. Test Autoevaluación Tema 3

Programación. Test Autoevaluación Tema 3 Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

Estructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR

Estructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR Estructuras de Datos Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR ...but note that an implementation need not be actualized as code a concrete design is sufficient. Chris Okasaki

Más detalles

Operaciones combinadas

Operaciones combinadas Operaciones combinadas PROPIEDAD DISTRIBUTIVA DEL PRODUCTO RESPECTO DE LA SUMA La propiedad distributiva permite transformar un producto en una suma y viceversa. En general, si a, b y c son números enteros

Más detalles

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: Tipos de datos. Dato: Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: I Numéricos: Almacenan números y con

Más detalles

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

Más detalles

02 de septiembre de 2013-06 de septiembre de 2013

02 de septiembre de 2013-06 de septiembre de 2013 02 de septiembre de 2013-06 de septiembre de 2013 2 lunes 3 martes 4 miércoles 5 jueves 6 viernes 1 17/04/2013 10:23 09 de septiembre de 2013-13 de septiembre de 2013 9 lunes 10 martes 11 miércoles 12

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo Fundamentos de Informática. Departamento de Ingeniería

Más detalles

Análisis Matemático I: Numeros Reales y Complejos

Análisis Matemático I: Numeros Reales y Complejos Contents : Numeros Reales y Complejos Universidad de Murcia Curso 2008-2009 Contents 1 Definición axiomática de R Objetivos Definición axiomática de R Objetivos 1 Definir (y entender) R introducido axiomáticamente.

Más detalles

Tema: Tipos de datos y conversiones

Tema: Tipos de datos y conversiones Tema: Tipos de datos y conversiones Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express y realice diversos programas en el entorno Consola,

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.

Más detalles

EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL

EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL María Alpuente y María José Ramírez 1 LENGUAJES Y PARADIGMAS: INTRODUCCIÓN 1. Indica cuál de las siguientes

Más detalles

RESUMEN DE CONCEPTOS

RESUMEN DE CONCEPTOS RESUMEN DE CONCEPTOS 1º ESO MATEMÁTICAS NÚMEROS NATURALES (1) Múltiplo de un número: Un número es múltiplo de otro si el segundo está contenido en el primero un número exacto de veces. Ejemplo: 16 es múltiplo

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 Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

Conversión entre Tipos

Conversión entre Tipos Conversión entre Tipos La conversión entre tipos permite comparar y copiar valores entre diferentes tipos. En esta lección describiremos como convertir un tipo dado en otro. Conversión en VB y Existen

Más detalles

Computación II. Introducción a Visual Basic

Computación II. Introducción a Visual Basic Computación II Introducción a Visual Basic Introducción a Visual Basic Microsoft Visual Basic es un conjunto de herramientas que posibilitan el desarrollo de aplicaciones para Windows de una manera rápida

Más detalles

INTRODUCCIÓN AL LENGUAJE C

INTRODUCCIÓN AL LENGUAJE C INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática EUP ULPGC Jose Torres 1 de 36 Historia de C Precursores: muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken Thompson, 1970) C fue diseñado

Más detalles

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones

Más detalles

data Tree a = Tip Node a (Tree a) (Tree a) deriving Show

data Tree a = Tip Node a (Tree a) (Tree a) deriving Show Preguntas seleccionadas de pruebas de evaluación Pregunta 1 Dadas las siguientes definiciones: data Tree a = Tip Node a (Tree a) (Tree a) deriving Show cambiar :: [Int] -> Tree [Int] -> Tree [Int] cambiar

Más detalles

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B) APRENDERAPROGRAMAR.COM CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B) Sección: Cursos Categoría: Tutorial básico del programador

Más detalles

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A) aprenderaprogramar.com Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión:

Más detalles

Datos y tipos de datos

Datos y tipos de datos Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato

Más detalles

Operadores de comparación

Operadores de comparación Operadores de comparación Los operadores de comparación en C son: Igual (==) Distinto (!=) Mayor (>) y Mayor o igual (>=) Menor (

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Tipos primitivos y clases de interés

Tipos primitivos y clases de interés Programación Avanzada para Sistemas de Telecomunicación Tipos primitivos y clases de interés Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Tipos primitivos. Clase String y asociadas. Clases

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

CALENDARIO CURSO TÉCNICOS DEPORTIVOS 1ª SEMANA ( DEL 4 AL 9 DE JULIO) SESIONES LUNES 4 MARTES 5 MIÉRCOLES 6 JUEVES 7 VIERNES 8 SÁBADO 9

CALENDARIO CURSO TÉCNICOS DEPORTIVOS 1ª SEMANA ( DEL 4 AL 9 DE JULIO) SESIONES LUNES 4 MARTES 5 MIÉRCOLES 6 JUEVES 7 VIERNES 8 SÁBADO 9 CALENDARIO CURSO TÉCNICOS DEPORTIVOS 1ª SEMANA ( DEL 4 AL 9 DE JULIO) SESIONES LUNES 4 MARTES 5 MIÉRCOLES 6 JUEVES 7 VIERNES 8 SÁBADO 9 INAUGURACIÓN DEL CURSO CALENDARIO CURSO TÉCNICOS DEPORTIVOS 2ª SEMANA

Más detalles

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

Métodos que devuelven valor Dado el siguiente triángulo rectángulo: Métodos que devuelven valor Dado el siguiente triángulo rectángulo: hipotenusa altura base Para dibujar este triángulo necesitamos los siguientes datos: base y altura La base y la altura, se utilizarán

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

C# para no Programadores

C# para no Programadores C# para no Programadores Programa de Estudio C# para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen experiencia

Más detalles

Elementos léxicos del lenguaje de programación C

Elementos léxicos del lenguaje de programación C Elementos léxicos del lenguaje de programación C Elementos léxicos de los lenguajes de programación (tokens) Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices

Más detalles

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * / undamentos de sintaxis en algunas instrucciones de C#.Net Dr. Ramón Roque Hernández Identificadores Un identificador le da nombre único a un elemento en un programa (ariables, procedimientos, etc.). No

Más detalles

Guía 2: Funciones, listas, recursión e inducción

Guía 2: Funciones, listas, recursión e inducción Introducción a los Algoritmos - 2do cuatrimestre 2016 Guía 2: Funciones, listas, recursión e inducción El objetivo de los siguientes ejercicios es continuar aprendiendo programación funcional, es decir,

Más detalles

Farmacias de Guardia de TOCINA-LOS ROSALES desde 30-dic-2013 hasta 05-ene-2014

Farmacias de Guardia de TOCINA-LOS ROSALES desde 30-dic-2013 hasta 05-ene-2014 Farmacias de Guardia de TOCINA-LOS ROSALES desde 30-dic-2013 hasta 05-ene-2014 LUNES 30 MARTES 31 MIERCOLES 1 JUEVES 2 VIERNES 3 SABADO 4 DOMINGO 5 Farmacias de Guardia de TOCINA-LOS ROSALES desde 06-ene-2014

Más detalles

Universidad de Managua

Universidad de Managua Universidad de Managua Introducción a la Programación Tema 7 Introducción a la programación en lenguaje C# Objetivos - Describir la estructura básica de un programa en Lenguaje C# - Explicar las estructuras

Más detalles

Tema 13: Programas interactivos

Tema 13: Programas interactivos Tema 13: Programas interactivos Informática (2015 16) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 38 Tema 13: Programas

Más detalles

Clase adicional 2. Estructuras básicas de control. Temas

Clase adicional 2. Estructuras básicas de control. Temas Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño

Más detalles

Algoritmos y Estructuras de Datos II

Algoritmos y Estructuras de Datos II 8 de abril de 2015 Clase de hoy 1 Repaso Tipos concretos versus abstractos Tipos abstractos de datos 2 3 4 TAD Pila Especificación del TAD Pila Repaso Tipos concretos versus abstractos Tipos abstractos

Más detalles

Lenguajes de Dominio Específico (o Lenguajes para Todos)

Lenguajes de Dominio Específico (o Lenguajes para Todos) Lenguajes de Dominio Específico (o Lenguajes para Todos) Mauro Jaskelioff 20/11/2015 Lenguajes para Todos Todo sistema que acepte entrada de un usuario es un procesador de lenguaje. John Reynolds Los lenguajes

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

INTRODUCCIÓN AL LENGUAJE C++

INTRODUCCIÓN AL LENGUAJE C++ Transparencias del libro Rodríguez Artalejo, M., González-Calero, P.A., Gómez Martín, M.A.: Estructuras de datos, un enfoque moderno. Editorial Complutense 2011. TEMA 0 INTRODUCCIÓN AL LENGUAJE C++ El

Más detalles