Hemtentamen. HI1024 Programmering, grundkurs, 8.0 hp, KTH STH, hösten 2012

Storlek: px
Starta visningen från sidan:

Download "Hemtentamen. HI1024 Programmering, grundkurs, 8.0 hp, KTH STH, hösten 2012"

Transkript

1 Hemtentamen Kursen har tre moment, LAB1, laborationerna, TEN1, den teoretiska tentan och TEN2. TEN2 består av två delar, dels en kontrollskrivning och en hemtenta. Detta dokument beskriver hemtentan. Man ska lösa hemtentamen självständigt (den kommer att plagiatkontrolleras) och det man lämnar in ska vara en fil som heter display.c. Detta ska vara ett C-program som inkluderar ett par bibliotek som kommer att ges, dessa bibliotek är dynmathfunc och dispunit. Givetvis kommer fler bibliotek att behövas, bland annat grafikbiblioteket SDL. Biblioteket dynmathfunc ordnar en möjlighet att i C, på NewTinyDebian, skriva in ett uttryck som kan definiera en matematisk funktion som sedan skapas i C. Här används så kallade dynamiskt laddade bibliotek och de exakta tekniska detaljerna behöver ni inte förstå i denna kurs. Ni kan bara använda er av den möjligheten. Med biblioteket dispunit kan man hantera funktionsuttryck tillsammans med representationer av intervall där de tillhörande funktionerna ska ritas ut. Det övergripande målet med hemtentan är att skapa ett program som kan rita ut en graf hörande till en matematisk funktion över ett visst intervall. För högre betyg ska vi också beräkna ett ungefärligt värde på arean under funktionsgrafen, alltså integralen av funktionen över det givna intervallet. För högsta betyget ska vi också introducera en möjlighet att byta perspektiv genom att zooma och flytta blickpunkten till andra intervall detta kommer att innebära att ni på egen hand får sätta er in i så kallad händelsehantering i SDL. Detta är dock för högsta betyget. Biblioteken dispunit och dynmathfunc är givna på kursens webbsida. Biblioteket SDL är förinstallerat på NewTinyDebian. Vidare är också ett skelettprogram givet som visar hur man får igång grafiken på NewTinyDebian. Ni ska bygga på dessa program och skriva ett särskilt program som heter display som ska skrivas som ett program som man kör från kommandoprompten. Programmet ska ta ett argument som ska vara en binärfil baserad på följande struct: struct dispunit double a, b, height; double gridlength; char functext[100]; ; Här är a och b intervallets gränser, height är den höjd som grafen ritas ut på, gridlength är hur långt isär två rutnätslinjer ska vara och strängen functext innehåller uttrycket som definerar den funktion som ska ritas ut. Om vi vill rita ut funktionen f(x) = sin(x) i intervallet 0 till 1 får alltså a värdet 0, b värdet 1 och strängen functext innehåller då sin(x). Dessa data ska lagras i en binärfil av ett program som ni också får givet, det heter install_du och skapar en binär fil med det angivna formatet. Programmet som ni ska skriva (som heter display) ska sedan ta ett filnamn som argument och då förvänta sig att filen är en binärfil med det föreskrivna formatet. Ett anrop till display skulle då kunna se ut så här: $ display my_du, där my_du är filnamnet. Då ska ett nytt fönster öppnas som ger en bild av funktionen. Detta ger betyg E. För högre betyg (C) ska integralen beräknas och för högsta betyget (A) ska man kunna zooma och byta perspektiv i grafen och styra detta genom piltangenter, för att flytta sig åt höger och vänster i bilden respektive upp och ner. Med +-tangenten zoomar man in i bilden och med -tangenten zoomar man ut ur bilden. Redovisning av detta sker under tentamensveckan och då ska man ha lämnat in programmet i plagiatkontrollen och vara redo att köra programmet. Då kommer andra binärfiler att presenteras och de ska ge ett korrekt resultat vid körningen av programmet. Givetvis ska vi även diskutera igenom programmets upplägg och andra aspekter. Redovisning i par som vanligt. Dock ingen tidsbokning, tiderna bestäms av skolan och anslås på KTH-Social då kontrollskrivningen är rättad. johnnyp@kth.se Sidan 1 av 7

