Plataforma: URI (BEECROWD)
Problema: 1001
Linguagens: Kotlin e Ruby
Solução:
Aqui soluciono o problema 1001, que solicita a soma de dois inteiros informados pelo usuário na entrada padrão, nas linguagens Kotlin e Ruby. Os códigos são bastante simples e intuitivos.
Código em Kotlin:
Quem vê o código Kotlin já nota: Kotlin é uma linguagem para a JVM totalmente interoperável com Java. Portanto, sua sintaxe é bastante familiar para quem já usa Java. Usa-se imports quando necessário chamar alguma biblioteca, como fizemos com java.util.*, já que usamos o objeto Scanner para fazer a leitura de dados da entrada padrão. A função principal é a main e dentro do código foram declaradas três variáveis com "val". Elas podiam ser criadas com "var", no entanto, não seria o mais correto. Utilizamos "val" quando o valor não será alterado, e "var" quando ele pode ser modificado. Os métodos sc.next servem para que a referência ao objeto do tipo Scanner (sc) faça a leitura dos valores de entrada. Os valores são recebidos como referências a Strings. No comando de escrita (println), utilizamos "ln" no final para indicar que deve criar uma nova linha (ln significa line new) após o último caractere. Por fim, para fazer a soma de a e b, primeiro precisamos fazer o cast (a conversão explícita), pois ambos foram lidos e atribuídos como String. Essa conversão é feita com o método toInt(). Assim é possível somar os valores e imprimir no comando println.
import java.util.* fun main(args: Array<String>) { val sc = Scanner(System.`in`); val a: String = sc.next(); val b: String = sc.next(); println("X = " + (a.toInt() + b.toInt())); }
Código em Ruby:
Embora Kotlin seja uma linguagem de programação simples, a solução em Ruby fica bem menor. Aqui, para ler os valores e já armazená-los como inteiro, basta utilizar gets.to_i. O "to_i" já faz a conversão para inteiro (to_i significa to int ou para int). Assim, x recebe a soma entre a e b e o comando puts imprime o resultado. Simples, não?
a = gets.to_i b = gets.to_i x = a + b puts "X = #{x}"