6.1 Kompilering och lite grundläggande information

Storlek: px
Starta visningen från sidan:

Download "6.1 Kompilering och lite grundläggande information"

Transkript

1 6 Förhoppningsvis ska de C-konstruktioner som gås igenom här tillsammans med de exempelprogram som ges här och i andra delar av lab-pm vara tillräckliga för att ni ska kunna klara av laborationerna. Syftet är inte på något sätt att ge en heltäckande beskrivning av C eller ens en systematisk introduktion till språket. Den version av C som beskrivs här är traditionell Kernighan & Ritchie C. Det finns också en ANSI-standard för C där man har snyggat upp språket en del och lagt till några nya konstruktioner, men i detta lab-pm används traditionell C. 6.1 Kompilering och lite grundläggande information Kompilatorn startas med kommandot cc. För att t.ex. kompilera programmet foo.c och skapa den exekverbara filen foo skriver man: cc -o foo foo.c Alla C-program måste innehålla en funktion main där exekveringen startar. Vidare måste man se till att inkludera inkluderingsfiler för de bibliotek som man använder sig av. Följande är ett komplett C-program som kan kompileras och köras: #include <stdio.h> main() printf("concurrent Programming is fun!\n"); Programmet skriver ut ett meddelande på skärmen följt av ett radslutstecken. Funktionen printf, som används för utskriften, definieras i biblioteket stdio varför motsvarande inkluderingsfil stdio.h måste inkluderas. Parenteserna och som avgänsar funktionens kropp motsvarar begin respektive end i många andra språk. Sådana block kan nästlas och innehålla lokala variabeldeklarationer. Observera dock att funktioner inte får deklareras lokalt, vilket leder till att C-program får en flat struktur. Ytterligare en sak som bör påpekas är att C skiljer mellan stora och små bokstäver i nyckelord och identifierare. 6.2 Grundläggande variabeldeklarationer och konstantdefinitioner Variabler kan deklareras antingen lokalt i block eller globalt på toppnivån. Deklarationer skrivs i C med typen först och de deklarerade objekten efteråt. En deklaration av två heltalsvariabler respektive en teckenvariabel ser alltså ut som följer: int i, j; char ch; Det går också att initialisera variabler i samband med deklarationen: int i = 10, j = 20; char ch = a ; - 1 -

2 I (traditionell) C finns inte någon möjlighet att deklarera konstanter. Istället använder man makron vilkas förekomster i programtexten vid kompilering textuellt kommer att bytas ut mot makrots värde av en preprocessor innan själva C-kompilatorn tar vid. Nedanstående visar typisk definition och användning. Notera att man brukar skriva makron med stora bokstäver: #define SIZE 10 #define SPECIALCHAR a : if (i < SIZE && ch == SPECIALCHAR) Pekare Pekare är mycket viktiga i C och betydligt flexiblare än i många andra språk. C-pekare är t.ex. inte begränsade till att enbart referera till dynamiskt allokerade objekt, utan det är lätt skapa en pekare till en godtycklig variabel eller del av strukturerad variabel. Vidare kan vissa aritmetiska operationer utföras på pekare i C; en vanlig konstruktion är t.ex. att stega igenom en vektor med hjälp av en pekare som successivt får peka ut elementen i stället för att använda en indexvariabel. Två pekarvariabler, ip och cp, som kan lagra en pekare till ett heltal respektive till ett tecken, deklareras så här: int *ip; char *cp; Notera att variablerna ännu är oinitialiserade (d.v.s. inte pekar någonstans) i likhet med andra variabler som inte explicit initialiseras. Det går också bra att blanda deklarationer av variabler av bastypen och pekarvariabler. Observera placeringen av * : int i, j, *ip; char ch, *cp; De viktigaste operatorerna som hör ihop med pekare är & och *. & används för att plocka fram adressen till en variabel, d.v.s. &i representerar en pekare till innehållet i variabeln i. * gör tvärt om och utnyttjas för att komma åt det som en pekare pekar på. Följande är t.ex. ett omständligt sätt att tilldela 3 till i, givet deklarationerna ovan: ip = &i; *ip = 2; *ip = *ip + 1; Idén med den bakvända typnotationen vid deklaration av pekarvariabler ska nu förhoppningsvis vara klar: När * appliceras på ip så fås int. Alltså måste ip vara en pekare till heltal. Man får så att säga arbeta sig inifrån och ut för att kunna sluta sig till vilken typ variabeln har. Deklarationer fungerar genomgående på detta sätt i C. Som framgått ur det föregående är pekare i C typade och man kan därför inte blanda pekare av olika typer hur som helst. Ovan representerar t.ex. &i en heltalspekare eftersom i är ett heltal, så om man försöker tilldela &i till cp kommer kompilatorn att varna eftersom cp är en teckenpekarvariabel. C-kompilatorn håller också ordning på storleken av de element som en pekare av viss typ pekar på. Detta används för att göra aritmetik på pekare på ett vettigt sätt. Med deklarationerna ovan gäller t.ex. att (ip + 3) betecknar en heltalspekare som refererar till ett heltal som ligger - 2 -

