Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Gast
|
Verfasst am: 30.10.2004, 17:51 Titel: Wieso wird die variable auf 0 gesetzt? |
|
|
Hi @ all
Ich brauche mal eure hilfe
Erstmal der teil des Programms:
(Tage sind dimensioniert)
ELSE IF Rest28 = 1 THEN FOR I = 1 TO 1
Tage(I) = Tage(I) + 1 AND Rest28 = Rest28 - 1
PRINT Rest28
PRINT Tage(I)
SLEEP
NEXT I
Jetzt meine Frage: Wieso wird der Wert von Tage(I) auf 0 gesetzt
Danke fuer eure Hilfe
mfg Patrick |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Stefan
Anmeldungsdatum: 17.09.2004 Beiträge: 22
|
Verfasst am: 30.10.2004, 18:23 Titel: |
|
|
Dan sehen wir uns doch mal die Berechnung an:
Tage(I) = Tage(I) + 1 AND Rest28 = Rest28 - 1
Rechts vom AND steht:
Rest28 = Rest28 - 1
Bei diesem Verfleich kommt natülich immer false (=0) heraus.
Bei einer And-Operation, bei der einer der beiden Werte 0 ist, ist natürlich auch das Ergebnis Null.
Also wird Tage(I) immer der wert 0 zugewiesen. |
|
Nach oben |
|
|
Gast
|
Verfasst am: 30.10.2004, 20:03 Titel: so hier mal das komplette programm |
|
|
REM Kosmisches_Schaltjahr
CLS
INPUT "Bitte geben sie die Dauer einer vollst„ndigen Umrundung eines Planeten um seine Sonne in Tagen ein(Bsp.:218.56) :", X
Monate28 = FIX(X / 2
PRINT Monate28
Monate29 = FIX(X / 29)
PRINT Monate29
Monate30 = FIX(X / 30)
PRINT Monate30
Monate31 = FIX(X / 31)
PRINT Monate31
Monate32 = FIX(X / 32)
PRINT Monate32
SLEEP
Rest28 = X - Monate28 * 28
PRINT Rest28
Rest29 = X - Monate29 * 29
PRINT Rest29
Rest30 = X - Monate30 * 30
PRINT Rest30
Rest31 = X - Monate31 * 31
PRINT Rest31
Rest32 = X - Monate32 * 32
PRINT Rest32
IF Rest28 < Rest29 AND Rest28 < Rest30 AND Rest28 < Rest31 AND Rest28 < Rest32 THEN Hilfsvariable = 1
IF Rest29 < Rest28 AND Rest29 < Rest30 AND Rest29 < Rest31 AND Rest29 < Rest32 THEN Hilfsvariable = 2
IF Rest30 < Rest28 AND Rest30 < Rest29 AND Rest30 < Rest31 AND Rest30 < Rest32 THEN Hilfsvariable = 3
IF Rest31 < Rest28 AND Rest31 < Rest29 AND Rest31 < Rest30 AND Rest31 < Rest32 THEN Hilfsvariable = 4
IF Rest32 < Rest28 AND Rest32 < Rest29 AND Rest32 < Rest30 AND Rest32 < Rest31 THEN Hilfsvariable = 5
PRINT Hilfsvariable
IF Hilfsvariable = 1 THEN GOTO 28
IF Hilfsvariable = 2 THEN GOTO 29
IF Hilfsvariable = 3 THEN GOTO 30
IF Hilfsvariable = 4 THEN GOTO 31
IF Hilfsvariable = 5 THEN GOTO 32
28
DIM Tage(40)
DIM NTage(40)
FOR I = 1 TO Monate28
Tage(I) = 28
NEXT I
I = Y
IF Rest28 > 1 THEN
FOR Y = 1 TO 25
Tage(Y) = NTage(Y) + 1 AND Rest28 = Rest28 - 1
IF Rest28 = 1 THEN Tage(Y) = NTage(Y) + 1 AND Rest28 = Rest28 - 1
NEXT Y
ELSE IF Rest28 = 1 THEN FOR I = 1 TO 1
Tage(I) = Tage(I) + 1 AND Rest28 = Rest28 - 1
PRINT Rest28
PRINT Tage(I)
SLEEP
NEXT I
ELSE GOTO 282
END IF
282
REM Monatsausgabe
PRINT "Monate : ", Monate28
FOR I = 1 TO Monate28
PRINT "Monatsl„nge des "; I; "ten Monats : "; Tage(I); "Tage"
NEXT I
29
30
31
32
im unteren bereich ist das, was ich vorher schon gepostet habe, ändert das doch mal bitte um, so dass das funktioniert.
danke Patrick |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 30.10.2004, 21:14 Titel: |
|
|
Code: | Tage(I) = Tage(I) + 1 AND Rest28 = Rest28 - 1 |
GEHT NICHT!!!
Code: | Tage(I) = Tage(I) + 1 : Rest28 = Rest28 - 1 |
oder
Code: | Tage(I) = Tage(I) + 1
Rest28 = Rest28 - 1 |
AND ist ein Operator, so ähnlich wie + und -... Damit kann man nicht 2 Anweisungen trennen!
Sag mal, ist das Programm für diesen einen Programmierwettbewerb? _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
Gast
|
Verfasst am: 30.10.2004, 23:54 Titel: |
|
|
genau dafuer
wollte das eigentlich mit pascal schreiben, war mir aber zu kompliziert fang ich jetzt vielleicht noch mit an. War ja ein kleiner dummer Fehler
und ich war schon am nachdenken wieso geht das denn net, hab jetzt gerade aber noch gemerkt, dass da noch ein paar fehler in der berechnung der Monate mit drin sind. Hab ich aber schon bei mir behoben, jetzt nur noch die Schaltjahre
Nochmal danke fuer die Hilfe
An den Boardadmin : Bitte das programm rausnehmen, da es sonst kopiert werden koennte und es zur zeit ein halbfertiges programm fuer einen bekannten Informatik wettbewerb ist.
Danke |
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2509 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 31.10.2004, 10:40 Titel: |
|
|
Anonymous hat Folgendes geschrieben: | Hab ich aber schon bei mir behoben, jetzt nur noch die Schaltjahre |
Vielleicht dürfte
http://www.dreael.ch/Deutsch/Download/DatumBerechnung.html
aus meiner Sammlung für Dich von Interesse sein.
Anonymous hat Folgendes geschrieben: | An den Boardadmin : Bitte das programm rausnehmen, da es sonst kopiert werden koennte und es zur zeit ein halbfertiges programm fuer einen bekannten Informatik wettbewerb ist. |
Am besten registrier Dich hier im Board, dann steht Dir "Edit" zur Verfügung, was man als "Gast" nicht hat. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 31.10.2004, 15:30 Titel: |
|
|
hier ists jetzt doppelt zu spät.
1. selbst wenn er sich registriert kann ersn nicht mehr editieren
2. Wenn einer den Code haben will hat er ihn vermutlich schon, also bringt löschen auch nicht wirklich mehr was.
Ich mach bei dem Wettbewerb übrigens nicht mit. Mir gefallen die Aufgaben da nicht. Einfach nur sein Programm mit Beispielen durlafen zu lassen ist Mist oder dann noch die Durchflusswahrscheinlichkeit mit der Wahrscheinlichkeit, dass das Würfelkästchen leer ist zu vergleichen und Auswertungen hat meiner meinung nach nicht wirklich viel mit Programmieren zu tun. Die geforderten Programme sind eigntlich simpel und fordern nur eine Ausgabe nach definierten reglen, keine wirkliche Logik oder so. Deshalb gefällt mir der ganze Wettbewerb nicht. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 01.11.2004, 13:55 Titel: |
|
|
Gut, dann werde ich demnächst mal einen kleinen Wettbewerb starten. Habe allerdings keine Preise zu verteilen. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 01.11.2004, 14:05 Titel: WB |
|
|
Hallo.
Naja, bei dem Wettbewerb gibt es auch kaum Preise. 10 von 1000 Leuten oder so in der Art erhalten eine Linux-CD...
Ich bin mal gespannt auf heliums Idee. Ich fänd einen programmiersprachen-unabhängigen WB gut.
QB Wettbewerbe haben wir nun schon 2 und beim qbasic.de-Wettbewerb gibt es bald auch eine Insider-Aufgabe zusätzlich zu den normalen Aufgaben, - aber mehr wird noch nicht verraten.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Skilltronic
Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 01.11.2004, 14:16 Titel: |
|
|
MisterD hat Folgendes geschrieben: | Sag mal, ist das Programm für diesen einen Programmierwettbewerb? |
Von welchem Wettbewerb ist denn hier die Rede ? Keine Angst - ich habe nicht vor, etwas von "Gasts" Code zu verwenden |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 01.11.2004, 17:05 Titel: |
|
|
Tja, und dann so Mistaufgaben xD echt blöd. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
|