Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
PB - Universidad de Piura 1 Eugenio Alvarado Pérez Of. 32, Edificio 80 eugenio.alvarado@udep.pe Programación Básica Unidad 2 Introducción al lenguaje Ruby (a) Programa fuente Lenguajes Lenguaje natural Lenguaje máquinaLenguaje de programación Programa fuente puts 'Ingrese un número positivo par' n1 = gets.to_i if n1>0 && n1%2==0 puts 'Ha ingresado un número positivo par' else puts 'No ha ingresado un número positivo par' end puts '' Programa fuente puts 'Ingrese un número positivo par' n1 = gets.to_i if n1>0 && n1%2==0 puts 'Ha ingresado un número positivo par' else puts 'No ha ingresado un número positivo par' end puts '' 2/26 Lenguajes Lenguaje natural Lenguaje máquina Compilador o Interprete Programa fuente Programa objeto Lenguaje de programación 3/26 Ruby es... https://www.ruby-lang.org/es/ https://es.wikibooks.org/wiki/Programación_en_Ruby https://pine.fm/LearnToProgram/ 4/26 Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre. Wikipedia Tipos de datos Números: enteros y reales (flotantes) En la mayoría de los lenguajes de programación (y Ruby no es la excepción) los números sin decimales son llamados enteros (traducción de integers en su versión en Inglés), y los números con punto decimal normalmente son llamados números de punto flotante o sólo flotantes ya que proviene de su original en inglés floats. Texto o cadenas (string) Letras, números y símbolos. Tipo Ejemplos integer 3, 45, -3458 float 3.1415, 0.25, -1.41 string ‘Hola’, ‘Udep 2016’, ‘pepe_25@hotmail.com’ 5/26 Variables Para guardar datos en la memoria del computador, necesitamos darle un nombre a éstos. Los programadores se refieren a este proceso como asignación y llaman a dichos nombres: variables. Una variable puede ser cualquier secuencia de letras o números y guion bajo, pero el primer carácter debe estar en minúsculas. El comando puts permite mostrar el contenido de variables que almacenan texto. 6/26 https://www.ruby-lang.org/es/ https://es.wikibooks.org/wiki/Programación_en_Ruby https://pine.fm/LearnToProgram/ PB - Universidad de Piura 2 # (comentario) Todo texto que coloquemos con el símbolo numeral (#) adelante, se convierte en un comentario y no es ejecutado por el programa (se ignora la línea) #Este es un comentario #Programa que resuelve… #Elaborado por XX… puts ‘Ingrese un número’ gets x … 7/26 PUTS (escriba) El comando puts permite mostrar mensajes, un mensaje se debe poner entre comillas simples (o dobles). x = 'Hola 3!!' puts 'Hola, soy un programa…' puts 'Primera clase de Ruby' puts "Hola 2!!" puts x 8/26 PUTS Programa Salida puts 1.0 + 2.0 puts 2.0 * 3.0 puts 5.0 - 8.0 puts 9.0 / 2.0 3.0 6.0 -3.0 4.5 puts 1+2 puts 2*3 puts 5-8 puts 9/2 3 6 -3 4 puts 5 * (12-8) + -15 5 9/26 PUTS 10/26 Programa Salida puts 'Hola' + 'Juan' puts 'Hola ' + 'Juan' HolaJuan Hola Juan puts 'hola ' * 3 hola hola hola puts 12 + 12 puts '12' + '12' puts '12 + 12' 24 1212 12 + 12 puts 2 * 5 puts '2' * 5 puts '2 * 5' 10 22222 2 * 5 puts 2 * '5' puts '2' * '5' Error Error PUTS Programa Salida var = 'solo otro ' + 'texto' puts var solo otro texto var = 5 * (1+2) puts var 15 var1 = 8 var2 = var1 puts var1 puts var2 puts '' var1 = 'ocho' puts var1 puts var2 8 8 ocho 8 11/26 GETS (lea) El comando gets permite que el usuario ingrese un dato. Todos los datos ingresados por el usuario son almacenados como texto. Le agrega al final un salto de línea. puts 'Ingrese su nombre' nombre = gets puts 'Ingrese su apellido' ape = gets puts 'Bienvenido '+nombre+' '+ape Ingrese su nombre Juan Ingrese su apellido Pérez Bienvenido Juan Pérez 12/26 PB - Universidad de Piura 3 GETS.CHOMP Se utiliza gets.chomp para eliminar el último carácter, que no es visible y que es el salto de línea (Enter). puts 'Ingrese su nombre' nombre = gets.chomp puts 'Ingrese su apellido' ape = gets.chomp puts 'Bienvenido '+nombre+' '+ape Ingrese su nombre Juan Ingrese su apellido Pérez Bienvenido Juan Pérez 13/26 Conversiones var1 = 2 var2 = '5' puts var1 + var2 Resultado: in '+': String can't be coerced into Fixnum (TypeError) El problema es que la computadora no sabe si se trata de obtener 7, es decir: 2 + 5 o si se trata de obtener '25', es decir: '2' + '5'. 14/26 Conversiones Para obtener la representación en texto de un objeto, simplemente escribiendo .to_s después del objeto: var1 = 2 var2 = '5' puts var1.to_s + var2 Resultado: 25 15/26 Conversiones De la misma manera, to_i devuelve la versión numérica entera de un objeto y to_f devuelve la versión de punto flotante. var1 = 2 var2 = '5' puts var1.to_s + var2 puts var1 + var2.to_i Resultado: 25 7 16/26 Conversiones Programa Salida puts '15'.to_f 15.0 puts '99.999'.to_f 99.999 puts '99.999'.to_i 99 puts '5 es mi número favorito.'.to_i 5 puts '¿Quién pregunta?'.to_i 0 puts 'Tu casa'.to_f 0.0 puts 'fibroso'.to_s fibroso puts 3.to_i 3 17/26 Conversiones • El comando gets.to_i permite que el usuario ingrese un dato, pero en este caso ese dato es convertido en un número entero. • Cuando usamos el signo más con números o variables que contienen números, estamos efectuando una suma. • Se utiliza .to_s al final de una variable o un número entero para convertir un número en un texto. • No se puede utilizar el signo + con números y textos al mismo tiempo. Todos tienen que ser números o todos tienen que ser texto. 18/26 PB - Universidad de Piura 4 Conversiones puts 'Por favor ingrese su nombre' nombre = gets.chomp puts 'Por favor ingrese nota de práctica 1' n1 = gets.to_i puts 'Por favor ingrese nota de práctica 2' n2 = gets.to_i puts 'Por favor ingrese nota de práctica 3' n3 = gets.to_i s = n1+n2+n3 puts nombre+' la suma de tus notas es '+s.to_s puts 'tus notas son: '+n1.to_s+' '+n2.to_s+' '+n3.to_s 19/26 Conversiones puts 'Por favor ingrese el dividendo' n1 = gets.to_i puts 'Por favor ingrese el divisor' n2 = gets.to_i c = n1/n2 r = n1%n2 d = n1/n2.to_f puts 'El cociente de la división es '+c.to_s puts 'El resto de la división es '+r.to_s puts 'La división es '+d.to_s 20/26 Condicionales • Para tomar decisiones respecto a que se debe hacer ante una determinada situación se utilizan las estructuras de decisión. • if es una estructura de decisión que ejecuta lo que se encuentre contenido en ella siempre y cuando la condición sea verdadera. • El operador == se utiliza para comparar si dos números, textos o variables son iguales. Si son iguales, se obtiene como respuesta VERDADERO, sino FALSO. • La estructura if siempre debe ir acompañada de un end para indicar cuando finaliza. 21/26 Condicionales • En este caso se evalúa si n1 es igual a 20, en caso eso sea verdadero, la condición del if es verdadera y por lo tanto se muestran los mensajes contenidos en el if-end. puts 'Por favor ingrese su nota de PB' n1 = gets.to_i if n1>=18 puts 'Has ingresado más de 17' puts 'Eres un genio :)' end puts 'Gracias por usar este programa' 22/26 Condicionales • Cualquier valor ingresado, diferente a 3 millones dará como resultado: No eres popular. puts '¿Cuántos amigos tiene en facebook?' n1 = gets.to_i if n1!=3000000 puts 'No eres popular' end 23/26 Condicionales • El código siguiente, valida si el número ingresado es positivo o no. puts 'Ingrese un número:' n1 = gets.to_i ifn1>0 puts 'el número es positivo' else puts 'el número no es positivo' end 24/26 PB - Universidad de Piura 5 Condicionales • El código siguiente, valida si el número ingresado es positivo y mayor que 100. puts 'Ingrese un número:' n1 = gets.to_i if n1>0 puts 'El número ingresado es positivo' if n1>100 puts 'El número es mayor que 100' else puts 'El número no es mayor que 100' end else puts 'El número ingresado no es positivo' end 25/26 Condicionales puts 'Escoja su idioma ES/EN:' idioma = gets.chomp if idioma=='EN' puts 'How many friends do you have on Facebook?' else puts '¿Cuántos amigos tiene en Facebook?' end n1 = gets.to_i if n1<3000000 if idioma=='EN' puts 'You are not popular' else puts 'No eres popular' end end 26/26
Compartir