Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - FRAGE: was genau macht dieses Programm ?
pro_vieh - Do 29.11.07 15:59
Titel: FRAGE: was genau macht dieses Programm ?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46:
| procedure TForm1.FormShow(Sender:TObject); begin Edit1.Text:='6' Edit2.Text:='27' end;
procedure TForm1.Button1Click(Sender:TObjekt); VAR Zahl:Integer; begin Zahl:=StrToInt(Edit1.Text); Zahl:=6+5*Zahl-3*Zahl*Zahl; Label1.Caption=IntToStr(Zahl); end;
procedure TForm1.Button2Click(Sender:TObjekt); VAR Zahl1,Zah2,i:Integer; begin Zahl1:=StrToInt(Edit1.Text); Zahl2:=1; FOR i:=1 TO Zahl1 DO Zahl2:=Zahl2*i; Label1.Caption:=IntToStr; end;
procedure TFrm1.Button3Click(Sender:TObjekt); VAR i,j, Zahl1,Zahl2; Hilf:Integer; begin Zahl1:=StrToInt(Edit1.Text); Zahl2:=Zahl:=StrToInt(Edit2.Text); IF Zahl1>Zahl2 THEN begin Hilf:=Zahl1; Zahl1:=Zahl2; Zahl2:=Hilf; end; i:=0; REPEAT i:=i+1 j:=0; REPEAT j:=j+1 Until (i*Zahl2) <= (j*Zahl1); Until i*Zahl2=j*Zahl; Label3.Caption:=IntToStr(i*Zal2); end; END. |
Bin gerade in der 10ten Klasse und versuche für nächstes
Jahr schonal ein bißchen Info zu lernen (dieses Formular von meiner Schwester)
und...
ich wäre euch unendlich dankbar, wenn ihr mir sagen könntet , was das programm macht, und forallem erklärt was passiert wenn ich auf Button 1,2,3 klicke das mit der Repeatschleife versteh ich nicht
danke fürs übersetzen
Moderiert von
Gausi: Delphi-Tags hinzugefügt
freak4fun - Do 29.11.07 16:13
Lass es dir doch von deiner Sis erklären. :roll:
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.FormShow(Sender:TObject); begin Edit1.Text:='6' Edit2.Text:='27' end; |
Wenn das Formular angezeigt wird, steht in Edi1 der Wert 6 und in Edit2 der Wert 27.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender:TObjekt); VAR Zahl:Integer; begin Zahl:=StrToInt(Edit1.Text); Zahl:=6+5*Zahl-3*Zahl*Zahl; Label1.Caption=IntToStr(Zahl); end; |
Es wird eine lokale Variable zahl vom Typ integer angelegt. Dieser wird der Wert aus Edit1 zugewiesen. Anschließend wird damit ein wenig gerechnet. o.O Am Ende wird die Zahl über Label1 ausgegeben.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button2Click(Sender:TObjekt); VAR Zahl1,Zah2,i:Integer; begin Zahl1:=StrToInt(Edit1.Text); Zahl2:=1; FOR i:=1 TO Zahl1 DO Zahl2:=Zahl2*i; Label1.Caption:=IntToStr(Zahl2); end; |
Zahl1 wird zugewiesen und als Schleifenmaximum benutzt. Zahl2 ist 1 und wird Zahl1 mal mit sich selbst multipliziert.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TFrm1.Button3Click(Sender:TObjekt); VAR i,j, Zahl1,Zahl2; Hilf:Integer; begin Zahl1:=StrToInt(Edit1.Text); Zahl2:=Zahl:=StrToInt(Edit2.Text); IF Zahl1>Zahl2 THEN begin Hilf:=Zahl1; Zahl1:=Zahl2; Zahl2:=Hilf; end; i:=0; REPEAT i:=i+1 j:=0; REPEAT j:=j+1 Until (i*Zahl2) <= (j*Zahl1); Until i*Zahl2=j*Zahl; Label3.Caption:=IntToStr(i*Zal2); end; END. |
Erst wird die größere zahl in Zahl2 geschrieben, dann die Zahlen jeweils mit i bzw. j multipliziert.
Hoffe das hilft. Und nächstmal Delphi-Tähcks benutzen! :mrgreen: Saonst muss ich wieder die grünen Männchen holen. :twisted:
zuma - Do 29.11.07 16:33
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46:
| procedure TForm1.FormShow(Sender:TObject); begin Edit1.Text:='6' Edit2.Text:='27' end;
procedure TForm1.Button1Click(Sender:TObjekt); VAR Zahl:Integer; begin Zahl:=StrToInt(Edit1.Text); Zahl:=6+5*Zahl-3*Zahl*Zahl; Label1.Caption=IntToStr(Zahl); end;
procedure TForm1.Button2Click(Sender:TObjekt); VAR Zahl1,Zah2,i:Integer; begin Zahl1:=StrToInt(Edit1.Text); Zahl2:=1; FOR i:=1 TO Zahl1 DO Zahl2:=Zahl2*i; Label1.Caption:=IntToStr; end;
procedure TFrm1.Button3Click(Sender:TObjekt); VAR i,j, Zahl1,Zahl2; Hilf:Integer; begin Zahl1:=StrToInt(Edit1.Text); Zahl2:=Zahl:=StrToInt(Edit2.Text); IF Zahl1>Zahl2 THEN begin Hilf:=Zahl1; Zahl1:=Zahl2; Zahl2:=Hilf; end; i:=0; REPEAT i:=i+1 j:=0; REPEAT j:=j+1 Until (i*Zahl2) <= (j*Zahl1); Until i*Zahl2=j*Zahl; Label3.Caption:=IntToStr(i*Zal2); schleifenzähler 1 * zal2 zu Text wandeln und anzeigen end; END. |
da war einer schneller ... ;)
freak4fun - Do 29.11.07 16:36
Dafür warst du grüner ;) ...
pro_vieh - Do 29.11.07 17:02
vielen vielen Dank, alles verstanden
super schnelle antwort
danke freakfun, zuma
@zuma bist du bielefeld fan ? tor am letzten spieltag war bombe^^
GTA-Place - Do 29.11.07 17:15
zuma hat folgendes geschrieben: |
Delphi-Quelltext 1: 2: 3:
| Zahl:=6+5*Zahl-3*Zahl*Zahl; Label1.Caption=IntToStr(Zahl); end; | |
Wobei hier natürlich nicht 2268 rauskommt, sondern -72. Typische 9Live-Aufgabe :-P
pro_vieh - Do 29.11.07 17:33
eine Frage hätte ich noch: und zwar
was bringt das Programm ?
soll das ein schlechter MiniTaschenrechner sein oder wie?
und warum benutzt man da eine SChleife?
zuma - Do 29.11.07 17:38
@GTA:
tipp das mal nackig (d.h. ohne Klammerung) in einen taschenrechner ...
meiner sagt 2268 ...
@pro-vieh:
das programm ist recht sinnfrei, dient wohl lediglich als lernhilfe
(wenn ich frech wäre, würde ich sagen: typische Frauenlogik ... :mrgreen:)
so, und nu is feierabend
pro_vieh - Do 29.11.07 17:56
eine letzte frage sry :oops: :roll:
beim programmieren bekam ich folgende fehlermeldung
hab schon überall gesuch aber nichts gefunden
4:=i ist unzulässig
aber i:=4 ist zulässig //warum is das so?
Leuchtturm - Do 29.11.07 18:19
zuma hat folgendes geschrieben: |
@GTA:
tipp das mal nackig (d.h. ohne Klammerung) in einen taschenrechner ...
meiner sagt 2268 ...
@pro-vieh:
das programm ist recht sinnfrei, dient wohl lediglich als lernhilfe
(wenn ich frech wäre, würde ich sagen: typische Frauenlogik ... :mrgreen:)
so, und nu is feierabend |
meiner sagt -72 :!: Punkt vor Strichrechung, also erst multiplizieren dann addieren/subtrahieren
Ich wette du hast das in einen billigen Taschenrechner eingegeben.
Bei meinem biliigen Taschenrechner kommt bei mir auch 2268 raus :mrgreen:
Leuchtturm
GTA-Place - Do 29.11.07 20:04
Sogar der Windows-Taschenrechner macht das beim nackigen Eintippen korrekt. Und Delphi erst recht. :mrgreen:
Wolle92 - Do 29.11.07 20:44
Titel: Re: FRAGE: was genau macht dieses Programm ?
Delphi sowieso...
pro_vieh hat folgendes geschrieben: |
Bin gerade in der 10ten Klasse und versuche für nächstes
Jahr schonal ein bißchen Info zu lernen (dieses Formular von meiner Schwester) |
xD... soll jetzt nichts gegen dich sein, ist nur ne Feststellung...
Ich bin in der 10. Klasse, habe Diff Info und arbeite mit 3 Programmiersprachen (falls man Brainfuck als Programmiersprache ansieht, 4, falls ich Java nicht dazuzähle, weil ich es doof finde, dann wieder nur 3 bzw. 2), außerdem mit PHP und HTML... Soll jetzt keine Angeberei sein, nur ein Vergleich, eine Feststellung... (Dabei hab ich sogar noch eine Klasse übersprungen)
kalmi01 - Do 29.11.07 20:49
Christian S. hat folgendes geschrieben: |
":=" ist eine Zuweisung. Das heißt, das was links steht hat hinterher den Wert von dem, was rechts steht. "4 := i" hieße, dass die Zahl 4 hinterher den Wert von i hätte. Das wäre doof und würde unsere ganze Mathematik über den Haufen werfen, wenn die 4 nicht mehr den Wert 4 hätte, daher darf man das nicht *g* |
Mega-Grins.
Gut, das wir in Pascal arbeiten !
Und nicht in PostScript, da geht sowas !
OK, der dann nachfolgende Code funktioniert vielleicht nicht ganz so, wie es Programmierer aus anderen Sprachen gewohnt sind, das ist aber nachvollziehbar.
Redefinitionen sind in PS Gang und Gäbe und gehören dank Adobe zum guten Stil.
EPS, PDF sind nichts Anderes als vergewaltigter PS-Code.
zuma - Fr 30.11.07 11:29
@Leuchtturm und GTA:
habt mich erwischt, der Taschenrechner, den ich gerade zur hand hatte, ist wirklich ein billiges Werbegeschenk ...
tja, immer wenn's mal zwischendurch schnell gehen soll ...
have a nice day ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!