2 De olika biblioteken Det är tre nya bibliotek som ska användas, tre små som KTH tillhandahåller (dynmathfunc och dispunit och draw (tillsammans med sdl_demo)) och ett stort som är skrivet av Sam Lantinga m.fl. som heter SDL, Simple Direct Media Layer, som möjliggör tillgång till datorns grafik och händelsehantering. (Man behöver inte använda händelsehanteringen för betygen E och C.) dispunit Namnet på biblioteket dispunit kan utläsas display unit, alltså element som beskriver en display, alltså vad som ska visas. Det engelska ordet display betyder visa eller visningsenhet. Med display unit menar vi då alltså en sak som kan visas. Den består, som nämnt ovan av en struct som innehåller intervallgränser (a och b) och en text som beskriver en funktion och det som ska visas är en bild av grafen hörande till funktionen utritad i det intervall som bestäms av gränserna a och b. (Ovan gavs exemplet f(x) = sin(x) med a = 0 och b = 1.) Det enda som biblioteket egentligen gör är att förpacka dessa data i en struct och ger möjlighet att läsa/skriva dessa från/till binärfiler. Vi behöver alltså inte bry oss om detaljer i hur man skapar binärfiler med dessa data i, vi kan bara använda dessa färdiga funktioner. Det finns ett testprogram inbyggt i dispunit.c som demonstrerar alla funktioner som ges i biblioteket. Kompilera biblioteket med gcc -DTEST dispunit.c så skapas en körbar fil. (Man måste ange växeln -DTEST som ordnar så att ett main() inkluderas via villkorlig kompilering.) dynmathfunc Detta biblioteks namn ska utläsas dynamic mathematical functions, alltså dynamiska matematiska funktioner. Funktioner vet vi vad det är, men vad är då dynamiska funktioner? När vi skriver ett C- program med funktioner så har vi hittills angett det funktioner vi skrivit i källkoden. Då vi använder C under UNIX finns dock en mycket exalterande möjlighet: att låta ett program skapa sina egna funktioner då programmet kör det är det som är betydelsen i ordet dynamisk här. (Detta fungerar under andra operativsystem än UNIX också men det är inte på långt när så lätt att ordna detta som i det system och den konfiguration vi har här.) Detta bibliotek tar en text (en C-sträng) och skapar en fil som innehåller en källkod i C med följande utseende: #include <math.h> double f (double f) return sin(x); Detta blir resultatet om vi skickar in textsträngen sin(x) (som ovan) och styrkan i biblioteket ligger förstås i att vi kan skapa andra funktioner än sin(x), vi kan skapa vilka funktioner som helst som kan skrivas i C. I dynmathfunc har vi inskränkt oss till att skapa funktioner som har en mening matematiskt sett, men det finns ingen anledning till varför vi inte skulle kunna skapa andra funktioner. (Den intresserade programmeraren blir här oerhört exalterad och inspirerad!) Biblioteket dynmathfunc innehåller också hjälpfunktioner som kompilerar denna fil till ett dynamiskt laddningsbart bibliotek och även en funktion som laddar in den funktionen som är skapad i datorns minne under körning. Detta bibliotek förlitar sig på så kallade funktionspekare vilket vi ska beskriva lite av nedan. Biblioteket kan också (som ovan) kompileras med gcc -DTEST... som då ger ett körbart demonstrationsprogram. Det här är också en av anledningarna till varför man måste arbeta med den virtuella maskin som tillhandahålls i kursen alla bibliotek och konfigurations som behövs för att få detta att fungera är installerade i NewTinyDebian. johnnyp@kth.se Sidan 2 av 7

3 Funktionspekare och biblioteket dynmathfunc i detalj Vi har förlitat oss på pekare till variabler men i det här biblioteket (dynmathfunc) använder vi vid ett tillfälle en pekare till en funktion. Vi kommer inte att behöva förstå funktionspekare i detalj men vi kommer att behöva kunna använda dem i biblioteket som är givet. För att förenkla detta är en typdefinition införd i dynmathfunc.h (se nedan) som hjälper oss att hantera funktionspekare. Vi kommer endast att syssla med funktionspekare till funktioner som tar ett flyttal (double) och returnerar ett flyttal (double), som till exempel funktionen sin(x). Headerfilen till biblioteket dynmathfunc ser ut så här: #ifndef DYNMATHFUNC_H #define DYNMATHFUNC_H void create_function_source_file(char *expression, char *filename); int create_library (char *filename_src, char *filename_dst); typedef double (*pt2func)(double); pt2func GetFunc(char *lib_filename); #endif och.c-filen ser nästan ut så här (vi har inte skrivit ut alla detaljer i funktionerna utan bara återupprepat deras funktionsprototyper): #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #include <dlfcn.h> #include <wait.h> #include "dynmathfunc.h" void create_function_source_file(char *expression, char *filename); int create_library (char *filename_src, char *filename_dst); pt2func GetFunc(char *lib_filename); #ifdef TEST //Kompilera med gcc -DTEST dynmathfunc.c -ldl main() char funcstr[100]; pt2func myfunction; double x = 1.0; printf("f(x) = "); fgets(funcstr,sizeof(funcstr),stdin); printf("f(x) = %s", funcstr); create_function_source_file(funcstr,"func.c"); create_library("func.c", "func.so"); myfunction = GetFunc("./func.so"); while(x!=0.0) printf("x = "); scanf("%lf", &x); //Här ser vi ett anrop till en dynamiskt skapad funktion: printf("f(x) = %6.3lf.\n", (*myfunction)(x)); //man måste alltså skriva (*myfunction)(x) för att få ut värdet, //men annars är det precis som en vanlig funktion i C som vi //skriver i en vanlig källkodsfil. #endif johnnyp@kth.se Sidan 3 av 7

