Presentation laddar. Vänta.

Presentation laddar. Vänta.

Iteration i C ”upprepa”

Liknande presentationer


En presentation över ämnet: "Iteration i C ”upprepa”"— Presentationens avskrift:

1 Iteration i C ”upprepa”
Upprepa med WHILE - och FOR - satserna

2 Iteration i C ”upprepa”
Syntaxen för while. while ( uttryck ) sats

3 Iteration i C ”upprepa”
Medans ut-trycket är sant upprepas satsen. while ( uttryck ) sats

4 Iteration i C ”upprepa”
Syntaxen för for. for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats

5 Iteration i C ”upprepa”
Detta åstadkommer detsamma som denna while-konstruktion. Iteration i C ”upprepa” uttryck_1 ; while ( uttryck_2 ){ sats uttryck_3 ; } for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats

6 Iteration i C ”upprepa”
Detta åstadkommer detsamma som denna while-konstruktion. Iteration i C ”upprepa” initiera räknare i=1; t ex uttryck_1 ; while ( uttryck_2 ){ sats uttryck_3 ; } for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats

7 Iteration i C ”upprepa”
Detta åstadkommer detsamma som denna while-konstruktion. Iteration i C ”upprepa” initiera räknare i=1; uttryck_1 ; while ( uttryck_2 ){ sats uttryck_3 ; } upprepningsvillkor i<5; for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats

8 Iteration i C ”upprepa”
Detta åstadkommer detsamma som denna while-konstruktion. Iteration i C ”upprepa” initiera räknare i=1; uttryck_1 ; while ( uttryck_2 ){ sats uttryck_3 ; } upprepningsvillkor i<5; uppräkning i++; for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats

9 For-loopens strukturdiagram

10 Iteration i C exempel exekveringsstatus efter denna sats
#include <stdio.h> #define DELAY L int main( void ){ long i; while ( 1==1 ) { printf("A"); for ( i=1; i < DELAY ; i++ ) ; printf("\tn"); printf("\td"); printf("\te"); printf("\tr"); printf("\ts"); printf("\r \t \t \t \t \t \r"); } return 0; exekveringsstatus efter denna sats

11 Iteration i C exempel #include <stdio.h> #define DELAY 1000000L
int main( void ){ long i; while ( 1==1 ) { printf("A"); for ( i=1; i < DELAY ; i++ ) ; printf("\tn"); printf("\td"); printf("\te"); printf("\tr"); printf("\ts"); printf("\r \t \t \t \t \t \r"); } return 0; Iteration i C exempel uttrycket 1==1 ger en oändlig loop (alltid sant) och programmet måste brytas med CTRL-ALT-DELETE

12 Iteration i C exempel #include <stdio.h> #define DELAY 1000000L
int main( void ){ long i; while ( 1==1 ) { printf("A"); for ( i=1; i < DELAY ; i++ ) ; printf("\tn"); printf("\td"); printf("\te"); printf("\tr"); printf("\ts"); printf("\r \t \t \t \t \t \r"); } return 0; Iteration i C exempel loop i loopen ger nästlad loop. Räknaren i initieras till 1 vid varje ”while” - varv.

13 Iteration i C exempel #include <stdio.h> #define DELAY 1000000L
int main( void ){ long i; while ( 1==1 ) { printf("A"); for ( i=1; i < DELAY ; i++ ) ; printf("\tn"); printf("\td"); printf("\te"); printf("\tr"); printf("\ts"); printf("\r \t \t \t \t \t \r"); } return 0; Iteration i C exempel en tom sats, for - satsens uppgift är endast att fördröja visningstiden.

14 Kursexempel Här kommer några exempel ur kursen.

15 Iteration i C exempel /* Beräknar kapitaltillväxt på 10 år */
#include <stdio.h> #define RANTESATS 8.5 #define ANTAL_AR 10 int main ( void ) { float startKapital, saldo, kapital ; int ar ; printf("Insatt kapital? "); scanf("%f", &kapital); printf("\n År Saldo\n == =====\n"); for ( ar = 1; ar <= ANTAL_AR ; ar++ ) { kapital = kapital * ( 1 + RANTESATS/100 ); printf("%3d%11.2f\n", ar, kapital); } return 0; lite förändringar och några nya rader ger - iteration !

16 for-loopen i programmet interest.c

17 Selektion i C heltalstyp
void Kalkylator( void ) /* Enkel kalkylator */ { float x, y; char c; printf( "\nKalkylator som klarar de fyra räknesätten t ex 3+2\n"); printf( "a, avslutar\n"); while (printf("-->"), scanf("%f%c%f", &x, &c, &y ) == 3) { switch(c) { case '+': printf("%f\n", x + y); break; case '-': printf("%f\n", x - y); case '*': printf("%f\n", x * y); case '/': if (y != 0) printf("%f\n", x / y); else printf("Division med noll\n"); default: printf("Felaktig operator\n"); } return; Selektion i C heltalstyp om inte break finns med testas varje ”case”, man trillar igenom.

18 switch-satsen i programmet easycalc.c

19 Iteration i C exempel while (printf("-->"), scanf("%f%c%f", &x, &c, &y ) == 3) { sats .. } scanf() returnerar antalet lyckade konverteringar om detta antal är 3 blir uttrycket sant och loopen går vidare (upprepningsvillkoret) innan scanf() anropas vill man ha en ”pil”-prompt på skärmen kommaoperatorn ( , ) ger möjlighet till detta

20 Iteration i C ”upprepa”
Det finns ytterligare en iterations-möjlighet med följande syntax do { sats } while ( uttryck );

21 Iteration i C ”upprepa”
Observera att det finns skolor som anser att man inte skall ha eftertestade loopar utan bara använda while och for. do { sats } while ( uttryck );

22 Favorit på övningen … Ge triangelns höjd: > * > *** > ***** > ******* > ********* > *********** > ************* > .....*************** > ....***************** > ...*******************... 11> ..*********************.. 12> .***********************.

23 Webfråga …

24 Slut


Ladda ner ppt "Iteration i C ”upprepa”"

Liknande presentationer


Google-annonser