Logo Studenta

5 _Ruby_01b (1)

¡Estudia con miles de materiales!

Vista previa del material en texto

Programación Básica
1/3
Eugenio Alvarado Pérez
Of. 28-B, Edificio 80
eugenio.alvarado@udep.pe
Programación Básica
Unidad 2
Introducción al lenguaje Ruby (b)
Bucles (loops)
 A veces se requiere que la computadora haga la misma
acción una y otra vez, después de todo se supone que en
eso son buenas.
 Cuando se le dice a la computadora que repita algo,
también se le debe decir cuándo parar; las computadoras
nunca se cansan así que si no se les indica cuándo
detenerse nunca lo harán.
 Nos aseguramos que esto no pase al indicarle a la
computadora que repita un bloque de instrucciones
“mientras” (while) una determinada condición sea
verdadera.
2/14
Bucles (loops)
Bloque de
instrucciones
¿Condición?
Sí
No
3/14
While
 El bloque while, ejecutará las sentencias contenidas en él
mientras la condición definida sea verdadera. En el caso
mostrado, mientras i sea menor igual que 5.
i = 1
while i<=5 
puts i
i=i+1
end
puts 'El programa finalizó'
4/14
For
 Al igual que while, el objetivo es ejecutar un conjunto de
sentencias una cantidad determinada de veces. Por default
la variable de control (i) se incrementa automáticamente de
uno en uno, hasta alcanzar el límite superior.
for i in 1..5
puts i
end
puts 'El programa finalizó'
5/14
Comparación
i = 1
while i<=5 
puts i
i = i + 1
end
for i in 1..5
puts i
end
6/14
Programación Básica
2/3
For .step
 Al adicionar .step(n) al rango, la variable de control se
incrementará de n en n (n > 0); en el caso mostrado, de dos
en dos, desde el 1 hasta el 11, por lo tanto se repetirá 6
veces.
for i in (1..11).step(2)
puts i
end
puts 'El programa finalizó'
7/14
Problema…
 Escriba un programa que imprima la tabla de multiplicación 
