Uebungen  Exercices

8. Datentypen
 Types de données

Die Gliederung dieses Kurses folgt in groben Zügen dem Buch von Nancy Blachman: A Practical Approach.... 
Hinweis: Kapitel 8 lesen!
 L'articulation de ce cours correspond à peu près à celle du livre de Nancy Blachman: A Practical Approach.... 
Indication: Lire le chapitre 8.
WIR94/98/99 // Copyright Rolf Wirz

Aufgabe 1    Problème 1

Untersuche die Interne Darstellung von:
 Examine la représentation intérieure de

a) 35 a

FullForm[35a]

b) a 35

FullForm[a35]

c) - x

FullForm[-x]

d) - 3

FullForm[-3]

e) x - 3

FullForm[x - 3]

f) 3 - x

FullForm[3 - x]

g) Sqrt[5]

FullForm[Sqrt[5]]

h) Series[Tan[x],{x,0,9}]

Series[Tan[x],{x,0,9}]

FullForm[Series[Tan[x],{x,0,9}]]

g) Normal[Series[Tan[x],{x,0,9}]]

Normal[FullForm[Series[Tan[x],{x,0,9}]]]

Aufgabe 2    Problème 2

a)   Vergleich von  (x^y)^z  mit  x^(y^z)
    Comparaison de  (x^y)^z  avec  x^(y^z)

x^y^z

2^3^4

x^(y^z)

2^(3^4)

(x^y)^z

(2^3)^4

b)   Vergleich der FullForm
    Comparaison de FullForm

x^y^z

2^3^4

FullForm[2^3^4]

x^(y^z)

2^(3^4)

FullForm[2^(3^4)]

(x^y)^z

(2^3)^4

FullForm[(2^3)^4]

Aufgabe 3    Problème 3

Untersuchung der Memory-Belegung bei Operationen
 Examiner l'occupation de la mémoire lors d'opérations

Operation: 
Liste von 1000 Integer-Zufallszahlen zwischen 100 und 200 rechnen:
  Opération: 
Calculer une liste de 1000 nombres aléatoires "Integer" entre 100 et 200:

aufruf1 = MemoryInUse[];
kleineInt = Table[Random[Integer,{100,200}],
                 {1000}];

aufruf2 = MemoryInUse[];
aufruf2 - aufruf1

Operation: 
Liste von 1'000 Integer-Zufallszahlen zwischen 300 und 400 rechnen:
  Opération:
Calculer une liste de 1'000 nombres aléatoires integer entre 300 et 400:

kleineInt = Table[Random[Integer,{300,400}],
                 {1000}];

aufruf3 = MemoryInUse[];
aufruf3 - aufruf2

Wieviel Memory ist mehr benutzt worden? 
(Mathematica ist so gebaut worden, weil eine Klasse mehr benutzt wird...)
  Combien de mémoire en plus a-t-on occupé?
(Mathematica a été construit ainsi, parce qu'on utilise une classe de plus...)

Operation: 
Liste von 1'000 Real-Zufallszahlen (default-Präzision) rechnen:
  Opération:
Calculer une liste de 1'000 nombres aléatoires réels (précision default):

realInt = Table[Random[],{1000}];

aufruf4 = MemoryInUse[];
aufruf4 - aufruf3

Aufgabe 4    Problème 4

Was ist die grösste speicherbare quadratische Matrix bei 4 Megabytes?
 Quelle est la plus grande matrice carrée qu'on peut mémoriser?

Annahme: Zur Speicherung einer Floating-point-Zahl braucht es 32 = 2^5 Bytes.
  Supposition: Pour mémoriser un nombre à virgule flottante on utilise 
   32 = 2^5 bytes.

NSolve[2^x==10^6,x]

1 Mb entspricht etwa 2^20 Bytes.
 1 Mb correspond à environ 2^20 bytes.

Anzahl Floating-point Zahlen in 4 Mb:
  Nombre (quantité) de nombres à virgule flottante dans 4 Mb:

a = 4 2^19.9316/2^5

Seitenlänge der quadratischen Matrix:
  Longueur d'un côté de la matrice carrée:

s = Floor[Sqrt[a]]

"Putzmaschine" einsetzen
 Employer la "machine de nettoyage"

Remove["Global`@*"]