4 Kommentaren Kompilera med gcc -DTEST... indikerar att den följande koden bara inkluderas i skapandet av programmet om man vill att det ska skapas en körbart demonstrationsprogram, normalt sett ska vi endast inkludera detta bibliotek i de program vi vill skapa och då exkluderas main()-slingan från kompileringen så att vi inte skapar demonstrationsprogrammet. Då vi kör demonstrationsprogrammet kan det se ut så här: $./a.out f(x) = exp(cos(x)) f(x) = exp(cos(x)) x = 0.5 f(x) = x = 1.0 f(x) = x = 3.0 f(x) = x = 0.0 f(x) = $ I denna programkörning är det markerat i fetstil vad användaren matar in. Det första som användaren ska mata in är funktionsdefinitionen och här studerar vi funktionen e upphöjt till cos(x). Sedan frågar programmet gång på gång efter nya värden på x som stoppas in i den dynamiskt skapade funktionen. Vi testar här tre värden, 0.5, 1.0 och 3.0 innan vi matar in värdet 0.0 som är en signal till testprogrammet att avbryta. (Sista funktionsvärdet beräknas också och skrivs ut som är blir e själv.) Det intressanta här är inte vilken matematisk funktion som är skapad, det intressanta här är att det är användaren som har bestämt vilken funktion som ska hanteras genom att ange det i en text, möjligheten finns alltså här att skapa vilken matematisk funktion som helst och det är det vi ska utnyttja. Vi arbetar i UNIX (i Debian) för att detta ska vara möjligt att genomföra på ett sätt som är bra för er. draw Biblioteket draw innehåller endast två funktioner som heter drawpixel() och drawline(), den baserar sig på SDL, koden till draw är given tillsammans med sdl_demo och ni är fria att använda koden i sdl_demo och även förstås draw i er lösning av hemtentan. Biblioteket draw innehåller möjligheter att rita ut en enskild pixel eller en hel linje och var pixeln ska ritas ut, respektive vilka punkter på skärmen som linjen ska gå anges i parametrarna till dessa båda funktioner. Programmet sdl_demo visar hur anropen sker och en bra övningsuppgift kan kanske vara att rita ut lite linjer här och var på den rityta som sdl_demo just nu använder. När man kör det programmet så ritas ett rutnät ut och här kan ni alltså rita ut lite linjer kors och tvärs. Prova också att använda olika färger genom att ändra på RBG-parametrarna, tex röda, gröna eller blå linjer. Det finns en funktion i programmet sdl_demo.c som heter draw_coordinate_system() som tar en SDL_Screen som parameter och som ritar ut ett koordinatsystem. Om vi lägger in anropen DrawLine(screen, 100, 100, 350, 200, 255,0,0 ); DrawLine(screen, 150, 150, 370, 210, 0,255,0 ); DrawLine(screen, 120, 140, 360, 240, 0,0,255 ); längst ner i den funktionen (innan den avslutas) så får vi följande utseende vid körning av johnnyp@kth.se Sidan 4 av 7

