Article image
André Bezerra
André Bezerra07/01/2024 18:12
Compartilhe

BEZERRA, André [SOLUÇÕES - CÓDIGOS] Desenvolvimento Backend com Kotlin

  • #Desperte o potencial
  • #Equipe Motivada
  • #Inovação

Resoluções para Análise e aberto a debate nos comentários ^^

1 Suas Primeiras Condições em Kotlin

fun main() {
 val media = readLine()!!.toDouble();
 when {
     media < 5    -> println("REP");
     media < 7    -> println("REC");
     else         -> println("APR");
 }
}

2 Avançando Tecnicamente Com a Expressão When

fun main(){
  val(d,m,a)=readLine()!!.split("/");
  val t = when (m.toInt()){
      1->"Janeiro";
      2->"Fevereiro";
      3->"Marco";
      4->"Abril";
      5->"Maio";
      6->"Junho";
      7->"Julho";
      8->"Agosto";
      9->"Setembro";
      10->"Outubro";
      11->"Novembro";
      12->"Dezembro";
      else->"Mês Inválido!"
  };
  println("$d de $t de $a");
}

3 Explorando Mapas, Loops e Regras com Kotlin

 fun main(){
  val ref : String? = readLine();
  val roman = mapOf(
      'I' to 1,
      'V' to 5,
      'X' to 10,
      'L' to 50,
      'C' to 100,
      'D' to 500,
      'M' to 1000
  );
  var value : Int = 0;
  var a : Int;
  var p : Int;
  
  for (i in ref!!.indices) {
      a = roman.getValue(ref[i]);
      p = when(i+1) {
          ref.length -> 0;
          else -> roman.getValue(ref[i+1]);
      };
      value += (if(p>a) -1 else 1)*a;
  }
  print(value);
}

4 Utilizando a Keyword Object com Orientação a Objetos (OO)

 object ReceitaFederal{
  fun calc (s:Double) : Double{
      return s*(when{
          s > 2500 -> 0.15;
          s > 1100 -> 0.10;
          else -> 0.05
      })
  }
}
fun main(){
  val value = readLine()!!.toDouble();
  println(String.format("%.2f",value - ReceitaFederal.calc(value)+readLine()!!.toDouble()));
}

5 Orientação a Objetos (OO) Visando Soluções Mais Idiomáticas

data class Pais(var h:Double,val t:Double){
  fun Calc(){ h *= 1+t/100 }
}
fun main(){
  val a = Pais(readLine()!!.toDouble(),3.0);
  val b = Pais(readLine()!!.toDouble(),1.5);
  var count = 0;
  while(a.h < b.h){
      a.Calc();
      b.Calc();
      ++count;
  }
  println("$count anos")
}
Compartilhe
Comentários (1)
André Bezerra
André Bezerra - 13/01/2024 18:43

Soluções alternativas são interessantes para debater níveis de proficiência na Linguagem ^^