3 tre heltal bortom det heltal som ip refererar till. Sådan pekararitmetik används ofta för att stega igenom vektorer. Det speciella pekarvärdet NULL betecknar en pekare som inte pekar någonstans alls. NULL är tilldelningskompatibel med alla pekartyper. 6.4 Vektorer och strängar Deklarationer av vektorer av heltal respektive tecken ser ut så här: int a[10]; char b[80], c[80]; Identifieraren a är nu namnet på ett utrymme som kan lagra tio stycken heltal, men i de allra flesta fall behandlar C a som en pekare till första elementet i utrymmet ifråga. Elementen adresseras som a[0], a[1],..., a[9] (undre indexgränsen är alltid 0 i C). Men eftersom a är en pekare, så hade man lika gärna kunnat adressera elementet a[3] som *(a+3)i enlighet med vad som sagts om pekararitmetik ovan. På samma sätt är b en pekare till ett utrymme som rymmer 80 tecken, b[0], b[1],..., b[79]. Detta har också konsekvenser när man tilldelar en vektor till en annan. Följande försök att tilldela innehållet i den vektor som b refererar till den vektor som c refererar till är felaktigt: c = b; /* FEL */ Jämför med att försöka tilldela ett heltal till ett annat. Vill man kopiera innehållet i b till c måste detta göras elementvis. Däremot går det bra att tilldela t.ex. b till en pekarvariabel cp deklarerad enligt ovan, vilket innebär att b och cp kommer att referera till samma minnesutrymme: b[2] = z ; cp = b; /* cp now points to array b.*/ a[9] = cp[2]; /* a[9] now contains z. */ *(cp+3) = x ; /* b[3] now contains x. */ När man skickar vektorer som parametrar till funktioner är det följaktligen bara adressen till (första elementet i) vektorn som skickas. Effekten blir alltså att en vektor alltid skickas som referensparameter, även om C ser det som att det är en pekare till vektorn som skickas över som en värdeparameter. Strängar representeras i C som vektorer av tecken. Variabeln b ovan kan alltså ses som en strängvariabel. Strängar i C avslutas alltid av tecken nummer noll, varför b rymmer strängar med en effektiv längd av upp till 79 tecken eftersom sluttecknet också måste få plats. 6.5 Poster Poster i C fungerar ungefär som poster i Pascal. Till skillnad från fallet med vektorer ovan är alltså variabler av posttyp riktiga variabler som verkligen innehåller posten, och inte bara en referens. Följande definierar en posttyp book, två variabler av denna typ, b1 och b2, samt en pekarvariabel bp som kan peka på poster av typen book: struct book char title[50], author[50]; int pages, price; float weight; b1, b2, *bp; - 3 -

4 Eftersom b1 och b2 är riktiga variabler, så är tilldelningen b1 = b2 i detta fall helt legal och kommer att kopiera innehållet i b2 till b1. När poster skickas som parametrar till (och returneras som resultat från) funktioner sker också kopiering, d.v.s. de skickas som värdeparametrar. Fälten i posten adresseras med punktnotation, vilket illustreras i följande exempel: b1.pages = 345; b1.price = 255; printf("title: %s.\n", b1.title); printf("price: %d.\n", b1.price); I enlighet med vad som sagts om vektorer ovan är b1.title och b2.author fortfarande bara pekare till respektive fält. Exemplet nedan visar hur man skapar en pekare till posten b1 och tilldelar denna till bp, samt hur adressering görs: bp = &b1; b2.price = (*bp).price; (*bp).weight = 123.4; Eftersom pekare till poster är vanligt förekommande, så finns ett förkortat skrivsätt för att komma åt fält i poster via en pekare: bp->weight = 123.4; printf("%d\n", pb->pages); 6.6 Funktionsdefinitioner Funktioner är de enda programenheter som finns i C; egentliga procedurer saknas. Man kan dock alltid behandla en funktion som om den vore en procedur genom att helt enkelt låta bli att ta hand om returvärdet. Man kan också explicit deklarera att en funktion är tänkt att användas som en procedur genom att låta den ha typen void, se nedan. Följande är en definition av en heltalsfunktion med tre parametrar: int foo(a, b, s) int a, b; char s[]; printf("%s\n", s); return 10 * a + b; Notera hur parametern s deklareras för att kunna ta emot en referens till en vektor. För funktionsargument är detta skrivsätt ekvivalent med att explicit deklarera parametern till att vara en pekare, d.v.s. i detta fall hade s lika gärna kunnat deklareras genom char *s. Funktion foo skulle kunna anropas enligt följande: x = foo(1, i, "Hej!"); där x och i är heltalsvariabler. I C, som vi redan har sett exempel på, skickas alla argument som värdeparametrar. Det är alltså värdet 1 och innehållet i i som skickas över och kopieras in i de formella parametrarna a och b. Strängar ses som teckenvektorer och representeras av en pekare till första tecknet. Det är denna pekare som kopieras in i s, i enlighet med hur C behandlar vektorer i allmänhet