5 programmet: Vi ser alltså tre linjer, en röd, en blå och en grön. Det kan vara en ypperlig övning att helt enkelt bara knappa in denna kod, och sen göra lite mönster av linjer med forloopar, kan ni, med forloop med anrop till DrawLine() ordna något som ser ut så här till exempel? Förtydligande kommentarer om innehållet i dispunit Några har frågat om betydelsen av attributet height i dispunit. Jag lämnar ett förtydligande här. Tanken med programmet är att vi ska rita ut grafer till matematiska funktioner som vi anger dynamiskt, dvs vi ska kunna skriva in vilken matematisk funktion som helst, bara vi använder korrekt C-syntax. Till exempel anges funktionen e upphöjt till sin x som exp(sin(x)), eller bara sin x anges som sin(x). Vi vill sedan rita ut detta över ett intervall vars gränser anges av attributen a (vänster intervallgräns) och b (höger intervallgräns). Dessa fastställs i install som skapar en dispunit som alltså lagrar dessa data. (Alltså vilken funktion det är och intervallgränser med mera.) Men vi har också ett attribut som heter height. Min tanke var att den vy som användaren ska få är en kvadratisk yta som ritar funktionsgrafen på en viss höjd, därav namnet height (som ju betyder höjd på engelska.) Eftersom ritytan är kvadratisk räcker det att ange vilken höjd som avses och height är alltså då tänkt att vara den höjd över x-axeln som vi observerar funktionsgrafen på. En punkt i diagrammet som har y-koordinaten height kommer då alltså att synas i mitten av vår johnnyp@kth.se Sidan 5 av 7

6 kvadratiska yta. Om vi till exempel sätter height = 0 så kommer hela x-axeln att ritas ut och synas mitt i bilden. Jag vill också framhålla en annan viktig aspekt när det gäller programmering. Om tolkningen av uppgiften är otydlig kan det vara lämpligt att införa egna tolkningar, det är inte bara otillåtet, det är faktiskt önskvärt att ni gör det vid behov. Eftersom vi har redovisningar i par så kan det också bli extra intrssant att se på två olika tolkningar av en genoförd programmeringsuppgift, det ger oss möjligheten till mycket intressanta diskussioner. Olika tolkningar är alltså önskvärt! Det kommer alltid att bli så vid utveckling av programvara att det finns olika tolkningar av behovet och det blir då extra intressant om programmeraren, dvs ni, inför egna tolkningar. Konsten är att tolka en uppgift på ett sådant sätt att man inte så att säga omintetgör kundens önskemål, det gäller att sätta sig in i vad kunden vill ha och i grund och botten uppfylla kundens behov. (Nu är skolan kund här.) Några ord om beräkning av integralen För de som vill ha ett högre betyg än E behöver ni beräkna ett närmevärde på integralen. Det är då tänkt att ni väljer en fin indelning av intervallet med gränser a och b och summerar rektangelareor under funktionsgrafen baserade på denna indelning. I skissen ser vi en funktion som antar positiva värden och integralen approximeras som summan av ett antal (gröna) rektangelareor. Dessa rektangelareor ligger då under, eller kanske över funktionsgrafen, men om vi väljer en tillräckligt fin indelning av intervallet mellan a och b så kan den totala rektangelarean komma ganska nära arean under funktionsgrafen, det vill säga integralen av funktionen y=f(x) från a till b. Ni får själv avgöra hur programmet ska välja hur fin indelningen ska bli, kanske det kan bli (b-a)/100, så att vi får 100 rektangelareor att beräkna eller kanske (b-a)/1000. Integralens värde kan då beräknas med något slags forloop: for(k=1;k<1000;k++) integral = integral + rektangelarea(k,f,dx,a,b); där alltså k är ett vilken rektangelarea som ska beräknas, f är en funktionspekare till funktionen, dx är indelningens finhet och a och b är intervallets gränser. johnnyp@kth.se Sidan 6 av 7

7 Förpackning av allt material till hemtentan Alla filer som ni behöver för att komma igång med hemtentan finns i de tre arkiven dynmathfunc_files.zip, install_du_files.zip och sdl_demo_files.zip. Dessa tre arkiv finns på KTH-Social och man laddar ner dem till NewTinyDebian och packar upp dem med hjälp av unzip-kommandot. Detta skapar tre kataloger och man kan gå ner i dessa kataloger och hitta källkodsfiler som kan kompileras i NewTinyDebian med kommandot make. Så kallade make-filer, alltså instruktioner om hur programmen ska byggas ihop, finns precis brevid i katalogerna så det är bara att skriva make så ska det fungera. I vissa fall behövs parametrar, läs README-filerna (som också finns i katalogerna) för mer information om detta. I sdl_demo_files.zip finns dessutom ett litet bibliotek som heter draw som kan användas för att rita ut punkter och linjer med SDL, detta används i demonstrationsprogrammet som också finns i sdl_demo_files.zip. I install_du_files.zip finns också biblioteket dispunit som också kommer att vara en del av lösningen på hemtentan, det program du ska skriva ska heta display och ta ett filnamn som kommandoradsparameter, filen ska innehålla en display unit som innehåller den funktion (med intervall etc.) som ska ritas ut och för att läsa in display uniten kommer dit program att behöva anropa en funktion i biblioteket dispunit. Det finns gott om exempel på make-filer överallt i zip-filerna. johnnyp@kth.se Sidan 7 av 7

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011, KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011, 8.15-13.15 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny

Läs mer

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012 KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny Panrike och

Läs mer

Uppgifter till praktiska tentan, del A. (7 / 27)

Uppgifter till praktiska tentan, del A. (7 / 27) Uppgifter till praktiska tentan, del A. (7 / 27) I. Sortering/Sökning: III II. Representation/Omvandling/format/protokoll: II III. Strukturering: II I alla problem, där bokstäver förekommer, antar vi att

Läs mer

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Inledande matematik, I1, ht10 1 Inledning Detta är en koncis beskrivning av de viktigaste delarna av Matlab. Till en början är det enkla beräkningar och grafik som intresserar

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

tentamensdags och lab 3

tentamensdags och lab 3 tentamensdags och lab 3 Större program delas normalt upp i flera filer/moduler vilket har flera fördelar: Programmets logiska struktur när man klumpar ihop funktioner som hör ihop (och ibland också struct-def

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-01-09 KTH STH Haninge 8.15-13.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

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

Läs mer

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Analys och Linjär Algebra, del A, K1/Kf1/Bt1, ht10 1 Inledning Ni kommer använda Matlab i nästan alla kurser i utbildningen. I matematikkurserna kommer vi ha studio-övningar nästan

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början

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

Introduktion till programmering, hösten 2011

Introduktion till programmering, hösten 2011 Föreläsning 1 Programmering är ett hantverk. Det betyder att man inte kan läsa sig till den förmågan, man måste träna och man tränar genom att skriva mer och mer avancerade program. Programmering förutsätter

Läs mer

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen Tentamen för teknisk kemi, 10p, moment 1 29 november 1999 Skrivtid 9-15 Hjälpmedel: av följande böcker. - U. Bilting och J. Skansholm: Vägen till C - A. Kelley & I. Pohl: A Book on C Maxpoäng: Gräns för

Läs mer

Värmedistribution i plåt

Värmedistribution i plåt Sid 1 (6) Värmedistribution i plåt Introduktion Om vi med konstant temperatur värmer kanterna på en jämntjock plåt så kommer värmen att sprida sig och temperaturen i plåten så småningom stabilisera sig.

Läs mer

Tentamen i. Programmering i språket C

Tentamen i. Programmering i språket C 1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering i språket C för D1 m fl, även distanskursen lördag 25 februari

Läs mer

Instruktioner för att kunna programmera på skolans datorer

Instruktioner för att kunna programmera på skolans datorer Instruktioner för att kunna programmera på skolans datorer De här instruktionerna är viktiga att känna väl till inför tentamen samt inför laborationsredovisningar. Många av er kommer att använda bärbara

Läs mer

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011, Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1 Måndagen den 10 januari 2011, 8.15 12.15 Tentamen består av två delar, del A och del B. Del A innehåller 10 kryssfrågor på olika teman

Läs mer

Funktionspekare, inledning: funktionsanropsmekanismen. Anrop via pekare

Funktionspekare, inledning: funktionsanropsmekanismen. Anrop via pekare Funktionspekare, inledning: funktionsanropsmekanismen Vid funktionsanrop läggs aktuella argumentvärden och återhoppsadressen på stacken, därefter sker ett hopp till adressen för funktionens första instruktion.

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2014-10-27 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

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

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

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

1 Modulär programutveckling.

1 Modulär programutveckling. 1 Modulär programutveckling. När man ska utveckla stora program blir det otympligt och ohanterligt att ha all kod i samma fil, speciellt om man är flera personer som utvecklar programmet. Det blir också

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2015-01-08 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

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i TDP004 Objektorienterad Programmering Praktisk del Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-04-28 Tid: 08-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär

Läs mer

Programsystemkonstruktion med C++: Övning 1. Karl Palmskog september 2010

Programsystemkonstruktion med C++: Övning 1. Karl Palmskog september 2010 Programsystemkonstruktion med C++: Övning 1 Karl Palmskog palmskog@kth.se september 2010 Programuppbyggnad Klassens uppbyggnad en C++-klass består av en deklaration och en definition deklaration vanligtvis

Läs mer

Innehållsförteckning. Exempel. Åtkomst & användarhandledning

Innehållsförteckning. Exempel. Åtkomst & användarhandledning Framsidan Framsidan på din labrapport kan du utforma ganska fritt. Tänk bara på att den ska vara läsbar, och innehålla (minst) följande information: Ditt namn Din e-mail adress här på CS! Kursens namn

Läs mer

Programmering i C++ Kompilering från kommandoraden

Programmering i C++ Kompilering från kommandoraden Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö

Läs mer

Övningar Dag 2 En första klass

Övningar Dag 2 En första klass Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

a3 bc 5 a 5 b 7 c 3 3 a2 b 4 c 4. Förklara vad ekvationen (2y + 3x) = 16(x + 1)(x 1) beskriver, och skissa grafen.

a3 bc 5 a 5 b 7 c 3 3 a2 b 4 c 4. Förklara vad ekvationen (2y + 3x) = 16(x + 1)(x 1) beskriver, och skissa grafen. MMA Matematisk grundkurs TEN Datum: 4 juni Skrivtid: timmar Hjälpmedel: Penna, linjal och radermedel Denna tentamen TEN består av nio stycken om varannat slumpmässigt ordnade uppgifter som vardera kan

Läs mer

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x Mathematica Första kapitlet kommer att handla om Mathematica det matematiska verktyg, som vi ska lära oss hantera under denna kurs. Indata När du arbetar med Mathematica ger du indata i form av kommandon

Läs mer

BMI = (vikt i kg) / (längd i m) 2. Lösningsförslag

BMI = (vikt i kg) / (längd i m) 2. Lösningsförslag HI1024 TEN2 2013-10-28 Betygsgränser: Fx-8, E-9, D-11, C-12, B-14, A-16 (MAX-18) Generella rättningsnormer: Mycket dåliga variabelnamn ger -1p totalt på provet vid andra tillfället Inga eller dåliga kommentarer

Läs mer

HI1024 Programmering, grundkurs TEN2 2015-10-30

HI1024 Programmering, grundkurs TEN2 2015-10-30 HI1024 Programmering, grundkurs TEN2 2015-10-30 KTH STH Haninge 8.15-13.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

Newtons metod och arsenik på lekplatser

Newtons metod och arsenik på lekplatser Newtons metod och arsenik på lekplatser Karin Kraft och Stig Larsson Beräkningsmatematik Chalmers tekniska högskola 1 november 2004 Introduktion Denna övning ingår i Lärardag på Chalmers för kemilärare

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

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Lab5 för prgmedcl04 Grafik

Lab5 för prgmedcl04 Grafik Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna

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

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

NetBeans 5.5. Avsikt. Projektfönster

NetBeans 5.5. Avsikt. Projektfönster NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: Föreläsning 1 OH: Övergripande information Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: * maskinspråk = ettor och nollor, kan bara en maskin förstå. * programmeringsspråk

Läs mer

Föreläsning 9: Förprocessorn och stora program

Föreläsning 9: Förprocessorn och stora program Föreläsning 9: Förprocessorn och stora program Nu ska vi studera hur vi skriver stora program, vi ska inte skriva så stora program, men vi ska illustrera de verktyg som finns för att skapa en bra struktur

Läs mer

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i TDP004 Objektorienterad Programmering Praktisk del Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2010-04-07 Tid: 8-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär

Läs mer

Programmering, grundkurs, 8.0 hp HI1024, TEN1. Fredagen den 2 mars 2012

Programmering, grundkurs, 8.0 hp HI1024, TEN1. Fredagen den 2 mars 2012 Programmering, grundkurs, 8.0 hp HI1024, TEN1 Fredagen den 2 mars 2012 Tentamen består av två delar, del A och del B. Del A innehåller 4 kryssfrågor på olika teman inom C programmering. Varje fråga är

Läs mer

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen C++ Funktioner 1 Teori När programmen blir större och mer komplicerade är det bra att kunna dela upp programmet i olika delar som gör specifika saker, vilket kan göra programmet mer lättläst. Ett sätt

Läs mer

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,

Läs mer

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.

Läs mer

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då Agenda Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer Övningar nu och då 1 Motivering I de flesta problem ingår att hantera multipla data I de

Läs mer

Föreläsning 5-6 Innehåll

Föreläsning 5-6 Innehåll Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]

