Iteration i C ”upprepa”

Slides:



Advertisements
Liknande presentationer
Tänk på vad du säger innan du uttalar orden!!!
Advertisements

Selektion, iteration och datastrukturer
Villkor Booelska operatorer Villkorsatser Switchsatser Villkor och annat.
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Programstruktur: C för enchipsdatorer
Repetition inför provet
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Vilken/vilka av följande satser ger syntaxfel:
Operatorer.
2D1311 Programmeringsteknik med PBL
Grundläggande programmering
1 Föreläsning 3 Datalogi för E1 / 2D1343 Repetition List List operationer Stränghantering For-slingor.
Föreläsning 2 Datalogi för E1 2D1343
Flödeskontroll Satser i ett program utförs en och en efter varandra. Detta kallas sekvensiell flödeskontroll. Ofta är det dock nödvändigt att modifiera.
Presupposition gemensam kunskap som inte behöver påstås eller förklaras förutsatt information - bakgrundsantaganden konventionaliserade bärare av implicit.
Föreläsning 4, Kapitel 4 Gruppera objekt Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Programmering B PHP Lektion 2
INTRODUKTION TILL PROGRAMMERING
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Programmeringsbegrepp
Ali Ghodsi Variabler En variabel är en sorts behållare som man kan placera data i Man måste ange typ och namn för alla variabler.
Programmering B PHP Lektion 3
Stig Dagerman Född 1923 i Älvkarleby (Uppsala län) Dog 1954 (tog sitt liv) Svensk författare och journalist Han var en av de mest framträdande författarna.
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
Föreläsning 3 Programmeringsteknik och Matlab DD1312
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 6: Semantik Statisk semantik Attributgrammatiker Dynamisk semantik Axiomatisk.
Metoder och slingor Metoder och dess typ Slingor med while och for-satser.
Funktioner, styrstrukturer, manipulering av matriser
1 Föreläsning 3 programmeringsteknik och Matlab 2D1312/ 2D1305 Matlab fortsättning Funkioner, styrstrukturer, manipulering av matriser.
Grundläggande programmering
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
Anders Sjögren Mer om datatyper. Anders Sjögren const det finns ett elegantare sätt att skapa konstanter i C än sättet med makro som vi använt tidigare.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Det finns i V en operation kallad addition, betecknad + sådan att
Modulär programutveckling
Anders Sjögren Pekare. Anders Sjögren Skapa ett program som byter plats på två heltal Pekare.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Föreläsning 6 Logik med tillämpningar F6 Innehåll u Resten om resolution u Varför så många olika beslutsprocedurer? u Teorembevisaren Otter.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska operatorer och logiska uttryck -Referenstyper.
Institutionen för matematik, KTH Mats Boij 5B1118 Diskret matematik 27 november B1118 Diskret matematik Tionde föreläsningen Bipartita grafer.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 4: Syntaxdefinition Formell syntaxdefinition Lexikalisk och kontextfri syntax Flertydighet i kontextfri.
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 3. Flödesscheman while For Max/min-algoritm Datatyper Konvertering Dubbelloop (m. For)
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Repetitionssatser: do-satsen och for-satsen -Operatorer:
2D1311 Programmeringsteknik med PBL
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
Anders Sjögren Deklarationsområde och funktioner.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Anders Sjögren Data (i primärminnet) som en länkad lista datatypen för varje element i listan är en struktur, post ( struct )
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 3 Operatorer Flödeskontroll Primitiva datatyperKlasser i API och egna klasser int double byte float char boolean short long String BufferedReader.
Anders Sjögren Mer om datatyper. Anders Sjögren const det finns ett elegantare sätt att skapa konstanter i C än sättet med makro som vi använt tidigare.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
1 Föreläsning 13 programmeringsteknik och Matlab Funktioner, styrstrukturer, mer om matriser.
Selektion jämförande och logiska operatorer
Anders Sjögren Operatorer. Anders Sjögren Operand(er)
Anders Sjögren Modulär programutveckling. Anders Sjögren Ett programmeringsprojekt, flera personer utvecklar ett program Vi ska utveckla ett ränteberäkningsprogram.
Anders Sjögren Programmering i ANSI-C Ett första program för att se vart vi ska...
Anders Sjögren Funktioner något in och något annat ut.
Algoritmer och datastrukturer Föreläsning 8 Tidskomplexitet (Weiss kap
Föreläsning 2 Programmeringsteknik DD1310
Föreläsning 3: Booleans, if, switch
Iteration – Repetitionssats - while
Presentationens avskrift:

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

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

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

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

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

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

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

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

For-loopens strukturdiagram

Iteration i C exempel exekveringsstatus efter denna sats #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; exekveringsstatus efter denna sats

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

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.

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.

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

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 !

for-loopen i programmet interest.c

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.

switch-satsen i programmet easycalc.c

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

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

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 );

Favorit på övningen … Ge triangelns höjd: 12 1> ............*............ 2> ...........***........... 3> ..........*****.......... 4> .........*******......... 5> ........*********........ 6> .......***********....... 7> ......*************...... 8> .....***************..... 9> ....*****************.... 10> ...*******************... 11> ..*********************.. 12> .***********************.

Webfråga …

Slut