5 Vill man inte returnera något värde från en funktion (d.v.s. om man vill ha en procedur) låter man funktionen ha typen void: void fie() /* Do something. */ Denna funktion tar alltså inga parametrar, returnerar inget resultat och anropas enligt: fie(); Observera att parenteserna måste vara med vid alla funktionsanrop, även om funktionen inte tar några parametrar! Det är ett mycket vanligt fel att glömma detta och kompilatorn kommer då inte att varna eller att ge något felmeddelande eftersom fie i sig själv är en pekare till funktionen, varför fie; är en laglig sats även om den inte utför något (ett godtyckligt uttryck blir en sats bara det följs av semikolon). Eftersom funktionsnamn ses som pekare till funktioner är det mycket enkelt att skicka funktioner som parametrar. Funktionen apply nedan tar en pekare till en heltalsfunktion som första argument och applicerar den utpekade funktionen på det andra argumentet. Notera likheten mellan hur funktionsparametern deklareras och dess användning: int foo(x) int x; return 2*x; int apply(f, x) int (*f)(), x; return (*f)(x); main() printf("%d\n", apply(foo, 10)); Slutligen ett exempel på hur man kan ordna så att man får utparametrar. Som tidigare nämnts passas ju alla parametrar som värdeparametrar i C, varför vi explicit måste skicka en pekare till den variabel i vilken vi vill ha resultatet, om vi vill ha en utparameter: void fum(p) int *p; *p = 10; fum anropas sedan enligt: fum(&i); där i är en heltalsvariabel. Detta är en mycket vanlig användning för operatorn &. Efter anropet har i värdet

6 6.7 Typkonverteringar Typkonverteringar används ganska flitigt i C, i synnerhet i samband med pekare. Typkonvertering indikeras genom att namnet på den typ som man vill konvertera ett uttryck till skrivs inom parentes framför uttrycket. Konvertering av heltal till ett dubbelprecisionsflyttal ser t.ex. ut så här (x antas vara av typen double): x = (double)(1+3); I många fall sker dessutom implicita typkonverteringar enligt ganska komplicerade regler. Funktionsargument av flyttalstyp konverteras t.ex. till dubbelprecisionsflyttal vid funktionsanrop. 6.8 Operatorer I denna sektion beskrivs några operatorer som kan vara bra att känna till. C är mycket rikt på operatorer varför endast de viktigaste tas med här. I C ser man tilldelning som en operator. Tilldelningsoperatorn skrivs = och värdet av ett tilldelningsuttryck är värdet på uttrycket till höger om likhetstecknet. Observera att likhetsoperatorn skrivs ==. Ett av de allra vanligaste misstagen när man börjar att programmera i C (om man t.ex. är van vid Pascal) är att man gör en tilldelning fast man tänkte testa likhet. Eftersom tilldelning är ett uttryck, kan man göra tilldelningar inne i andra uttryck för att få kompaktare källkod. Till exempel kan satserna: x = foo(7); if (x == 0) /* Do something */ kompaktare formuleras som: if ((x = foo(7)) == 0) /* Do something */ vilket är ett mycket vanligt sätt att uttrycka sig på i C. Nedan följer en lista över några C-operatorer i avtagande prioritetsording (varje rad motsvarar dock inte nödvändigtvis en egen prioritetsnivå). Några av dem har redan behandlats ovan. () []. -> Funktionsanrop, vektor- och postadressering Öka/minska variabel med 1, t.ex. i++ är detsamma som i=i+1;. & * - Unärt minus. Adressoperatorn och derefereringsoperatorn.! Logisk negation (true och false representeras av 1 respektive 0 i C, men godtyckligt tal skiljt från 0 ses som true av de logiska operatorerna). * / % Multiplikation, division och modulo. + - Addition och subtraktion

7 < <= >= > Relationsoperatorerna. ==!= Lika med respektive skiljt ifrån. && Logiskt OCH, kortsluten evaluering. Logiskt ELLER, kortsluten evaluering. = += Tilldelningsoperatorn och ökningsoperatorn. 6.9 Satser och styrstrukturer Nedan följer ett antal exempel på satser i C. Syntaxen ska förhoppningsvis klart framgå av dessa exempel. Det första exemplet är den sammansatta satsen: /* Satser */ Det går också bra att ha variabeldeklarationer i en sammansatt sats, som då kallas för block. Detta kan vara bekvämt om man behöver en temporär variabel endast lokalt i ett block. /* Variabeldeklarationer */ /* Satser */ Sammansatta satser och block kan nästlas efter behag. If-satsen och switch-satsen exemplifieras i det följande. Notera att både else-grenen och default-klausulen kan uteslutas: if (x == 5) /* Do something. */ else /* Do something else. */ switch (i) case 0: /* Do something. */ break;/* Must have break here or will fall through to next case. */ case 1: /* Do something else. */ break; case 5: case 6: case 7: /* Do something different if i = 5, 6, or 7. */ break; default: /* Do this if nothing else apply. */ break; Det följande är ett exempel på en while-loop: - 7 -

