Zur Aufgabenstellung Zum Quellcode
Matrizen Was ist eine Matrix? Eine Matrix ist eine angeordnete Tabelle, die aus m-Zeilen und n-Spalten besteht. Die Zusammensetzung von Zeilen und Spalten ist dabei egal. Wir unterscheiden dabei jedoch zwischen einer quadratischen Matrix und einer nichtquadratischen Matrix. Bei einer quadratischen Matrix ist die Anzahl der Spalten gleich der Anzahl der Zeilen, z.B. eine 3x3 Matrix. Die Elemente einer Matrix werden Komponenten genannt und können von jedem Datentyp sein (Informatik: String, Real, Integer, Word…). Matrizen in der Informatik: Die Programme, die unser Projekt beinhaltet, können eigentlich auch mit einem Tabellenkalkulationsprogramm gemacht werden. Die Matrizen werden beim Programmieren folgendermaßen deklariert: matrix: ARRAY[1..m,1..n] OF <Datentyp>; ‚m’ und ‚n’ stehen dabei für die Zeilen- bzw. Spaltenanzahl, wobei in einer Matrix immer die Zeilen vor den Spalten kommen. <Datentyp> steht für jegliche Datentyps, d.h. dass der Inhalt der Matrizen von beliebigen Datentypen ist (Integer, Real, String, Word, Boolean).Die Matrix kann entweder per Hand oder durch Zufall (Random) belegt werden. Wozu werden Matrizen verwendet? Matrizen können vielerorts angewendet werden. So kann man z.B. die Einnahmen eines Betriebes an jedem Tag des Monats speichern und die gespeicherten Komponenten später für verschiedene Berechnungen verwenden: Beispiel: Wir haben zwölf Spalten, die jedes Monat darstellen und 31 Zeilen für die Tage. Jetzt können wir für jeden Monat einen Durchschnitt, eine Summe u.a. berechnen. Zeilensumme einer Matrix: Wir summieren jede Zahl (sofern der Inhalt kein String ist) jeder Spalte von der ausgewählten Zeile. Bei Pascal arbeiten wir mit FOR-Schleife, wobei eine für die Zeilen und die andere für die Spalten steht. In jeder Schleife wird die vorherige Summe zu der aktuellen Zahl gezählt.
| 1. Spalte | 2. Spalte | Zeilensumme | 1. Zeile | 8 | 4 | 12 | 2. Zeile | 5 | 6 | 11 | 3. Zeile | 3 | 7 | 10 |
Spaltensumme einer Matrix: Wir summieren den Inhalt jeder Spalte mit der jeweiligen Zeile. In Pascal arbeitet man mit zwei verschachtelten FOR-Schleifen, die die einzelnen Spalten durchlaufen und deren Inhalt anschließend summiert. | 1. Spalte | 2. Spalte | 3. Spalte | 1. Zeile | 8 | 4 | 12 | 2. Zeile | 5 | 6 | 11 | Spaltensumme | 13 | 10 | 23 |
Zeilendurchschnitt einer Matrix: Der Vorgang ist eigentlich derselbe wie beim Bilden der Zeilensumme. Hinzu kommt,dass am Ende die Zeilensumme durch die Anzahl der Schleifendurchläufe (Spalten-Schleife) dividiert wird. Beispiel:
| 1. Spalte | 2. Spalte | Durchschnitt | 1. Zeile | 5 | 9 | 7 | 2. Zeile | 8 | 6 | 7 | 3. Zeile | 12 | 14 | 13 |
Spaltendurchschnitt einer Matrix: Wir machen dasselbe wie bei der Spaltensumme, nur wird hier das Ergebnis noch durch die Spaltenanzahl dividiert. Hier wird ebenfalls wieder mit FOR- Schleifen gearbeitet.
| 1. Spalte | 2. Spalte | 3. Spalte | 1. Zeile | 10 | 9 | 7 | 2. Zeile | 8 | 6 | 10 | Durchschnitt | 9 | 7,5 | 8,5 |
Vormonatsprozentweichungen in einer Matrix: Wenn wir eine Matrix haben, in welcher jede Spalte z.B. ein Monat darstellt, können wir die Abweichungen einer bestimmten Zeile in einer bestimmten Spalte zu einer anderen Spalte in derselben Zeile berechnen. Die Differenz kann als eine Prozentabweichung angegeben werden. Beispiel: Wir berechnen die Prozentabweichung vom März und Februar eines verkauften Produktes. So ist z.B. im Februar das Produkt um zehn Prozent mehr verkauft worden als im März.
| Januar | Februar | März | Januar/März | Produkt 1 | 5000 | 4500 | 3200 | -36% | Produkt 2 | 4200 | 6000 | 5400 | +28,57% | Produkt 3 | 8000 | 7000 | 9800 | +22,5% |
(hier wird jeweils der Unterschied zwischen Januar und März betrachtet) Anteilssumme: Man bildet die Zeilensumme mit den Werten einer Zeile. Anschließend berechnet man den prozentuellen Anteil des Wertes zum Ganzen.
Monat | Januar | Februar | März | 100% | Produkt 1 | 1245 | 5136 | 5454 | 11835 | Prozentuell | 10.52% | 43.4% | 46.08% | 100% |
Sortieren einer Matrix nach Spalten:
Wir legen eine Matrix an. Wir können nun eine Spalte auswählen, nach welcher die Zeilen geordnet werden. Beim Programmieren benutzen wir den Auswahlsort. Beispiel: Die Spalten werden in der zweiten Tabelle nach der 1. Spalte angeordnet.
Autor: R.D / G.D.
|