Universidad de Tarapacá Fundamentos Lenguaje y Programación Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales.

Slides:



Advertisements
Presentaciones similares
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Advertisements

Lenguaje PHP Capítulo 4.
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Manejo de errores y excepciones
Lenguaje de programación Java
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a PL/SQL Conceptos básicos.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Desarrollo de Aplicaciones para Internet
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Tema 2: Lenguaje PHP básico
Informática II Prof. Dr. Gustavo Patiño MJ
1.2 Sintaxis del lenguaje Java.
EXCEPCIÓN DE ERRORES.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Teoría de lenguajes y compiladores
Ruby Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales
METODOLOGIA DE LA PROGRAMACION
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Funciones en lenguaje C
Subrutinas.
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda
SCJP Sun Certified Programmer for Java 6
Semana 5 Subprogramas..
Clase Teórica No. 4 Programación IV
El lenguaje de programación Java
INGENIERIA EN SISTEMAS COMPUTACIONALES
Conversión cadena a número
Tema 11: Excepciones Antonio J. Sierra.
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Computación II Unidad X Manejo de Excepciones. Presentación de la Unidad Objetivos: –Saber manejar situaciones inesperadas dentro de un programa –Comprender.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CUATRO CONTROL DE FLUJOS, EXCEPCIONES Y ASERSIONES.
Control de errores visual basic
Módulo 8: Manejo de Errores y Excepciones
Elementos básicos del lenguaje
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Elementos básicos del lenguaje
Programación orientada a objetos. Existen 3 niveles de visibilidad: ◦ public: significa que los atributos de una clase pueden ser accedidas desde fuera.
IDENTIFICADORES Un identificador es un "nombre" que nos permite dirigirnos específicamente a una de las entidades propias del lenguaje, es decir, son los.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Programación orientada a objetos
Tratamiento de excepciones
Visual Basic FUNCIONES Y PROCEDIMIENTOS
INTRODUCCION A LA PROGRAMACION
Conceptos. -Programación orientada a eventos. -Instancias de clase. -Atributo de los objetos. -Método main, get y set. -Ejemplo de la declaración de.
Lic. Carla Aguirre Montalvo
¿Qué son? – tipos – manejo - ejemplos
Para aplicaciones.   Una variable es un espacio de memoria en donde se almacenan datos 1. VARIABLES.
Ada 2º Parte (variables, ámbitos, subrutinas, tipos abstractos de datos y excepciones)
Ficheros: Ruby Estructura de Datos II.
Algunas Características de C++ no presentes en C Agustín J. González ELO-329.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
1 Métodos. 2 Un método es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Cómo empezar Java. ¡Cómo se divide la plataforma de desarrollo de Java?  Edición estándar (JSE)  Edición empresarial (JEE)  Edición de dispositivos.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
U niversidad de G uadalajara Centro Universitario de Ciencias Exactas e Ingenierías Ponentes: Muñoz Guzmán Ramón Gallardo Olivares Mario Solís Flores José.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Universidad de Tarapacá Fundamentos Lenguaje y Programación Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales

En RUBY tenemos cuatro niveles de ámbito de variables: Variables global ($): $global, $1, $contador Variables constante (A-Z) Variables @hora_comer Variables local ([a-z] ó _ ) : objeto, llave_maestra Símbolos: :nombre, :edad, :Clase En RUBY no existen Tipos Primitivos  “todo en un objeto” Pero existen Tipos Básicos  Numeric Fixnum RegEx Integer Symbol String Array Range Float Hash

-Métodos singleton. -Enlace Dinamico. -Mixins. Tiempo de vida de: - Variable Global comienza con $. -Variables de Instancias -Variable Local

#Toda asignación devuelve su valor a = 4 # 4 # Las asignaciones se pueden usar en cadena a = b = 4 # 4 a + b #8 # y usados en un test fichero = File.open('../tutor.txt') # # cont_linea = 0 # 0 cont_linea += 1 while (line = line.gets) # nil

# Atajos a += 2 # 6 a = a+2 # 8 # Asignación en paralelo a, b = b, a # [4, 8] # Dividiendo arrays array = [1, 2] # [1, 2] a, b = *array # [1, 2]