8 i = 0; while (i < 10) printf("i = %d\n", i); i++; Ovanstående är precis ekvivalent med följande for-loop: for (i = 0; i < 10; i++) printf("i = %d\n", i); Man kan även ha testvillkoret sist så att loopen alltid utförs minst en gång: do /* Do something. */ while (i <= 10); 6.10 In- och utmatning Vi har redan sett exempel på utmatning m.h.a. funktionen printf från biblioteket stdio ett antal gånger. Som första argument tar printf en formatsträng som innehåller den text som ska skrivas ut samt eventuellt ett antal omvandlingsspecifikationer som indikerar var i strängen och i vilket format resterande parametrar ska skrivas ut. Funktionen printf tar alltså ett variabelt antal argument och man måste själv se till att argumenten till typ och antal stämmer överens med vad som indikeras i formatsträngen. Annars så kan intressanta fenomen uppstå. Funktionen är mycket flexibel och ett otal olika effekter kan åstadkommas med olika typer av omvandlingsspecifikationer. De viktigaste är dock: %d Motsvarande argument är ett heltal. %c Argumentet är ett tecken. %f Argumentet är ett dubbelprecisionsflyttal. %s Argumentet är en sträng, d.v.s. pekare till en teckenvektor terminerad med tecknet \0. %% Skriv ut ett %-tecken. Ett exempel kan kanske vara klargörande: printf("integer %d, float %f, string %s.\n", 42, 3.14, "Hello"); När denna sats exekveras kommer följande att skrivas ut, följt av ett radslutstecken: Integer 42, float , string Hello. Funktionen scanf från stdio.h kan användas för inläsning. Den påminner en del om printf och är i likhet med denna mycket flexibel. Två kompletta exempelprogram ges nedan för att illustrera hur scanf typiskt kan användas. Observera att förutom stdio.h så inkluderas filen stddef.h. Denna innehåller ett antal standarddefinitioner som ofta är bra att ha, t.ex. definitionen av NULL, men i programmen nedan hade den egentligen inte behövt inkluderas

9 Följande program läser ord separerade med en eller flera blanka och radframmatningar från standard input och skriver dem på standard output tills filslut signaleras (d.v.s. tills ctrl-d trycks först på en rad om inmatning sker från terminalen): #include <stddef.h> #include <stdio.h> main() char s[80]; while (scanf("%s", s)!= EOF) printf("word read: %s\n", s); /* Note: s is pointer to char array. */ Följande program läser heltal från standard input och skriver dem på standard output tills -1 har lästs. Notera hur en pekare till en heltalsvariabel skickas till scanf: #include <stddef.h> #include <stdio.h> main() int i; do scanf("%d", &i); /* Note: Must pass pointer to i, hence &i. */ printf("i = %d\n", i); while (i >= 0); - 9 -

Introduktion C-programmering

Introduktion C-programmering Introduktion C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. 2 C Standarder

Läs mer

Föreläsning 6 pekare och pekare tillsammans med arrayer

Föreläsning 6 pekare och pekare tillsammans med arrayer Föreläsning 6 pekare och pekare tillsammans med arrayer Vi ska nu undersöka vad pekare egentligen är och hur de relaterar till arrayer. Det är ett centralt tema i C-programmering. Vi följer boken och går

Läs mer

C-programmering, föreläsning 1 Jesper Wilhelmsson

C-programmering, föreläsning 1 Jesper Wilhelmsson C-programmering, föreläsning 1 Jesper Wilhelmsson Introduktion till C Variabler, Typer, Konstanter Operatorer Villkorliga satser if-else, switch Loopar for, while, do... while Inmatning och utmatning stdin

Läs mer

Poster ( structar ) Postdeklarationer

