Struktogramm richtig gelöst?



  • pitchy schrieb:

    Mit dem for Schleifen, finde ich persönlich auch besser, wollte ich auch erst so lösen, aber ich glaube die erste Lösung kommt dem Struktogramm näher oder nicht?

    beide kommen gleich nach. Nur eine andere Syntax.

    int i=1;
    do{
      ETWAS
      ++i;
    } while( i < BEDINDUNG);
    

    ist äquivalent zu

    int i;
    for(i=1; i < BEDINGUNG; ++i)
      ETWAS
    

    oder

    int i=1;
    while(i < BEDINGUNG){
      ETWAS
      ++i;
    }
    

    es wird damit dasselbe ausgedruckt.

    // edit: manchmal kann es Unterschiede zwischen do-while Schleifen und while Schleifen geben. Wenn BEDINGUNG nämlich 1 ist, dann wird die do-while Schleife nur einmal ausgeführt und die while Schleife gar nicht.

    pitchy schrieb:

    Bei der zweiten Lösung sind ja zwei {} um die zweite for schleife, ist das sowas wie eine verschachtelte "for"?

    ja genau, da ist eine for-Schleife in einer for-schleife.



  • #include <stdio.h>
    
    int main()
    {
        int i, j;
    
        i = 1;
    
    l1:
        if (i <= 5)
        {
            printf("das ist i %d\n", i);
            j = 1;
    l2:
            if (j <= 4)
            {
                printf("das ist j %d\n", j);
                j = j + 1;
                goto l2;
            }
            else
            {
                i = i + 1;
                goto l1;
            }
        }
        return EXIT_SUCCESS;
    }
    


  • Aufgabe "summa cum laude" bestanden.



  • supertux schrieb:

    int i=1;
    do{
      ETWAS
      ++i;
    } while( i < BEDINDUNG);
    

    ist äquivalent zu

    int i;
    for(i=1; i < BEDINGUNG; ++i)
      ETWAS
    

    isses gar nicht.
    🙂



  • fricky schrieb:

    supertux schrieb:

    int i=1;
    do{
      ETWAS
      ++i;
    } while( i < BEDINDUNG);
    

    ist äquivalent zu

    int i;
    for(i=1; i < BEDINGUNG; ++i)
      ETWAS
    

    isses gar nicht.
    🙂

    Warum nicht?



  • Weils so sein müsste

    int i; 
    for(i=1; ++i < BEDINGUNG; ) 
      ETWAS
    


  • Semmelknödel schrieb:

    Warum nicht?

    wenn am anfang BEDINGUNG <= i ist, verhälts sich anders.
    🙂



  • da fällt mir noch was ein 🙂

    wenn ich einen satz also ein string 10 mal ausgeben lassen will

    könnte ich es ja einfach so machen oder ?

    #include <stdio.h>
    
    int main()
    {
    
        int i;
    
          for(i=1;i<=10;i++){
              printf("SATZ \n",i);
          }
        return 0;
    }
    

    oder lieber so?

    #include <stdio.h>
    
    int main()
    {
        char string[10]="SATZ";
        int i;
    
          for(i=1;i<=10;i++){
              printf("%s \n",string);
          }
        return 0;
    }
    


  • Jacke wie Hose. 🙂



  • Schreiben Sie in der Sprache C eine for-Schleife, die 10 mal folgenden Satz ausgibt:
    „Programmieren macht Spass!“

    also wäre die lösung für sowas passend? 🙂



  • fricky schrieb:

    isses gar nicht.
    🙂

    stimmt, hab's später gemerkt, aber da war schon mein Notebook aus, und hab mich jetzt erst wieder eingeloggt. Schande über mich.



  • pitchy schrieb:

    Schreiben Sie in der Sprache C eine for-Schleife, die 10 mal folgenden Satz ausgibt:
    „Programmieren macht Spass!“

    also wäre die lösung für sowas passend? 🙂

    Probier es doch aus. Du arbeitest mit einer for-Schleife und wenn auf dem Bildschirm der Text eben 10 mal ausgegeben wird, hast du die Aufgabe gelöst.


Anmelden zum Antworten