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;