Menu schließen

Hilfe bei TurboPascal

Frage: Hilfe bei TurboPascal
(21 Antworten)


Autor
Beiträge 0
13
Hallo!
ich hab ein großes problem.
ich muss eine aufgabe in informatik machen aber leider komme ich nicht weiter.. wäre nett wenn jemand mir helfen könnte.. ich bin änfängerin deshalb wäre es lieb wenn ihr mir in einer leichten Info-sprache die Aufgabe erklären oder den richtigen weg zeigen würdet. die Aufgabe:
Thema: SUMMENBERECHNUNG
Aufg.: nach eingabe einer Zahl zwischen 1 und eine zahl Ihrer Wahl soll der rechner die Summe aller Zahlen zwischen 1 und dieser Zahl bilden und ausgeben.

(mit Wiederholungsanweisung)
--------------------------------------
also z.B. wenn ich eine Zahl (z.B. 10) eingebe, soll der Rechner mir das anzeigen in folgender Weise: 1+1=2 2+2=4 4+3=7 7+4=11 11+5=16 16+6=22 22+7=29 29+8=37 37+9=46 46+10=56.

(bin 11. Klasse!)

vielen Danke für eure Hilfe!
Frage von Nivdil (ehem. Mitglied) | am 10.05.2006 - 10:24

 
Antwort von GAST | 10.05.2006 - 10:48
Also TurboPAscal is bissl Lange her, bei mir^^ Programmiere nur noch mit Java, soweit ich mich erinnere ist dort der Lösungsweg jedoch der Gleiche:

Aber der Code stimmt nicht!

Also du Initalisierst summe als integer.
Dann die eingegebene hzahl als integer.

Dann bastels dir ne Schleife die "zahl" mal durchlaufen wird.
dann ne hilfszahl i
in der schleife sagst dann:

sum = sum + i
i++

schleife wieder durchlaufen

dann gibst das alles aus und ferig ;)

 
Antwort von GAST | 10.05.2006 - 11:42
TurboPascal hatte ich nie, aber im Prinzip sind ja alle Programmiersprachen gleich ;) nur die Befehle bzw. die Syntax ist etwas anders...

Also:
1. Variablen definieren (z.B.):
Var zahl,summe,i : integer;
summe=0;
2. Benutzer gibt Zahl ein (z.B.):
zahl=prompt("Bis zu welcher Zahl soll addiert werden?");
3. Diese Zahl gilt als "obere Grenze" (z.B.):
for i=1 to i==zahl do
summe=summe+i;
4. Ausgabe des Ergebnisses (z.B.):
echo "Die Summe der Zahlen von 1 bis ";
echo zahl;
echo " ist: ";
echo summe;

Ihr müsst das doch irgendwie gelernt haben oder nicht? ;)
Das mit den Ein-,Ausgabe- und Schleifenbefehlen musst du noch übertragen, genauso wie die Variablenzuweisung.
Außerdem kann es sein, dass du bei TurboPascal noch mit "Begin" und "End" arbeiten musst.
Hoffe ich konnte nen kleinen Anhaltspunkt geben :-)

 
Antwort von GAST | 10.05.2006 - 11:55
Habe mir nochma die mÜhe gemacht und versucht das Programm zu schreiben, ohne garantie und nicht getestet:

Program Test;
uses crt;

var sum : integer;
var zahl : integer;
begin
write(` Bitte geben Sie eine Zahl ein: `); read(zahl);
for i := 0 to zahl do
begin
sum := sum + i;
i := i + i;
end;
write(zahl);
end.

 
Antwort von GAST | 10.05.2006 - 12:26
Am Ende aber wenn schon write(sum);
;)

 
Antwort von GAST | 10.05.2006 - 12:28
oh ja klar^^ kleiner flüchtigkeitsfehlker


Autor
Beiträge 0
13
Antwort von Nivdil (ehem. Mitglied) | 10.05.2006 - 12:36
danke sehr für eure mühe! aber leider klappt das irgendwie nicht..
? hab kein plan.. es rechnet die zahlen nicht, z.B. 1+1=2 usw.. ?

 
Antwort von GAST | 10.05.2006 - 12:40
aehm hast du bei der write(zahl) auch das ersetzt durch write(sum)?
was gibt er dnen aus?


Autor
Beiträge 0
13
Antwort von Nivdil (ehem. Mitglied) | 10.05.2006 - 12:42
ja habe ich aber es geht trotzdem nicht.. wenn ich das ausführe steht das nur: geben Sie eien Zahl ein .. gebe ich. aber es rechnet nicht.. ?

 
Antwort von GAST | 10.05.2006 - 12:45
a ich habe die dekleration von i vergessen
füge obe nochmal ne var i: integer; ein


Autor
Beiträge 0
13
Antwort von Nivdil (ehem. Mitglied) | 10.05.2006 - 12:47
das hab ich auch schon gesehen!


Autor
Beiträge 0
13
Antwort von Nivdil (ehem. Mitglied) | 10.05.2006 - 12:47
geht leider nicht :(


Autor
Beiträge 0
13
Antwort von Nivdil (ehem. Mitglied) | 10.05.2006 - 12:49
geht leider nicht :( trotzdem DANKE!


Autor
Beiträge 0
13
Antwort von Nivdil (ehem. Mitglied) | 10.05.2006 - 13:13
Du hattest recht- ist richtig wie du es meinst, das ist nur ein kleiner fehler. Vielleicht erkennst du den fehler besser als ich. Guck es dir bitte an. wäre lieb :D


Program Test;
uses crt;

var sum, zahl, i: integer;
begin
write(` Bitte geben Sie eine Zahl ein: `); readln(zahl);
for i := 0 to zahl do
begin (hier fängt der fehler an!)
write (1+1=sum);
sum := sum + i;
i := i + i;
end;
write(sum);
readln;
end.

 
Antwort von GAST | 10.05.2006 - 13:19
hoe? ich sehe den Fehler nicht so wirklich...
du hast lediglich, ein write mehr rein genommen ansonsten is der spaß doc hidentisch...


Autor
Beiträge 0
13
Antwort von Nivdil (ehem. Mitglied) | 10.05.2006 - 13:24
der lehrer meinte gerade dass da noch readln dazu muss und das alles richtig ist, außer einem fehler? wenn wir den fehler finden und korrigieren sind wir fertig! weiter will er uns auch nicht heflen- das wird als eine klausur bewertet..

 
Antwort von GAST | 10.05.2006 - 13:33
hmm
"write (1+1=sum);"
Für mich sieht es so aus, als ob du nen Text und keine Variable ausgibst ;)

 
Antwort von GAST | 10.05.2006 - 13:35
Was soll das ReadIn am Ende bewirken?
Ich denke das ist zum Einlesen einer Variable gedacht?


Autor
Beiträge 0
13
Antwort von Nivdil (ehem. Mitglied) | 10.05.2006 - 16:05
ja deswegen ist das readln da.. also da soll ein ganz kleiner fehler sein.. den finde ich aber nicht.. ich habe auch 1+1=sum geschrieben... aber der fehler ist trotzdem immer noch da?!

 
Antwort von GAST | 10.05.2006 - 16:10
was gibt denn das programm aus?


Autor
Beiträge 0
13
Antwort von Nivdil (ehem. Mitglied) | 10.05.2006 - 16:12
also wenn ich das ausführe steht da der Satz: GEBEN SIE BITTE EINE ZAHL EIN. ich gebe ein, aber es wird nicht gerechnet.. z.B. ich gebe 10 ein und weiter passiert nix. bleibt stehen.

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

> Du befindest dich hier: Support-Forum - Informatik