solutions block 4

main
Jonathan Seltmann 2025-02-06 13:27:03 +01:00
parent 90d4ccd985
commit 4a681a78dc
4 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,4 @@
import System.IO
main :: IO()
main = putStrLn "Hello World"

View File

@ -0,0 +1,15 @@
import qualified Data.List (nub,sort, reverse)
uniqueReverseList :: (Eq a, Ord a) => [a] -> [a]
uniqueReverseList list = Data.List.reverse (Data.List.sort (Data.List.nub list))
main :: IO ()
main = do
let x = uniqueReverseList [2,1,13,1,27,71,59,43] == [71,59,43,27,13,2,1]
let y = uniqueReverseList "abcde" == "edcba"
if x == y
then putStrLn "Funktion funktioniert"
else putStrLn "Funktion funktioniert nicht"

View File

@ -0,0 +1,31 @@
--Schreibe ein Modul welches Funktionen zur berechnung der Volumen von
--Kugel, Würfel, Pyramide und Zylinder enthällt
--Grundgerüst
module Volumenberechnung
( kugel
, wuerfel
, pyramide
, zylinder
) where
--Funktionen
--Kugel
kugel :: (Floating a)=> a -> a
kugel radius = (4/3) * pi * radius ^ 3
--Würfel
wuerfel :: (Floating a) => a -> a
wuerfel kantenlaenge = kantenlaenge ^ 3
--Pyramide
pyramide :: (Floating a) => a -> a -> a -> a
pyramide laenge breite hoehe = 1/3 * laenge * breite * hoehe
--Zylinder
zylinder :: (Floating a) => a -> a -> a
zylinder radius hoehe = pi * radius ^ 2 * hoehe

View File

@ -0,0 +1,15 @@
import System.IO
reverseWords :: String -> String
--reverseWords = unwords . map reverse . words
--obige Zeile ist die kurzschreibweise mit der Punktnotation
reverseWords message = unwords (map reverse (words message))
main :: IO ()
main = do
line <- getLine
if null line
then return ()
else do
putStrLn $ reverseWords line
main