IfTrue- ifFalse Sea el mensaje: ifTrue: bloque1 ifFalse: bloque2 enviado tanto para true como para false, donde las variables bloque1 y bloque2 son bloques.

Slides:



Advertisements
Presentaciones similares
ESTRUCTURAS DE CONTROL
Advertisements

La aritmetización de la sintaxis
Control del Enlace de Datos
Lenguaje + Librería de clases + Entorno de desarrollo
Curso de Java Capitulo 7: Continuación Poo Profesor:
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Programación II Recursividad
Estructuras de decisión en C
VBA – Iteración Indefinida
Estructuras de Repetición Algoritmos
Introducción a los Algoritmos
Polimorfismo Unidad 4.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Los condicionales IF en PHP Programación en Internet II.
Estructuras de control
Cuantificadores En esta clase trataremos: Proposiciones abiertas
Estructuras de Control
Estructuras de repetición
Fundamentos de Programación
CORPOCIDES Ing. Emilio Medina Baquero

TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda
Ingeniero Anyelo Quintero
ESTRUCTURAS ITERATIVAS
Operadores de comparación en PHP Programación en Internet II.
ESTRUCTURAS DE CONTROL
Los números reales R Q Z N.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
GRAFOS HUGO ARAYA CARRASCO.
Programación de Computadores
Programación en Matlab
Universidad de Managua U de M
Control de flujo: Bucles
ESTRUCTURAS DO-WHILE Y FOR.
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
CICLOS por Profesora Lillian Bras
Conversión cadena a número
SENTENCIAS DE CONTROL Ing. José Antonio Poma G..
WHILE Estructuras Repetitivas
Informática Ingeniería en Electrónica y Automática Industrial
Estructura de Control Repeticiones(Loops) Ejercicios
ESTRUCTURAS REPETITIVAS
COMP 250.  Ejemplo:  Suponer que se necesita codificar un programa donde se muestre como resultado el string “Bienvenidos al mundo de JAVA!!!” cien.

NB5 (7° básico) Educación Matemática Potencias
Divisibilidad 1. Múltiplos y divisores de un número
Sentencias de repetición
Paradigmas de Lenguajes de Programación Smalltalk (Parte II) 1 er cuatrimestre de 2007.
Factorización Equipo Andres Ortiz ,Paulina Lavin, Montse Carus ,Domingo Muguira y Janos Sando.
Estructuras de repetición
Sesión 13: Python (4) – Estructura Repetición. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
MANUAL DE EXCEL.
Presentado por: carolina gallardo Universidad metropolitana de B/quilla.
Se pueden incluir comentarios en cualquier parte de un programa pero deben delimitarse con llaves o con paréntesis y asterisco:
Otrogar el prestamo si El pedido es menor que 100 Para importes mayores de 100 se necesita que el cliente sea mayor de 18 y tenga trabajo Para importes.
ESPAD III * DÍA 12 ECUACIONES LINEALES.
NÚMEROS REALES Tema 1 * 4º ESO Opc Angel Prieto Benito
Estructuras de Decisión
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
DETECCION DE SEÑALES BINARIAS EN RUIDO GAUSSIANO El criterio de toma de decisión fue descrito por la ecuación Un criterio muy usado para escoger el nivel.
Desarrollador Profesional de Juegos Programación III Unidad I Excepciones Tipos.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Ciclos en Visual Basic Yaimira Pérez. Los ciclos son estructuras de repetición que ejecutan una o varias instrucciones durante la cantidad de veces que.
Tipos de ciclos en Visual Basic. Dinámicos y fijos. 6.1 Foro. Wuilson Valencia, Desarrollo de aplicaciones I y Laboratorio. 1.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Prof. Manuel B. Sánchez.  El origen del término polimorfismo es simple: proviene de las palabras griegas poly (muchos) y morphos (forma) multiforme.
Números y Fracciones 1.Los números naturales y los enterosLos números naturales y los enteros 2.Números primosNúmeros primos 3.Máximo común divisor y mínimo.
Ciclos condicionales y exactos Estructura de control de ciclos
Paradigmas de Lenguajes de Programación
Transcripción de la presentación:

ifTrue- ifFalse Sea el mensaje: ifTrue: bloque1 ifFalse: bloque2 enviado tanto para true como para false, donde las variables bloque1 y bloque2 son bloques. Cuando el objeto true recibe ese mensaje, le envía al primer argumento (bloque1) el mensaje value, provocando la ejecución de sus expresiones. Cuando false recibe ese mensaje, le envía el mensaje value al segundo argumento, provocando la ejecución de las expresiones de bloque2. Eso es posible, gracias al mecanismo de polimorfismo, donde el misma mensaje recebido por objetos de clases diferentes, puede provocar efectos diferentes.

ifTrue- ifFalse (número \\ 2) = 0 ifTrue: [paridad := 'par'] ifFalse:[paridad := 'impar'] paridad := número \\ 2 = 0 ifTrue: ['par'] ifFalse: ['impar']

ifTrue- ifFalse Cuando sólo se desea testear a veracidad o a falsedad de una condición, pueden ser usados los mensajes con un único argumento, ifTrue: o ifFalse:. El mensaje: ifTrue: Bloque es equivalente al mensaje ifTrue: Bloque ifFalse: [ ] De la misma forma, el mensaje: ifFalse: Bloque es equivalente al mensaje ifTrue: [ ] ifFalse: Bloque

timesRepeat Para repetir un número determinado de veces una secuencia de expresiones, el mecanismo usado en Smalltalk consiste en enviar a un entero, cuyo valor es el número deseado de repeticiones, el mensaje timesRepeat:, donde el argumento es un Bloque que contiene a secuencia de expresiones a repetir. Al recibir el mensaje, el entero responde enviando al Bloque un número de mensajes value sucesivos igual a su propio valor. Por ejemplo, la expresión siguiente:

timesRepeat 3 timesRepeat: [n := n * n] hace que el valor de n sea elevado a la cuarta potencia.

whileTrue - whileFalse Repetición condicional mediante el mensaje whileTrue: (o whileFalse:) a otro bloque, cuyo valor retornado debe ser un Booleano. El argumento del mensaje es el bloque que contiene a secuencia de expresiones a ser repetida. Cuando un bloque recibe el mensaje whileTrue:, se envía a sí mismo el mensaje value. En el caso que la respuesta sea true, se envía el mensaje value al Bloque argumento, y se vuelve a enviar a sí mismo el mensaje value, reiniciando el ciclo. En el caso que la respuesta sea false, el proceso termina.

whileTrue - whileFalse Por ejemplo, para hacer que todos los elementos de un Array de nombre lista, tengan el valor 0, puede ser usada la siguiente secuencia: i := 1. [i <= lista size] whileTrue: [lista at: i put: 0. i := i + 1] El mensaje whileFalse: produce el efecto inverso, haciendo que las expresiones del bloque argumento sean repetidas cuando el valor del receptor sea igual a false.

Ejemplo- Calcular Potencia potencia: exponente "responde con el valor del receptor elevado a la potencia dada por el exponente" |result| result := 1. exponente timesRepeat: [result := self * result]. ^ result Evaluación 5 potencia: 2 retornará el valor 25.

Métodos Recursivos factorial self = 0 ifTrue: [^1]. self < 0 ifTrue: [self error: 'receptor no debe ser negativo'] ifFalse: [^self * (self - 1) factorial]

Expresiones de Mensaje 15 + list size es equivalente a 15 + (list size) * 4 max:10 es equivalente a ( (3 + 2) * 4) max:10 r1 s1: a s2: b s3: c es interpretada como un mensaje del objeto r1 con seletor s1:s2:s3: y argumentos a, b y c.

Expresiones de Mensaje r1 s1: (a s2: b s3: c) es interpretada como un mensaje a r1 con seletor s1: y con argumento igual al objeto resultante del mensaje al objeto a con seletor s2:s3: y argumentos b y c. (r1 s1: a) s2: b s3: c es interpretada como un mensaje al objeto resultante del mensaje r1 s1: a, con seletor s2:s3: y argumentos b y c.

Expresiones de Mensaje list size + 5 * max: limite sqrt Equivalente a: ((((list size) + 5) * 10) - 50) max: (limite sqrt) (((3 + 5) * 10) - 50) max: (100 sqrt) (((3 + 5) * 10) - 50) max: 10 ((8 * 10) - 50) max: 10 ( )max: max: 10 30