Tema 6: Programación funcional en Scala

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

Download "Tema 6: Programación funcional en Scala"

Transcripción

1 Tema 6: Programación funcional en Scala Sesión 17: Introducción a Scala (1) martes 5 de abril de 2011 Referencias Programming in Scala. Martin Odersky, Lex Spoon, Bil Venners. Ed. Artima. Programming Scala. Dean Wampler, Alex Payne. Ed. O'Reilly. Scala by Example. Martin Odersky. November A Scala Tutorial for Java programmers. Michel Schinz, Philipp Haller. November The Scala Language Specification. Martin Odersky. November martes 5 de abril de 2011

2 El lenguaje de programación Scala Se desarrolla en 2001 en la universidad EPFL (Suiza) por un equipo dirigido por Martin Odersky El objetivo principal del lenguaje es integrar el paradigma funcional y el paradigma orientado a objetos Énfasis en la facilidad del desarrollo de componentes reusables Está basado en Java: los programas en Scala se compilan a bytecodes de Java y se ejecutan en la máquina virtual Java Sus características funcionales lo hacen muy apropiado para desarrollar programas muy eficientes en arquitecturas paralelas formadas por granjas de múltiples ordenadores (Twitter usa Scala) Sitio web: martes 5 de abril de 2011 Unificación de PF y POO Programación funcional: hace fácil desarrollar cosas interesantes desde partes sencillas, usando: funciones de orden superior tipos algebraicos y pattern matching polimorfismo paramétrico Programación orientada a objetos: hace fácil adaptar y extender sistemas complejos, usando: martes 5 de abril de 2011 especialización (subclases) y herencia configuraciones dinámicas clases como abstracciones parciales

3 Diseño de Scala Lenguaje moderno que satisface las necesidades más importantes de los desarrolladores actuales Completamente compatible con Java Modelo de objetos uniforme Pattern matching Funciones de orden superior Nuevas formas para abstraer y componer programas martes 5 de abril de 2011 Características de Scala Estáticamente tipeado, con características de scripting porque en muchas ocasiones el compilador realiza una inferencia de tipos Interoperabilidad: encaja perfectamente en un entorno Java. Conciso // Java class MyClass{ private int index; private String name; } public MyClass(int index, String name){ this.index = index; this.name = name; } // Scala class MyClass(index: Int, name: String) martes 5 de abril de 2011

4 Scala utiliza la PF Un par de ejemplos con funciones de orden superior: //Java boolean namehasuppercase = false; for (int i=0; i<name.length(); ++i){ if(character.isuppercase(name.charat(i))){ namehasuppercase = true; break; } } //Scala val namehasuppercase = name.exists(_.isuppercase) martes 5 de abril de 2011 Scala utiliza la PF scala> val matrix = Array(Array(1, 0, 0), Array(0, 1, 0), Array(0, 0, 1)) matrix: Array[Array[Int]] = Array ([I@164da25,... scala> matrix.exists(row => row.forall(0 ==)) res13: Boolean = false martes 5 de abril de 2011

5 Scala es orientado a objetos A diferencia de Java o C++ en Scala no existen tipos primitivos que no son objetos Todas las expresiones se compilan a llamadas a métodos de objetos scala> (1).hashCode res8: Int = 1 scala> (1).+(2) res10: Int = 3 Veremos más detalles de POO en Scala en los últimos tema de la asignatura martes 5 de abril de 2011 Scala como intérprete y compilador Scala permite ejecutar sus programas en modo scripting o en modo compilado Hasta ahora hemos usado el intérprete de Scala Cada línea de código es compilada y se genera bytecode que es ejecutado por la MV Java martes 5 de abril de 2011

6 Scala como intérprete y compilador Se puede llamar a un script de Scala con el comando scala println("hola, "+ args(0) +"!") args.foreach(arg => println(arg)) También es posible utilizar el compilador de Scala explícitamente, con el comando scalac helloworld.scala: // Definimos un singleton: una clase con un único objeto object HelloWorld { def main(args: Array[String]) { println("hello, world!") } } $ scalac helloworld.scala $ scala HelloWorld martes 5 de abril de 2011 Expresiones y funciones simples en el intérprete El intérprete analiza las expresiones, realiza las inferencias de tipos necesarias y evalua la expresión: scala> * 3 scala> * 3 scala> "hola" + " mundo!" martes 5 de abril de 2011

