8. Programmeerimisnäited

iDevide ikoon Eesmärgid

1) Mõista antud hüpoteesi alusel konstrueeritud väikese programmisegmendi sisu


Järgnevad programmeerimisnäited on tehtud C keele baasil. Kuna EPL keel baseerub C keelel, siis on nii vast kõige kergem hiljem mõista EPL keeles teostatud koodi.

„Tere maailm” on kõige lihtsam programm, mida ühes keeles tavaliselt teostada on võimalik:

main( ) {

       printf( “hello world!” );

}

 

Antud näite puhul on olemas ainult main() funktsioon, milline on funktsioon, mis kutsutakse välja programmi käivitamisel, printf() saadab programmi standartsesse väljundvoogu sulgudes oleva info. Nii peakski see programm kuvama ekraanile (sest väljundvoogu suunatakse C keeles vaikimisi sinna) teksti „hello world!”. Iga käsk lõppeb semikooloniga.

main( ) {

       int j;

       for( j=1; j<=10; j=j+1)

                   printf( j );

}

 

Antud näites on kasutatud jällegi main() funksiooni, deklareeritud üks täisarvtüüpi muutuja j, mille väärtust muudetakse for korduse abil ühest kuni kümneni, kusjuures iga korduse järel suurendatakse muutuja j väärtust ühe võrra. Antud programmijupp, väljastab esimesed kümme naturaalarvu.

main( ) {

       int j;

       for( j=1; j<=10; j=j+1) {

                   printf( j );

       }

}

 

Antud näide töötab täpselt sama moodi, nagu eelmine, loogelised sulud for korduse järel märgivad tegevust, mida korduvalt soovitakse teha. Kui käske, mida soovime korduvalt teha, on rohkem kui üks, siis on loogeliste sulgude kasutamine nõutav, näiteks:

main( ) {

       int j;

       for( j=1; j<=10; j=j+1) {

                 printf(“ ”);

                printf( j );

       }

}

Annaks väljundisse „ 1 2 3 4 5 6 7 8 9”, aga

main( ) {

       int j;

       for( j=1; j<=10; j=j+1)

                 printf(“ ”);

                printf( j );

}

Annaks väljundisse „          11”, sest korduvalt tehakse vaid käsku printf(„ ”); ja korduse lõppedes on muutuja j väärtus 11.

main( ) {

       int j;

       for( j=1; j<=10; j=j+1);

                   printf( j );

}

 

Antud näite puhul antakse väljudisse vaid „11”, sest korduse sees olevat tegevust ei ole (semikoolon for lause lõpus, näitab antud juhul for kordusega haaratud käskude lõppu).

main( ) {

       int j;

       int num[10];

       for( j=0; j<10; j=j+1) {

                   num[j] = j+1;

       }

       for( j=9; j<=0; j=j-1) {

                   printf(num[j] );

       }

}

Antud juhul deklareeritakse lisaks täisarv tüüpi muutujale j ka täisarv tüüpi kümne liikmega massiiv num, täidetakse see esimese kümne naturaalarvuga ja seejärel väljastatakse massiivi liikmed vastupidises järjekorras (kõigepealt mas[9], siis mas[8] jne).

 

main( ) {

       int j;

       char name[]=”abcdefghijklmnopqrstuvwxyz”;

    char a;

       for( j=0; j<13; j=j+1) {

                   a = name[j];

name[j] = name[25-j];

                   name[25-j] = a;

       }

       printf( name );

}

Antud näites deklareeritakse lisaks täisarv tüüpi muutujale j ka tähemärk tüüpi muutujate massiiv name ja omistatakse sellele väärtus ”abcdefghijklmnopqrstuvwxyz”, muudetakse tähemärkide massiivi liikmete järjekord vastupidiseks ning seejärel väljastatakse kogu massiiv.