Uebungen  Exercices

15. Packages

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

Aufgabe 1    Problème 1

Lade das Package "Colors.m" aus "Graphics". Liste alle Farben auf.
  Charger le Package "Colors.m" de "Graphics". Fais une liste des couleurs.

Needs["Graphics`Colors`"]

?Graphics`Colors`*

Aufgabe 2    Problème 2

Schreibe ein Mathematica-Package, das den Mittelwert (mean) und den Median einer Liste berechnet. In der folgenden Lösung wird die Standard-Lösung aus den mitgelieferten Packages kopiert und präsentiert. 
  Ecris un Package de Mathematica, qui calcule la valeur moyenne et la médiane d'une liste. Dans la solution suivante, la solution standard est copiée et présentée dans les Packages livrées.

Standard-Package einlesen:
  Lire le Package standard:

Needs["Statististics`DescriptiveStatistics`"]

?Median

?Mean

Standard-Package anschauen:
  Regarde le Package standard:

!!Statistics`DescriptiveStatistics`

?ReadList

Options[Put]

?NullRecords

readIn = ReadList[
	"Statistics`DescriptiveStatistics`", 
		Record,RecordSeparators -> {"\n","\t"}];
readIn >> f:\Mathe/Daten/DataRec;
readIn >> f:\Mathe/Daten/DataRec.ma;
readIn = ReadList[
	"Statistics`DescriptiveStatistics`", 
					String];
readIn >> f:\Mathe/Daten/DataOutS;
readIn >> f:\Mathe/Daten/DataOutS.ma;

Diese Files können nun editiert und von Hand manipuliert werden. Z.B. wie folgt:
  Ces fichiers peuvent être édités maintenant et manipulés à la main. P. ex. de la façon suivante:

OpenWrite["Statisti.m"];
WriteString["Statisti.m",
"\n", 
"Du sollst das Package von Hand in das File","\n",
"Statisti.m kopieren."
];   (* End WriteString   *)
 
Close["Statisti.m"];


(* Author:  Student Heimlich Fileklau  *)
(* History: Original version ... 1989. *)
(*Revised 1995.                        *)
(* Summary: This package computes descriptive *)
(*                          statistics *)
(* Keywords: mean, median *)

BeginPackage["AAAStatistics`"];
EndPackage[ ];

mean::usage = 
	"mean[list] gives the mean of the entries \
                         in list.";
median::usage =
	"median[list] gives the median of the  \ 
                   entries in list.";

Begin["`Private`"];
mean[list_] := Apply[Plus, list]/Length[list] /; 
			   VectorQ[list] && Length[list] > 0;
median[list_] := Sort[list][[
						(Length[list]+1)/2]] /;
			   VectorQ[list] && 
			   			OddQ[Length[list]];
median[list_] := Block[{s, n},
			s =Sort[list] ;
			n = Length[list] ;
			(s[[n/2]] + s[[n/2 + 1]]) / 2] /; 
			VectorQ[list] && EvenQ[Length[list]];
End[ ];

(* Protect[mean, median];
SetAttributes[ mean, ReadProtected];
SetAttributes[ median,ReadProtected];  *)

Needs["AAAStatistics`"]

?AAAStatistics`*

?mean

?median

mean[{1,2,3,4,5,6,7,8,9}]

mean[{1,2,3,4,5,6,7,8}]

median[{1,2,3,4,5,6,7,8}]

median[{1,2,3,4,5,6,7,8,9}]

Zum Beispielprogramm: Funktioniert es immer gut und somit tadellos? - Wenn nicht, so korrigiere es! Wenn Du Erfolg hast und es besser machen kannst, so hast Du ein grosses Ziel erreicht!
  Quant au programme exemple: Fonctionne-t-il toujours bien et donc sans erreurs? - Si non, corrige-le. Si tu as du succès et que tu peux le faire mieux, tu as atteint un grand but!

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

Remove["Global`@*"]