7 Tema 6: Programación funcional en Scala Sesión 18: Programación funcional en Scala Referencias Programming in Scala. Martin Odersky, Lex Spoon, Bil Venners. Ed. Artima. Programming Scala. Dean Wampler, Alex Payne. Ed. O'Reilly. Scala by Example. Martin Odersky. November A Scala Tutorial for Java programmers. Michel Schinz, Philipp Haller. November The Scala Language Specification. Martin Odersky. November 2010.

8 Expresiones y funciones simples en el intérprete El intérprete analiza las expresiones, realiza las inferencias de tipos necesarias y evalua la expresión: scala> * 3 scala> * 3 scala> "hola" + " mundo!" Variables mutables e inmutables Scala diferencia entre variables inmutables (declaradas con val y variables mutables var) Es recomendable utilizar siempre que podamos variables inmutables (val), esto refuerza el carácter funcional de nuestros programas Las variables son estrictamente tipeadas, aunque no es necesario declarar el tipo porque Scala puede inferirlo

9 Variables mutables e inmutables scala> val msg = "Hola mundo!" msg: java.lang.string = Hola mundo! scala> var saludo = "Hola mundo!" saludo: java.lang.string = Hola mundo! scala> saludo = "Hasta luego!" saludo: java.lang.string = Hasta luego! scala> saludo = 3.0 <console>:5: error: type mismatch; found : Double(3.0) required: java.lang.string Variables mutables e inmutables Cuidado! El intérprete permite declarar varias veces la misma variable. Cada ejecución de una nueva sentencia crea un nuevo ámbito en el que se define la nueva variable. Las variables anteriores se pierden. Esto no es correcto en un programa; una variable sólo se puede declarar una vez. Las variables declaradas con val no pueden ser reasignadas. Esto no impide que cambie el valor del objeto que contienen (en el caso de estar en el paradigma imperativo). Ejemplo: scala> val a = Array(1,0,0) a: Array[Int] = Array(1, 0, 0) scala> a(1) = 1 scala> a res42: Array[Int] = Array(1, 1, 0)

10 Tipos de datos básicos Aunque hablemos de tipos de datos, en Scala todos los tipos de datos son clases Algunos tipos de datos y formas de inicializarlos: Tipo de dato Rango Ejemplo Byte 8-bit con signo 38 Short 16-bit con signo 23 Long 64-bit con signo Int 32-bit con signo 70 Char 16-bit sin signo A Float 32 bit flotante con signo Double 64 bit flotante con signo Boolean true o false true String secuencia de caracteres hola El API completo de Scala se puede consultar en api/current/index.html Operadores Aritméticos: + - = * % Relacionales: < <= > >=!= == Lógicos: &&!

11 def para dar nombre a expresiones def es una primitiva declarativa: le da un nombre a una expresión, pero no la evalua La evaluación se realiza cuando se llame al identificador def t = 8 / 0 --> No da error t --> al evaluar t, error división por cero En el caso de val o var la evaluación se realiza antes de hacer la asignación val t = 8 / 0 --> error Cuándo se evalúan las variables en un def? Las variables en una expresión definida por def se evaluan cuando se invoca al identificador definido: var x = 10 def t = x / 5 var x = 5 t -> 1

12 def para definir funciones Sintaxis: def <nombre_funcion>(<parametro1:tipo1>,...):<tipo_resultado>={ <cuerpo de la función> } Ejemplo: def max(x: Int, y: Int): Int = { if (x > y) x else y } max: (Int,Int)Int def para definir funciones Las llaves son opcionales si el cuerpo tiene una sóla sentencia El tipo de retorno es opcional si Scala puede inferirlo (no aplicable a funciones recursivas) scala> def max2(x: Int, y: Int) = if (x > y) x else y max2: (Int,Int)Int La función se evalúa cuando se invoca: scala> max2(3, 5) res6: Int = 5 Los ejemplos anteriores en los que se definían expresiones se pueden interpretar de esta manera: como una definición de una función de una única sentencia (la expresión) que se evalua cuando se invoca

13 Una función que no devuelve nada Por ahora todas las funciones que vamos a definir van a estar en el paradigma funcional, siempre devolverán algún valor Sin embargo Scala es también procedural: scala> def hola() = println("hola mundo") hola: ()Unit La función hola no devuelve ningún valor; la clase Unit es similar al tipo void de Java Expresiones condicionales: if if: condicional; cuidado con el fin de línea si no utilizamos llaves Correcto: def abs(x: Double) = if (x >= 0) x else -x Incorrecto: def abs(x: Double) = if (x >= 0) x else -x Correcto: def abs(x: Double) = if (x >= 0) x else -x

