Programmierung und Modellierung Blatt 1 Musterlösung PDF

Title Programmierung und Modellierung Blatt 1 Musterlösung
Course Programmierung und Modellierung
Institution Ludwig-Maximilians-Universität München
Pages 3
File Size 147.3 KB
File Type PDF
Total Downloads 196
Total Views 240

Summary

Aufgabe 2: Ausdrücke und Typena) 50 * 100 - 4999 Typ: Num; Wert: 1b) 50 * (100 - 4999) Typ: Num; Wert: -c) 1-200/0 Typ: Fractional; Wert: -Infinityd) let fuenf = 5; Typ: Num; Wert: 5e) let acht = 008; Typ: Num; Wert: 8f) let x10 = 0x10; Typ: Num; Wert: 16g) le t fuenf’ = -(-5) Typ: Num; Wert: 5h) le...


Description

Aufgabe 2: Ausdrücke und Typen a) 50 * 100 - 4999

Typ: Num; Wert: 1

b) 50 * (100 - 4999)

Typ: Num; Wert: -244950

c) 1-200/0

Typ: Fractional; Wert: -Infinity

d) let fuenf = 5;

Typ: Num; Wert: 5

e) let acht = 008;

Typ: Num; Wert: 8

f) let x10 = 0x10;

Typ: Num; Wert: 16

g) let fuenf’ = -(-5)

Typ: Num; Wert: 5

h) let fuenftel = 1.0 / fromIntegral(fuenf) Typ: Fractional; Wert: 0.2 Erläuterung: Mit fromIntegral werden Integers zum Typ Num gecastet i) (fuenf == acht) == (fuenf > acht)

Typ: Boolean; Wert: False

j) fuenf /= 5

Typ: Boolean; Wert: True

k) let a = ’a’

Typ: Char; Wert: a

l) let bc = “c“

Typ: Char; Wert: c

m) let abc = a:bc n) let begruessung = “hallo “ ++ “welt!“

Typ: Char; Wert: ac Typ: Char; Wert: hallo welt!

o) let begruessung’ = begruessung ++ “ gut gem“ ++ show(acht) Typ: Char; Wert: hallo welt! gut gem8 Erläuterung: Mit show(acht) wird der Wert der Funktion acht, die in Aufgabe e) definiert wurde, zu Char gecastet.

p) read(show(fuenftel)) + fuenftel Typ: Fractional; Wert: 0.4 Erläuterung: show(fuenftel) castet den Wert der Funktion fuenftel zu Char, read castet den Wert dann wieder zu Num (in diesem Fall Fractional) zurück.

Aufgabe 3: Erste Funktionen a)

dreifach :: Integer -> Integer -- bitte die 10 durch Ihren Programm- Code ersetzen -dreifach zahl = zahl * 3 b)

-- bitte die 10 durch Ihren Programm- Code ersetzen -vierfach :: Integer -> Integer vierfach zahl = zahl * 4

Aufgabe 4: Listen a) [1,2,3,4] ++ [9,10,11,12]

Typ: Num; Wert: [1,2,3,4,9,10,11,12]

b) [3,4,2] > [2,4] Typ: Bool; Wert: True Erläuterung: Das Boolean bezieht sich nicht auf die Länge der Liste, sondern auf die Größe der Elemente. So ist das erste Element in der linken Liste in diesem Beispiel größer als das erste Element in der rechten Liste, daher True. c) [1,2,3,4,5,6,7,8]!!5 == 5 Typ: Bool; Wert: False Erläuterung: !! bezieht sich auf die Indexnummer der Liste. Diese Funktion will prüfen, ob die Zahl mit Index 5 in der Liste eine 5 ist. Dies ist hier aber nicht der Fall, daher False. d) null [1,2,3] Typ: Bool; Wert: False Erläuterung: null frägt ab, ob es sich um eine null-Liste handelt. Da die Liste aber mit drei Zahlen gefüllt ist, ist das nicht der Fall, daher False. e) length [5,4,3,2,1]

Typ: Int; Wert: 5

f) head []

Typ: a; Wert: Exception: empty list

g) tail [2,3,4]

Typ: [a]; Wert: [3,4]

h) ’H’:“-Milch“

Typ: Char; Wert: H-Milch

i) “Professor Bry“ !! 6

Typ: Char; Wert: s

j) Definieren Sie eine Funktion ’kopf’, die das erste Element eines Strings ausgibt. let kopf xs = head xs k) Definieren Sie eine Funktion ’ende’, die das letzte Element eines Strings ausgibt. let ende xs = head (reverse xs) l) Definieren Sie eine Funktion ’rest’, die bis auf das erste Element alle Elemente eines Strings ausgibt. let rest xs = tail xs

Aufgabe 5: List-Comprehension substantive = ["Student", "Professor", "Tutor"] adjektive = ["fauler", "fleissiger", "hilfreicher"] [(x++ " " ++y) | x...


Similar Free PDFs