Programmstrukturen

DIN 66 261: Sinnbilder für Struktogramme nach Nassi-Shneiderman





Lineare Abläufe:

    /* Beispiel */
    anz = 12;
    res = bearbeiten( anz );
    printf("\nErgebnis %d\n", res );



Einfache Verzweigung


    if( /* Bedingung */ )
    {
        /* Block 1: Wahr-Zweig */
    }
    else
    {
        /* Block 2: Falsch-Zweig */
    }



Mehrfache Verzweigung


 switch( vari )
 {
     case  1:     /* die 1 entspricht W1 */
                  /* B1: programmieren, was bei
                  ** vari=1  geschehen soll */
                  break;
     case  2:     /* die 2 entspricht W2 */
                  /* B2: programmieren, was bei
                  ** vari=2  geschehen soll */
                  break;
     case         /*  ... usw. */
                  break;
     default:     /* programmieren, was
                  ** sonst passieren soll */
 }



Wiederholung mit vorausgehender Bedingungsprüfung


    while( /* Bedingung */ )
    {
        /* Block: Anweisungen */
    }



Wiederholung mit nachfolgender Bedingungsprüfung


    do {
        /* Block: Anweisungen */
    }while( /* Bedingung */ );



Wiederholung ohne Bedingungsprüfung


    while( 1 )
    {
        /* Block: Anweisungen */
    }



Abbruchanweisung


    break;
    continue;



Verweis auf Unterverarbeitung


    /* keine C-Entsprechung oder
    ** Funktionsaufruf           */



Spezielle C-Struktur ohne DIN-Symbol-Entsprechung


 for( /* Init */ ; /* Bedingung */ ; /* Re-Init */ )
 {
     /* Block */
 }

-> nächstes Kapitel