14 Expresiones if anidadas def entre(x: Double, x1: Double, x2: Double) = if (x < x1) false else if (x > x2) false else true Expresiones condicionales: match Similar al cond de Scheme var myvar = 3; myvar match { case 1 => "Uno" case 2 => "Dos" case 3 => "Tres" case 4 => "Cuatro" } El default se escribe como _ case _ => otro caso

15 Funciones recursivas El típico ejemplo de función recursiva: factorial en Scala def factorial(x: Long): Long = if (x == 0) 1 else x * factorial(x - 1) Máximo común divisor recursivo: def gcd(x: Long, y:long): Long = if (y == 0) x else gcd(y, x % y) Listas La clase List de Scala permite definir listas Al igual que Scheme son inmutables y tienen una estructura recursiva A diferencia de Scheme son estrictamente tipeadas val fruit = List("apples", "oranges", "pears") val nums = List(1, 2, 3, 4) val diag3 = List(List(1, 0, 0), List(0, 1, 0), List(0, 0, 1)) val empty = List()

16 Operador cons Funciona igual que en Scheme, produce una nueva lista añadiendo un nuevo elemento a su cabeza Se define con 4 puntos :: val dostres = List(2, 3) val undostres = 1 :: dostres La lista vacía se define con el identificador Nil val unodostres = 1 :: 2 :: 3 :: Nil val fruit = "apples" :: ("oranges" :: ("pears" :: Nil)) val nums = 1 :: (2 :: (3 :: (4 :: Nil))) val diag3 = (1::(0::(0::Nil))):: (0 :: (1 :: (0 :: Nil))) :: (0 :: (0 :: (1 :: Nil))) :: Nil val empty = Nil val nums = 1::2::3::4::Nil Operaciones básicas sobre listas head: devuelve el primer elemento de la lista tail: devuelve el resto de la lista isempty: predicado que comprueba si la lista es vacía ::: operador similar a append que concatena dos listas

17 Funciones sobre listas Con las operaciones previas se pueden definir funciones similares a las que vimos en Scheme Inserción en una lista ordenada: Funciones sobre listas Con las operaciones previas se pueden definir funciones similares a las que vimos en Scheme Inserción en una lista ordenada: def insert(x: Int, lista: List[Int]) : List[Int] = if (lista.isempty) x :: Nil else if (x < lista.head) x :: lista else lista.head :: insert(x, lista.tail)

18 Tema 6: Programación funcional en Scala Sesión 19: Programación funcional en Scala (3) Referencias Programming in Scala. Martin Odersky, Lex Spoon, Bil Venners. Ed. Artima. Programming Scala. Dean Wampler, Alex Payne. Ed. O'Reilly. Scala by Example. Martin Odersky. November A Scala Tutorial for Java programmers. Michel Schinz, Philipp Haller. November The Scala Language Specification. Martin Odersky. November 2010.

19 Funciones sobre listas Con las operaciones previas se pueden definir funciones similares a las que vimos en Scheme Inserción en una lista ordenada: Ordenación de una lista: Funciones sobre listas Con las operaciones previas se pueden definir funciones similares a las que vimos en Scheme Inserción en una lista ordenada: def insert(x: Int, lista: List[Int]) : List[Int] = if (lista.isempty) x :: Nil else if (x < lista.head) x :: lista else lista.head :: insert(x, lista.tail) Ordenación de una lista:

20 Funciones sobre listas Con las operaciones previas se pueden definir funciones similares a las que vimos en Scheme Inserción en una lista ordenada: def insert(x: Int, lista: List[Int]) : List[Int] = if (lista.isempty) x :: Nil else if (x < lista.head) x :: lista else lista.head :: insert(x, lista.tail) Ordenación de una lista: def sort(lista: List[Int]): List[Int] = if (lista.isempty) Nil else insert(lista.head, sort(lista.tail)) Funciones sobre listas Reverse-list:

21 Funciones sobre listas Reverse-list: def reverse(l: List[Int]) : List[Int] = if (l == Nil) l else reverse(l.tail) ::: List(l.head) Cadenas El tipo de Scala es String y se convierte en la clase de Java java.lang.string Al igual que las listas son inmutables Concatenación con el operador + "hola" + "adios" --> "holaadios" Funciones head, tail, charat "hola".head --> h "hola".tail -->"ola" "hola".charat(0) --> 'h'

