Autor Beitrag
pro_vieh
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 29.11.07 15:59 
ausblenden volle Höhe 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 user profile iconGausi: Delphi-Tags hinzugefügt
freak4fun
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 604
Erhaltene Danke: 4

Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
BeitragVerfasst: Do 29.11.07 16:13 
Lass es dir doch von deiner Sis erklären. :roll:
ausblenden 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.

ausblenden 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.

ausblenden 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.

ausblenden 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:

_________________
"Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
zuma
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 660
Erhaltene Danke: 21

Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
BeitragVerfasst: Do 29.11.07 16:33 
ausblenden volle Höhe 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);  // bei Formularanzeige
begin                 
Edit1.Text:='6'      // Editfeld1 mit Text 6 beschreiben
Edit2.Text:='27'     // Editfeld1 mit Text 27 beschreiben
end;

procedure TForm1.Button1Click(Sender:TObjekt);
VAR Zahl:Integer;
begin
Zahl:=StrToInt(Edit1.Text);       // Text (6) in zahl 6 wandeln
Zahl:=6+5*Zahl-3*Zahl*Zahl;       // 6 + 5 * 6 - 3 * 6 * 6 rechnen
Label1.Caption=IntToStr(Zahl);    // ergebnis der Berechnung (2268) anzeigen
end;

procedure TForm1.Button2Click(Sender:TObjekt);
VAR Zahl1,Zah2,i:Integer;   // Fehler, Zah2 wird in der procedure zahl2 genannt
begin
Zahl1:=StrToInt(Edit1.Text); // Text 6 in Zahl 6 wandeln
Zahl2:=1;            // zahl2 den wert 1 zuweisen 
FOR i:=1 TO Zahl1 DO // von 1 bis 6 mache
Zahl2:=Zahl2*i;      // zahl2 das ergebnis von zahl2 * Anzahl schleifendurchläufe zuweisen
Label1.Caption:=IntToStr; // Fehler, inttostr erwartet einen Parameter (gewollt ist wahrscheinlich IntToStr(zahl2) )
end;

procedure TFrm1.Button3Click(Sender:TObjekt);
VAR i,j, Zahl1,Zahl2; Hilf:Integer;
begin
Zahl1:=StrToInt(Edit1.Text);       // schon beschrieben
Zahl2:=Zahl:=StrToInt(Edit2.Text); // zahl2 = zahl = Text aus Edit2 als Zahl
IF Zahl1>Zahl2 THEN       // wenn zahl1 größer zahl2
begin
Hilf:=Zahl1;               // zahl1 in hilf merken
Zahl1:=Zahl2;              // zahl1 = zahl2
Zahl2:=Hilf;               // zahl2 = gemerkte zahl1 (zu deutsch, zahlen getauscht)  
end;
i:=0;        // schleifenzähler i mit 0 initialisieren
REPEAT     // 1te schleife beginnen
i:=i+1   // schleifenzähler i um 1 erhöhen
j:=0;    // schleifenzähler j mit 0 initialisieren
REPEAT  // 2te Schleife beginnen
j:=j+1  // schleifenzähler j um 1 erhöhen
Until (i*Zahl2) <= (j*Zahl1);  // 2te schleife durchlaufen, bis (schleifenzähler i * zahl2) kleiner oder gleich (schleifenzähler j * Zahl1)
Until i*Zahl2=j*Zahl; // 1te schleife durchlaufen, bis (schleifenzähler i * zahl2) gleich (schleifenzähler j * zahl)
Label3.Caption:=IntToStr(i*Zal2);  schleifenzähler 1 * zal2 zu Text wandeln und anzeigen
end;
END.


da war einer schneller ... ;)

_________________
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
freak4fun
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 604
Erhaltene Danke: 4

Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
BeitragVerfasst: Do 29.11.07 16:36 
Dafür warst du grüner ;) ...

_________________
"Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
pro_vieh Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 29.11.07 17:15 
user profile iconzuma hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
Zahl:=6+5*Zahl-3*Zahl*Zahl;       // 6 + 5 * 6 - 3 * 6 * 6 rechnen
Label1.Caption=IntToStr(Zahl);    // ergebnis der Berechnung (2268) anzeigen
end;

Wobei hier natürlich nicht 2268 rauskommt, sondern -72. Typische 9Live-Aufgabe :-P

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
pro_vieh Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 660
Erhaltene Danke: 21

Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
BeitragVerfasst: 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

_________________
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
pro_vieh Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: 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?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 29.11.07 17:59 
":=" 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*

Psssst: Crashkurs, Crashkurs Reloaded

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Do 29.11.07 18:19 
user profile iconzuma 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

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 29.11.07 20:04 
Sogar der Windows-Taschenrechner macht das beim nackigen Eintippen korrekt. Und Delphi erst recht. :mrgreen:

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Wolle92
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: Do 29.11.07 20:44 
Delphi sowieso...

user profile iconpro_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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 39



BeitragVerfasst: Do 29.11.07 20:49 
user profile iconChristian 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 660
Erhaltene Danke: 21

Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
BeitragVerfasst: 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 ;)

_________________
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!