1 C-kursus 6. Lektion n Repetition af 5. Lektion n Vi mødes igen kl. 11.00 til gennemgang af 6. Lektion.

Slides:



Advertisements
Lignende præsentationer
KAPITEL 2 Renterisiko.
Advertisements

KAPITEL 3 Volatilitet, Beta og Tracking Error
KAPITEL 5 Delta Normal Value at Risk
Gode råd om ansøgning til MUDP 2017
Forældre-information
Amukurs.dk Power point 1: Online præsentation af amukurs.dk - Sådan gør du: Læs ”Værd at vide, når du skal give en online præsentation af amukurs.dk”
Interaktion og usability
Almen statskundskab Politisk meningsdannelse v/ Peter Nedergaard
Forhandlingsteknik Strategi og proces Kommunikation Psykologi
P4: Vejledning i læreruddannelsen
Landdistriktsudvikling i Haderslev Kommune
Kort om Hjerteforeningen
806_Fader, Søn og Helligånd 1, S1
FÆLLESSKAB, FREMDRIFT OG FORRETNING
Ea Thystrup & Louise Mikkelsen 3øa
Fagligt samspil mellem matematik og samfundsfag
DK: Indledende: Jeg er jeres vært, og jeg har ansvaret for jer, mens I er her – og for, at I forlader bygningen igen, når vores møde er slut. I bedes derfor.
Tilskud & Regnskab Kursus for nye efterskoleledere
Hans nåde varer for evigt 1, S1
Eva Danielsen, Nærum Gymnasium
Residual plot.
Folkeskolens prøver i matematik
Hans Ole Lund Christiansen
יסודות מבני נתונים תרגול 9: שאלות חזרה.
Hvad er Lindebjergskolens CO2 fodaftryk
21. november 2018 Ulla Nørskov Philip & Martin Stabell
Informationsmøde om Praktikplads-AUB
Hans Ole Lund Christiansen
CUSTOMER LIFETIME VALUE
Redesign af antennetårn for test af antenner i DTU’s radiodøde rum, under integreret anvendelse af Creo Top-Down Design og Creo simulate Indlæg ved.
Modellering af skovtårnet 2019
Talentudvikling... Fortalt af et Talent
Digital Transformation i bibliotekerne
Aula som momentum til at gentænke og styrke kommunikationen
Overgang til Statens artskontoplan
Velkommen Dagens program.
Cybersikkerhed for kraftvarmeværkers tekniske anlæg
pointe nr. 1 leg gør os glade
Relancering af wiki SAGERA projekt 2 Relancering af wiki
GD1/GD2 – DLS kvalitetssikring Agenda
Ejendomsdataprogrammet - Projektforum - Møde 08
Økonomisk ulighed i Danmark
Dansk forum for sundhedstjenesteforskning 11. november 2009
Det danske ejendomsmarked
Kollektiv trafikplan i Randers Kommune
Værktøj: Målhierarkiet eller
Vi har købt en lille bjerghytte på fjellet, og tænkte på om du ville tage familien med eller nogle venner og komme en tur i julen for en lille julegløg.
Kære Skole – Læs og fjern inden brug
2010 Månedskalender Du kan skrive ut denne malen for å bruke den som en veggkalender, eller du kan kopiere siden for hvilken som helst måned og legge den.
Tá leiðarin bjóðar tær at siga upp
Meðal Gunna og meðal Jón?
Institut for pædagoguddannelse
Kort om praksisplanen for almen praksis
Charlotte Nejmann Kjær
Hvad kan vi lære af USA og Tyskland?
HVAD LAVER EN LABORANT?.
Energi, Danisco, Grindsted
Fremtidens arbejdsplads
Repetition af kendt stof Gruppearbejde Videndeling
The Danish Maritime Fund
It og kristendomsfaget
Hvilke konsekvenser har rygning
OPLÆG TIL MARKEDSUNDERSØGELSE for UDBUD AF
Anvendelse af produktionsdata
GD2.i CVR adresse grundlag ved Lone Kai Hansen, Erhvervsstyrelsen
Den Danske Maritime Fond
Potentialitetsledelse i nye læringsrum
Den danske model under pres
Blondinen og den manglende 710

Præsentationens transcript:

1 C-kursus 6. Lektion n Repetition af 5. Lektion n Vi mødes igen kl til gennemgang af 6. Lektion

2 Arrays og strenge nEnEt array svarer til det, man i matematik kalder en matrix nEnEt array er en navngiven samling af variabler af samme type nEnEn streng er en tekst nEnEn tekst er et array af bogstaver nVnVariablerne i et array er nummereret fra 0 til n. nAnAntallet af variabler i et array er n+1

3 Type cast 1 void main(void) { float tabel[LIM] = { 20, 10, 5, 2, 1,.50,.25 }; int tal, antal; float amount; printf("\nProgram som beregner, hvor mange mønter et indtaste beløb kan opdeles i\n"); printf("\nIndtast beløbet i kr. (f.eks ): "); scanf("%f", &amount);

4 Type cast 2 for (tal=0; tal<LIM; tal++) { antal = ((int)(amount*100)) / ((int)(tabel[tal]*100)); printf("Mønter med værdien=%6.2f kr, ", tabel[tal] ); printf("udgør %2d af beløbet!\n", antal ); amount = ((amount / tabel[tal]) - (float)antal) * tabel[tal]; } } // Slut på main float tabel[LIM] int tal, antal; float amount;

