Menu schließen

Delphi Arrays

Frage: Delphi Arrays
(4 Antworten)


Autor
Beiträge 0
13
Hallo,

wir haben letzte Stunde in Informatik eine neue Aufgabe bekommen, in der wir mit Hilfe von Arrays beliebig oft Zinsen berechnen sollen.
Es soll eine tabelle mit den Werten Kapital, Zinsen und neues Kapital entstehen. Für jedes weitere Jahr muss das aktuelle neue Kapital benutzt werden.

Um ehrlich zu sein verstehe ich überhaupt nicht, wie ich Arrays schreibe. Unser Lehrer hat uns das zwar an einem Beispiel gezeigt aber dabei leider nur wenig erklärt.
Das an die Tafel angeschriebene habe ich auch abgetippt:


var n: array [1..100] of integer;
summe, anzahl, schnitt, i: integer;

Procedure Eingabe;
begin
for i:=1 to 6 do
begin
write(`Wie viele Schüler und Schülerinen haben eine `,i,` :`);
readln(n[i]);
end;

Procedure Berechnung;
begin
summe:=0;
anzahl:=0;
for i:=1 to 6 do
begin
anzahl:=anzahl+n[i];
summe:=summe+i*n[i];
end;
begin
schnitt:=summe/anzahl;
write(`,schnitt,`);
readln;
end.


Wenn jemand die Zeit hätte es mir ausführlich zu erklären, wäre es wirklich super.

MfG
Frage von Persu (ehem. Mitglied) | am 20.08.2013 - 19:22


Autor
Beiträge 15
1
Antwort von kingdmj | 21.08.2013 - 10:03
Verstehst
du das Programm oder allgemein Arrays nicht?


Autor
Beiträge 0
13
Antwort von Persu (ehem. Mitglied) | 21.08.2013 - 15:27
Naja das Programm besteht ja aus arrays. Soviel ich verstanden habe soll es ja eine verkürzte Form von Aufzählungen oder so sein. Den Anfang kann ich noch halbwegs nachvollziehen. Aber ab dem ersten write wo `,i,` : auftritt blick ich auch nicht mehr durch, wozu der : und was hat z.B. n[i] zu bedeuten? Und warum muss am Anfang immer procedure geschrieben werden?


Autor
Beiträge 0
13
Antwort von Persu (ehem. Mitglied) | 21.08.2013 - 17:08
Okay, solangsam verstehe ich es doch irgendwie, jedoch habe ich Probleme das auf unsere Aufgabe mit den Zinsen zu übertragen. So weit bin ich nun gekommen:

Procedure Eingabe;
begin
writeln(`Dieses Programm rechnet die fuer jedes Jahr erhaltenen Zinsen auf Ihr Kapital.`);
writeln(`Geben Sie bitte Ihr Kapital in Euro ein: `);
readln(K);
writeln(`Geben Sie nun bitte Die Laufzeit in ganzen Jahren ein: `);
readln(T);
writeln(`Geben Sie hier bitte Ihren Zinssatz ein: `);
readln(Z);
readln;
end;

procedure Berechnung;
begin
Kn:=K
for i:=1 to T do
begin
Kn:=(K/100*Z)+K
end;

Aber wie mache ich, dass in der Tabelle bei Zinsen immer das aktuelle Kapital genommen wird?
Und kann ich auch mit arrays eine Tabelle erstellen, wenn ja wie?

Kann sich das jemand bitte mal anschauen?


Autor
Beiträge 12
1
Antwort von Ace86 | 25.08.2013 - 21:13
Hi Persu,

ich versuche mich mal an der Aufgabe. (Hinweis: ich programmiere selbst kein Delphi, es könnten also kleinere Änderungen notwendig sein)

Es soll also eine Tabelle entstehen mit den Spalten Kapital | Zinsen | neues Kapital. Hierfür benötigst du ein 2-Dimensionales Array. Nennen wir es mal "laufzeit". Dann definierst du es als:
laufzeit : Array[1..100, 1..3] of double;.
Du kannst in dieser Tabelle also maximal die Werte für eine Laufzeit von 100 Jahren speichern. Eine bestimmte Zelle sprichst du mit 2DimArray[<jahr>,<spalte>] an. Wenn du z.B. das neue Kapital (Spalte 3) des ersten Jahres setzen möchtest, geht es so:
laufzeit[1,3] = 300;

Jetzt konkret zur Aufgabe. Ich würde im Array auch die Werte für das Jahr 0 speichern. Daher ändert sich die Deklaration zu:
laufzeit : Array[0..100, 1..3] of double;

Nachdem du die Benutzereingaben eingelesen hast setzt du das Startkapital mit laufzeit[0,1] = k und mit laufzeit[0,2] und laufzeit[0,3] entsprechend die berechneten Zinsen und das neue Kapital.

Nun gehts mit der for-Schleife von oben weiter:

for i:=1 to T do
begin
...
end;

Du holst dir zuerst das neue Kapital aus der vorherigen Zeile (sprich das vorherige Jahr):

laufzeit[i,1] = laufzeit[i-1,3]
berechnest die Zinsen und das neue Kapital und speicherst diese. Anschließend beginnt ein neuer Schleifen Durchlauf, usw.

Wenn dann alle Werte Berechnet sind, kannst du die Werte für jedes Jahr mit Hilfe einer weiteren for-Schleife ausgeben lassen

Ich hoffe das war verständlich.

MfG Ace

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

19 ähnliche Fragen im Forum: 3 passende Dokumente zum Thema:
> Du befindest dich hier: Support-Forum - Informatik
ÄHNLICHE FRAGEN:
  • dynamische Arrays
    Hallo :) kann mir jemand die dynamischen arrays (es reicht 2dimensional) erklären und wie man setlength anwendet? Liebe ..
  • Arrays Aufgaben
    Weiß jemand wie das geht ? public class Test{ public static void main(String args){ String liste1 = new String; String ..
  • Informatik Delphi
    Hallo, brauche euro hilfe. und zwar muss einen taschenrechner mit delphi programmieren, der natürlich auch mehr soll als plus..
  • Delphi 7/Informatiker
    http://s14.directupload.net/file/d/2910/xzwc94x5_jpg.htm Ich hab ein paar kleine Fragen für Informatiker, die sich mit Delphi..
  • Delphi - Schleifen - Muster
    Hallo Leute wir haben jetz in Informatik Programmieren mit Delphi (Lazarus) und mit Schleifen angefangen und Sollen jetz ein ..
  • Delphi
    Ich wollte nur mal fragen ob jemand vielleicht eine Internet Seite kennt, wo man ein ähnliches Programm wie delphi ..
  • mehr ...
BELIEBTE DOWNLOADS:
  • Teilerprogramm in Delphi
    Einfaches Teilerprogramm in Delphi, die exe durfte ich elider nicht uppen - Virengefahr
  • Programmierung in C++
    Diese Facharbeit beschäftigt sich mit der Programmierung in der Programmiersprache C++. Behandelte Themen: Grundlagen, ..
  • Pascal - Niki - Aufgabe
    Es handelt sich um eine Aufgabe der Sprache Pascal / Delphi, mit dem Programm Niki. Die Grundaufgabe NIKI befindet sich auf ..
  • mehr ...