22 Tuplas Scala permite construir tuplas de n elementos de distinto tipo Es un tipo también inmutable La forma de definir una tupla de n tipos es: (tipo1, tipo2,..., tipon) Métodos de acceso al elemento de la tupla._1,._2, Ejemplo con una tupla de tres elementos: val mitupla = (99, "Hola", true) println(mitupla._1) println(mitupla._2) println(mitupla._3) Tuplas Muy útiles para funciones que tienen que devolver más de un elemento:

23 Tuplas Muy útiles para funciones que tienen que devolver más de un elemento: def sumacadenas(s1: String, s2: String): (String, Int) = (s1+s2, s1.length+s2.length) Ámbito de variables Una vez definida una variable en un ámbito no podemos volver a definirla Sería un error el siguiente script: val a = 1 val a = 2 // error println(a) Sí es posible hacerlo en el intérprete, porque cada evaluación de una expresión crea una nuevo ámbito

24 Ámbito de variables Podemos crear un ámbito interior utilizando llaves: val a = 1; { val a = 2; println(a) } println(a) Podemos utilizar funciones locales que definen su propio ámbito: def function1(x : Int) = { def function2(y: Int) = { x*y } function2(3) } function1(2) Funciones como objetos de primera clase En Scala las funciones son también objetos de primera clase Podemos: Definir variables y parámetros de tipo función Almacenar funciones en estructuras de datos como listas o arrays Construir funciones en tiempo de ejecución (closures) y devolverlas como valor de retorno de otra función

25 Ejemplo: sumatorio La diferencia con Scheme es que Scala es un lenguaje tipeado y hay que definir el tipo de la función que se pasa como parámetro La función f que se pasa como primer parámetro de sum debe recibir un entero y devolver un entero Si pasamos otro tipo de función, Scala detecta el error de tipos def square(x: Int): Int = x * x def sum(f: Int => Int, a:int, b:int): Int = if (a>b) 0 else f(a) + sum(f, a+1, b) Funciones anónimas Al igual que en Scheme con la forma especial lambda, en Scala podemos definir funciones anónimas creadas en tiempo de ejecución La función square anterior se podría definir de forma anónima como: (x: Int) => x * x Podemos definirla como parámetro de sum y no hace falta definir el tipo de las variables, porque Scala lo infiere a partir del tipo del primer parámetro: sum(x => x * x, a, b)

26 Funciones anónimas Una notación más concisa utiliza subrayados como huecos (placeholders) de los parámetros de la función: sum(_+2, a, b) Es equivalente a: sum(x => x+2, a, b) Variables de tipo función Al igual que en Scheme, podemos asignar funciones a variables: val f = (s:string) => s + adios f( hola ) Para asignar una función ya definida a una variable hay que utilizar la sintaxis de huecos (placeholders) para indicar al compilador que no tiene que aplicar la función: def suma3(a: Int, b: Int, c: Int) = a + b + c val f = suma3 _ f(1,2,3) --> 6

27 Variables de tipo función Podemos almacenar funciones en listas, pero todas las funciones deben tener el mismo perfil: def suma3(a: Int, b: Int, c: Int) = a + b + c def mult3(a: Int, b: Int, c: Int) = a * b * c val listafuncs = List(suma3 _, mult3 _) val f = listafuncs.head f(1,2,3) Variables de tipo función Ejemplo de función que toma una lista de funciones de un argumento y las aplica: def aplicalista (lista: List[(Int) => Int], x: Int): Int = if (lista.length == 1) lista.head(x) else lista.head(aplicalista(lista.tail,x)) def mas5(x: Int) = x+5 def por8(x: Int) = x*8 val l = List(mas5 _, por8 _) aplicalista(l, 10)

28 Variables de tipo función Es posible utilizar la sintaxis de los huecos para proporcionar algunos de los argumentos y dejar libres otros. Con la siguiente expresión definimos una variable de tipo función de un argumento a partir de una función anterior val g = suma3(1, _: Int, 10) Devolviendo funciones anónimas Las funciones pueden crearse y ser devueltas por otras funciones def makesumador(k: Int) = (x: Int) => x + k val f = makesumador(10) val g = makesumador(100) f(4) g(4) Cómo declararías el tipo devuelto por la función makesumador(int)?

29 Closures Al igual que en Scheme, las funciones definidas en un ámbito mantienen el acceso a ese ámbito y pueden usar los valores allí definidos. Llamamos closure a estas funciones En el ejemplo siguiente, el ámbito en el que se crea la función devuelta contiene la variable i (el argumento de makeclosure) y la variable valor x declarada con el valor 5 def makeclosure(i : Int) : Int => Int = { val x = 5 (j : Int) => i + j + x } val returnedfuncion : Int => Int = makeclosure(10) println(returnedfuncion) //=> <function> println(returnedfunction(20)) //=> 35, porque = 35

