Presentation laddar. Vänta.

Presentation laddar. Vänta.

Jonny Karlsson 14.10.2005 INTRODUKTION TILL PROGRAMMERING Föreläsning 3 (21.11.2005) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.

Liknande presentationer


En presentation över ämnet: "Jonny Karlsson 14.10.2005 INTRODUKTION TILL PROGRAMMERING Föreläsning 3 (21.11.2005) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser."— Presentationens avskrift:

1 Jonny Karlsson 14.10.2005 INTRODUKTION TILL PROGRAMMERING Föreläsning 3 (21.11.2005) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser

2 Jonny Karlsson 14.10.2005 Tabeller Används för att lagra en mängd olika variabler av samma datatyp i datorns minne. Brukar även kallas för vektorer eller ”arrays” En tabell kan behövas i C-programme när man vill göra ett program som skall beräkna t.ex. medeltalet av ett visst antal värden. Tabeller behövs även vid lagring av teckensträngar i datorns minne.

3 Jonny Karlsson 14.10.2005 Deklaration av tabeller En tabell deklareras i C på följande sätt: datatyp tabellnamn[N]; datatyp Önskad datatyp för tabellen (t.ex. int, float eller char) NAntal tabellelement (tabellplatser)

4 Jonny Karlsson 14.10.2005 Taltabeller En heltalstabell på 10 element deklareras på följande sätt: int heltalstabell[10]; En heltalstabell på 10 element kan deklareras och initialiseras på följande sätt: int heltalstabell[] = {11, 33, 45, 12, 45, 32, 22, 14, 13, 11}; Detta skulle resultera i följande taltabell: Ett visst element av samma heltalstabell kan tilldelas ett värde enligt följande: heltalstabell[0] = 33;//plats 0 i heltalstabellen ”heltalstabell” tilldelas värdet 33 11334512453222141311

5 Jonny Karlsson 14.10.2005 Taltabeller OBS! heltalstabell[0]är första elementet i tabellen ”heltalstabell” heltalstabell[1]är andra elementet i tabellen ”heltalstabell”... Värdet av tabellelement 8 kan skrivas ut på bildskärmen så här: printf(”Tabellposition 8 innehåller: %d”, heltalstabell[7]); Ett heltal inläst från tangentbordet kan sparas i tabellposition 2 på följande sätt: scanf(”%d”, &heltalstabell[1]);

6 Jonny Karlsson 14.10.2005 Teckentabeller En teckensträng måste i C lagras i en teckentabell En teckentabell på 20 tecken deklareras på följande sätt: char teckentabell[20]; En teckentabell deklareras och initialiseras enligt följande: char text[] = ”Jordgubbe”; Denna initialisering skulle resultera i följande teckentabell: Jordgubbe

7 Jonny Karlsson 14.10.2005 Teckentabeller En teckensträng kan inläsas från tangentbordet och lagras i en teckentabell på följande sätt: scanf(”%s”, text);//Läser in tecken från tangentbordet ända tills ett radbrytstecken eller //mellanslagstecken tagits emot I teckentabellen ”text” lagras texten som inmatats från tangentbordet + ett ”\0” tecken (NULL) NULL-tecknet används här för att berätta var teckensträngen tar slut.

8 Jonny Karlsson 14.10.2005 Teckentabeller char text[10];//deklarerar en teckentabell av storlek 10 tecken scanf(”%s”, text);//Läser en teckensträng från tangentbordet som lagras i //teckentabellen ”text” Om man från tangentbordet skriver ”hej” + ”enter” skulle innehållet i teckentabellen ”text” se ut så här: hej\0

9 Jonny Karlsson 14.10.2005 Teckentabeller Innehållet av en teckentabell kan visas på bildskärmen på följande sätt: printf(”%s”, text); Printf-satsen skriver ut alla tecken som finns i teckentabellen, eller tills ett mellanslagstecken, radbrytstecken eller NULL-tecken påträffas: Om teckentabellen ”text” ser ut så här: hej\0 Skulle texten ”hej” visas på bildskärmen:

10 Jonny Karlsson 14.10.2005 Jämförelseoperatorer Behövs i C för att kunna jämföra olika värden. Relationsoperatorer: <”mindre än” >”större än” <= ”mindre än eller lika med” >= ”större än eller lika med Exempel: x < y Om x är mindre än eller lika med y blir uttrycket ovan sant/true men om x är större än y blir uttrycket falskt/false.