Läs mer

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad. 5(16) Tentamen på kurserna Programmeringsteknik med C och Matlab Programmering i C Tid: 2/11-11, kl. 9-13 Lärare: Jonny Pettersson Totalt: 60 poäng Betyg 3: 30 poäng Betyg 4: 39 poäng Betyg 5: 48 poäng

Läs mer

Uppgift 1a (Aktiekurser utan poster)

Uppgift 1a (Aktiekurser utan poster) Uppgift 1a (Aktiekurser utan poster) Vi har lite olika upplägg i de kurser vi håller och i vissa kurser finns det med något som vi kallar "poster" (eng. "record"). I andra har vi inte med detta. Vi har

Läs mer

Inlämningsuppgift 1, Digsim

Inlämningsuppgift 1, Digsim Inlämningsuppgift 1, Digsim Specifikation Skriv ett program som utför addition av heltal (positiva eller negativa) i binär form med hjälp av digitala grindar, som programmet ska simulera. Programmet ska

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

Läs mer

Planering Programmering grundkurs HI1024 HT TIDAA

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

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

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

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

Matlabövning 1 Funktioner och grafer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab Matlabövning 1 Funktioner och grafer i Matlab I den här övningen ska vi titta på hur man konstruerar funktioner i Matlab och hur man kan rita funktionsgrafer. Läs först igenom PM:et. Gå sedan igenom exemplen