del 9 (desde 1 hasta 12).
i=1
while i<=12
puts '9 x '+i.to_s+' = '+(i*9).to_s
i=i+1
end
for i in 1..12
puts i*9
end
8/14
Problema…
i a b c axb - c
Nombre Horas Tarifa Adelanto Neto
1 Alan Calderón 8 25 100
2 Daniel Huapaya 10 25 0
3 Fredy Soto 40 50 350
4 José Antón 20 25 0
5 José Asalde 15 100 0
TOTAL ?
Gerente: ¿Cuánto dinero debo retirar del banco 
para pagarle a todos los trabajadores?
9/14
Ejemplo 3…
Nombre Horas Tarifa Adelanto Neto
1 Alan Calderon 8 25 50
2 Daniel Huapaya 10 25 0
3 Fredy Soto 40 50 350
4 Jose Anton 20 25 0
5 Jose Francisco Asalde 15 100 0
6 Patricia Gustinni 32 25 0
7 Jorge Suarez 45 50 0
8 Jose Suarez 16 100 100
9 Miguel Angel Bereche 29 100 200
10 Oscar Reyes Mispireta 37 50 150
11 Oswaldo Silva 7 50 0
12 Pablo Chumbez 35 50 0
13 Maria Labrin 44 25 0
14 Paul Alvarado 25 100 0
15 Segundo Linarez 25 25 0
16 Juan Milla 15 50 0
17 Yaneth Rincon 45 100 0
18 Juanita Ramirez 31 100 0
19 Raul Mauleon 8 25 100
20 Catherine Herencia 12 25 150
21 Ernesto Morales 6 100 200
22 Cristian Luyo 25 100 0
23 Sonia García 19 50 50
24 Guadalupe Rivas 47 100 0
25 Michelle Jiménez 14 50 0
26 Cesar Lopez 11 25 0
27 Paola Gonzales 15 25 0
28 Claudia Teraoka 20 50 150
29 Andrew Bowerman 37 100 0
30 Alberto Tello 11 50 0
31 Leonel Sandoval 15 100 0
32 Johnny Cárdenas 16 50 0
33 Fermín Echiparra 27 100 0
34 Jorge Castañeda 34 100 0
35 Carlos Rubio 47 50 100
36 Luis Montero 8 25 0
37 Milton Guevara 3 100 0
38 Francisco Ormeño 16 100 0
39 Francisco Ruiz 15 50 0
40 Luis Cruz 28 100 50
41 Alex Mejia 13 50 0
42 Dante Izquierdo 6 25 150
43 Sergio Gusukuma 9 100 0
44 Percy Rodas 14 25 0
45 Victor Hernadez 19 100 0
46 Fernando Padella 30 25 0
47 Jorge Pinedo 22 25 0
48 Edy Puente 10 25 0
49 Gustavo Reyes 12 50 0
50 Luis Bulnes 44 50 0
51 Fenner Sarmiento 20 25 0
52 Martin Elera 8 100 0
53 Elmer Valverde 39 25 0
54 Elard Saavedra 7 50 0
55 Roger Meza 38 50 0
56 Carlos Rivera 11 100 50
57 Jorge Solano 45 50 0
58 Juan Carlos Ordinola 45 25 0
59 Oscar Monzon 1 100 0
60 Fernando Soriano 4 100 0
61 Wilfredo Santacruz 16 50 0
62 Walter Burgos 35 100 0
63 Juan Chavez 33 50 0
64 Humberto Quiroz 40 25 150
65 Luis Tamayo 40 50 0
66 Oscar Favian 18 25 0
67 Armando Cherres 14 100 0
68 Juan Alva 45 25 0
69 Monica Ramos 32 25 0
70 Emilio Delgado 37 100 0
71 Juan Carlos Puican 5 50 100
72 Alberto Rodriguez 27 25 0
73 Fritz Zapata 44 100 50
74 Manuel Mendoza 26 50 0
75 Armando Isasi 20 100 0
76 Segundo Castillo 12 50 0
77 Gerardo Guerrero 23 100 0
78 Luis Zavaleta 27 50 0
79 Ruben Pulido 19 50 0
80 Raul Castillo 43 50 0
81 Genaro Fernandez 41 25 150
82 Nilton Bendezu 24 50 0
83 Carlos Chapoñan 43 100 0
84 Roberto Gutierrez 7 25 0
85 Felipe Farroñay 24 25 0
86 Arturo Peralta 26 25 0
87 Jose Zapata 11 25 0
88 Oswaldo Llenque 3 100 0
89 Johnny Cabezas 46 50 0
90 Carlos Gomez 1 50 0
91 Miguel Lumbre 11 25 0
92 Juan Cirilo 21 25 0
93 Jose Rodriguez 46 50 0
94 Robert Ore 32 25 150
95 Ruby De La Cruz 7 25 0
96 Edilberto Ipanaque 33 100 200
97 Jose Perez Paiva 41 25 0
98 Henry Tesen 22 50 0
99 Maria Toledo 44 25 150
100 Percy Urbina 21 25 100
S/.130,075.00
10/14
If-elsif-else-end
• Hay una tercera estructura de decisión: if-elsif-else-end. A
diferencia de la estructura de decisión if-else-end, esta
estructura de decisión permite evaluar más de una
condición.
• Se pueden utilizar tantos elsif como sean necesarios. No
es necesario utilizar un else al final, es opcional (sólo si el
algoritmo lo requiere).
• Siempre debe utilizarse un end para finalizar la estructura
de decisión.
11/14
If-elsif-else-end
puts 'Ingrese sus 4 notas'
n1 = gets.to_i
n2 = gets.to_i
n3 = gets.to_i
n4 = gets.to_i
p = (n1+n2+n3+n4)/4.0
if p==20
puts 'Eres un genio'
elsif p>15
puts 'Eres un muy buen estudiante'
elsif p>=10.5
puts 'Felicitaciones, has aprobado'
else
puts 'Lo siento, has reprobado'
end 12/14
Programación Básica
3/3
System 'cls'
• Para Windows, limpia la pantalla (borra todo el texto y números de la
pantalla, no borra los valores almacenados en las variables) y ubica el
cursor en la esquina superior izquierda (Clear Screen).
puts 'Ingrese su nombre'
n = gets.chomp
puts ' '
puts 'Bienvenido ' + n
puts 'Presione [Enter] para continuar...'
gets
system 'cls'
13/14
Rand
• El método para obtener un número aleatorio es rand. Se obtiene un
número flotante mayor o igual a 0.0 y menor a 1.0. Si se le proporciona
un número entero, 5 por ejemplo, devolverá un entero mayor o igual a 0
y menor a 5 (cinco números posibles: de 0 a 4).
Programa Salida
puts rand 0.866769322
puts rand 0.15560926
puts rand 0.208355947
puts rand(100) 61
puts rand(100) 46
puts rand(100) 92
puts rand(1) 0
puts rand(1) 0
14/14

Continuar navegando

Materiales relacionados

27 pag.
24 pag.
El-trabajo-del-policAa

User badge image

Los Mejores Apuntes