www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Pascal" - Übung zu Array
Übung zu Array < Pascal < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Pascal"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Übung zu Array: Aufgabe 1
Status: (Frage) beantwortet Status 
Datum: 11:09 Di 26.09.2006
Autor: MarquiseDeSade

Aufgabe
Die Fibonacci-Folge ist wie folgt definiert:
1.Zahl:1
2.Zahl:1
Alle weiteren Zahlen berechnen sich aus der Summe des Vorgängers und Vorvorgängers. Also 3.Zahl ist 1.Zahl+2.Zahl.
Schreiben Sie ein Programm, dass die Fibonacci-Zahlen bis zur 25.Zahl berechnet, in einem Array "Fibonacci" abgespeichert und anschließend auf dem Bildschirm ausgibt.

Ein liebes Hallo :O)

Wir haben gestern diese Aufgabe bekommen und beschäftigen uns die nächste Zeit mit Arrays in Verbindung der for-Schleife.

Ich bin mir aber nicht sicher, ob ich den Syntax richtig verstanden habe, denn mein Programm gibt nur die letzte Zahl (75025) aus, anstatt alle von 1,1,2,3,5 usw.

Wo liegt mein Fehler, ich finde ihn beim besten Willen nicht. Über Anregungen bedanke ich mich schonmal im Vorraus.

Mein Programm

Program Fibo_test;
uses wincrt;

Var i,ausgabe:longint;
Fibo:array [1..25] of longint;
antwort:char;


BEGIN{Programm}
WriteLn('     Berechnungsprogramm für Fibo-Folge  ');
WriteLn;


antwort:='j';
while(antwort='j')do
   Begin{While do}
   Fibo[1]:=1;
   Fibo[2]:=1;

   for i:=3 to 25 do
   fibo[i]:=fibo[i-1]+fibo[i-2];

   Write(fibo[i],',');


WriteLn;
WriteLn('Nochmal? Wählen "j" für ja und "n" für nein.');
ReadLn(Antwort);

  ClrScr;
  end;{of while}

End.

Gruß Tobias

        
Bezug
Übung zu Array: Antwort
Status: (Antwort) fertig Status 
Datum: 11:39 Di 26.09.2006
Autor: VNV_Tommy

Hallo Tobias!

> Die Fibonacci-Folge ist wie folgt definiert:
> 1.Zahl:1
>  2.Zahl:1
>  Alle weiteren Zahlen berechnen sich aus der Summe des
> Vorgängers und Vorvorgängers. Also 3.Zahl ist
> 1.Zahl+2.Zahl.
> Schreiben Sie ein Programm, dass die Fibonacci-Zahlen bis
> zur 25.Zahl berechnet, in einem Array "Fibonacci"
> abgespeichert und anschließend auf dem Bildschirm ausgibt.
>  Ein liebes Hallo :O)
>  
> Wir haben gestern diese Aufgabe bekommen und beschäftigen
> uns die nächste Zeit mit Arrays in Verbindung der
> for-Schleife.
>  
> Ich bin mir aber nicht sicher, ob ich den Syntax richtig
> verstanden habe, denn mein Programm gibt nur die letzte
> Zahl (75025) aus, anstatt alle von 1,1,2,3,5 usw.
>
> Wo liegt mein Fehler, ich finde ihn beim besten Willen
> nicht. Über Anregungen bedanke ich mich schonmal im
> Vorraus.
>  
> Mein Programm
>  
> Program Fibo_test;
>  uses wincrt;
>  
> Var i,ausgabe:longint;
>   Fibo:array [1..25] of longint;
>   antwort:char;
>  
>
> BEGIN{Programm}
>  WriteLn('     Berechnungsprogramm für Fibo-Folge  ');
>  WriteLn;
>  
>
> antwort:='j';
>  while(antwort='j')do
>     Begin{While do}
>     Fibo[1]:=1;
>     Fibo[2]:=1;

=================
  

> for i:=3 to 25 do

[mm] \blue{Begin} [/mm]

>     fibo:=fibo[i-1]+fibo[i-2];
>

for i:=1 to 25 do

> Write(fibo,',');

[mm] \blue{End;} [/mm]
=================
Ich denke der Fehler ist in diesem Bereich zu finden. So wie die Syntax hier lautet, werden alle Zahlen mittels der for-Schleife berechnet und im array gespeichert. Wenn die for-Schleife dann aber für das letzte i=25 durchlaufen ist, dann wird mit dem write-Befehl nur die Zahlfür das aktuelle i (also, die Zahl an 25.Stelle) ausgegeben und das müsste die letzte Berechnete Zahl sein.

Meines Erachtens hast du nun 2 Möglichkeiten:
1.
Du lässt dir die aktuelle, berechnete Zahl jeweils ausgeben, sobald sie berechnet wurde, indem du den write-Befehl in die for-Schleife miteinbeziehst. (blaue Syntax; das dick geschriebene dabei nicht berücksichtigen!)

2.
Du baust noch eine zweite for-Schleife für die Ausgabe der Zahlen ein. (dick geschriebene Syntax; die blaue Syntax hierbei nicht berücksichtigen)
Das hätte zur folge, daß mit der von dir erstellten, ersten for-Schleife die zahlen berechnet werden und mit der zweiten for-Schleife die Zahlen ausgegeben werden.