Poster ( structar ) Postdeklarationer Poster ( structar ) Exempel på en postdeklaration: struct person { int id; char namn[20]; int vikt, skonr; p1, p2; Detta definierar två variabler p1 och p2 som poster med termerna id, namn, vikt och skonr.

Läs mer

C-programmering, föreläsning 2 Jesper Wilhelmsson

C-programmering, föreläsning 2 Jesper Wilhelmsson C-programmering, föreläsning 2 Jesper Wilhelmsson Funktioner void Globala och lokala variabler, scope static Arrayer Strängar ASCII, ANSI Argument till main Slumptal Funktioner Nu är det dags att börja

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Lathund. Pacific C för MS-DOS

Lathund. Pacific C för MS-DOS Lathund Pacific C för MS-DOS Revision 2 2003-08-28 Anders Arvidsson Karl-Johan Krantz Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 PACIFIC

Läs mer

Beräkningsvetenskap föreläsning 2

Beräkningsvetenskap föreläsning 2 Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

Planering Programmering grundkurs HI1024 HT 2015 - data

Planering Programmering grundkurs HI1024 HT 2015 - data Planering Programmering grundkurs HI1024 HT 2015 - data Föreläsning V36 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

Tentamen *:58/ID100V Programmering i C Exempel 3

Tentamen *:58/ID100V Programmering i C Exempel 3 DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst

Läs mer

Variabler använder man sig av för att under programkörningen spara data eller information i primärminnet. En variabel har typ, namn och värde.

Variabler använder man sig av för att under programkörningen spara data eller information i primärminnet. En variabel har typ, namn och värde. 2 Enkla datatyper Att skriva ett program innebär att man ska tillverka en plan för att bearbeta data eller information på något sätt Programmering handlar om data och bearbetning av data Data kan vara

Läs mer

Lektion 4. Datateknik A, Java I, 5 poäng

Lektion 4. Datateknik A, Java I, 5 poäng Datateknik A, Syfte: Att lära sig använda de primitiva typerna och olika operatorer för att bygga upp uttryck. Att använda kontrollflödeskonstruktioner för att styra flödet i programmet. Att stifta bekantskap

Läs mer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded

Läs mer

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser

Läs mer

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera Föreläsning 2 Operatorer Tilldelning Kodblock if satsen Logiska uttryck Att programmera En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar

Läs mer

C++ Lektion Tecken och teckenfält

C++ Lektion Tecken och teckenfält C++ Lektion Tecken och teckenfält Teori Hittills har alla variabler du jobbat med varit olika typer av tal, men du kan också deklarera variabler som håller bokstavstecken. Denna variabeltyp kallas för

Läs mer

C++ Slumptalsfunktioner + switch-satsen

C++ Slumptalsfunktioner + switch-satsen C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.

Läs mer

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Omtentamen i Programmering C, Fri, Kväll, 050108.

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Omtentamen i Programmering C, Fri, Kväll, 050108. 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Denna tenta kommer att vara färdigrättad Fr 14/1 och kan då hämtas på mitt tjänsterum,

Läs mer

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,

Läs mer

3.3 for-satsen. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Föreläsning 3

3.3 for-satsen. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Föreläsning 3 Föreläsning 3 3.3 for-satsen I programmering talar man om tre sätt på vilket ett programflöde kan vara beskaffat: 1. Saker kan hända efter varandra, i sekvens. 2. Flödet kan innebära att ett val görs,

Läs mer

Instuderingsfrågor, del D

Instuderingsfrågor, del D Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt

Läs mer

Översikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition):

Översikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition): Översikt Motivering Syntax och semantik Imperativa språkets byggstenar och Python Datatyper Tilldelning och uttryck Kontrollstrukturer (på satsnivå) Subprogram Relaterade avsnitt: PL 3.1-3.2, 5.1-5.3,

Läs mer

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg Programmering i C En tuff kurs på halvfart för nybörjare i programmering Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg 1 Idag Kursupplägg Satser

Läs mer

Innehållsförteckning

Innehållsförteckning Innehållsförteckning Ämne Sida Program Hur ska man lära sig programmering med Java? 11 Kapitel 1 Introduktion till programmering 13 1.1 Vad är programmering? 14 1.2 Vad är en algoritm? 16 1.3 Olika sätt

Läs mer

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++ Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 01-015 L0 - Grunder i C++ Det här är den första lektionen i kursen Introduktion till algoritmer vid Matematikgymnasiet, läsåret

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1 Introduktion till Visual Basic 6.0 Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.

Läs mer

Användar- och systemdokumentation

Användar- och systemdokumentation Användar- och systemdokumentation Linköpings universitet Examinator:, IDA marme647@student.liu.se Utskriftsdatum: Innehållsförteckning Inledning... 3 Användarhandledning... 4 Systemkrav och installation...4

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

Objektorienterad programmering Föreläsning 4

Objektorienterad programmering Föreläsning 4 Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion

Läs mer

Lite logik. Kap 6: Sid 2

Lite logik. Kap 6: Sid 2 6 Loopar och val Lite logik Val mellan två alternativ Val mellan flera alternativ Sammansatta villkor Boolska variabler Jämför strängar While-loopar Do-loopar For-loopar Kortformer Kap 6: Sid 2 Lite logik

Läs mer

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»

Läs mer

En kurs i C-programmering

En kurs i C-programmering En kurs i C-programmering Föreläsningsanteckningar från AD1/PK2 VT06 Jesper Wilhelmsson March 11, 2006 2 Innehåll 1 Introduktion till C 5 1.1 Bakgrund......................................... 5 1.2 Variabler,

