Aufgaben zur REPEAT-Schleife – LÖSUNGEN




Aufgabe 4



                                          1
2
procedure TfrmZaehler.btnStartClick(Sender: TObject);
VAR zaehler : Integer;
begin
zaehler := 0;
REPEAT
     zaehler := za...
procedure TfrmEinwohner.btnStartClick(Sender: TObject);
CONST EINWOHNER_ZAHL_ENDE = 700000;
      STEIGERUNGSRATE     = 4;...
procedure TfrmStellenwertsystem.btnUmwandlungClick(Sender: TObject);
VAR dez, basis, rest : Integer;
    ausgabehilfe, aus...
Nächste SlideShare
Wird geladen in …5
×

Aufgaben Zur Repeat LöSungen

351 Aufrufe

Veröffentlicht am

Veröffentlicht in: Business, Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
351
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
6
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Aufgaben Zur Repeat LöSungen

  1. 1. Aufgaben zur REPEAT-Schleife – LÖSUNGEN Aufgabe 4 1
  2. 2. 2
  3. 3. procedure TfrmZaehler.btnStartClick(Sender: TObject); VAR zaehler : Integer; begin zaehler := 0; REPEAT zaehler := zaehler + 1; lbxZwischenergebnis.items.add(IntToStr(zaehler)); UNTIL zaehler = 10; lblErgebnis.Caption := IntToStr(zaehler); end; procedure TfrmZinsrechnung.btnBerechnenClick(Sender: TObject); VAR anfangskapital, endkapital, zinssatz : Real; anlagedauer : Integer; begin anfangskapital := StrToFloat(edtAnfangskapital.text); zinssatz := StrToFloat(edtZinssatz.text); endkapital := StrToFloat(edtEndkapital.text); anlagedauer := 0; REPEAT anfangskapital := anfangskapital + (anfangskapital / 100 * zinssatz); anlagedauer := anlagedauer + 1; lbxKapitalentwicklung.items.add(IntToStr(anlagedauer) +'. Jahr '+Format('%.2f',[anfangskapital])+' EUR'); UNTIL anfangskapital >= endkapital; lblAnlagedauer.caption := 'Die Anlagedauer beträgt ' +IntToStr(anlagedauer)+' Jahre'; end; procedure TfrmSpenden.btnStartClick(Sender: TObject); CONST GESAMTSPENDE = 100000; VAR einzelspende, spendensumme : Real; spendenanzahl : Integer; begin spendenanzahl := 0; spendensumme := 0; REPEAT einzelspende := StrToFloat(InputBox('Einzelspenden in EUR','Bitte geben Sie Ihren Spendenbetrag ein:','')); spendensumme := spendensumme + einzelspende; spendenanzahl := spendenanzahl + 1; lbxSpendenliste.items.add(IntToStr(spendenanzahl) +'. Spende '+FloatToStr(einzelspende)+' EUR'); UNTIL spendensumme >= GESAMTSPENDE; lblspendensumme.Caption := 'Die Spendensumme beträgt '+FloatToStr(spendensumme)+' EUR'; end; 3
  4. 4. procedure TfrmEinwohner.btnStartClick(Sender: TObject); CONST EINWOHNER_ZAHL_ENDE = 700000; STEIGERUNGSRATE = 4; VAR einwohnerzahl_aktuell : Real; jahre : Integer; begin jahre := 0; einwohnerzahl_aktuell := 90000; REPEAT einwohnerzahl_aktuell := einwohnerzahl_aktuell + (einwohnerzahl_aktuell / 100 * STEIGERUNGSRATE); jahre := jahre + 1; lbxEinwohnerentwicklung.items.add(IntToStr(jahre) +'. Jahr '+Format('%.2f',[einwohnerzahl_aktuell])+' Einwohner.'); UNTIL einwohnerzahl_aktuell >= EINWOHNER_ZAHL_ENDE; lblJahre.caption := 'Die Entwicklungdauer beträgt '+IntToStr(jahre); end; procedure TfrmMain.btnStartClick(Sender: TObject); VAR zufallszahl, versuche : Integer; gerateneZahl : String; begin versuche := 0; Randomize; zufallszahl := Random(20)+1; REPEAT gerateneZahl := InputBox('Zahlenraten','Bitte geben Sie ein beliebige Zahl von 1 bis 20 ein!',''); versuche := versuche + 1; IF StrToInt(gerateneZahl) > zufallszahl THEN ShowMessage('Die geratene Zahl ist zu groß!') ELSE IF StrToInt(gerateneZahl) < zufallszahl THEN ShowMessage('Die geratene Zahl ist zu klein!') ELSE ShowMessage('Die geratene Zahl ist korrekt!' +#13'Sie haben '+Format('%1d', [versuche])+' Versuche benötigt!'); UNTIL StrToInt(gerateneZahl) = zufallszahl; end; procedure TfrmMain.btnBeendenClick(Sender: TObject); begin frmMain.close; end; end. 4
  5. 5. procedure TfrmStellenwertsystem.btnUmwandlungClick(Sender: TObject); VAR dez, basis, rest : Integer; ausgabehilfe, ausgabeString : String; begin dez := StrToInt(edtdez.text); basis := StrToInt(edtbasis.text); REPEAT rest := dez MOD basis; dez := dez DIV basis; CASE rest OF 10 : ausgabehilfe := 'A'; 11 : ausgabehilfe := 'B'; 12 : ausgabehilfe := 'C'; 13 : ausgabehilfe := 'D'; 14 : ausgabehilfe := 'E'; 15 : ausgabehilfe := 'F'; ELSE ausgabehilfe := IntToStr(rest); END; {CASE} lbxCodierung.items.add(ausgabehilfe); ausgabeString := ausgabehilfe + ausgabeString UNTIL dez <= 0; lblergebnis.caption := ausgabeString; end; 5

×