Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Schleifen , Übungsaufgabe, Hilfe

Empfohlene Antworten

Veröffentlicht

So, ich habe hier als c++ - Newie ein paar Aufgaben. Und ich weiß nicht , wie ich die lösen soll. Bin für jede Hilfe dankbar. Wir arbeiten mit Borland C++.

Aufgabe 1)

Geschlossene Schleife (for)

Es soll ein Prog. zur Zinsberechnung erstellt werden, mit dem man für einen einzugebenden Anlagebetrag die Jahreszinsen mit Zinssätzen von 1%-5% ermitteln kann.

Aufgabe 2)

Offene kopfgesteuerte Schleife. (while)

Einer Frau ist zu ihrem 63. Lebensjahr die Lebensversicherung in Höhe von 1 Mio € ausgezahlt worden. Das Geld legt sie zu 4 % p.a. an und lässt sich eine monatliche Rente von 5000 € zahlen. Für welchen Zeitraum (auf volle Jahre gerundet) kann sie sich diese Rente auszahlen lassen ?

Aufgabe 3)

Offene fußgesteuerte Schleife. (do und while)

Ein Versicherungsvertreter möchte mit einem Prog. seine Provision für alle in einem Monat abgeschlossenen Verträge berechnen. Er erhält pro Abschluss 50 € sowie 1 % der Versicherungssumme. Beendet werden soll die Eingabe, wenn der Vertreter als Versicherungssumme 0 eingibt.

Wo muss ich jetzt da Initialisierungsausdruck, Bedingungsausdruck und Reinitialisierungsausdruck einbringen ?

Welche Rolle spielen dabei Inkrement und Dekrement ?

Vielen Dank für Eure Hilfe.

Ich programmiere zwar selber noch nicht so lange in c++, aber ich denke, daß ich dir zu mindes in Ansätzen helfen kann.

Dir ist mit sicherheit nicht geholfen, wenn ich hir kurz den Code runterschreibe, also versuche ich es grundsätzlicher:

(1)

Eine for-Schleife ist grundsätzlich dann anzuwenden, wenn man in dem Moment, in dem die Schleife anfängt, weiß, wie oft sie durchlaufen werden soll. (In diesem Fall fünf mal, einmal für jeden Zinssatz).

Eine For-Schleife wird immer mit INitaliesierungsausdruck, Bedingungsausdruck und Der Veränderung der Schleifenvariable eingeleitet.


for(int i=0;i<25;i++) //is nur ein Beispiel, hat nichts mit dir zu tun!

  {

    // Hier kommt der Schleifencode hin

  };

Bei einer For-Schleife darf die Schleifenvariable nicht innerhalb der Schleife verändert werden (oder sollte es zumindest nicht -> Gefahr einer Endlosschleife=Absturz) (2) Bei der While-Schleife muß man bei der ersten ausführung nocht nicht wissen, wie oft sie ausgeführt werden soll. Sie wird so oft ausgeführt solange die im KOpf (kopfgesteuert) gestellte Bedingung wahr (TRUE) ist. Hier gehe ich mal ein bisschen näher an dein Beispiel ran:

while(Vermoegen>0)

   {

     // Berechnungen usw

   };

Solange also noch Geld da ist, wird die Schleife ausgeführt. Sollte schon beim ersten durchgang kein Geld mehr da sein, wird die Schleife nie ausgeführt! Hier muß der Programmierer aber die Sorge tragen, daß irgendwann die Schleifenbedingung nicht mehr erfüllr ist, sonst sind wir wieder bei der Endlosschleife. (Es gibt auch fälle, wo man das machen kann, doch dann muß man mit break; aus der Schleife aussteigen. manche Leute halten das für schlechten Code, aber er kann sehr effektiv sein.) [3] Die Do-While-Schleife ist der While-Schleife sehr ähnlich, nur die Bedingung wird erst am schluß gestellt.

do

   {

    //Berrechnungen usw

   }while(Versicherungssumme!=0);

Hier gilt eigentlich das Gleiche wie für die While-Schleife, mit einem Unterschied: Eine Do-While-Schleife wird immer mindestens ein mal ausgeführt, da die Bedingung ja erst hinterher überprüft wird.

(Dieses letzte Beispiel würde ich allerdings lieber mit einer Enlosschleife und einer Abbruch Bedingung programmieren ( if(Versicherungssumme=0)break; ) ist aber mit Sicherheit nicht Sinn deiner Übung, also bleib bei der Do-While-Schleife. Oder programmiere einfach mal beide Varianten. Die ganzen Berechnungen usw sind ja gleich)

Ich hoffe, ich konnte dir helfen

Kristian

<FONT COLOR="#a62a2a" SIZE="1">[ 27. November 2001 14:58: Beitrag 1 mal editiert, zuletzt von Kristian ]</font>

Soweit ganz gut erklärt, würde ich sagen, nur eine Sache ist falsch: <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> for(int i=0;i>25;i++)

Zugegeben, Bine, war ein kleiner Tippfehler mit großer Wirkung.

Danke, ich verbessere es gleich.

<FONT COLOR="#a62a2a" SIZE="1">[ 27. November 2001 15:03: Beitrag 1 mal editiert, zuletzt von Kristian ]</font>

ich weiß ja net aber hattest du probleme damit die aufgaben zu erfassen oder sie in code umzuwandeln

wenns mit dem code probleme gibt frag doch einfach mal deine

kollegen welche befehle du brauchst und dann schau in der

Hilfe nach da lernt man am besten

  • Autor

So, danke erst mal. Wir haben die Aufgaben heute besprochen und ich habe da alles so weit verstanden.

Ich habe eigentlich Probleme beim coden (z.B. wo welcher Befehl verwendet wird ), die reine Aufgabe hatte ich schon verstanden.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.