Skip to content
Snippets Groups Projects
Commit 93efcd65 authored by Kevin Bonga's avatar Kevin Bonga
Browse files

init commit

parents
No related branches found
No related tags found
No related merge requests found
File added
File added
.bloop/
.bsp/
.metals/
target/
project/metals.sbt
project/project/metals.sbt
val scala3Version = "3.3.5"
lazy val root = project
.in(file("."))
.settings(
name := "hepiascala",
version := "2.5.0",
scalaVersion := scala3Version,
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "3.2.19" % "test"
),
Compile / scalaSource := baseDirectory.value / "src",
Test / scalaSource := baseDirectory.value / "test-src"
)
sbt.version=1.10.7
package ch.hepia.tp
@main
def hello = println("Hello, world !!!")
package ch.hepia.tp
//Calcule la valeur absolue d'un double
def abs( x: Double ): Double =
if( x < 0 ) -x else x
//A IMPLEMENTER
//doit retourner 1 si x est positif, -1 si x est négatif
//et 0 sinon
def sign( x: Double ): Double = 0
//A IMPLEMENTER
//C'est juste la fonction factorielle
def fac( n: Long ): Long = -1
//A IMPLEMENTER
//L'algorithme suivant est en pseudocode. Traduisez le
//en Scala, en utilisant uniquement les mots-clé autorisés
//
//function gcd(a, b)
// while b ≠ 0
// t := b
// b := a mod b
// a := t
// return a
def gcd( a: Int, b: Int ): Int = -1
//Calcule l'aire d'un cercle au quel on aurait enlever le carré inscrit
def weirdShapeArea( radius: Double ) = {
val r2 = radius*radius
val disc = math.Pi * r2
val square = 2*r2
disc - square
}
//A IMPLEMENTER:
//La distance euclidienne entre deux points (x1,y1) et (x2,y2)
def distance( x1: Double, y1: Double, x2: Double, y2: Double ) =
-1e-1
//A FAIRE
//Décommenter les lignes suivantes une à une
//Essayer de comprendre l'erreur et de la résoudre
//Le résultat final n'a pas d'importance
def foobar(): Int = {
val x = 2
//x = x + 1
//if( x == "3" )
// println( "Trois: " + x )
//else
x
}
@main
def tp1 = {
println( "TP1 (tout doit être à 'true'):" )
println( s" Fonction abs: ${abs(-3.1)*sign(-3.1) == -3.1}" )
println( s" Fonction fac: ${fac(8) == 40320}" )
println( s" Fonction gcd: ${gcd(1071, 462) == 21}" )
println( s" Fonction distance (1): ${distance(1,2,1,2) == 0}" )
println( s" Fonction distance (2): ${distance(1,2,3,4) == distance(3,4,1,2)}" )
println( s" Fonction distance (3): ${distance(1,0,0,1) == math.sqrt(2)}" )
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment