Einzelnen Beitrag anzeigen

KosMottchen

Registriert seit: 4. Mär 2006
34 Beiträge
 
Delphi 7 Enterprise
 
#1

frage zu einem programmcode...

  Alt 4. Mär 2006, 00:42
huhu,

hab in der schule ne aufgabe aufbekommen...

hab die mal hier hochgeladen als bild

http://img75.imageshack.us/img75/856/lastscan27ie.jpg

den qellcode hab ich mal schon gemacht und wollt gerne wissen, ob des richtig so ist...

ich werd das ganze wohl als oneclick machen, aber das ist ja erstmal egal...

ich hoffe ihr könnt die schrift von meinem lehrer lesen...

is ne formel zur berechnung, an welchem tag man geboren ist...

kommt am ende ne zahl von 1 bis 7 raus und welcher tag da was ist, kann sich ja jeder denken ;o)

ich bin mir nur mit der variablenzustellung nich so sicher, welche nun real sein sollen und welche integer und eben, ob ich das alles richtig umgesetzt habe mit den ganzen ausnahmen für die formel...

ich danke euch allen schonmal im vorraus

Code:
var
z, t, m, j, Jh,a,b,c,d:real;
code:integer;
s:string;

begin


VAL (form1.edit1.text, t, code);            // einlesen von t
VAL (form1.edit2.text, m, code);            // einlesen von m
VAL (form1.edit3.text, j, code);            // einlesen von j
VAL (form1.edit4.text, Jh, code);            // einlesen von Jh

j:=j MOD 100                    // wichtig für jahr j

Jh:=Jh MOD 100          // wichtig für jahrhundert Jh



a:=((m+1)*26) DIV 10                                    // teil a der gleichung berechnen

b:=(5*j) DIV 4                                               // teil b der gleichung berechnen

c:=Jh DIV 4                                                     // teil c der gleichung berechnen

d:=(2*Jh)-1                                                     // teil c der gleichung berechnen

z:=((t+a+b+c)-d) MOD 7                                // formel zur berechnung der „Tagnummer“

if m=1               
 then m:=13;

// januar umrechnen in m:=13

if m=2
 then m:=14;

// februar umrechnen in m:=14

if m=1
 then j:=j-1;

// wenn januar dann jahr :=j-1

if m=2
 then j:=j-1

// wenn februar dann jahr :=j-1

if z:=((t+a+b+c)-d) MOD 7=-z
 then z+7;

// wenn ((t+a+b+c)-d) MOD 7  negativ, dann Tagesummer z um 7 erhöhen

if j=-1
 then j:=99;

if j:=-1
 then Jh:=Jh-1;

str (z:2:10,s);
form1.edit5.text:=s;

end;
  Mit Zitat antworten Zitat