Entonces, que es un método ? Un método es lo que nos permite manipular un objeto. En la programación OO no se piensa en operar sobre los datos directamente desde el exterior de un objeto; si no que los objetos tienen algún conocimiento de cómo se debe operar sobre ellos Las tareas que podemos pedir que un objeto realice son los métodos. Un bloque de instrucciones que define un método, empieza por la palabra def y acaba por la end. Los parámetros son la lista de variables que van entre paréntesis. Aunque en Ruby, dichos paréntesis son opcionales

Ruby los métodos son Subrutinas asociadas a clases o objetos, como por ejemplo el método “to_s” usado al final de la entrada. Si los objetos (como las cadenas, números enteros y números decimales) son los sujetos en el lenguaje de Ruby, los métodos son los verbos. Cada método necesita un objeto.

El resultado de llamar a un método se conoce como valor de retorno: el valor de retorno de cualquier método es el valor de la última expresión evaluada durante la ejecución del método. Ruby tiene una forma de hacerlo explícito: return. El uso de esta palabra clave es opcional: En Ruby ´´todo´´ es dinámico, de forma que no hay chequeo de tipos en el paso de parámetros. Esto es duck typing.

En Ruby, confiamos menos en el tipo (o clase) de un objeto y más en sus capacidades. Entonces, Duck Typing significa que el tipo de un objeto está definido por lo que puede hacer, no por lo que es. Duck Typing se refiere a la tendencia de Ruby de preocuparse menos por la clase de un objeto y más por los métodos que pueden ser llamados por el y las operaciones que se pueden realizar con en el. En Ruby utilizaríamos el método respond_to? o simplemente pasamos un objeto a un método y sabemos que se generará una excepción si se utiliza inapropiadamente.

¿Qué es el manejo de excepciones en un lenguaje? El manejo de excepciones es una estructura de control de los lenguajes de programación diseñada para manejar condiciones anormales que pueden ser tratadas por el mismo programa que se desarrolla. En Ruby una excepción es un tipo especial de objeto de la clase EXCEPTION. Lanzar una excepción significa para la ejecución de un programa salir del mismo y tratar con el problema que se ha producido. Para tratar el problema hace falta RAISE; de no ser así, el programa termina y avisa del error. Lo que hará RAISE (lanzar) una excepción para manejar el error. Ruby tiene una serie de clases, Exception y sus hijas, que ayudan a manejar los errores que pueden ocurrir. Para tratar una excepción, se pone el método que puede causar el error dentro de un bloque begin…end. Dentro de este bloque, se pueden poner varios rescue para cada tipo de error que pueda surgir:

def raise_and_rescue begin puts 'Estoy antes del raise' raise 'Un error ha ocurrido' # simulamos un error puts 'Estoy después del raise' rescue puts 'Estoy rescatado del error.' end puts 'Estoy después del bloque' end raise_and_rescue #La salida es: Estoy antes del raise Estoy rescatado del error. Estoy después del bloque El código interrumpido por la excepción, nunca se ejecuta. Una vez que la excepción es manejada (por el rescue), la ejecución continúa inmediatamente después del bloque begin fuente del error.

Ruby es un lenguaje completamente orientado a objetos. En ruby los objetos son los agentes, el universo de tu programa: se presta atención a la estructura de los datos. Cuando se diseña una clase, se piensa en los objetos que serán creados por esa clase: en las cosas que podrá hacer ese objeto, y las características que lo definen. Un objeto es un contenedor de datos, que a su vez controla el acceso a dichos datos. Asociados a los objetos está una serie de variables que lo definen: sus atributos. Y también un conjunto de funciones que crean un interfaz para interactuar con el objeto: son los métodos. Una clase es usada para construir un objeto. Una clase es como un molde para objetos. Y un objeto, una instancia de la clase.

Constructores literales: Significa que se puede usar una notación especial, en vez de usar new para crear un nuevo objeto de esa clase. Las clases que un constructor literal puede crear, están en la siguiente tabla: cada vez que usas uno de estos constructores, creas un nuevo objeto. ClaseConstructor LiteralEjemplo String‘ ó ""nuevo string" o 'nuevo string' Símbolo::símbolo ó :"símbolo con espacios" Array[ ][1, 2, 3, 4, 5] Hash{ } {"Nueva Yor" => "NY", "Oregon" => "OR"} Rango.. ó …0…10 ó 0..9 Expresiones regulares//([a-z]+)/