Tema 6: Programación funcional en Scala. Sesión 18: Programación funcional en Scala

Tema 6: Programación funcional en Scala. Sesión 18: Programación funcional en Scala Tema 6: Programación funcional en Scala Sesión 18: Programación funcional en Scala Referencias Programming in Scala. Martin Odersky, Lex Spoon, Bil Venners. Ed. Artima. Programming Scala. Dean Wampler,

Más detalles

Tema 6: Programación funcional en Scala. Sesión 17: Introducción a Scala (1)

Tema 6: Programación funcional en Scala. Sesión 17: Introducción a Scala (1) Tema 6: Programación funcional en Scala Sesión 17: Introducción a Scala (1) Referencias Programming in Scala. Martin Odersky, Lex Spoon, Bil Venners. Ed. Artima. Programming Scala. Dean Wampler, Alex Payne.

Más detalles

Tema 6: Programación Funcional en Scala

Tema 6: Programación Funcional en Scala Tema 6: Programación Funcional en Scala En este tema vamos a repasar algunas características de Programación Funcional de Scala, que hacen posible utilizar este paradigma en un lenguaje moderno, orientado

Más detalles

Tema 8: Tipos de datos. Sesión 24: Tipos de datos (1)

Tema 8: Tipos de datos. Sesión 24: Tipos de datos (1) Tema 8: Tipos de datos Sesión 24: Tipos de datos (1) Referencias Programming Languages Pragmatics: Capítulo 7, apartados 7.1 (Type Systems) y 7.2 (Type Checking) Programming in Scala: Capítulo 5 (Basic

Más detalles

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Justificación: Se pretende con éste contribuir a que el alumno se inicie y conozca el entorno del IDE en la creación de pequeños programas en java Objetivos:

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

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

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos

Más detalles

Estructura de Datos Unidad 1: Repaso del Lenguaje Java

Estructura de Datos Unidad 1: Repaso del Lenguaje Java Estructura de Datos Unidad 1: Repaso del Lenguaje Java Introducción Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de 1991, con el que se van a

Más detalles

Java. Introducción a la Programación Orientada a Objetos

Java. Introducción a la Programación Orientada a Objetos Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

CAPÍTULO IV: 4.1 Introducción a la. Programación Funcional

CAPÍTULO IV: 4.1 Introducción a la. Programación Funcional CAPÍTULO IV: Programación Funcional 4.1 Introducción a la Programación Funcional 1 Programación Funcional Paradigma diferente a los imperativos, que se aleja de la máquina de von Neumann Basado en funciones

Más detalles

Introducción a Haskell. Cecilia Manzino

Introducción a Haskell. Cecilia Manzino Paradigmas de programación Un paradigma de programación representa un estilo particular o filosofía para la construcción del software. Los más comunes dan lugar a los siguientes tipos de programación:

Más detalles

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial

Más detalles

Tema 7: Programación imperativa. Sesión 23: Programación imperativa (4)

Tema 7: Programación imperativa. Sesión 23: Programación imperativa (4) Tema 7: Programación imperativa Sesión 23: Programación imperativa (4) Indice Historia de la programación imperativa Características principales Datos mutables en Scheme y en Scala Estructuras de control

Más detalles

Introducción a Java. Introducción a Java. Programación I

Introducción a Java. Introducción a Java. Programación I Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32

Más detalles

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,

Más detalles

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores. Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo

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

Características de JavaScript

Características de JavaScript Características de JavaScript Qué es JavaScript? o Lenguaje de programación interpretado utilizado fundamentalmente para dotar de comportamiento dinámico a las páginas web. o Cualquier navegador web actual

Más detalles

Tema 2.- Objetos y mensajes

Tema 2.- Objetos y mensajes Tema 2.- Objetos y mensajes 1. Objetos y mensajes: mecanismo de envío de mensajes...2 2. SMALLTALK: EXPRESIONES...3 2.1. LITERALES: designan objetos constantes...3 2.2. NOMBRES DE VARIABLES: identifican

Más detalles

TUTORIAL DE SCALA. Lenguajes de Programación Universidad Nacional de Colombia 2017-II. Cristian C. Lozano J. - Diana C. Navarrete R.

TUTORIAL DE SCALA. Lenguajes de Programación Universidad Nacional de Colombia 2017-II. Cristian C. Lozano J. - Diana C. Navarrete R. TUTORIAL DE SCALA Lenguajes de Programación Universidad Nacional de Colombia 2017-II Cristian C. Lozano J. - Diana C. Navarrete R. Introducción Apareció en 2003 diseñado por Martin Odersky Scala es un

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados

Más detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo Tema 4 Control de flujo Programación 2015-2016 Programación - Tema 4: Control de Flujo 1 Tema 4. Control de flujo Introducción. Estructuras condicionales. Estructuras de repetición. Programación - Tema

Más detalles

Tema 7: Programación imperativa

Tema 7: Programación imperativa Tema 7: Programación imperativa Sesión 20: Programación imperativa Indice Historia de la programación imperativa Características principales Datos mutables Estructuras de control Modelo de entornos Orígenes

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

Paradigmas de lenguajes de programación. Introducción a la programación imperativa. Lenguaje C. Programación imperativa

Paradigmas de lenguajes de programación. Introducción a la programación imperativa. Lenguaje C. Programación imperativa Paradigmas de lenguajes de programación Introducción a la programación imperativa Algoritmos y Estructuras de Datos I Paradigma: Definición del modo en el que se especifica el cómputo (que luego es implementado

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

Lenguajes de Programación Programación funcional

Lenguajes de Programación Programación funcional Lenguajes de Programación Programación funcional Roberto Bonvallet Departamento de Informática Universidad Técnica Federico Santa María Concepto de función En el paradigma imperativo: Una función es una

Más detalles

Introducción a OCaml. October 19, 2015

Introducción a OCaml. October 19, 2015 Introducción a OCaml October 19, 2015 OCaml: introducción Es un dialecto de ML. Lenguaje de programación funcional. Fuertemente tipado. Con inferencia de tipos. Polimórfico. [Página oficial: http://www.ocaml.org/

Más detalles

Datos Elementales y formato de un programa en Java

Datos Elementales y formato de un programa en Java Datos Elementales y formato de un programa en Java PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Datos, variables y mi primer programa 1 Introducción a la programación o Programa:

Más detalles

TUTORIAL DE RUBY. Lenguajes de programación Universidad Nacional De Colombia II. Laura P. Cerón M. Camilo A. Dajer P.

TUTORIAL DE RUBY. Lenguajes de programación Universidad Nacional De Colombia II. Laura P. Cerón M. Camilo A. Dajer P. TUTORIAL DE RUBY Universidad Nacional De Colombia 2017 - II Laura P. Cerón M. Camilo A. Dajer P. INTRODUCCIÓN Ruby es un lenguaje interpretado Case sensitive Ruby es de código abierto Creado por Yukihiro

Más detalles

UNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

UNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM UNIDAD IV Programación Funcional Porqué? 2 Introducción Porque aprender programación funcional? - Recursión - Abstracción funcional - Funciones de primer orden Estos conceptos se han incorporado en la

Más detalles

Bloque II. Elementos del lenguaje de programación Java

Bloque II. Elementos del lenguaje de programación Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

Más detalles

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante. Javascript (II) 1 Elementos Básicos: Comentarios: Para una línea // Esto es un Comentario Para un bloque /*......... */ Literales: Valores que puede tomar una variable o una constante. Ejemplos: "Soy una

Más detalles

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Apunte Laboratorio ALPI - El lenguaje de programación Pascal Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

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

Paradigma Funcional Caso de estudio: ML. Lenguajes de Programación 2017

Paradigma Funcional Caso de estudio: ML. Lenguajes de Programación 2017 Paradigma Funcional Caso de estudio: ML Lenguajes de Programación 2017 Paradigma Funcional FUNCIÓN: Mapeo de un dominio en un rango El mapeo se puede describir por medio de una EXPRESIÓN f(1) = 2 f(2)

Más detalles

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo

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

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;) Tags Fundamentos PHP La Sintaxis de PHP se deriva de muchos lenguajes de programación principalmente de C pero Perl también ha tenido mucha influencia en esta sintaxis Con las últimas incorporaciones agregadas,

Más detalles

Tema 3: Características de la programación funcional. Sesión 6: El paradigma funcional (2)

Tema 3: Características de la programación funcional. Sesión 6: El paradigma funcional (2) Tema 3: Características de la programación funcional Sesión 6: El paradigma funcional (2) Referencias Capítulo 1.1.5 SICP: [[http://mitpress.mit.edu/sicp/full-text/book/book-z- H-10.html#%_sec_1.1.5][The

Más detalles

Java posee dos grandes categorías de tipos para las variables:

Java posee dos grandes categorías de tipos para las variables: Declaración identificador tipo int i; i entero String s; s referencia a string int a[]; a referencia a arreglo de enteros int[] b; b referencia a arreglo de enteros Java posee dos grandes categorías de

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Unidad III Programación Orientada a Objetos en Java Programación Orientada a Objetos Programación I - 0416202 Contenido Esta lección abarca los siguientes temas con respecto a Java: Qué es Java? Breve

Más detalles

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

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

FUNCIONES JAVASCRIPT. CONCEPTO. PARÁMETROS O ARGUMENTOS Y TIPOS. PASO POR VALOR. RETURN. EJEMPLOS. (CU01122E)

FUNCIONES JAVASCRIPT. CONCEPTO. PARÁMETROS O ARGUMENTOS Y TIPOS. PASO POR VALOR. RETURN. EJEMPLOS. (CU01122E) APRENDERAPROGRAMAR.COM FUNCIONES JAVASCRIPT. CONCEPTO. PARÁMETROS O ARGUMENTOS Y TIPOS. PASO POR VALOR. RETURN. EJEMPLOS. (CU01122E) Sección: Cursos Categoría: Tutorial básico del programador web: JavaScript

Más detalles

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC. Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria

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

Laboratorio de Lenguajes de Programación Introducción al lenguaje ML

Laboratorio de Lenguajes de Programación Introducción al lenguaje ML Laboratorio de Lenguajes de Programación Introducción al lenguaje ML Pedro A. Góngora Luna 1 1. Tipos de datos básicos Para iniciar el intérprete utilizamos el comando sml en el shell de windows o unix:

Más detalles

Programación I Teoría I.

Programación I Teoría I. Programación I Teoría I http://proguno.unsl.edu.ar Horarios Teorías: Jueves 8:00 10:00; aula 58 (Bloque 2) Prácticas: Comisión 1: Licenciatura Martes de 10 a 13 en sala 7, bloque 2 jueves de 10 a 13 en

Más detalles

Estructuras de control selectivas

Estructuras de control selectivas Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos

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

Paradigma Funcional Caso de estudio: ML. Lenguajes de Programación 2018

Paradigma Funcional Caso de estudio: ML. Lenguajes de Programación 2018 Paradigma Funcional Caso de estudio: ML Lenguajes de Programación 2018 FUNCIÓN: Mapeo de un dominio en un rango El mapeo se puede describir por medio de una EXPRESIÓN f(1) = 2 f(2) = 3 Enumeración f(x)

Más detalles

Tema 2. El lenguaje JAVA

Tema 2. El lenguaje JAVA Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias

Más detalles

Swift. Angela María Muñoz Medina Liseth Briceño Albarracín Nicolás Larrañaga Cifuentes

Swift. Angela María Muñoz Medina Liseth Briceño Albarracín Nicolás Larrañaga Cifuentes Swift Angela María Muñoz Medina Liseth Briceño Albarracín Nicolás Larrañaga Cifuentes Qué es Swift? El nuevo lenguaje para ios y OS X Es construido de lo mejor de C y objective C Presentado en el WWDC

Más detalles

Introducción a Python. Cecilia Manzino

Introducción a Python. Cecilia Manzino Características del lenguaje Es un lenguaje de programación multiparadigma, soporta la programación orientada a objetos, imperativa y, en menor medida, funcional. Es un lenguaje multiplataforma, puede

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

Curso de Java Introducción a la Programación II

Curso de Java Introducción a la Programación II Curso de Java Introducción a la Programación II Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Tipos Java 2 Decalaración de variables 3 Operadores aritméticos Índice

Más detalles

Aplicación de la Inducción Matemática Programación Funcional. Julio Ariel Hurtado Alegría Departamento de Sistemas Universidad del Cauca

Aplicación de la Inducción Matemática Programación Funcional. Julio Ariel Hurtado Alegría Departamento de Sistemas Universidad del Cauca Aplicación de la Inducción Matemática Programación Funcional Julio Ariel Hurtado Alegría Departamento de Sistemas Universidad del Cauca Motivación Programación Imperativa Declarativa Procedimental Ejemplo:

Más detalles

DESCRIPCIÓN DEL LENGUAJE DE PROGRAMACIÓN P-0

DESCRIPCIÓN DEL LENGUAJE DE PROGRAMACIÓN P-0 DESCRIPCIÓN DEL LENGUAJE DE PROGRAMACIÓN P-0 Este documento define los elementos de programación del lenguaje P-0, basado en un subconjunto del lenguaje de programación Arduino. 1.- PROGRAMA Un programa

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

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

Curso de Java Introducción a la Programación I

Curso de Java Introducción a la Programación I Curso de Java Introducción a la Programación I Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Sintaxis Java 2 Salida de datos 3 Entrada de datos Índice 1 Sintaxis Java

Más detalles

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Cualquier duda sobre el contenido de este tema se puede enviar al foro TEORIA2. 2.1.- El tipo de datos entero (byte,

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

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

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Tema 7: Programación imperativa. Sesión 21: Programación imperativa (2)

Tema 7: Programación imperativa. Sesión 21: Programación imperativa (2) Tema 7: Programación imperativa Sesión 21: Programación imperativa (2) Indice Historia de la programación imperativa Características principales Datos mutables en Scheme y en Scala Estructuras de control

Más detalles

Secuencias en Python. Introducción a la Computación Clase 11 Patricia Borensztejn

Secuencias en Python. Introducción a la Computación Clase 11 Patricia Borensztejn Secuencias en Python Introducción a la Computación Clase 11 Patricia Borensztejn Una cadena es una secuencia En Python tenemos los tipos de datos Escalares: enteros, flotantes Secuencias: sucesión de elementos

Más detalles

INFOTECH MÓDULO 3 CURSO. Sintaxis del lenguaje de programación JAVA. Lógica y Lenguaje de Programación

INFOTECH MÓDULO 3 CURSO. Sintaxis del lenguaje de programación JAVA. Lógica y Lenguaje de Programación INFOTECH MÓDULO 3 Sintaxis del lenguaje de programación JAVA CURSO Lógica y Lenguaje de Programación INFOTECH Nombre del módulo 3 Contenidos Recursos Comprensión e información Capacidades específicas Indagación

Más detalles

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de

Más detalles

Java para no Programadores

Java para no Programadores Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT y comienza tu camino como desarrollador Java.

Más detalles

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo

Más detalles

Programación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional

Programación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional Lisp-DrScheme Primera Parte Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional! La programación funcional es un paradigma de programación

Más detalles

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas

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

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

Sebastián García Galán

Sebastián García Galán Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán sgalan@ujaen.es Variables y tipos de datos Operaciones y operadores Clases y objetos Tipos

Más detalles

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones. Palabras reservadas de C++ y C Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones. A continuación se muestra el link del listado de palabras

Más detalles

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona

Más detalles

Tema 9: Programación Orientada a Objetos. Sesión 28: Programación Orientada a Objetos (2)

Tema 9: Programación Orientada a Objetos. Sesión 28: Programación Orientada a Objetos (2) Tema 9: Programación Orientada a Objetos Sesión 28: Programación Orientada a Objetos (2) Referencias Programming in Scala, by Martin Odersky: Capítulo 4: Classes and Objects Capítulo 10: Composition and

Más detalles

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor

Más detalles

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso. Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos

Más detalles

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani Informática JavaScript: Lenguaje de programación Fco J. Martín Mateos Carmen Graciani Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Literales Enteros Con base decimal:

Más detalles

Java para no Programadores

Java para no Programadores Java para no Programadores Programa de Estudio Java 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

Más detalles

Curso Informática Lección 4. Instrucciones de control

Curso Informática Lección 4. Instrucciones de control Fundamentos de Informática Lección 4. Instrucciones de control Curso 2010-2011 Pedro Álvarez y José Ángel Bañares 24/09/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Introducción

Más detalles

Tema 3: Características de la programación funcional. Sesión 5: El paradigma funcional (1)

Tema 3: Características de la programación funcional. Sesión 5: El paradigma funcional (1) Tema 3: Características de la programación funcional Sesión 5: El paradigma funcional (1) Referencias Capítulo 1.1.5 SICP: [[http://mitpress.mit.edu/sicp/full-text/book/book-z- H-10.html#%_sec_1.1.5][The

Más detalles

Tema 3: Características de la programación funcional

Tema 3: Características de la programación funcional Tema 3: Características de la programación funcional Sesión 5: El paradigma funcional (1) martes 22 de febrero de 2011 Referencias Capítulo 1.1.5 SICP: [[http://mitpress.mit.edu/sicp/full-text/book/book-z-

Más detalles

JavaScript: Lenguaje de programación

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

Más detalles