Läs mer

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM. JavaScript del1 Syftet med detta häfte är att sammanfatta det viktigaste i JavaScript så kort och koncist som möjligt men ändå tillräckligt omfattande för att ge god kännedom om en av de vanligaste teknikerna

Läs mer

Heltal(int) Programmeringsteknik 54

Heltal(int) Programmeringsteknik 54 Heltal(int) Datatypen int används tillsammans med char, short int och long int för att lagra heltal i C. Matematisk sett finns det oändligt många heltal. På en dator måste det införas en begränsning på

Läs mer

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33 Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation

Läs mer

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 3. Programmering, C och programmeringsmiljö Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator

Läs mer

Nedan skapar vi klassen Person innehållande datamedlemmar för förnamn, efternamn, ålder, längd och vikt:

Nedan skapar vi klassen Person innehållande datamedlemmar för förnamn, efternamn, ålder, längd och vikt: 8. Objektorientering Skälet till att C++ är ett av de mest använda programspråken är att det är objektorienterat. Detta bygger vidare på begreppet struct (ursprungligen från språket C som inte är objektorienterat),

Läs mer

Exempelsamling Assemblerprogrammering

Exempelsamling Assemblerprogrammering Exempelsamling Assemblerprogrammering I uppgifterna nedan utgå från följande programskelett: #include.data var1:.word 12 var2:.word 19 sum: prod:.float 0.set noreorder.text.globl start.ent start

Läs mer

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser // En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa

Läs mer

Recap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen.

Recap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen. Programmering Sommarkurs 2007 www.hh.se/staff/vero/programmering Verónica Gaspes IDE-sektionen Juni 14 Utkast 1 Recap 2 Mera om nya typer 3 Kort 4 Fält Recap Man kan ge namn till typer. Vi undersökte enum

Läs mer

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer Föreläsning 4 Metodanrop switch-slingor Rekursiva metoder Repetition av de första föreläsningarna Inför seminariet Nästa föreläsning Metodanrop - primitiva typer Vid metodanrop kopieras värdet av en variabel

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 8 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. .0.0 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6 poäng Denna tentamen

Läs mer

Programmering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT 2013 1 / 26

Programmering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT 2013 1 / 26 Programmering i C++ EDA623 Mer om klasser EDA623 (Föreläsning 6) HT 2013 1 / 26 Mer om klasser Innehåll Konstanta objekt Statiska medlemmar Pekaren this Vänner (friends) Överlagring av operatorer EDA623

Läs mer

Lektion 1 Introduktion till DrJava och Java

Lektion 1 Introduktion till DrJava och Java Lektion 1 Introduktion till Målsättning med lektionen: Bekanta er med programmet DrJava som ni skall använda under kursen för att skriva och köra javaprogram Hur man använder variabler, aritmetik och matematiska

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

Läs mer

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i

Läs mer

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen. TT Kapitel 3. Husdjur & Fisk Javaklasser Translation by Leif Lourié Java program består av klasser som beskriver saker (objekt) som finns på riktigt. Även om det finns många olika sätt att skriva program

Läs mer

1 Datorer och program

1 Datorer och program 1 Datorer och program Idag är datorn ett av de viktigaste och vanligaste verktygen i vårt samhälle. På de flesta arbetsplatser finns det idag datorer. Vad använder man datorerna till? Vad gör en dator?

Läs mer

HI1024 Programmering, grundkurs TEN2 2014-03-13

HI1024 Programmering, grundkurs TEN2 2014-03-13 HI1024 Programmering, grundkurs TEN2 2014-03-13 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort om klasser och objekt En introduktion till GUI-programmering i Java Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva

Läs mer

Föreläsning 4: for, while, do-while

Föreläsning 4: for, while, do-while TDA 545: Objektorienterad programmering Föreläsning 4: for, while, do-while Magnus Myréen Chalmers, läsperiod 1, 2014-2015 Evaluering Det är viktigt att ni kan se hur kod körs. ( se = simulera på papper,

Läs mer

7 Programmeringsteknik

7 Programmeringsteknik 7 Programmeringsteknik Att skriva ett program innebär att man skriver en plan för hur bearbetningen av data ska utföras. Vilken typ av data och vilken typ av bearbetning, som ska göras, ska vara bestämt

Läs mer

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto Objekt och klasser - Introduktion Objekt Ð Begreppet objekt Ð Hur klasser anvšnds fšr att skapa objekt Ð Fšr-definierade klasser Ð Metoder och parameteršverfšring Ð Definiera klasser Ð Modifierare Ð Statiska

Läs mer

Modul 3 - Modularisering

Modul 3 - Modularisering Modul 3 Modularisering MODULARISERING 2 FUNKTIONER 3 Funktionsdefinition 4 Funktionsanrop 5 Funktionskroppen 5 Slumpa funktionen rand() 6 Värdeanrop 6 Variablers räckvidd 8 Referensanrop 8 DELPROGRAM 10

Läs mer

Språket Python - Del 1 Grundkurs i programmering med Python

Språket Python - Del 1 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR

Läs mer

Laboration A Objektsamlingar

Laboration A Objektsamlingar Laboration A Objektsamlingar Avsikten med laborationen är att du ska träna på att använda ett par objektsamlingar. Uppgift 1 Titta genom föreläsningsunderlaget DA129AFAHT07.pdf och testkör exemplen (se

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 7 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Räkna med C# Inledande programmering med C# (1DV402)

Räkna med C# Inledande programmering med C# (1DV402) Räkna med C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket

Läs mer

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna. 1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

Läs mer

A-PDF MERGER DEMO ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK. Gunnar Joki Oru-Te-2005-41. Programmering C, 5p

A-PDF MERGER DEMO ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK. Gunnar Joki Oru-Te-2005-41. Programmering C, 5p A-PDF MERGER DEMO ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Gunnar Joki Oru-Te-2005-41 Programmering C, 5p Innehållsförteckning 1 Datorer och program 1 1.1 Program 2 1.2 Datorns funktion 3 1.3 Minnen

Läs mer

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 2 Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade

Läs mer

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-04-18 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson

Läs mer

Webbprogrammering. Introduktion till PHP. Christian Ohlsson

Webbprogrammering. Introduktion till PHP. Christian Ohlsson Webbprogrammering Introduktion till PHP 1 Hur fungerar PHP PHP betyder PHP Hypertext Processor Tillhandahåller server-side scripting Är ett interpreterande språk Du skriver ett antal uttryck Webbservern

Läs mer

7 GRUNDERNA I PROGRAMMERING

7 GRUNDERNA I PROGRAMMERING Grunderna i programmering 7 GRUNDERNA I PROGRAMMERING Detta kapitel är bokens största kapitel och kanske det viktigaste. Vi kommer här att gå igenom grunderna för sekventiell programmering. Det vi går

Läs mer

PROV. 10 Uppräknade datatyper

PROV. 10 Uppräknade datatyper 10 10.1 10.2 Definition 10.3 Användning och regler 10.4 switch-satsen 10.5 Iteration över samtliga värden 10.6 Instansvariabler och instanstjänster 10.7 Värdespecifika implementationer 10.1 Hur ser vi

Läs mer

Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga P4118) Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se

Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga P4118) Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/ht12 Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga P4118)

Läs mer

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner

Läs mer

Systemnära programmering 2012-11-05. Tentamen. Systemnära programmering, 7.5hp 5 november 2012

Systemnära programmering 2012-11-05. Tentamen. Systemnära programmering, 7.5hp 5 november 2012 Tentamen Systemnära programmering, 7.5hp 5 november 2012 Skrivtid: 9 13 Hjälpmedel: EN av följande böcker Bilting & Skansholm: Vägen till C ELLER J.R. Hanly & E.B. Koffman: C Program Design for Engineers

Läs mer

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 Pelle Evensen, Daniel Wetterbro 5 november 2009 Sammanfattning Denna vecka ska vi titta på abstrakta klasser kontra interface,

Läs mer

Laboration: Grunderna i MATLAB

Laboration: Grunderna i MATLAB Laboration: Grunderna i MATLAB 25 augusti 2005 Grunderna i MATLAB Vad är MATLAB? MATLAB är ett interaktivt program för vetenskapliga beräkningar. Som användare ger du enkla kommandon och MATLAB levererar

Läs mer

15-1. MONITOR IT-utbildning

15-1. MONITOR IT-utbildning Sortering 15-1 Sortering I detta kapitel skall vi ta en titt på hur vi kan använda sorteringsprogrammet från ett COBOL-program, s.k. internsortering. 15-2 Sortering 15-3 Sortering Vid sortering så finns

Läs mer

Ett exempel som illustration till Laboration 1

Ett exempel som illustration till Laboration 1 Ett exempel som illustration till Laboration 1 Filen java_average_points.zip innehåller Java-koden till exemplet. Programmets avsikt enligt kravspecifikationen Användaren matar in poäng på en tentamen

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering v. 1.12-2007-02-10 Mittuniversitetet Institutionen för Informationsteknologi och medier Datateknik Innehållsförteckning 1 Inledning...4 2 Språket C++...5 2.1 Valet av språket

Läs mer

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1 Java Sida 1 av 1 Java Mål och Syfte Målet med denna kurs i Java är att du direkt efteråt ska kunna börja utveckla dina första Javaapplikationer. Kursen ger dig många konkreta exempel på hur detta effektiva

Läs mer

kind spelling Scanning

kind spelling Scanning sats terminal Kompilatorteknik 2015 källprogram! Exempel program let var v : integer; const t ~ 3 in v := v + t kind spelling Scanning LET let föreläsningsfilmer Scannerns eller den lexikala analysatorns

Läs mer

#include #include char LEFT,RIGHT,MOTORHASTIGHET;

