Skip to content

Instantly share code, notes, and snippets.

@raimonizard
Created December 13, 2023 11:45
Show Gist options
  • Save raimonizard/4ebba459d9770c7ae6664df5b3d0eace to your computer and use it in GitHub Desktop.
Save raimonizard/4ebba459d9770c7ae6664df5b3d0eace to your computer and use it in GitHub Desktop.
Exemple d'un exercici senzill per MP03-UF2-Programació Modular

Exemple d'exercici de kotlin

Enunciat:

  1. El Departament d’Ensenyament de la Generalitat vol saber el percentatge nois i noies que hi ha a les aules. Dissenya un algoritme que pregunti quantes noies i nois hi ha a l’aula i aleshores en mostri els percentatges.

Solució usant programació modular en kotlin

import java.util.*

fun main(){
    menu()
    var totalAlumnes : Int = readInt("Escriu el nombre total d'alumnes", 0, 33)
    var noies : Int = readInt("Escriu el nombre de noies", 0, totalAlumnes)
    // var nois : Int = readInt("Escriu el nombre de nois", 0, totalAlumnes - noies)
    var nois : Int = totalAlumnes - noies

    var percs : Array<Float> = calcPerc(totalAlumnes, noies, nois)

    println("El perc de nois és: ${percs[0]} i el de noies és: ${percs[1]}")

}

fun calcPerc(pTotal : Int, pNoies : Int, pNois : Int) : Array<Float>{
    var percNois : Float = 0.0f
    var percNoies : Float = 0.0f
    var percentatges : Array<Float>

    percNois = pNois / pTotal.toFloat() * 100
    percNoies = pNoies / pTotal.toFloat() * 100
    percentatges = arrayOf(percNois, percNoies)

    return percentatges
}

fun readInt(pMessage : String, pMin : Int, pMax : Int) : Int{
    var valor : Int = 0
    val scan : Scanner = Scanner(System.`in`)
    var correctType : Boolean = false

    do{
        println(pMessage)
        correctType = scan.hasNextInt()

        if(!correctType){
            println("ERROR")
        }else{
            valor = scan.nextInt()

            if(valor < pMin || valor > pMax){
                println("ERROR")
                correctType = false
            }
        }

        scan.nextLine()

    }while(!correctType)
    return valor
}

fun menu(){
    println("benvingut al programa")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment