Control de Flujo

Vamos ahora a manejar un poco el flujo del programa con cosas mas divertidas que solo preguntar cosas de a una.
Las palabras claves de esta clase son:

Iterando.

Uh se puso dificil la cosa!!. Esto de iterar suena raro pero van a ver que es una pavada, y no se asusten pero encima les tengo que contar como se dice en ingles, se dice loop. Raro no?. Bueno no tanto en realidad, les cuento un poco cuando se usa.
Resulta que cuando tenemos que repetir muchas veces una accion, como mostrar los numeros de uno a 20, es medio aburrido hacer

Ejemplo Largote
Instruccion a la computadora Lenguaje Humano
puts 1
puts 2
puts 3
puts 4
puts 5
puts 6
...
...
puts 19
puts 20
mostra el uno
mostra el dos
mostra el tres
mostra el cuatro
mostra el cinco
mostra el seis
...
...
mostra el 19
mostra el 20

y asi…hasta mi abuela que es re pilas se aburre y se va de viaje a Mar del Plata con los jubilados. Entonces como podemos hacer con la compu??
Podemos decirle algo asi:

Ejemplo Cortito
Instruccion a la computadora Lenguaje Humano
numero = 0;
while numero < 20
puts numero
numero = numero + 1
end
defini la variable numero en cero
mientras numero es menor a veinte
mostra el valor de numero
suma en uno a numero
repetir eso

No se ustedes pero mi abuela y yo preferimos hacerlo asi porque ademas si en vez de veinte son cien, es mas dificil y para algo tenemos la compu no?

La estructura estandard de un loop.

Analicemos ahora un poco mas en detalle el ejemplo anterior, veamos la primer linea de codigo:

numero = 0;

Esto que parece tan trivial, realmente tiene mucha importancia, estamos inicializando la variable numero en cero, hacemos esto porque queremos contar desde 0 hasta 19, ahora que pasaria si quisieramos contar desde 1?, simplemente cambiariamos el valor de numero por un valor inicial en uno:

numero = 1

Veamos ahora la siguiente linea

while numero < 20

En esta linea, tenemos algo que es clave, es la condicion que se tiene que cumplir para que la compu siga iterando en nuestro caso el numero que se muestra llegaria hasta el 19, pero que pasaria si queremos que llegue hasta el 20, que tenemos que cambiar?
La respuesta es, la condicion, tenemos que hacer una que incluya el 20, ya que menor que 20 no lo incluye, pero menor o igual a 20 si.

while numero <= 20

Aca estariamos diciendole hace mientras el numero sea menor o IGUAL a 20 y esa condicion si la cumple el 20.

La siguiente linea es bastante simple, es imprimir el numero.

puts numero

Es era facil pero la que se viene es otra importantisima es el incremento de la variable numero que significa eso? significa el pequenio paso que voy a avanzar en cada uno de las iteraciones, en este caso como estoy sumando los numeros consecutivos de a uno

numero = numero + 1

Iterando con preguntas

Bueno pero ahora tenemos que repetir cosas con preguntas y palabras, que se pensaban??? que era joda esto?. Bueno vamos a ver que no es tan dificil, al contrario les va a resultar tan facil que se van a terminar llendo de vacaciones con la abuela.

Miremos el ejemplo de despedida:

input = ' '
while input != 'chau'
puts input
input = gets.chomp
end
puts 'Vuelvan prontoooo !!!!'

Aca usamos bastantes cosas divertidas como el hacer mientras que aprendimos recien y el gets del primer programa interactivo. Se lo dejamos para que nos lo expliquen ustedes.

Ejercicios

Hacer un programa que muestre los numeros que van del 30 al 50

Hacer un programa que muestre los numeros pares entre 1 y 70

Hacer un programa que muestre los numeros impares entre 2 y 90

Hacer un programa que muestre los numeros entre 1 y 70, pero al reves, o sea empezando por el 70, siguiendo por el 69, 68, etc… !!!

Hacer un programa que ingresando un numero lo eleve al cuadrado.
Ejemplo
Ingrese un numero
-> 5
El numero al cuadrado es: 25

Hacer un programa que ingresando un numero lo eleve al cubo
Ejemplo
Ingrese un numero
-> 2
El numero al cubo es: 8

Hacer un programa que ingresando un numero lo eleve a cualquier potencia.
Ejemplo
Ingrese un numero
-> 2
Ingrese la potencia a la que desea elever el numero:
-> 4
El numero 2 elevado a la 4 potencia es: 16

Hacer un programa que escriba al reves una palabra
Ejemplo
Ingrese una palabra:
->Mariano
La palabra al reves es: onairaM

Hacer un programa que calcule el resto en una division
Ejemplo
Ingrese el numerador
-> 7
Ingrese el divisor
-> 2
El resto de la division es: 1 y el resultado 3.

Ayuda

Solucion ejercicio palabra:

# Pido al usuario que ingrese una palabra
p 'Ingrese una palabra'
# Leo del teclado
palabra = gets.chomp
# Defino las palabras
i=0
largo = palabra.length
palabra_al_reves=''
# Mientras no sea el final de la palabra, o sea el largo sea mayor a cero
while largo > 0
  # Leo al reves la palabra y cargo el resultado en palabra_al_reves
  palabra_al_reves[i,1] = palabra[largo - 1,1].to_s
  # Retrocedo un elemento en la cadena
  largo = largo - 1
  # Incremento el contador para la palabra al reves
  i = i + 1
end
# Imprimo el resultado
puts palabra_al_reves
Share and Enjoy:
  • Facebook
  • LinkedIn
  • Twitter
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Diggita
  • MySpace
  • PDF
  • Print
  • email

Leave a Reply