Läs mer

Laboration 4: Digitala bilder

Laboration 4: Digitala bilder Objektorienterad programmering, Z : Digitala bilder Syfte I denna laboration skall vi återigen behandla transformering av data, denna gång avseende digitala bilder. Syftet med laborationen är att få förståelse

Läs mer

Linjär algebra med tillämpningar, lab 1

Linjär algebra med tillämpningar, lab 1 Linjär algebra med tillämpningar, lab 1 Innehåll Per Jönsson Fakulteten för Teknik och Samhälle, 2013 Uppgifterna i denna laboration täcker kapitel 1-3 i läroboken. Läs igenom motsvarande kapitel. Sitt

Läs mer

Objektorientering i liten skala

Objektorientering i liten skala Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen 2012-10-24 Objektorientering i liten skala Mål I denna lab skall du skriva ett objektorienterat program. Programmet skall delas

Läs mer

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april. Liten introduktionsguide för nybörjare

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april. Liten introduktionsguide för nybörjare GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare 19-20 april Liten introduktionsguide för nybörjare GeoGebra 0 Introduktionsövningar till GeoGebra När man startar GeoGebra är det

Läs mer

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

Malmö högskola 2007/2008 Teknik och samhälle Laboration 6 Avsikten med denna laboration är att du ska träna på att använda iterationer i dina program. I vanlig ordning placerar du dina lösningar i paketet laboration6. Uppgifterna är lätt matematiska

Läs mer

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok Namn: Laborationen godkänd: Laboration 2. Cacheminne Laborationens syfte I laborationen ska du bekanta dig med cacheminnen. Genom laborationen fås kunskap om hur cacheminnen är konstruerade och hur de

Läs mer

Integraler undersökande arbetssätt med GeoGebra. S. Mehanovic och P. Jönsson

Integraler undersökande arbetssätt med GeoGebra. S. Mehanovic och P. Jönsson Integraler undersökande arbetssätt med GeoGebra S. Mehanovic och P. Jönsson GeoGebra är ett matematikprogram utvecklat för att användas i matematikundervisningen från grundskola till universitetsnivå.

Läs mer

En kort text om programmering i C.

En kort text om programmering i C. En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,

Läs mer

7. Ange och förklara definitionsmängden och värdemängden för funktionen f definierad enligt. f(x) = ln(x) 1.

7. Ange och förklara definitionsmängden och värdemängden för funktionen f definierad enligt. f(x) = ln(x) 1. MMA11 Matematisk grundkurs TEN Datum: 1 januari 01 Skrivtid: timmar Hjälpmedel: Penna, linjal och radermedel Denna tentamen TEN består av nio stycken om varannat slumpmässigt ordnade uppgifter som vardera

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Pekare och Listor Eric Elfving Institutionen för datavetenskap 31 oktober 2014 Översikt 2/41 Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor Arbeta

Läs mer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se

Läs mer

ID1004 Laboration 3, 5-6 November 2012

ID1004 Laboration 3, 5-6 November 2012 18-okt-2012/FK ID1004 Laboration 3, 5-6 November 2012 Labben bör göras individuellt. Beräknad tid ca 2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön

Läs mer

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot Josef Karlsson Malik 2015-09- 02 jkmalik@kth.se Introduktionskurs i datateknik (II0310) Sammanfattning

Läs mer

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

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

Läs mer

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor TENTAMEN Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15 Tisdagen 26 april 2011 Tentamen består av 8 sidor Hjälpmedel Förutom dator med installerad Code::Blocks, Utforskaren, Acrobat reader och Notepad

Läs mer

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra

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

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er Labora&on 2 Funk&oner, if och loop övningar/uppgi:er 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns

Läs mer

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt. "!$#"%'&)(*,&.-0/ 177 Syftet med denna övning är att ge en introduktion till hur man arbetar med programsystemet MATLAB så att du kan använda det i andra kurser. Det blir således inga matematiska djupdykningar,

Läs mer

Datorteknik 2 (AVR 2)

Datorteknik 2 (AVR 2) Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra

Läs mer

Det finns många flaggor till g++,

Det finns många flaggor till g++, C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se Inge Frick, inge@nada.kth.se Alexander Baltsatsis hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m.

Läs mer

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson 2010-11-19 Plot och rekursion I denna laboration skall du lära dig lite om hur plot i MatLab fungerar samt använda

Läs mer

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar Dynamiskt minne Agenda Vad är dynamiskt minne Motivering Hur gör man i C Övningar Minne Datorns primärminne används till olika ändamål De flesta system partitionerar minnet efter användningen: Programkoden

Läs mer

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering SF1518,SF1519,numpbd15 LABORATION 2 Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering - Genomför laborationen genom att göra de handräkningar och MATLAB-program som begärs. Var noga med

Läs mer

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011 1 of 7 Örebro universitet Akademin 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

DATORINTRODUKTION. Laboration E850-2000 ELEKTRO. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Ulf Holmgren

DATORINTRODUKTION. Laboration E850-2000 ELEKTRO. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Ulf Holmgren UMEÅ UNIVERSITET Tillämpad fysik och elektronik Ulf Holmgren 2000-03-17 specialversion inför kursstart Elektronik och mätteknik 2000 DATORINTRODUKTION Laboration E850-2000 ELEKTRO Personalia: Namn: Kurs:

Läs mer

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i TDP004 Objektorienterad Programmering Praktisk del Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-08-22 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär

Läs mer

Institutionen för matematik och datavetenskap Karlstads universitet. GeoGebra. ett digitalt verktyg för framtidens matematikundervisning

Institutionen för matematik och datavetenskap Karlstads universitet. GeoGebra. ett digitalt verktyg för framtidens matematikundervisning Karlstads GeoGebrainstitut Institutionen för matematik och datavetenskap Karlstads universitet Mats Brunström Maria Fahlgren GeoGebra ett digitalt verktyg för framtidens matematikundervisning Invigning

Läs mer

Övningsuppgifter till föreläsning 2 Variabler och uttryck

Övningsuppgifter till föreläsning 2 Variabler och uttryck Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna

Läs mer

Övning från förra gången: readword

Övning från förra gången: readword (9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver

Läs mer

Programmering. Scratch - grundövningar

Programmering. Scratch - grundövningar Programmering Scratch - grundövningar Lär känna programmet: Menyer för att växla mellan att arbeta med script, utseende/bakgrund och ljud. Scenen där allting utspelar sig. Här klickar du på bakgrunden

Läs mer

de uppgifter i) Under m-filerna iv) Efter samlade i en mapp. Uppgift clear clc Sida 1 av 6

de uppgifter i) Under m-filerna iv) Efter samlade i en mapp. Uppgift clear clc Sida 1 av 6 Inlämningsuppgift 2, HF1006.. (MATLAB) INLÄMNINGSUPPGIFT 2 (MATLAB) Kurs: Linjär algebra och analys Del2, analys Kurskod: HF1006 Skolår: 2018/19 Redovisas under en av de tre schemalaggs gda redovisningstillfällen

Läs mer

Matlabövning 1 Funktioner och grafer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab Matlabövning 1 Funktioner och grafer i Matlab I den här övningen ska vi titta på hur man konstruerar funktioner i Matlab och hur man kan rita funktionsgrafer. Läs först igenom hela PM:et. Gå sedan igenom

Läs mer

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18 TDDC74 Programmering: Abstraktion och modellering Datortenta - 017-10-7, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis

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

NetBeans 7. Avsikt. Projektfönster

NetBeans 7. Avsikt. Projektfönster NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till

Läs mer

Hur man kompilerar och kör IT++-program med MinGW. 1 Sammanfattning. 2 Om dokumentet. 3 Om min konfiguration

Hur man kompilerar och kör IT++-program med MinGW. 1 Sammanfattning. 2 Om dokumentet. 3 Om min konfiguration 1 (12) Hur man kompilerar och kör IT++-program med MinGW 1 Sammanfattning Detta dokument visar hur man lätt (med några få extra raders kod) kan få IT++ att bli kompatibelt med kompilatorn MinGW. Med den

Läs mer