Programmering i C. Lektion september 2009

Størrelse: px
Starte visningen fra side:

Download "Programmering i C. Lektion september 2009"

Transkript

1 Programmering i C Lektion 1 8. september 2009

2 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale

3 Målgruppe Motivation Indhold Form Materiale 3 / 47 Folk der har styr på programmering, og som har programmeret i C før Folk der har styr på programmering Folk der aldrig har programmeret før

4 Målgruppe Motivation Indhold Form Materiale 4 / 47 Folk der har styr på programmering, og som har programmeret i C før Folk der har styr på programmering Folk der aldrig har programmeret før

5 Målgruppe Motivation Indhold Form Materiale 5 / 47 Nødvendigt i resten af studiet (for nogen) Kan anvendes i projektet Spændende

6 Målgruppe Motivation Indhold Form Materiale 6 / 47 1 Introduktion og Kontrolstrukturer (i dag) 2 Funktioner (Mandag 14/9) 3 Datatyper (Tirdag 15/9) 4 Pointers (Fredag 18/9) 5 Opsummering (Mandag 28/9)

7 Målgruppe Motivation Indhold Form Materiale 7 / 47 I dag: 8 : 45 til 10 : 00 Forelæsning (med pauser) 10 : 15 til 12 : 00 Opgave regning Resten af gangene: 8 : 15 til 10 : 00 Opgave regning 10 : 15 til 12 : 00 Forelæsning (med pauser)

8 Målgruppe Motivation Indhold Form Materiale 8 / 47 C Language Tutorial http: // Noter til et tidligere kursus om programmering i C notes/theme-index.html

9 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 9 / 47 Introduktion 6 IDE - Integrated Development Environment 7 Historie 8 Programmer 9 Variable 10 Datatyper 11 Kontrol strukturer 12 Udtryk 13 Assignments 14 Operatorer 15 I/O 16 Eksempel 17 Processen 18 At kompilere

10 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 10 / 47 Dagens vigtigste formål: At I skriver og kompilerer jeres første program Dagens første opgave: At installere CodeBlocks (lille demo) Næste gang: Øvelser i kontrolstrukturer

11 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 11 / 47 Hvorfor C? Ligner mange andre programmeringssprog et lavniveau imperativt programmeringssprog (imperativ vs. funktionel vs. objektorienteret (vs.... )) tæt knyttet til operativsystemet UNIX udbredt sprog til systemprogrammering

12 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 12 / 47 ALGOL CPL 1966 BCPL 1969 B 1972 C Kernighan&Ritchie: The C Programming Language amerikansk standardisering international standardisering ny standardisering (pga. C++) 1978 K&R C 1989 ANSI C (C89) 1990 ISO C C

13 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 13 / 47 Oversættelse Kildekode Maskinkode Fortolkning Udførsel gcc -ansi -pedantic -Wall -O -o hello hello.c./hello #include < s t d i o. h> i n t main ( void ) { / h e l l o w o r l d. c / p r i n t f ( " Hello, world! \ n " ) ; return 0;

14 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 14 / 47 en variabel er en navngiven plads i computerens lager en variabel kan indeholde en værdi af en bestemt type variables værdier kan ændres ved assignment-kommandoer variable skal erklæres før brug #include < s t d i o. h> i n t main ( void ) { / v a r i a b l e. c / i n t a, b, c ; a = 5; b = 3; c = a / b ; p r i n t f ( "%d d i v i d e r e t med %d g i v e r %d \ n ", a, b, c ) ; p r i n t f ( " Hov, hvad er nu det?\ n " ) ; return 0;

15 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 15 / 47 en variabel er en navngiven plads i computerens lager en variabel kan indeholde en værdi af en bestemt type variables værdier kan ændres ved assignment-kommandoer variable skal erklæres før brug #include < s t d i o. h> i n t main ( void ) { / v a r i a b l e 2. c / i n t a = 5, b = 3, c ; c = a / b ; p r i n t f ( "%d d i v i d e r e t med %d g i v e r %d \ n ", a, b, c ) ; p r i n t f ( " Hov, hvad er nu det?\ n " ) ; return 0;

16 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 16 / 47 en variabel er en navngiven plads i computerens lager en variabel kan indeholde en værdi af en bestemt type variables værdier kan ændres ved assignment-kommandoer variable skal erklæres før brug variable skal altid tildeles startværdier #include < s t d i o. h> i n t main ( void ) { / v a r i a b l e n o i n i t. c / i n t a, b, c ; c = a / b ; p r i n t f ( "%d d i v i d e r e t med %d g i v e r %d \ n ", a, b, c ) ; p r i n t f ( " Hov, hvad er nu det?\ n " ) ; return 0;