5 Konstanter og biblioteker #include // De eneste der er brug for er printf // og scanf #define MAXSIZE 20 // Der skal højest arbejdes med 20 // tal i array’et

6 Sortering af data i et array void main(void) { int list[MAXSIZE]; int ant = 0; int tal; printf("\nIndtast et tal, 0 afslutter\n"); do { printf(”Indtast et tal: "); scanf("%d", &list[ant]); } while ( list[ant++] != 0 ); sort(list,--ant); for (tal=0; tal<ant; tal++) printf("%d\n", list[tal]); }

7 Sortering af data i et array void sort(int liste[], int antal) { int out, in, temp; for (out=0; out<antal-1; out++) for (in=out+1; in<antal; in++) if (liste[out] > liste[in]) { temp = liste[in]; liste[in] = liste[out]; liste[out] = temp; } sort(list,--ant);

8 Eksempel list[0] = 45 list[1] = 32 list[2] = 37 list[3] = 24 list[4] = 42 for (out=0; out<antal-1; out++) for (in=out+1; in<antal; in++) if (liste[out] > liste[in]) { temp = liste[in]; liste[in] = liste[out]; liste[out] = temp; } out = 0 => in = 1 liste[0] = 45 > liste[1] = 32 temp = 32 => liste[1] = 45 => liste[0] = 32 for (in fortsætter så længe in<antal) out = 0 => in = 2 => liste[0] > liste[2] NEJ out = 0 => in = 3 => liste[0] > liste[3] JA Byt igen => liste[0] = 24 og liste[3] = ender som liste[0], ved næste gennemløb ender 32 i liste[1] osv.

9 Hovedprogrammet void main(void) { int list[MAXSIZE]; int ant = 0; int tal; printf("\nIndtast et tal, 0 afslutter\n"); do { printf(”Indtast et tal: "); scanf("%d", &list[ant]); } while ( list[ant++] != 0 ); sort(list,--ant); for (tal=0; tal<ant; tal++) printf("%d\n", list[tal]); }

10 Øvetid Vi mødes igen kl

11 6. Lektion, pointere n Pointerkonstanter n Pointervariabler

12 Pointerkonstanter n En pointerkonstant er adressen på en variabel n int x - erklærer en variabel (x), som indeholder et heltal n &x er adressen til variablen x

13 Et programeksempel void main(void) { int x = 4, y = 7; printf("\nFørste udskrift: x = %d og y = %d ", x, y); get2tal(x, y); printf("\nFjerde udskrift: x = %d og y = %d ", x, y); }

14 Proceduren - get2tal() void get2tal(int xx, int yy) { int temp; printf("\nAnden udskrift: xx = %d og yy = %d ", xx, yy); temp = xx; xx = yy; yy = temp; printf("\nTredie udskrift: xx = %d og yy = %d ", xx, yy); }

15 Programeksemplet igen void main(void) { int x = 4, y = 7; printf("\nFørste udskrift: x = %d og y = %d ", x, y); get2tal(x, y); printf("\nFjerde udskrift: x = %d og y = %d ", x, y); }

16 Pointervariabler n En pointervariabel er en variabel, som indeholder en adresse n Int *x - erklærer en variabel (*x), som kan indeholde et heltal n x indeholder adressen til variablen *x

17 Et programeksempel void main(void) { int x = 4, y = 7; printf("\nFørste udskrift: x = %d og y = %d ", x, y); get2tal(&x, &y); printf("\nFjerde udskrift: x = %d og y = %d ", x, y); }

18 Proceduren - get2tal() void get2tal(int *xx, int *yy) { int *temp; printf("\nAnden udskrift: xx = %d og yy = %d ", xx, yy); *temp = *xx; *xx = *yy; *yy = *temp; printf("\nTredie udskrift: xx = %d og yy = %d ", xx, yy); }

19 int *px => px = &x ?? void main(void) { int x = 4, y = 7; int *px, *py; printf("\nx = %d, y = %d", x, y); px = &x; py = &y; *px = *px + 10; *py = *py + 10; printf("\nx = %d, y = %d", x, y); }

20 Et eksempel med et array void main(void) { int numre[] = { 92, 81, 70, 69, 58 }; int tal; printf("\n"); for (tal = 0; tal<5; tal++) printf("\nNummer[%d] = %d", tal, numre[tal] ); }

21 Nu med anvendelse af pointer void main(void) { int numre[] = { 92, 81, 70, 69, 58 }; int tal; printf("\n"); for (tal = 0; tal<5; tal++) printf("\nNummer[%d] =%d", tal, *(numre+tal) ); } numre er adressen på array’et første element tal er en heltalsvariabel

22 2-dimensionalt array uden pointer char liste[MAX] [LEN] = { "Katrine", ”Christian", ”Poul", ”Lotte", ”Henning" }; #define MAX 5 #define LEN 40

23 2-dimensionalt array med pointer char *liste[MAX] = { "Katrine", ”Christian", ”Poul", ”Lotte", ”Henning" }; #define MAX 5 #define LEN 40

24 Forskellen i hukommelsen

25 Slut Nogen spørgsmål til dagens tekst

26 list[0] = 45 Her sker lidt andet En tredje tekst