Kleiner Hinweis am Rande:
In Pascal ist es so, daß ein Befehl, der direkt nach einer for-Schleife folgt in der for-Schleife berücksichtigt wird. Willst du mehr als einen Befehl in der for-Schleife abarbeiten, dann musst du diese mit Begin und End; eingrenzen (siehe erste Möglichkeit)

>
>
> WriteLn;
> WriteLn('Nochmal? Wählen "j" für ja und "n" für nein.');
> ReadLn(Antwort);
>
> ClrScr;
>    end;{of while}
>
> End.
>
> Gruß Tobias

Gruß,
Tommy

Bezug
                
Bezug
Übung zu Array: Vielen Dank
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:04 Di 26.09.2006
Autor: MarquiseDeSade

Hi Tommy :O)

Vielen Dank für deine schnelle und vorallem so super gelungene Beschreibung des Lösungsansatzes.
Ich habe es gleich mal ausprobiert und siehe da, es funktioniert :O)  
Ich war nämlich schon kurz davor zu verzweifeln..... weil ich einfach nicht wuste, wo der Fehler sein könnte.

Ich danke dir vielmals

gruß tobias

Bezug
        
Bezug
Übung zu Array: Formatierung und Ausgabe
Status: (Frage) beantwortet Status 
Datum: 12:35 Di 26.09.2006
Autor: MarquiseDeSade

Hallo :O)

Das Programm läuft, worüber ich sehr froh bin. Aber nun meine Frage zu der Formatierung in TPW:

Ist der "WriteLn" -Befehl insoweit begrenzt, dass er nur eine bestimmte Anzal von Zeilen auf den Bildschirm gibt? Denn bei mir müste stehen:

Berechnungsprogramm der ........
2
3
5
8
usw.

aber der Begrüßungstext und die Zahl 2 fehlen ganz, als hätte er im Fenster dafür keinen Platz und "Hochscrollen" geht aus nicht. Wenn ich die Zahlen mit "Write" schreibe, sieht das irgendwie doof aus, denn ich trenne die Zahlen ja mit Komma und er fängt dann die zweite Zeile mit einem Komma an.

Beispiel:

1,1,2,3,5,8
,13,21

und das sieht doof aus.

Vielleicht weiß ja jemand eine Lösung, sofern TPW da Möglichkeiten bietet

Gruß Tobias

Bezug
                
Bezug
Übung zu Array: Antwort
Status: (Antwort) fertig Status 
Datum: 13:34 Di 26.09.2006
Autor: VNV_Tommy

Hallo nochmals! ;-)

> Hallo :O)
>  
> Das Programm läuft, worüber ich sehr froh bin. Aber nun
> meine Frage zu der Formatierung in TPW:
>  
> Ist der "WriteLn" -Befehl insoweit begrenzt, dass er nur
> eine bestimmte Anzal von Zeilen auf den Bildschirm gibt?

Leider ja. Soweit ich mich erinnere sind es ein bisschen was über 20 (ich glaub 22 oder 24) Zeilen die auf dem Bildschirm bei TP existieren. Der writeln-Befehl schreibt bekanntlich die Ausgabe auf den Bildschirm und springt dann eine Zeile weiter nach unten. Wenn der Cursor in der letzten Zeile angekommen ist, wird ab Benutzung des writeln-Befehls die Ausgabe ausgegeben, während die vorherigen Ausgaben alle eine Zeile nach oben rutschen. Die ausgabe wird quasi nach oben 'geschoben'

Auch hier gibt es wieder mehrer Möglichkeiten:
Entweder lässt du ab einer bestimmten Anzahl an ausgegebenen Zahlen die Ausgabe anhalten nach dem Motto:"Zum Fortfahren bitte Enter drücken!". Das erfordert noch eine Zeilein deiner for-Schleife, die mod-divison anwendest.
z.B.
If (i mod 20)=0 Then
Begin
Write('Zum Fortfahren bitte Enter drücken!');
Readln;
End;

Andere Möglichkeit:
Sofern ich mich erinnere gab es einen Befehl mit dem man den Cursor an eine gewünschte Stelle auf dem Bildschirm steuern konnte (ich glaub er hieß goto(x,y) oder so ähnlich). Damit könntest du quasi Spalten auf dem Bildschirm aufbauen, die dann die Zahlen ausgeben. Die Methode ist allerdings ein wenig kompliziert, zumal die Breite der Zahlen ja auch zunimmt, wonach ich die erste Möglichkeit hier vorziehen würde.

Gruß,
Tommy


Bezug
                        
Bezug
Übung zu Array: Danke
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:58 Di 26.09.2006
Autor: MarquiseDeSade

Hi :O)

Mh, das habe ich mir schon fast gedacht, schade eigentlich. Ich denke ich werde deinen ersten Ratschlag befolgen und mit mod arbeiten.

Die andere Variante klingt sehr gut, aber dein Angesprochenes Problem besteht ja und dieser Aufwand wäre es nicht wert, für dieses Programm.

Nochmals vielen Dank für deine Mühe

Gruß Tobias

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Pascal"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de