17 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 17 / 47 heltal reelle tal tegn strenge short float char char * int double long long double #include < s t d i o. h> i n t main ( void ) { / v a r i a b l e f l o a t. c / i n t a = 5, b = 3; double c ; c = ( double ) a / b ; p r i n t f ( "%d d i v i d e r e t med %d g i v e r %f \ n ", a, b, c ) ; p r i n t f ( " Det var bedre! \ n " ) ; return 0;

18 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 18 / 47 #include < s t d i o. h> i n t main ( void ) { / e l e f a n t. c / i n t a = 1; p r i n t f ( "%d e l e f a n t kom marcherende, \ hen ad edderkoppens f i n e spind \ n ", a ) ; while ( a <= 10) { a = a + 1; p r i n t f ( "%d e l e f a n t e r kom marcherende, \ hen ad edderkoppens f i n e spind \ n ", a ) ; return 0;

19 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 19 / 47 Udtryk: 7 x, a, b rest ved (heltals)division a + b, a b a b, a / b, a % b a < b, a <= b, a == b etc. (boolske udtryk) Prioritering: beregnes før + etc.: = 3 + (5 7) assignment/tildeling {{ c = a / b {{ expression/udtryk Associering: Operationer med samme prioritet foretages fra venstre til højre: = (10 5) 2 10 (5 2)

20 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 20 / 47 a = i + 5: udtrykket i + 5 beregnes, og a tildeles den beregnede værdi dvs. + har højere prioritet end = men i C er a = i + 5 også et udtryk! Udtrykkets værdi er ligeledes i + 5 misbrug: #include < s t d i o. h> i n t main ( void ) { / misbrug. c / i n t a, b, c ; a = b = c = 7; p r i n t f ( " a : %d, b : %d, c : %d \ n ", a, b, c ) ; a = 1 + ( b = 2 ( c = 3 ) ) ; p r i n t f ( " a : %d, b : %d, c : %d \ n ", a, b, c ) ; return 0;

21 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 21 / 47 increment-operator: skriv i++ eller ++i i stedet for i = i + 1 decrement-operator: skriv i eller i i stedet for i = i 1 men det er også et udtryk... : i = 7; a = ++i i=8, a=8 i = 7; a = i++ i=8, a=7! Hvorfor? også akkumulerende assignment-operatorer: a += 5 a = a + 5 a = 7 a = a 7 a = 4 a = a 4 a /= 3 a = a / 3 etc.

22 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 22 / 47 Udskrivning med printf : printf( kontrolstreng, parametre) kontrolstreng: almindelige tegn udskrives uændret, konverteringstegn erstattes med parametre, som er formateret i h.t. konverteringsspecifikationen printf returnerer antallet af udskrevne tegn se printf-eks.c

23 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 23 / 47 Udskrivning med printf : printf( kontrolstreng, parametre) kontrolstreng: almindelige tegn udskrives uændret, konverteringstegn erstattes med parametre, som er formateret i h.t. konverteringsspecifikationen printf returnerer antallet af udskrevne tegn se printf-eks.c Indlæsning med scanf: scanf( kontrolstreng, parametre) kontrolstreng (næsten) analog til printf, men parametrene skal være adresser på variable (pointere): &a scanf returnerer antallet af gennemførte indlæsninger se scanf-eks.c

24 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments Et større eksempel: #include < s t d i o. h> # define PI i n t main ( void ) { / c i r c l e. c / double radius ; p r i n t f ( " \ n%s \ n \ n%s ", " This program computes the area of a c i r c l e. ", " I n p u t the r a d i u s : " ) ; scanf ( "%l f ", &r a d i u s ) ; p r i n t f ( " \ n%s \ n%s%.2 f%s%.2 f%s%.2 f \ n%s%.5 f \ n \ n ", " Area = PI r a d i u s r a d ius ", " = ", PI, " ", radius, " ", radius, " = ", PI r a d i u s r a d i u s ) ; return 0; 24 / 47

25 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 25 / 47 Kildekode Kildekode gcc -E Kildekode Præprocessering Oversættelse Kompilering gcc -S Assemblerkode gcc -c Assemblering Objektkode Maskinkode Udførsel Fortolkning Linkning Maskinkode Udførsel Fortolkning

26 IDE - Integrated Development Environment Historie Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments 26 / 47 gcc -ansi -pedantic -Wall -O -o ting ting.c Vi vil have alle advarsler som ANSI kræver Vi følger ANSI-standarden Output skal hedde ting Vi optimerer for at fange flere mulige fejl Vi vil også have en masse andre advarsler

27 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer 27 / 47 Kontrolstrukturer 19 Sekventiel kontrol 20 Logiske udtryk 21 Short circuit evaluering 22 Udvælgelse af kommandoer

28 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer 28 / 47 #include < s t d i o. h> start i n t main ( void ) { / seconds. c / long i n t input, temp, h, m, s ; p r i n t f ( " Giv mig et h e l t a l! \ n " ) ; scanf ( "%l d ", &i n p u t ) ; h= i n p u t / 3600; temp= input h 3600; m= temp / 60; s= temp% 60; p r i n t f ( " \ n%l d sekunder svarer t i l \ %l d timer, %l d m i n u t t e r og %l d sekunder \ n ", input, h, m, s ) ; return 0; printf scanf beregn printf slut

29 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer Udvælgelse af kommandoer: start Gentagelse af kommandoer: start gør noget gør noget ja betingelse nej nej betingelse gør eet gør andet ja gør noget gør mere gør mere slut if slut while; for 29 / 47

30 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer 30 / 47 Udvælgelse: if( logisk udtryk ) Gentagelse: while( logisk udtryk ) Logiske udtryk: x<y, x<=y, x>=y, x>y, x!=y, x==y!a, A&&B, A B, hvor A og B selv er logiske udtryk har værdien falsk (0) eller sandt (1, i de fleste(!) compilere) && har højere prioritet end brug parenteser! (Hvad er værdien af 3==5 1==1 && 1==2?... ) [oper.c]

31 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer 31 / 47 # include < s t d i o. h> i n t main ( void ) { / l i g h e d. c / i n t a, b, l i g ; p r i n t f ( " Vi sammenligner to t a l. \ n \ Output 0 betyder at de er f o r s k e l l i g e. \ n \ n \ Må jeg bede om to h e l t a l?\ n " ) ; scanf ( "%d %d ", &a, &b ) ; l i g = ( a == b ) ; p r i n t f ( " \ noutput : %d \ n ", l i g ) ; return 0;

32 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer 32 / 47 Observation: Hvis A er falsk, da er A&&B også falsk Hvis A er sandt, da er A B også sandt i udtrykket A&&B beregnes B kun hvis A er sandt og i udtrykket A B beregnes B kun hvis A er falsk Smart, men kilde til fejl

33 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer 33 / 47 # include < s t d i o. h> i n t main ( void ) { / lighed2. c / i n t a, b ; char l i g ; p r i n t f ( " Vi sammenligner to t a l. \ n \ n \ Må jeg bede om to h e l t a l?\ n " ) ; scanf ( "%d %d ", &a, &b ) ; ( a == b ) && ( l i g = ) ; ( a!= b ) && ( l i g = u ) ; p r i n t f ( "%d er %c l i g %d \ n ", a, l i g, b ) ; return 0;

34 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer 34 / 47 Udvælgelse med &&: (a == b) && (lig = ); kryptisk... Udvælgelse med if: if (a== b) lig = ; det var bedre! ja lig= a==b nej

35 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer 35 / 47 Udvælgelse med &&: (a == b) && (lig = ); kryptisk... Udvælgelse med if: if (a== b) lig = ; det var bedre! if (a==b) lig = ; else lig = u ; ja lig= a==b nej lig= u i f ( u dtryk ) kommando1 ; else kommando2 ; først beregnes udtryk hvis udtryk er sandt, udføres kommando1 hvis udtryk er falsk, udføres kommando2

36 Sekventiel kontrol Logiske udtryk Short circuit evaluering Udvælgelse af kommandoer # include < s t d i o. h> i n t main ( void ) { / lighed3. c / i n t a, b ; char l i g ; p r i n t f ( " Vi sammenligner to t a l. \ n \ n \ Må jeg bede om to h e l t a l?\ n " ) ; scanf ( "%d %d ", &a, &b ) ; i f ( a== b ) { l i g = ; else { l i g = u ; p r i n t f ( "%d er %c l i g %d \ n ", a, l i g, b ) ; return 0; 36 / 47

37 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme 37 / 47 Kontrolstrukturer, Kommandoblokke; scope 24 Udvælgelse med if, Udvælgelse med switch 26 Gentagelse med while 27 Gentagelse med for 28 Opsummering

38 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme 38 / 47 Problem: Vil gerne udvælge mellem to blokke af kommandoer Løsning: Sammensætning af kommandoer: i f ( a== b ) { c= 1; d= 2; else { c= 7; d= 5; blok blok ja kommando kommando betingelse nej kommando kommando

39 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme 39 / 47 blok = antal kommandoer omkranset af { og en blok behandles som én kommando blokke kan indlejres i hinanden

40 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme 40 / 47 blok = antal kommandoer omkranset af { og en blok behandles som én kommando blokke kan indlejres i hinanden i starten af en blok kan variabelerklæringer forekomme!! disse variable er lokale for blokken (deres scope er blokken)

41 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme blok = antal kommandoer omkranset af { og en blok behandles som én kommando blokke kan indlejres i hinanden i starten af en blok kan variabelerklæringer forekomme!! disse variable er lokale for blokken (deres scope er blokken) #include < s t d i o. h> i n t main ( void ) { / blok. c / i n t a=5; p r i n t f ( " Før : a==%d \ n ", a ) ; { / en blok / i n t a=7; / d e k l a r a t i o n / p r i n t f ( " I : a==%d \ n ", a ) ; p r i n t f ( " E f t e r : a==%d \ n ", a ) ; #include < s t d i o. h> i n t main ( void ) { / blok2. c / i n t a=5; p r i n t f ( " Før : a==%d \ n ", a ) ; { / en blok / a=7; / assignment! / p r i n t f ( " I : a==%d \ n ", a ) ; p r i n t f ( " E f t e r : a==%d \ n ", a ) ; return 0; return 0; 41 / 47

42 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme en else knytter sig altid til den inderste if brug kommandoblokke for at undgå tvivl! 42 / 47 Dangling else -problemet: i f ( a == 1) i f ( b == 2) p r i n t f ( "A" ) ; else p r i n t f ( "B" ) ; i f ( a == 1) { i f ( b == 2) { p r i n t f ( "A" ) ; else { p r i n t f ( "B" ) ; ja a==1 nej ja a==1 nej ja b==2 nej ja b==2 nej printf("b") printf("a") printf("b") printf("a")

43 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme Hvad hvis der er flere end to valgmuligheder? Brug switch! #include < s t d i o. h> i n t main ( void ) { / switch. c / i n t a ; char dyr ; p r i n t f ( " Giv mig et h e l t a l! \ n " ) ; scanf ( "%d ", &a ) ; switch ( a ) { case 1: dyr= " hest " ; break ; case 2: dyr= " g r i s " ; break ; case 3: dyr= " abe " ; break ; default : dyr= " ko " ; break ; p r i n t f ( " \ ndu er en %s! \ n ", dyr ) ; return 0; 43 / 47

44 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme switch ( u d t r y k ) { case const1 : command1 ; case const2 : command1 ;... case constn : commandn ; default : command ; først beregnes udtryk. Resultatet skal være et heltal eller noget der ligner (f.x. en char) udtryk == const i command i udføres. Herefter udføres command i+1 osv. udtryk!= const i for alle i default-kommandoen udføres, og herefter de efterfølgende! Hvis der ingen default er, gøres ingenting. man ønsker næsten altid at afslutte et case med en break-kommando; så springes de efterfølgende kommandoer over. 44 / 47

45 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme while ( udtryk ) kommando ; først beregnes udtryk hvis udtryk er sandt, udføres kommando, og løkken startes forfra hvis udtryk er falsk, afsluttes løkken nej udtryk ja kommando #include < s t d i o. h> i n t main ( void ) { / while. c / i n t h = 0; while ( h!= 1234) { p r i n t f ( " I n d t a s t det hemmelige h e l t a l : " ) ; scanf ( "%d ", &h ) ; p r i n t f ( " \ nhurra! \ n " ) ; return 0; 45 / 47

46 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme for ( i n i t ; c o n d i t i o n ; update ) kommando ; (den mest generelle løkkekonstruktion i C) 1 først udføres init 2 så beregnes condition, og hvis den er falsk, afbrydes 3 kommando udføres 4 update udføres, og vi springer tilbage til trin 2. #include < s t d i o. h> i n t main ( void ) { / f o r. c / i n t i = 1; p r i n t f ( "%d e l e f a n t \ n ", i ) ; for ( i = 2; i <=10; i ++) { p r i n t f ( "%d e l e f a n t e r \ n ", i ) ; return 0; 46 / 47

47 Kommandoblokke; scope Udvælgelse med if, 2. Udvælgelse med switch Gentagelse med while Gentagelse med for Opsumme 47 / 47 Øvelser i dag. Installere Code Blocks Skrive Hello World program Andre simple programmer Øvelser næste mandag Kontrolstrukturer Udvælgelse If Switch Gentagelse While For Struktur Komando blokke

Programmering i C. Lektion oktober 2008

Programmering i C. Lektion oktober 2008 Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969

Læs mere

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale Programmering i C Lektion 1 16. september 2008 Målgruppe Indhold Form Materiale Kursusintroduktion 1 Målgruppe 2 Indhold 3 Form 4 Materiale 2 / 21 Målgruppe Indhold Form Materiale Folk der har styr på

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 5 28. september 2009 Indhold Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments Operatorer I/O Eksempel Processen A 2 / 81 1 Introduktion og Kontrolstrukturer

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 2 14. september 2009 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Kommentarer Format - scanf og printf 2 / 27 Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler

Læs mere

Programmering i C. Lektion november 2008

Programmering i C. Lektion november 2008 Programmering i C Lektion 3 18. november 2008 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler Kontrolstrukturer Udvælgelse Gentagelse

Læs mere

1. Variable og assignment

1. Variable og assignment 1. Variable og assignment Dette er starten af det faglige indhold i første lektion af 'Programmering i C'. Før dette følger et antal mere praktiske slides, som vi ikke har medtaget i denne 'tematiske udgave'

Læs mere

Programmering i C Intro og grundlæggende C 5. marts 2007

Programmering i C Intro og grundlæggende C 5. marts 2007 Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner

Læs mere

Programmering i C. Lektion 4. 5. december 2008

Programmering i C. Lektion 4. 5. december 2008 Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )

Læs mere

Programmering i C. Kurt Nørmark 2005 Institut for Datalogi, Aalborg Universitet. Sammendrag

Programmering i C. Kurt Nørmark 2005 Institut for Datalogi, Aalborg Universitet. Sammendrag Programmering i C Kurt Nørmark 2005 Institut for Datalogi, Aalborg Universitet Sammendrag Dette er et undervisningsmateriale om introducerende programmering i et imperativt sprog. Mere konkret er det et

Læs mere

Introduktion til C programmering

Introduktion til C programmering Introduktion til C programmering Rasmus Erik Voel Jensen Uge 17 voel@math.ku.dk Dagens forelæsning Formalia Indledende programmering, main, include, printf, variable, scanf, if-else, statements, eksempler

Læs mere

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);

Læs mere

Programmering i C Videre med C (2 af 4) 19. marts 2007

Programmering i C Videre med C (2 af 4) 19. marts 2007 Programmering i C Videre med C (2 af 4) 19. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Brush-up fra sidst Videre med C Kontrolløkker (while, for, ) Conditional Execution (if, if/else) Funktioner

Læs mere

Start på Arduino og programmering

Start på Arduino og programmering Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget

Læs mere

Programmering for begyndere Lektion 2. Opsamling mm

Programmering for begyndere Lektion 2. Opsamling mm Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger

Læs mere

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang

Læs mere

5. Kontrolstrukturer - Motivation og Oversigt

5. Kontrolstrukturer - Motivation og Oversigt 5. Kontrolstrukturer - Motivation og Oversigt I dette og de følgende afsnit vil vi - vigtigst af alt - møde forgreninger og løkker. Sådanne kaldes kontrolstrukturer, fordi vi med disse kan kontrollere

Læs mere

Noter til C# Programmering Selektion

Noter til C# Programmering Selektion Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0.

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0. Kursus 02199: Programmering afsnit 3.1-3.5 Anne Haxthausen IMM, DTU 1. Kontrol af programudførn (afsnit 3.1) 2. Valg-sætninger (if og switch) (afsnit 3.2 og 3.3) 3. Bloksætninger (afsnit 3.2) 4. Logiske

Læs mere

#AlleKanKode. Lektion 4 - Kontrol flow

#AlleKanKode. Lektion 4 - Kontrol flow #AlleKanKode Lektion 4 - Kontrol flow Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger osv. Andre

Læs mere

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 4 18. september 2009 Pointers Referenceparametre 2 / 19 Pointers 1 Pointers 2 Referenceparametre Pointers Referenceparametre 3 / 19 Husk: En variabel er en navngiven plads i computerens

Læs mere

Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. "10") til heltal (10). if (udtryk) else

Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. 10) til heltal (10). if (udtryk) else Programmering 1999 Forelæsning 2, fredag 3. september 1999 Betingede ordrer: if-, if Indlejrede betingede ordrer Løkker med begrænset iteration: for Løkker med ubegrænset iteration: while Betingede ordrer,

Læs mere

Start af nyt schematic projekt i Quartus II

Start af nyt schematic projekt i Quartus II Start af nyt schematic projekt i Quartus II Det følgende er ikke fremstillet som en brugsanvisning der gennemgår alle de muligheder der er omkring oprettelse af et Schematic projekt i Quartus II men kun

Læs mere

//--------------------------------- Definition af porte og funktioner -------------------------

//--------------------------------- Definition af porte og funktioner ------------------------- Temeraturmåler (C-program).txt // Initialiserings-sekvens #include #pragma model=medium #pragma code=0x0000 #pragma xdata=0x4000 #pragma asm=on #pragma parameters=register //#define display P4

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde

Læs mere

Python programmering. Per Tøfting. MacFest

Python programmering. Per Tøfting. MacFest Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer

Læs mere

Lær Python dag 1 - modul 1

Lær Python dag 1 - modul 1 Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

Læs mere

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Sproget Limba. Til brug i G1 og K1. Dat1E 2003 Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

Læs mere

LØKKER METODER C S HISTORIE. Grundlæggende programmering Lektion 4

LØKKER METODER C S HISTORIE. Grundlæggende programmering Lektion 4 LØKKER METODER C S HISTORIE Grundlæggende programmering Lektion 4 1 LEKTIER UML struktur diagrammer om biler 2 OPERATORER Syntaks til at udføre forskellige beregninger og handlinger Booleans og hvorfor

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

Læs mere

Mircobit Kursus Lektion 3 (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.)

Mircobit Kursus Lektion 3   (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) Mircobit Kursus Lektion 3 http://microbit.org/ (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. Man skulle lave et tabel

Læs mere

#AlleKanKode. Lektion 2 - Konstanter og Variabler

#AlleKanKode. Lektion 2 - Konstanter og Variabler #AlleKanKode Lektion 2 - Konstanter og Variabler Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgaver

Læs mere

Kontrol-strukturer i PHP

Kontrol-strukturer i PHP Denne guide er oprindeligt udgivet på Eksperten.dk Kontrol-strukturer i PHP Denne artikel gennemgår kontrolstrukturer i PHP. 'if', 'switch', 'while' og 'for' bliver gennemgået. Den forudsætter lidt grundlæggende

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgaver

Læs mere

Erklæring af variabler. Void indstil (Indstiller starttidspunkt og måleinterval).

Erklæring af variabler. Void indstil (Indstiller starttidspunkt og måleinterval). Indholdsfortegnelse til Bilag 1.: Side 1: Include filer. Side 1: Erklæring af variabler. Side 2: Void indstil (Indstiller starttidspunkt og måleinterval). Side 3: Void indstil (Indstiller starttidspunkt

Læs mere

Lige siden den elektroniske computers opfindelse i slutningen af 1940, har det været muligt at få en computer til at beregne ting.

Lige siden den elektroniske computers opfindelse i slutningen af 1940, har det været muligt at få en computer til at beregne ting. Denne guide er oprindeligt udgivet på Eksperten.dk C++ Historie og Programmering - Del 1 Denne guide er til dig der altid har undret dig over hvordan du får en computer til at udføre specifikke opgaver.

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug

Læs mere

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003 Side 1 af 8 Dato: 14-05-2003 Til Sigurd Som aftalt vil jeg her fremsende vores program til vores 80C535 kit og display. Det gik jo ud på at vi skulle starte med at få den til at intialiserer displayet,

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4 DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Programmering C ved mst Termin Juni 117 Institution Uddannelse Fag og niveau Lærer Hold Erhvervsskolerne Aars hhx Programmering C Michael Stenner (mst) 2-3g16 pro Forløbsoversigt

Læs mere

16/04/12 50% 50% Waveform Chart Waveform Graph XY Graph Indicator Graph 33% 17% 88% 13%

16/04/12 50% 50% Waveform Chart Waveform Graph XY Graph Indicator Graph 33% 17% 88% 13% Samuel Alberg Thrysøe, PhD, PostDoc, Kontakt info: Email: sat@iha.dk, Tlf: +45 25533552 2 4. 5 Waveform Chart Waveform Graph XY Graph Indicator Graph 4. 33% Waveform Chart Waveform Graph XY Graph Indicator

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

Python 3 kursus lektion 1:

Python 3 kursus lektion 1: Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3 DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget

Læs mere

Online kursus: Programming with ANSI C

Online kursus: Programming with ANSI C Online kursus 365 dage DKK 1.999 Nr. 90198 P ekskl. moms Denne kursuspakke giver dig et bredt kendskab til sproget C, hvis standarder er specificeret af American National Standards Institute (ANSI). Kurserne

Læs mere

Mircobit Kursus Lektion 1

Mircobit Kursus Lektion 1 Mircobit Kursus Lektion 1 I denne lektie skal vi se nærmere på den lille mini computer kaldt microbit. Egentlig kræver det at man har en fysisk microbit men man kan også næsten lave det samme med den simulator

Læs mere

#AlleKanKode. Lektion 3 - Operatorer

#AlleKanKode. Lektion 3 - Operatorer #AlleKanKode Lektion 3 - Operatorer Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger osv. Andre vil

Læs mere

Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)

Mircobit Kursus Lektion 4   (Du skal her vælge Lets Code Og herefter Block Editor.) Mircobit Kursus Lektion 4 http://microbit.org/ (Du skal her vælge Lets Code Og herefter Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. I skulle lave et stop ur man kunne

Læs mere

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6

Læs mere

Noter til C# Programmering Iteration

Noter til C# Programmering Iteration Noter til C# Programmering Iteration Programflow Programmer udfører det meste af deres arbejde vha. forgrening og løkker. Løkker Mange programmeringsproblemer kan løses ved at gentage en handling på de

Læs mere

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at beskrive et forløb. Det kan fx være en microcontrollers programafvikling.

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at beskrive et forløb. Det kan fx være en microcontrollers programafvikling. Flowchart Et flowchart bruges til grafisk at beskrive et forløb. Det kan fx være en microcontrollers programafvikling. Der findes nogle gode programmer til at tegne flowcharts med, men de skal købes. Fx

Læs mere

Pointers. Programmering i C. 11. december Lektion 5. Eksempel: denne plads. Getting the address of a variable:

Pointers. Programmering i C. 11. december Lektion 5. Eksempel: denne plads. Getting the address of a variable: Programmering i C Lektion 5 11. december 2008 Pointers 1 Pointers 2 Referenceparametre 2 / 23 Husk: En variabel er en navngiven plads i computerens lager. En pointer er en pegepind der peger på denne plads.

Læs mere

Lektion 2. Grundlæggende programmering i VR

Lektion 2. Grundlæggende programmering i VR Lektion 2 Grundlæggende programmering i VR Plan for i dag Introduktion til Unity Vi laver vores første programmer Introduktion til C# Vi koder vores første af meget få ting uden Unity Behandling af data

Læs mere

Sammenlign og byt. Et eksempel på dokumentering af et program

Sammenlign og byt. Et eksempel på dokumentering af et program Sammenlign og byt Et eksempel på dokumentering af et program Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver

Læs mere

Mircobit Kursus Lektion 2

Mircobit Kursus Lektion 2 Mircobit Kursus Lektion 2 I denne lektie skal vi arbejde videre med lille mini computer kaldt microbit. Du kan finde Simulatoren & Programmet til micobit her: http://microbit.org/ (Du skal her vælge Lets

Læs mere

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode. Denne guide er oprindeligt udgivet på Eksperten.dk I gang med Python I denne artikel vil jeg forsøge at give et kort og hurtigt indblik i programmeringssproget Python, der desværre er alt for overset.

Læs mere

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning. Indhold Beregn rødder... 2 Beskrivelse af kærneproblemet... 2 Plan for brugerfladen for programmet... 3 Operationer på inddata... 4 Output - Beskrivelse af uddata... 4 Flowchart - programmets logiske opbygning/struktur...

Læs mere

Fra programmering til mikroprocessor

Fra programmering til mikroprocessor Programmering for begyndere Brug af Arduino Fra programmering til mikroprocessor EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Programmerings kursus Sidste gang (Introduktion)

Læs mere

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller.

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Flowchart Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Et godt program til at tegne flowcharts med er, EDGE-Diagrammer, eller Smartdraw.

Læs mere

C Programmering V1.37

C Programmering V1.37 Indholdsfortegnelse Indledning...3 1 I gang med C...5 1.2 Variabler...12 1.3 Intelligens...17 1.6 Afrunding...38 1.7 Opgaver...41 2 Grundbegreber...42 2.1 Blokke...42 2.2 Datatyper...47 2.3 Typekonvertering...49

Læs mere

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser 3/10/96 Seminaret den 26/10 vil omhandle den sidste fase af analysen og de første skridt i kodegenereringen. Det drejer sig om at finde betydningen af programmet, nu hvor leksikalsk og syntaktisk analyse

Læs mere

Crash Course i Programmering. HumTek, RUC

Crash Course i Programmering. HumTek, RUC Crash Course i Programmering HumTek, RUC Kursus mål At give en basal introduktion til programmering i sproget Processing At give et overblik over sprogets potentiale At have det sjovt :-) Kursus form Meget

Læs mere

Algoritmer og invarianter

Algoritmer og invarianter Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.

Læs mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

Læs mere

Videregående Programmering for Diplom-E Noter

Videregående Programmering for Diplom-E Noter Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Klassevariabler og klassemetoder Levetid for variabler og parametre Virkefeltsregler Projektopgave Kaninjagt Lommeregner (for MAT studerende) Klassevariabler og klassemetoder

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Under 'Microsoft Block Editor', klik 'New project' for at åbne block editor-værktøjet.

Under 'Microsoft Block Editor', klik 'New project' for at åbne block editor-værktøjet. 8 3. Nedtælling Nu skal du lave en nedtæller. Det er en god måde at lære variabler på og hvordan du skal kode micro:bit til at gøre dét, du vil have, at den skal vise. Du skal bruge: 1 x BBC micro:bit

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1 Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),

Læs mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

Læs mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler

Læs mere

Kapitel 4 Løkker i C#

Kapitel 4 Løkker i C# Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Skoleåret 2016/17 Institution Hansenberg Gymnasium Uddannelse Fag og niveau Lærer Hold htx Programmering,

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

10/04/ Front Panel 2. Block Diagram. 1. Front Panel 2. Block Diagram 80% 43% 20%

10/04/ Front Panel 2. Block Diagram. 1. Front Panel 2. Block Diagram 80% 43% 20% Samuel Alberg Thrysøe, PhD, PostDoc, Kontakt info: Email: sat@iha.dk, Tlf: +45 25533552 2 Front Panel Block Diagram 50% 50% 50% 80% 20% 50% Front Panel Block Diagram 43% 29% 5 29% 6 1 100% 0% Loop Tunnel

Læs mere

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007

Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007 Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Afrunding af OZ3VB's program Fra "almindelig C" til "microcontroller C" Lighederne

Læs mere

C++ Gratis PDF-udgave Forlaget Libris 1996-2004

C++ Gratis PDF-udgave Forlaget Libris 1996-2004 C++ Gratis PDF-udgave Forlaget Libris 1996-2004 Gratis PDF-udgave af C++ I 1996 udgav vi for første gang C++ af Kris Jamsa. Første udgave var på bogform, som dengang kostede kr. 228,-. I 1999 udgav vi

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Termin Juni 119 Institution Uddannelse Fag og niveau Lærer Hold Erhvervsskolerne Aars hhx Programmering B Patrick Bøgsted Sørensen (pbs) 2k18 Forløbsoversigt (4) Forløb 1 Forløb

Læs mere

Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner

Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner Forelæsning 4.1 Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner finden findalle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Afleveringsopgave

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Hvorfor & Hvordan lære Elever At programmere Arduinoer

Hvorfor & Hvordan lære Elever At programmere Arduinoer Hvorfor & Hvordan lære Elever At programmere Arduinoer Jens Dalsgaard Nielsen JDN / No.1 Teknologi konkurrencen IPADs, mobilos, HTC'er Medicentre JDN / No.2 IPAD, Iphone, HTC,... 1000 Mhz 8000000 kbyte

Læs mere

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens Programmering 1999 Forelæsning 3, tirsdag 7. september 1999 Aritmetiske og logiske operatorer, præcedens Den indbyggede klasse String: tegnstrenge Metoder i klasser Metoder: returtype eller void Metoder:

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

Læs mere

02101 Indledende Programmering Introduktion til Eclipse

02101 Indledende Programmering Introduktion til Eclipse 02101 Indledende Programmering Introduktion til Eclipse Version 2018 1 Introduktion I dette kursus lægger vi op til at man bruger det integrerede udviklingsmiljø Eclipse. Basalt set er et integreret udviklingsmiljø

Læs mere

Hvis du synes at det ligner græsk så fortvivl ikke, inden artiklen er omme vil du synes at det er logik for begyndere.

Hvis du synes at det ligner græsk så fortvivl ikke, inden artiklen er omme vil du synes at det er logik for begyndere. Afsnit 1 Med denne tutorial vil du kunne lære at programmere i C++, du kan af naturlige grunde ikke lære alt om C++ i en så kort artikel, men nok til at komme i gang. De programmer du vil lære er standard

Læs mere

Modern Concurrency Abstractions for C#

Modern Concurrency Abstractions for C# Modern Concurrency Abstractions for C# Nick Benton Luca Cardelli Cédric Fournet Presenter: Henrik Kragh-Hansen September 27, 2007 Motivation for concurrency Forbedring af concurrency Baggrundsinformation

Læs mere