TEEMA: kordused for ja while

Käivita ja analüüsi alltoodud näidisprogrammid




for kasutamise näited:

for(i = 1; i <= 100; i ++)
i muutub 1st 100ni, iga kord liidetakse 1
Seega i väärtused on: 1, 2, 3, 4 ... 100

for(i = 100; i >= 1; i --)
i muutub 100st 1ni, iga kord lahutatakse 1
Seega i väärtused on: 100, 99, 98 ... 1

for(i = 7; i <= 77; i+=7)
i muutub 7st 77ni, sammuga 7 (s.o. iga kord liidetakse 7)
Seega i väärtused on: 7, 14, 21, ... 77

for(i = 20; i >= 2; i-=2)
i muutub 20st 2ni,
sammuga -2 (s.o.iga kord lahutatakse 2)
Seega i väärtused on: 20, 18, 16 ... 2

for(i = 2; i <= 20; i+=3)
i muutub 2st 20ni,
sammuga 3 (s.o.iga kord liidetakse 3)
Seega i väärtused on: 2, 5, 8 ... 20


Näide 1: Kirjuta programm, mis väljastab arvud 1st 10ni


#include <stdio.h>

int main(void)
{
   int loendur;
 

   for(loendur=1; loendur <=10; loendur++)
   {
      printf("Loenduri väärtus on: %d\n", loendur);
   }
   return 0; 
}

Programm failina


Näide 2: Kirjuta programm, mis liidab kokku arvud 1st 100ni

Algoritm:

 for naide

Programm:

#include <stdio.h>


int main(void)
{
    int summa=0;  //muutuja SUMMA deklareerimine ja algväärtustamine
    int arv;      //muutuja ARV deklareerimine   
   
    //FOR tsükkel summa arvutamiseks
    for(arv=1; arv <= 100; arv++)
    {
       summa+=arv; //sama mis summa = summa +arv;              
       printf("Arv on: %d, summa on %d\n", arv, summa);
    }//FOR lõpp               
   
    printf("\nArvude 1 kuni 100 summa on %d\n", summa);
   
    return 0; 
}

Programm failina

Programmi töö tulemus:

Arv on 1, summa on 1
Arv on 2, summa on 3
Arv on 3, summa on 6
Arv on 4, summa on 10
Arv on 5, summa on 15
...
Arv on 98, summa on 4851
Arv on 99, summa on 4590
Arv on 100, summa on 5050

Arvude 1 kuni 100 summa on 5050


Näide3: Panga klient soovib kasutada tähtajalist hoiust.
Klient paneb panka 10 000 EEK, hoiuse protsent on 5%.
Raha pannakse panka kümneks aastaks.
Arvutage kliendi rahasumma 10 aasta jooksul iga aasta lõpus.
Rahasumma arvutamiseks kasutage funktsiooni:



kus
Algoritm:



Programm:

NB! UNIXis kompileerimisel lis võti -lm

gcc naide.c -lm


#include <stdio.h>
#include <math.h>

int main(void)
{
    double raha_arvel;      //kliendi arvel olev rahasumma
    double alg_summa=1000;  //algsumma, mille klient panka pani
    double protsent=0.05;   //hoiuse protsent
    int aasta;              //aastate loendur
   
    //tabeli vorminadama päis:
    //printf("Aasta           Hoiustatav summa");
    //vormindatud tabeli päis
    printf("%6s %21s\n","Aasta","Hoiustatav summa");
       
    //FOR tsükkel hoiuse suuruse arvutamiseks
    for(aasta=1; aasta <= 10; aasta++)
    {
       //antud aasta hoiuse suuruse arvutamine         
       raha_arvel=alg_summa*pow(1+protsent, aasta);
       //ühe rea väljastamine
       printf("%6d %21.2lf\n",aasta, raha_arvel);
    }//FOR lõpp               
      
    return 0; 
}

Programm failina


Näide 4: Korduse while kasutamine
#include <stdio.h>

int main (void)
{
    //deklareerime muutujad
    int i, arv;
   
    //täisarvu sisestamine
    printf("Sisesta täisarv: ");
    scanf("%d",&arv);
   
    //muutuja i algväärtuse määramine
    i=1;
   
    //kordus, mille käigus väljastatakse
    //arvud 1 kuni kasutaja sisestatud väärtus
    while (i<arv )
    {
             printf("number: %d\n",i);
             i++;
    }    
   
    return 0;
} 

Programm failina

Programmi töö tulemus:

Sisesta täisarv: 5
number: 1
number: 2
number: 3
number: 4
number: 5


Näide 5: Korduse do ... while kasutamine

#include <stdio.h>

int main (void)
{
    //deklareerime muutujad
    int i, arv;
   
    //täisarvu sisestamine
    printf("Sisesta täisarv: ");
    scanf("%d",&arv);
   
    //muutuja i algväärtuse määramine
    i=1;
   
    //kordus, mille käigus väljastatakse
    //arvud 1 kuni kasutaja sisestatud väärtus
    while (i<arv )
    {
             printf("number: %d\n",i);
             i++;
    }    
   
    return 0;
} 

Programm failina

Programmi töö tulemus:

Sisesta täisarv: 5
number: 1
number: 2
number: 3
number: 4
number: 5