#include <pic.h> #include <sys.h> char LEFT,RIGHT,MOTORHASTIGHET; Att avlusa en rad Assembler tar lika lång tid som att avlusa en rad C. Att skriva i C gör att man är utlämnad till kompilatorns sätt att göra assembler koden. Assembler ger fullständig kontroll över tider.

Läs mer

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat F1: Introduktion, Matlabrepetition (kap. 1 2) Gemensam intro Kursinnehåll Varför programmera? Egenskaper hos Matlab Kommando-, redigerings-, arbetsplats-, tabell-, guide- och hjälpfönster, kommando-, funktions-,

Läs mer

PROGRAMMERING-JAVA TENTAMINA

PROGRAMMERING-JAVA TENTAMINA PROGRAMMERING-JAVA TENTAMINA Nicolina Månsson 2010-08-16 (Kontaktperson Nicolina Månsson, tel. 0768-530640) Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift

Läs mer

Lärobok Programmering 1 (C++) Nybörjarprogrammering

Lärobok Programmering 1 (C++) Nybörjarprogrammering Lärobok Programmering 1 (C++) Nybörjarprogrammering En enkel start på din inlärning av den sköna programmeringskonsten. I boken arbetar vi med C++, men boken innehåller mycket generell kunskap. morgan.augustsson

Läs mer

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten? Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

2 INNEHÅLLSFÖRTECKNING

2 INNEHÅLLSFÖRTECKNING Innehållsförteckning 2 INNEHÅLLSFÖRTECKNING FÖRLAGETS FÖRORD... 1 1 Författarens förord... 2 2 Innehållsförteckning... 3 3 Ämnesplan och kursplan... 11 Ämnesplan Programmering... 11 Ämnets syfte... 11

Läs mer

Programmering av LEGO NXT robot Laborationsrapport för programering av robot för att följa svartmarkerad linje på maken

Programmering av LEGO NXT robot Laborationsrapport för programering av robot för att följa svartmarkerad linje på maken KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av LEGO NXT robot Laborationsrapport för programering av robot för att följa svartmarkerad linje på maken Hannes Rabo 2015-08-30 hrabo@kth.se Introduktionskurs

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

Malmö högskola 2007/2008 Teknik och samhälle Laboration 9 Avsikten med denna laboration är att du ska jobba vidare med klasser. Uppgifterna går ut på att skriva metoder och att skriva konstruktorer. Laborationen bygger vidare på laboration 8. Skapa

Läs mer

Kort om programmering i Matlab

Kort om programmering i Matlab CTH/GU 25/26 Matematiska vetenskaper Kort om programmering i Matlab Inledning Redan första tillfället gjorde ni ett litet program. Ni skrev ett script eller en skriptfil som beräknade summan 5 i 2 = 2

Läs mer

Erlang. Programspråk 5DV086. Sebastian Backstad

Erlang. Programspråk 5DV086. Sebastian Backstad Erlang Programspråk 5DV086 Sebastian Backstad Love Engman Joel Viklund Christer Jakobsson Petter Johansson c11sbd c11len c11jvd dv12cjn oi12pjn \_(ツ)_/ 1 Innehållsförteckning Inledning 3 Om Erlang 4 Syntax

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

PHP. Dynamiska webbsidor

PHP. Dynamiska webbsidor PHP Dynamiska webbsidor WEBBPROGRAMMERING PÅ SERVERSIDAN DB server web browser client client script HTTP Request (get, post) HTTP Response (HTML, CSS, JS) web server server script JS PHP file (txt, xml,

Läs mer

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer. Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language

Läs mer

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 1 2 - Block, räckvidd Dagens föreläsning Programmering i Lisp - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch

Läs mer

Innehåll. JavaScript - Grundkurs. Vad är JavaScript? Vad är JavaScript? Vad behövs? Lite historia

Innehåll. JavaScript - Grundkurs. Vad är JavaScript? Vad är JavaScript? Vad behövs? Lite historia JavaScript - Grundkurs Mahmud Al Hakim mahmud@dynamicos.se www.dynamicos.se www.webbacademy.se Innehåll Introduktion till JavaScript JavaScript i HTML-dokument Lite om DOM (Document Object Model) Händelser

Läs mer

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är

Läs mer

M7005 Plc programmering

M7005 Plc programmering Matematikföretaget jz 120309/150412/SJn www. M7005.metem.se M7005 Plc programmering M7005 Plc programmering 1 (18) Matematikf öretaget jz (Sv erker Johansson) är under inga omständigheter ansvarigt för

Läs mer

Saker du ska kunna Föreläsning 13 & 14

Saker du ska kunna Föreläsning 13 & 14 Saker du ska kunna Föreläsning 13 & 14 LISTOR Ta bort element från en vektor Både sorterad och osorterad Söka upp element i en vektor Linjärsökning räcker (jag har även visat binärsökning) Registrering

Läs mer