11 Jonny Karlsson 14.10.2005 Villkorssatser Behövs för program som skall kunna ta alternativa vägar beroende på användarens val. T.ex. ett program med en meny skall kunna utföra olika operationer beroende av vad användaren valt ur menyn. T.ex. 1 = Beräkna addition, 2 = avsluta programmet.

12 Jonny Karlsson 14.10.2005 if-satsen Det vanligaste sättet att åstadkoma alternativa vägar i ett program är att använda if- satsen. Den enklaste varianten av if-satsen har följande form: if(uttryck)sats Om uttrycket är ”sant” utförs satsen, annars utförs ingenting. Exempel: if(n > 0)//om variabeln n är större än noll medelvärde = summa / n;//utförs följande sats

13 Jonny Karlsson 14.10.2005 if-satsen Om man vill att en if-sats vid ”true” skall utföra flera satser använder man bågparenteser för att berätta vilka satser som skall utföras då ett visst uttrck blir ”true”. (sammansatta satser) if(uttryck){sats1;sats2;sats3;}Exempel: if(n > 1) { medelvärde = summa / n; standardav = (kvad_sum – sum * sum / n) / (n-1); }

14 Jonny Karlsson 14.10.2005 if-satsen Den andra versionen av if-satsen har följande form: if(uttryck)sats1;elsesats2; Om uttrycket ovan blir sant utförs sats1, om uttrycket blir falskt utförs sats2. Exempel: if(a > b) skillnad = a – b; else skillnad = b – a;

15 Jonny Karlsson 14.10.2005 if-satsen I C-program uppstår det ofta flervalssituationer. I sådana fall kan man ha en if-sats som ser ut enligt följande: if(uttryck1)sats1; else if(uttryck2) sats2; else if(uttryck3) else Detta kan t.ex. behövas när man programmerar ett C-program som har en meny med flera olika alternativ.

16 Jonny Karlsson 14.10.2005 switch - satsen I Vissa slag av flervalssituationer är det naturligare att använda en switch-sats i stället för if-satser i den form som beskrevs på föregående sida. switch(heltal){ case 1: satser;break; case 2: satser;break;default:satser;break;}

17 Jonny Karlsson 14.10.2005 Repetitionssatser Används för att åstadkomma repetitioner, dvs. om man vill att samma sats/satser skall utföras ett visst antal gånger. T.ex. ett program där användaren skall skriva in 10 olika värden från tangentbordet som skall sparas i en tabell behövs en sats som skall repeteras 10 gånger: Pseudokod: antal = 0; Så länge som antal < 10 { läs in från tangentbordet och spara i tabellposition antal öka antal med 1; }

18 Jonny Karlsson 14.10.2005 while-satsen Ett sätt att åstadkomma repetition är att använda while-satsen. Har den allmänna formen: while(uttryck)sats Satsen utförs så länge som uttrycket är sant

19 Jonny Karlsson 14.10.2005 while-satsen Exempel: programmet läser in 10 värden från tangentbordet och sparar dessa i en tabell: int tabell[10]; int index = 0; while(index < 10) { scanf(”%d”, &tabell[index]; index = index + 1; }

20 Jonny Karlsson 14.10.2005 do-satsen dosats;while(uttryck); do-satsen är likadan som while-satsen med den skillnaden att utrycket testas först efter utförd sats. I while-satsen testas uttrycket före utförd sats. do{ scanf(”%d”, &i); gör någåt med i; } while(i < 0);

21 Jonny Karlsson 14.10.2005 for-satsen Denna sats skiljer sig lite från andra repetitionssatser. Är mycket användbar. Den allmänna formen: for(uttyck1; utryck2; utryck3) sats; Satsen ovan är likadan som följande while-sats: utryck1:while(uttryck2){satsuttryck3;}

22 Jonny Karlsson 14.10.2005 for-satsen Exempel: programmet läser in 10 värden från tangentbordet och sparar dessa i en tabell: int tabell[10]; int index; for(index = 0; index < 10; index = index + 1) scanf(”%d”, &tabell[index];


Ladda ner ppt "Jonny Karlsson 14.10.2005 INTRODUKTION TILL PROGRAMMERING Föreläsning 3 (21.11.2005) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser."

Liknande presentationer


Google-annonser