4 Programkonstruktion

Storlek: px
Starta visningen från sidan:

Download "4 Programkonstruktion"

Transkript

1 4 Programkontruktion När man kriver tora program måte man, preci om man gör vid löning av tora problem, dela upp det hela i mindre delar. Hur ka man göra uppdelningen av ina tora program? Här måte man utgå ifrån vad ett program egentligen är, nämligen en plan för bearbetning av data eller information. Deutom ka man ha målättningen att programmen ka bli: korrekta robuta lätta att använda lätta att underhålla lätta att förändra återanvändbara Man har använt och använder fortfarande olika metoder för att kontruera tora program. Vilken metod om använd beror på vad det är för typ av program man gör och vilka målättningar man prioriterar. Här kommer metoderna för uppdelning med hjälp av tegvi förfining, dataflöden och abtrakta datatyper att genomgå. Metoderna poängterar antingen bearbetning (tegvi förfining), data (dataflöden) eller både data och bearbetning (abtrakta datatyper) i mer eller mindre grad och alla metoder har ina för och nackdelar. Ex: Ett mätytem ka hämta data i form av mätpoter till en vektor, ortera vektorn, läa in en nyckel och öka i vektorn efter denna nyckelpot amt avlutningvi beräkna och kriva ut vi data om denna pot. a) Stegvi förfining: Vad ka programmet göra? Vilka bearbetningar är aktuella? Finfördela vid behov. Mätprog Lä Bearbeta Skriv Sortera Sök Beräkna Fördelar : Logik uppdelning i mindre delar om automatikt blir funktioner. Nackdelar : Glömmer bort data. Alla datatyper måte definiera globalt och variabler av dea tranportera om parametrar och finn då i väldigt många funktioner vilket förvårar underhåll och förändringar. Man får deutom en dålig avbild eller modell av verkligheten, vilket ockå förvårar underhåll och förändringar. 61

2 b) Dataflöden: Hur flödar data? Hur bearbeta data? Funktion för varje bearbetning. Lä v v Sortera v Sök m Beräkna x Skriv Lä n n Häng upp funktionerna där inmatad data övergår till att bli utmatad, vid beräkna. Beräkna Sök Skriv Sortera Lä n Lä v Fördelar : Bättre avbild av verkligheten där även data beakta. Nackdelar : Fortfarande globala datatyper om förvårar underhåll och förändringar. c) Abtrakta datatyper: Vad ka programmet hantera? Vilka abtrakta datatyper, med data och funktioner är aktuella? Mätprog Mätvek datatyp lä ortera ök Mätpot datatyp lä jämför beräkna Fördelar: Data och operationer amlade på amma tälle. Lätt att underhålla och förändra. Deutom finn oftat variablerna eller objekten av de abtrakta datatyperna i verkligheten ockå. Bättre möjligheter till återanvändning. Nackdelar: Ingen logik tegvi förfining. Man måte börja tänka om i form av abtrakta datatyper. 62

3 4.1 Stegvi förfining Man utgår ifrån vad programmet ka göra eller med andra ord de operationer (initiera, läa, beräkna, mäta, kriva etc) om ingår i programpecifikationen. Varje operation blir då i princip en funktion i programmet på högta nivån. Därefter fortätter man uppdelningen genom att tegvi förfina operationerna till mindre operationer på lägre och lägre nivå. Fördelen med tegvi förfining är att man löer problem genom att kjuta onödiga detaljer framför ig och löa dea efterhand om de dyker upp. Man behöver ej ha hela problemtällningen i huvudet amtidigt. Nackdelen är den relativt fria kompoitionen. Samma program kan kriva på väldigt många olika ätt och programmet är ofta en dålig avbild av verkligheten. Vid underhåll och förändringar blir det vårt att hitta alla operationer om man ka ändra i, efterom data och operationer är åtkilda. Ex: Skriv ett program, exchange, om har hand om växling av valuta i ett bankytem. Programmet ka läa in valutanamn och växelbelopp och beräkna och kriva ut kotnaden för valutan i venka kronor. För beräkning av kotnad ka aktuell kur läa från en textfil kur.txt om er ut om: pund udol 7.65 euro 9.12 Med tegvi förfining uppdelar vi programmet i mindre delar enligt : bankytem exchange lä valutanamn lä belopp beräkna kotnad kriv kotnad lä kur När man implementerar program, om är kontruerade med tegvi förfining, går man nätan alltid uppifrån och ner (top down). Man börjar med att implementera huvudprogrammet med globala datatyper och funktionprototyper. Därefter kan man gå till rep funktion och implementera dea en och en, amtidigt om man tetar programmet med en funktion åt gången. 63

4 #include <tdio.h> #include <tring.h> #include <math.h> enum valutanamn pund, udol, euro; enum valutanamn la_valutanamn(void) char tr[20]; enum valutanamn v; int fel; do fel = 0; printf("ge valutan namn : "); get(tr); if (trcmp(tr, "pund") == 0) v = pund; ele if (trcmp(tr, "udol") == 0) v = udol; ele if (trcmp(tr, "euro") == 0) v = euro; ele printf("felaktigt namn!\n"); fel = 1; while (fel); return v; double la_belopp(void) double b; char tr[80]; do printf("ge köpbelopp : "); get(tr); b = atof(tr); if (b <= 0) put("fel belopp!"); while (b <= 0); return b; 64

5 double la_kur(enum valutanamn v) FILE *vfil; char tr[20]; enum valutanamn v; double kur; vfil = fopen("kur.txt","r"); do fcanf(vfil, "%%lf", tr, &kur); if (trcmp(tr, "pund") == 0) v = pund; ele if (trcmp(tr, "udol") == 0) v = udol; ele if (trcmp(tr, "euro") == 0) v = euro; while ( v!= v); fcloe(vfil); return kur; double berakna_kotnad(enum valutanamn v, double b) return b * la_kur(v); void kriv_kotnad(enum valutanamn v, double b, double k) char tr[20]; witch (v) cae pund : trcpy(tr, "pund"); break; cae udol : trcpy(tr, "udol"); break; cae euro : trcpy(tr, "euro"); printf("%.2f % kotar %.2f kr", b, tr, k); int main() enum valutanamn val; double belopp, kotnad; val = la_valutanamn(); belopp = la_belopp(); kotnad = berakna_kotnad(val, belopp); kriv_kotnad(val, belopp, kotnad); return 0; 65

6 Ex: A Video Game ( ur Software Engineering, A Programming Approach) In order to illutrate the ue of functional decompoition we will deign the oftware for a imple video game, called breakout. Thi account can be kipped by the reader who feel they have a grap of the method. The game make ue of a keyboard and a crude viual diplay that can diplay character (but no other graphic) at any poition on the creen. The creen look like : wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwww o bbb The figure portray a wall, built from w character, a bat bbb and a ball the letter o. The ball bounce around the creen, moving up, down or diagonally, changing direction conventionally when it hit the wall, the ide or the bat. The player can move the bat left or right by keying l or r on the keyboard. The objective i to make the ball knock down the wall and o break out. The ball i out of play and vanihe when it pae the bat. The player i upplied with a ucceion of 4 ball. When thee have been ued the bet core ever attained i diplayed. Let u refer to place on the creen by a pair of x, y coordinate and aume that the oftware can aign a character value to a poition on the creen by executing a tatement like: creen(17, 22) = b Similarly uppoe that the value at any poition can be teted uing a tatement like: if creen(17, 22) == w We will refer to the coordinate of the ball a xball and yball. We begin with the overall logic: video game draw ide 66

7 draw bat at home poition while omeone want to play draw wall play a game diplay bet core We have relegated detail to tatement like draw ide and we can tudy and check the deign without worrying about detail. We probably realize that eential tep are miing o we might amend the above to: video game draw ide draw bat at home poition bet core = 0 while omone want to play core = 0 draw wall play a game if core > bet core bet core = core diplay bet core Now that we are atified with thi, we can chooe one of the tatement and write down what it doe in more detail. An obviou candidate i : play a game ball left = 4 while ball left > 0 play a ball ubtract one from ball left and then: play a ball create a new ball while ball i in play check ball poition move ball move bat erae ball Let u now work on detail of moving the bat: move bat 67

8 if key == l move left if key == r move right which require: move left erae old bat if bat poition > left wall + 1 bat poition = bat poition 1 draw bat Thi complete a fair amount of the detail concerned with moving the bat. We can leave futher detail for the time being and turn to conider more of the detail of moving the ball. move ball erae ball xball = xball + xtep yball = yball + ytep creen(xball, yball) = o but we have to be careful to check whether it ha hit omething: check ball poition check out of play check ide check bat check brick We will finih the account of thi development with jut two more piece: check ide if ball at either ide xtep = xtep if ball at end boundary ytep = ytep check brick if creen(xball + xtep, yball + ytep) i a brick creen(xball + xtep, yball + ytep) = add one to core ytep = ytep ubtract one from brick left if brick left == 0 draw wall There i till ome way to go with thi particular deign, but thi much give the flavor of the deign and of the method. Notice how, throughout, we can check the deign 68

9 without having to take account of a lot of unneceary detail. Notice the informality of the tatement ued and the control tructure if and while. 69

10 4.2 Dataflöden Man utgår ifrån hur data flödar i programmet, från indata fram till utdata. Man koncentrerar ig på data och hur data ka bearbeta av programmet enligt programpecifikationen. Varje bearbetning blir då i princip en funktion i programmet. Därefter tar man den funktion, där inmatad data övergår till att bli utmatad, till huvudfunktion och låter reten av funktionerna anropa utgående ifrån dataflödena, om kan likna vid nören om binder ihop funktionerna. Fördelen med att använda dataflöden är att man bygger itt program på hur verkligheten er ut. Man får en väl förankrad modell av verkligheten om är bra att ha då programmet ka underhålla och förändra. Deutom får man en naturlig uppdelning av programmet i mindre delar. Nackdelen är dock att data och operationer på denna data fortfarande är åtkilda och det är vårt att hitta alla förändringar om ka göra då exempelvi data ka förändra. Ex: Skriv ett program exchange om har hand om växling av valuta i ett bankytem. Programmet ka läa in valutanamn och växelbelopp och beräkna och kriva ut kotnaden för valutan i venka kronor. För beräkning av kotnad ka aktuell kur läa från en textfil kur.txt om er ut om: pund udol 7.65 euro 9.12 Genom att betrakta dataflödet får man en naturlig uppdelning enligt : Lä kur kur, valutanamn Lä valutanamn Lä belopp valutanamn belopp Beräkna kotnad Kotnad, belopp, Skriv kotnad valutanamn Beräkna kotnad Lä kur Lä belopp Skriv kotnad Lä valutanamn 70

11 #include <tdio.h> #include <tring.h> #include <math.h> enum valutanamn pund, udol, euro; double la_belopp(void) double b; char tr[80]; do printf("ge köpbelopp : "); get(tr); b = atof(tr); if (b <= 0) put("fel belopp!"); while (b <= 0); return b; enum valutanamn la_valutanamn(void) char tr[20]; enum valutanamn v; int fel; do fel = 0; printf("ge valutan namn : "); get(tr); if (trcmp(tr, "pund") == 0) v = pund; ele if (trcmp(tr, "udol") == 0) v = udol; ele if (trcmp(tr, "euro") == 0) v = euro; ele printf("felaktigt namn!\n"); fel = 1; while (fel); return v; 71

12 double la_kur(enum valutanamn *vp) FILE *vfil; char tr[20]; enum valutanamn v; double kur; v = la_valutanamn(); vfil = fopen("kur.txt","r"); do fcanf(vfil, "%%lf", tr, &kur); if (trcmp(tr, "pund") == 0) *vp = pund; ele if (trcmp(tr, "udol") == 0) *vp = udol; ele if (trcmp(tr, "euro") == 0) *vp = euro; while ( *vp!= v); fcloe(vfil); return kur; void kriv_kotnad(enum valutanamn v, double b, double k) char tr[20]; witch (v) cae pund : trcpy(tr, "pund"); break; cae udol : trcpy(tr, "udol"); break; cae euro : trcpy(tr, "euro"); printf("%.2f % kotar %.2f kr", b, tr, k); int main() enum valutanamn v; double belopp, kotnad; belopp = la_belopp(); kotnad = belopp * la_kur(&v); kriv_kotnad(v, belopp, kotnad); return 0; 72

13 Ex: Monitoring A Plant ( ur Software Engineering, A Programming Approach) Here i the pecification for a oftware ytem: A computer i being ued to monitor an indutrial plant. The computer periodically input reading from intrument in the plant. Some of the reading require converion to normal unit of meaurement (e.g microvolt into degree). The computer check each of the reading againt permiible value. Alarm report are diplayed on a creen when a value i outide it valid range. The data flow diagram for thi problem i : Get time time Determine intrument Meaure intrument Get conv. factor converion factor Convert data converted data Get limit limit Check meage Diplay meage It i relatively clear that the central tranform in the ytem i the bubble that check the value. Hence we can derive the program tructure diagram a: Check Get limit Convert Diplay meage Get conv. factor Meaure Determine intrument Get time 73

14 4.3 Abtrakta datatyper Vad ka programmet hantera? Vilka abtrakta datatyper i form av data och operationer på denna typ av data är aktuella? Till killnad mot föregående metoder koncentrerar man ig här på både data och operationer och föröker amla dea på ett och amma tälle. När man har kontruerat de aktuella abtrakta datatyperna, om använd i programmet, kan en användare, om kan vara en annan abtrakt datatyp eller ett huvudprogram, kapa variabler eller objekt av dea. Fördelen med att använda abtrakta datatyper är att man amlar data och operationer på denna typ av data, på amma tälle, i amma modul och därför blir det mycket lättare att underhålla och förändra programmen. Deutom blir det naturligt att återanvända de abtrakta datatyperna i andra program. Nackdelen är att man måte tänka om vid programkontruktionen. Man kan inte följa den mer logika tegvia förfiningen utan man börjar itället med att leta efter abtrakta datatyper alltå datatyper utöver de vanliga double, char, int etc om programmet ka hantera och om man ofta avbildar om egendefinierade poter. Efter att ha hittat lämpliga abtrakta datatyper letar man efter till dea hörande operationer. Sedan underöker man hur de olika abtrakta datatyperna ka amarbeta för att hela programmet ka fungera och lutligen implementerar man de olika delarna. Ex: Skriv ett program exchange om har hand om växling av valuta i ett bankytem. Programmet ka läa in valutanamn och växelbelopp och beräkna och kriva ut kotnaden för valutan i venka kronor. För beräkning av kotnad ka aktuell kur läa från en textfil kur.txt om er ut om: pund udol 7.65 euro 9.12 Vad ka programmet hantera? Valutor! Här finn den abtrakta datatypen valuta om man kan avbilda om en pot innehållande termerna valutanamn och kur. De operationer om är aktuella är läa, kriva och beräkna kotnad för valuta. Efterom man bara har en abtrakt datatyp kommer det bara att vara huvudprogrammet om använder denna och beroendediagrammet blir enligt: Exchange Valuta 74

15 För att implementera den abtrakta datatypen valuta använder man ig i C av en pecifikationfil valuta.h och en implementationfil valuta.c enligt: /* Specifikation av valuta valuta.h */ enum valutanamn pund, udol, euro; typedef truct enum valutanamn namn; double kur; valuta; void la_valuta(valuta *vp); void kriv_valuta(valuta v); double berakna_kotnad(valuta v, double belopp); /* Implementation av valuta valuta.c */ #include "valuta.h" #include <tdio.h> #include <tring.h> enum valutanamn la_valutanamn(void) char tr[20]; enum valutanamn v; int fel; do fel = 0; printf("ge valutan namn : "); get(tr); if (trcmp(tr, "pund") == 0) v = pund; ele if (trcmp(tr, "udol") == 0) v = udol; ele if (trcmp(tr, "euro") == 0) v = euro; ele printf("felaktigt namn!\n"); fel = 1; 75

16 while (fel); return v; 76

17 double la_kur(enum valutanamn v) FILE *vfil; char tr[20]; enum valutanamn v; double kur; vfil = fopen("kur.txt","r"); do fcanf(vfil, "%%lf", tr, &kur); if (trcmp(tr, "pund") == 0) v = pund; ele if (trcmp(tr, "udol") == 0) v = udol; ele if (trcmp(tr, "euro") == 0) v = euro; while ( v!= v); fcloe(vfil); return kur; void la_valuta(valuta *vp) vp >namn = la_valutanamn(); vp >kur = la_kur(vp >namn); double berakna_kotnad(valuta v, double belopp) return ( belopp * v.kur); void kriv_valuta(valuta v) char tr[20]; witch (v.namn) cae pund : trcpy(tr, "pund"); break; cae udol : trcpy(tr, "udol"); break; cae euro : trcpy(tr, "euro"); printf("\nvalutanamn : %\n", tr); printf("kur : %.2f\n", v.kur); OBS! Vid implementationen utnyttjar man egna lokala funktioner om ej exportera och alltå ej finn med i headerfilen. 77

18 Huvudprogrammet kan nu utnyttja den abtrakta datatypen genom att kapa variabler eller objekt av denna datatyp och utnyttja de funktioner om exportera för den abtrakta datatypen. /* Huvudprogram exchange.c */ #include <tdio.h> #include <math.h> #include "valuta.h" double la_belopp(void) double b; char tr[80]; do printf("ge köpbelopp : "); get(tr); b = atof(tr); if (b <= 0) put("fel belopp!"); while (b <= 0); return b; int main() valuta v; double b; la_valuta(&v); b = la_belopp(); kriv_valuta(v); printf("belopp: %.2f\n", b); printf("kotnad: %.2f\n", berakna_kotnad(v, b)); return 0; OBS!Hur man även här använder andra funktioner utöver de från den abtrakta datatypen. 78

19 En av fördelarna med att använda abtrakta datatyper är att dea ka kunna återanvända av andra program. I utvecklingmiljön för C program brukar det finna färdiga abtrakta datatyper om: tdio.h in och utmatning, ingår i C tandarden do.h dokommandon i Window conio.h videofunktioner för Window i textmode Har man ej tillgång till färdiga återanvändbara abtrakta datatyper måte man kriva dea jälva. Exempel på ådana är lithantering i lifo.h, fifo.h och twolit.h om genomgått tidigare och om viar hur man kan återanvända abtrakta datatyper. Problemet vid återanvändning av exempelvi twolit.h är att den, i den form om bekrivit ovan, enbart kan använda för en enda typ av data. Vill man använda flera olika tvåväglitor i itt program kan man använda poter innehållande unioner om data. Ex: Skriv ett program om läer in fordon med regitreringnummer, ägare och typ om kan vara peronbil, latbil med tillåten latvikt i ton eller bu med tillåtet antal paagerare från en textfil enligt: EEE555 E.E peron AAA111 A.A bu 10 CCC333 C.C bu 30 GGG777 G.G lat 7.7 BBB222 B.B peron FFF666 F.F lat 6.6 DDD444 D.D bu 40 och toppar in dea i en tvåväglita orterad efter regitreringnummer. Programmet ka fortätta med att kapa en ny tvåväglita innehållande bara buar och edan kriva ut hela fordonlitan och bulitan på kärmen enligt: Fordonlita AAA111 A.A bu 10 BBB222 B.B peron CCC333 C.C bu 30 DDD444 D.D bu 40 EEE555 E.E peron FFF666 F.F lat GGG777 G.G lat Bulita AAA111 A.A bu 10 CCC333 C.C bu 30 DDD444 D.D bu 40 79

20 Man börjar med att identifiera vilka objekt om programmet ka hantera och därmed vilka abtrakta datatyper om ka kapa eller återanvända. I pecifikationen tala om fordon, fordonlitor, buar och bulitor. Efterom det finn en färdig abtrakt datatyp för tvåväglitor, om man kan använda för en enda aktuell datatyp i itt program, måte man föröka avbilda alla typer av fordon med en enda datatyp. Därmed räcker det med den abtrakta datatypen fordon för alla typer av fordon. Fordon kommer att avbilda enligt: enum fordontyp peron, lat, bu; typedef truct fordonpot char regnr[10]; char agare[30]; enum fordontyp ftyp; union double vikt; int pa; u; fordon; Med ovantående union ingående i poten markera att innehållet i minnet kan vara antingen en double i form av vikten eller ett heltal om håller reda på antalet tillåtna paagerare. Man måte jälv utgående ifrån ftyp hålla reda på vad om finn i u. För termen u allokera alltid minne för det törta möjliga innehållet. Nu kan man rita en beroendegraf för de abtrakta datatyper om programmet kommer att innehålla. fordmain fordon fordlit twolit 80

21 /* Specifikation av fordon fordon.h */ #ifndef FORDONH #define FORDONH #include <tdio.h> enum fordontyp peron, lat, bu; typedef truct fordonpot char regnr[10]; char agare[30]; enum fordontyp ftyp; union double vikt; int pa; u; fordon; void la_fordon(file *infil, fordon *fp); void kriv_fordon(fordon f); int i_le_fordon(fordon f1, fordon f2); int i_a_bu(fordon f); #endif /* Implementation av fordon fordon.c */ #include "fordon.h" #include <tdio.h> #include <tring.h> void la_fordon(file *infil, fordon *fp) char tr[10]; double x; fcanf(infil, "%%%", fp >regnr, fp >agare, tr); if ( trcmp(tr, "peron") == 0 ) fp >ftyp = peron; ele if ( trcmp(tr, "lat") == 0 ) fp >ftyp = lat; fcanf(infil, "%lf", &x); fp >u.vikt = x; ele if ( trcmp(tr, "bu") == 0 ) fp >ftyp = bu; fcanf(infil, "%d", &fp >u.pa); 81

22 void kriv_fordon(fordon f) char tr[10]; printf("% 10% 20", f.regnr, f.agare); witch (f.ftyp) cae peron : printf("peron\n");break; cae lat : printf("lat %f\n", f.u.vikt); break; cae bu : printf("bu %d\n", f.u.pa); int i_le_fordon(fordon f1, fordon f2) return (trcmp(f1.regnr, f2.regnr) < 0 ); int i_a_bu(fordon f) return (f.ftyp == bu); /* Specifikation av tvåväglitor twolit.h */.. #include fordon.h typedef fordon datatyp;.. /* Specifikation av fordonlitor fordlit.h */ #ifndef FORDLISTH #define FORDLISTH #include "fordon.h" #include "twolit.h" void fyll_fordlit(headtyp *fp); void via_fordlit(headtyp *fp); void fyll_bulit(headtyp *fp, headtyp *bp); #endif 82

23 /* Implementation av fordonlitor fordlit.c */ #include <tdio.h> #include "fordlit.h" void fyll_fordlit(headtyp *hfp) FILE *fil; fordon f; linktyp *lfp; fil = fopen("fordon.txt", "r"); la_fordon(fil, &f); while (!feof(fil) ) newlink(&lfp); putlink(f, lfp); inort(lfp, hfp, i_le_fordon); la_fordon(fil, &f); fcloe(fil); void via_fordlit(headtyp *hfp) fordon f; linktyp *lfp; lfp = firtlink(hfp); while ( lfp!= NULL ) f = getlink(lfp); kriv_fordon(f); lfp = ucclink(lfp); void fyll_bulit(headtyp *hfp, headtyp *hbp) fordon f; linktyp *lfp, *lbp; lfp = firtlink(hfp); while ( lfp!= NULL ) f = getlink(lfp); if ( i_a_bu(f) ) newlink(&lbp); putlink(f, lbp); inlat(lbp, hbp); lfp = ucclink(lfp); /* Huvudprogram fordmain.c */ 83

24 #include "twolit.h" #include "fordlit.h" int main() headtyp *fordhp, *buhp; newhead(&fordhp); newhead(&buhp); fyll_fordlit(fordhp); put("fordonlita"); via_fordlit(fordhp); fyll_bulit(fordhp, buhp); put("\nbulita"); via_fordlit(buhp); return 0; Ovan använde man union del i poten för att hantera litor med varierande data i itt program. Det finn ett alternativt ätt att använda den abtrakta datatypen twolit för att hantera flera litor med olika typer av data i. Man kan om datatyp ange en void pekare enligt: /* Specifikation av tvåväglitor twolit.h */.. typedef void * datatyp;.. På detta ätt får man en lita innehållande data i form av pekare till aktuella data. Denna lita blir mer generell och kan återanvända i färdig kompilerad form. Detta är en fördel när man äljer program. Man behöver bara leverera den makinkodade exekveringfilen. Nackdelen med att använda pekare om data i litor är att man ej får någon kompileringäkerhet. Hela anvaret för att korrekt data finn i litan överlämna åt programmeraren. 84

Support Manual HoistLocatel Electronic Locks

Support Manual HoistLocatel Electronic Locks Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing

Läs mer

3 Listor. 3.1 Envägslistor

3 Listor. 3.1 Envägslistor 3 Listor Lista är ett sammanfattande namn för en datastruktur som består av noll eller flera dataobjekt som är ordnade på något sätt. För en generell lista ska man kunna sätta in, ta bort eller nå vilket

Läs mer

Webbregistrering pa kurs och termin

Webbregistrering pa kurs och termin Webbregistrering pa kurs och termin 1. Du loggar in på www.kth.se via den personliga menyn Under fliken Kurser och under fliken Program finns på höger sida en länk till Studieöversiktssidan. På den sidan

Läs mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Föreläsning 8. Designmönster

Föreläsning 8. Designmönster Föreläsning 8 Designmönster Designmönster När man designar program kan det vara viktigt att förstå hur man tidigare gått till väga när man konstruerat program. Kännedom om dessa tillvägagångssätt kan snabba

Läs mer

http://marvel.com/games/play/31/create_your_own_superhero http://www.heromachine.com/

http://marvel.com/games/play/31/create_your_own_superhero http://www.heromachine.com/ Name: Year 9 w. 4-7 The leading comic book publisher, Marvel Comics, is starting a new comic, which it hopes will become as popular as its classics Spiderman, Superman and The Incredible Hulk. Your job

Läs mer

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

Läs mer

Writing with context. Att skriva med sammanhang

Writing with context. Att skriva med sammanhang Writing with context Att skriva med sammanhang What makes a piece of writing easy and interesting to read? Discuss in pairs and write down one word (in English or Swedish) to express your opinion http://korta.nu/sust(answer

Läs mer

Föreläsning 4: Poster

Föreläsning 4: Poster Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra

Läs mer

Module 6: Integrals and applications

Module 6: Integrals and applications Department of Mathematics SF65 Calculus Year 5/6 Module 6: Integrals and applications Sections 6. and 6.5 and Chapter 7 in Calculus by Adams and Essex. Three lectures, two tutorials and one seminar. Important

Läs mer

Questionnaire for visa applicants Appendix A

Questionnaire for visa applicants Appendix A Questionnaire for visa applicants Appendix A Business Conference visit 1 Personal particulars Surname Date of birth (yr, mth, day) Given names (in full) 2 Your stay in Sweden A. Who took the initiative

Läs mer

Tentamen: Datordel Programmeringsteknik

Tentamen: Datordel Programmeringsteknik Tentamen: Datordel Programmeringsteknik Datum: 2012-02-28 Tid: 12:00-16:00 Sal: Ansvarig: Resultat: Hjälpmedel: Betygsgränser: Ulf Johansson Anslås inom 3 veckor. Inga Sammanlagt 30 p för G, 45 p för VG.

Läs mer

Libers språklåda i engelska Grab n go lessons

Libers språklåda i engelska Grab n go lessons Libers språklåda i engelska 7-9 - Grab n go lessons PROVLEKTION Libers språklåda i engelska Grab n go lessons (47-90988-9) Författarna och Liber AB Får kopieras 1 Two stories in one Förberedelser Kopiera

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR Kontrollera vilka kurser du vill söka under utbytet. Fyll i Basis for nomination for exchange studies i samråd med din lärare. För att läraren ska kunna göra en korrekt

Läs mer

Module 1: Functions, Limits, Continuity

Module 1: Functions, Limits, Continuity Department of mathematics SF1625 Calculus 1 Year 2015/2016 Module 1: Functions, Limits, Continuity This module includes Chapter P and 1 from Calculus by Adams and Essex and is taught in three lectures,

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

Webbreg öppen: 26/ /

Webbreg öppen: 26/ / Webbregistrering pa kurs, period 2 HT 2015. Webbreg öppen: 26/10 2015 5/11 2015 1. Du loggar in på www.kth.se via den personliga menyn Under fliken Kurser och under fliken Program finns på höger sida en

Läs mer

Read Texterna består av enkla dialoger mellan två personer A och B. Pedagogen bör presentera texten så att uttalet finns med under bearbetningen.

Read Texterna består av enkla dialoger mellan två personer A och B. Pedagogen bör presentera texten så att uttalet finns med under bearbetningen. ! Materialet vill ge en gemensam bas av användbara fraser för dialoger i klassrummet. skapa dialoger mellan elever på engelska. skapa tydliga roller för två personer, och. presentera meningsfulla fraser

Läs mer

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110. 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt

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

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

4 Sammansatta datatyper

4 Sammansatta datatyper 4 Sammansatta datatyper De enkla datatyper som vi hittills använt är otillräckliga när man ska hantera stora datamängder. Vill man exempelvis läsa in 100 reella mätvärden, som man tillfälligt vill spara

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

Symboliska konstanter const

Symboliska konstanter const (5 oktober 2010 T11.1 ) Symboliska konstanter const Tre sätt som en preprocessormacro med const-deklaration med enum-deklaration (endast heltalskonstanter) Exempel: #define SIZE 100 const int ANSWER =

Läs mer

2.1 Installation of driver using Internet Installation of driver from disk... 3

2.1 Installation of driver using Internet Installation of driver from disk... 3 &RQWHQW,QQHKnOO 0DQXDOÃ(QJOLVKÃ'HPRGULYHU )RUHZRUG Ã,QWURGXFWLRQ Ã,QVWDOOÃDQGÃXSGDWHÃGULYHU 2.1 Installation of driver using Internet... 3 2.2 Installation of driver from disk... 3 Ã&RQQHFWLQJÃWKHÃWHUPLQDOÃWRÃWKHÃ3/&ÃV\VWHP

Läs mer

Styrteknik: Binära tal, talsystem och koder D3:1

Styrteknik: Binära tal, talsystem och koder D3:1 Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder

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

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167 GU / Chalmers Campus Lindholmen Tentamen Programutveckling 2016-01-13 LEU 482 / TIG167 Examinator: Henrik Sandklef (0700-909363) Tid för tentamen: 2016-01-13, 08.30 12.30 Ansvarig lärare: Henrik Sandklef,

Läs mer

SORTERING OCH SÖKNING

SORTERING OCH SÖKNING Algoritmer och Datastrukturer Kary FRÄMLING Kap. 9, Sid 1 C-språket 2/Kary Främling v2000 och Göran Pulkkis v2003 SORTERING OCH SÖKNING Sortering är ett av de bästa exemplen på problem där valet av lösningsalgoritm

Läs mer

12.6 Heat equation, Wave equation

12.6 Heat equation, Wave equation 12.6 Heat equation, 12.2-3 Wave equation Eugenia Malinnikova, NTNU September 26, 2017 1 Heat equation in higher dimensions The heat equation in higher dimensions (two or three) is u t ( = c 2 2 ) u x 2

Läs mer

Workplan Food. Spring term 2016 Year 7. Name:

Workplan Food. Spring term 2016 Year 7. Name: Workplan Food Spring term 2016 Year 7 Name: During the time we work with this workplan you will also be getting some tests in English. You cannot practice for these tests. Compulsory o Read My Canadian

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

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

Styrteknik : Funktioner och funktionsblock

Styrteknik : Funktioner och funktionsblock PLC2A:1 Variabler och datatyper Allmänt om funktioner och funktionsblock Programmering av funktioner Programmering av funktionsblock PLC2A:2 Variabler i GX IEC Developer Global and Local Variables Variables

Läs mer

State Examinations Commission

State Examinations Commission State Examinations Commission Marking schemes published by the State Examinations Commission are not intended to be standalone documents. They are an essential resource for examiners who receive training

Läs mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

Capabilities for Education, Work and Voice from the Perspective of the Less Employable University Graduates.

Capabilities for Education, Work and Voice from the Perspective of the Less Employable University Graduates. Capabilities for Education, Work and Voice from the Perspective of the Less Employable University Graduates. Delstudie inom EU-projektet Workable 2010-2013 Gunilla Bergström Casinowsky Institutionen för

Läs mer

Vätebränsle. Namn: Rasmus Rynell. Klass: TE14A. Datum: 2015-03-09

Vätebränsle. Namn: Rasmus Rynell. Klass: TE14A. Datum: 2015-03-09 Vätebränsle Namn: Rasmus Rynell Klass: TE14A Datum: 2015-03-09 Abstract This report is about Hydrogen as the future fuel. I chose this topic because I think that it s really interesting to look in to the

Läs mer

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2012-09-01 Version: 1.0.0 Doc. no.: I04304b Sida 2 av 7 Revision history Datum Version Sign. Kommentar 2012-09-01 1.0.0

Läs mer

Mönster. Ulf Cederling Växjö University Ulf.Cederling@msi.vxu.se http://www.msi.vxu.se/~ulfce. Slide 1

Mönster. Ulf Cederling Växjö University Ulf.Cederling@msi.vxu.se http://www.msi.vxu.se/~ulfce. Slide 1 Mönster Ulf Cederling Växjö University UlfCederling@msivxuse http://wwwmsivxuse/~ulfce Slide 1 Beskrivningsmall Beskrivningsmallen är inspirerad av den som användes på AG Communication Systems (AGCS) Linda

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

Isometries of the plane

Isometries of the plane Isometries of the plane Mikael Forsberg August 23, 2011 Abstract Här följer del av ett dokument om Tesselering som jag skrivit för en annan kurs. Denna del handlar om isometrier och innehåller bevis för

Läs mer

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Make a speech. How to make the perfect speech. söndag 6 oktober 13 Make a speech How to make the perfect speech FOPPA FOPPA Finding FOPPA Finding Organizing FOPPA Finding Organizing Phrasing FOPPA Finding Organizing Phrasing Preparing FOPPA Finding Organizing Phrasing

Läs mer

Mekanik FK2002m. Kraft och rörelse II

Mekanik FK2002m. Kraft och rörelse II Mekanik FK2002m Föreläsning 5 Kraft och rörelse II 2013-09-06 Sara Strandberg SARA STRANDBERG P. 1 FÖRELÄSNING 5 Introduktion Vi har hittills behandlat ganska idealiserade problem, t.ex. system i avsaknad

Läs mer

MÅLSTYRNING OCH LÄRANDE: En problematisering av målstyrda graderade betyg

MÅLSTYRNING OCH LÄRANDE: En problematisering av målstyrda graderade betyg MÅLSTYRNING OCH LÄRANDE: En problematisering av målstyrda graderade betyg Max Scheja Institutionen för pedagogik och didaktik Stockholms universitet E-post: max.scheja@edu.su.se Forskning om förståelse

Läs mer

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm Guldplätering kan aldrig helt stoppa genomträngningen av vätgas, men den får processen att gå långsammare. En tjock guldplätering

Läs mer

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1, 040607.

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1, 040607. 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Denna tenta kommer att vara färdigrättad On 9/6 och kan då hämtas på mitt tjänsterum,

Läs mer

Installation av F13 Bråvalla

Installation av F13 Bråvalla Website: http://www.rbdesign.se Installation av F13 Bråvalla RBDESIGN FREEWARE - ESCK Norrköping-Bråvalla 1. Ladda ner och packa upp filerna i en mapp som du har skapat på ett lättöverskådligt ställe utanför

Läs mer

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14. Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

Läs mer

Scratch Junior. makeandshape.com. by MIT. Gränssnitt Scratch Junior

Scratch Junior. makeandshape.com. by MIT. Gränssnitt Scratch Junior Scratch Junior by MIT Gränssnitt Scratch Junior 1. Spara 2. Scen 3. Presentationsläge (fullskärm) 4. Rutnät 5. Byt bakgrund 6. Lägg till text 7. Återställ figur (till sin ursprungliga position) 8. Grön

Läs mer

Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families

Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families Health café Resources Meeting places Live library Storytellers Self help groups Heart s house Volunteers Health coaches Learning café Recovery Health café project Focus on support to people with chronic

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

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas The Distributed Application Debugger is a debugging tool for parallel programs Targets the MPI platform Runs remotley even on private

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05 Om oss Vi på Binz är glada att du är intresserad av vårt support-system för begravningsbilar. Sedan mer än 75 år tillverkar vi specialfordon i Lorch för de flesta olika användningsändamål, och detta enligt

Läs mer

Calculate check digits according to the modulus-11 method

Calculate check digits according to the modulus-11 method 2016-12-01 Beräkning av kontrollsiffra 11-modulen Calculate check digits according to the modulus-11 method Postadress: 105 19 Stockholm Besöksadress: Palmfeltsvägen 5 www.bankgirot.se Bankgironr: 160-9908

Läs mer

grundläggande C++, funktioner m.m.

grundläggande C++, funktioner m.m. C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel Ett enkelt program i C++, hello.cpp #include

Läs mer

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till

Läs mer

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum: 2015-03-09

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum: 2015-03-09 Solowheel Namn: Jesper Edqvist Klass: TE14A Datum: 2015-03-09 Abstract We got an assignment that we should do an essay about something we wanted to dig deeper into. In my case I dug deeper into what a

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

1 Funktioner och procedurell abstraktion

1 Funktioner och procedurell abstraktion 1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada. Sockets: server with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.Text_IO; with TJa.Sockets; use TJa.Sockets; procedure Server is -- Servern

Läs mer

Introduktion till arv

Introduktion till arv Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering

Läs mer

samhälle Susanna Öhman

samhälle Susanna Öhman Risker i ett heteronormativt samhälle Susanna Öhman 1 Bakgrund Riskhantering och riskforskning har baserats på ett antagande om att befolkningen är homogen Befolkningen har alltid varit heterogen när det

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

Föreläsning 4 IS1300 Inbyggda system

Föreläsning 4 IS1300 Inbyggda system Föreläsning 4 IS1300 Inbyggda system Programutveckling Exempel PingPong Idé Tillståndsdiagram State machine Skapa projekt Testning av programvara Peripheral Library till STM32 Programmeringsuppgiften RS232

Läs mer

UTLYSNING AV UTBYTESPLATSER VT12 inom universitetsövergripande avtal

UTLYSNING AV UTBYTESPLATSER VT12 inom universitetsövergripande avtal UTLYSNING AV UTBYTESPLATSER VT12 inom universitetsövergripande avtal Sista ansökningsdag: 2011-05-18 Ansökan skickas till: Birgitta Rorsman/Kjell Malmgren Studentavdelningen Box 100 405 30 Göteborg Eller

Läs mer

Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9

Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9 Quicksort Koffman & Wolfgang kapitel 8, avsnitt 9 1 Quicksort Quicksort väljer ett spcifikt värde (kallat pivot), och delar upp resten av fältet i två delar: alla element som är pivot läggs i vänstra delen

Läs mer

Föreläsning 13 och 14: Binära träd

Föreläsning 13 och 14: Binära träd Föreläsning 13 och 14: Binära träd o Binärträd och allmänna träd o Rekursiva tankar för binärträd o Binära sökträd Binärträd och allmänna träd Stack och kö är två viktiga datastrukturer man kan bygga av

Läs mer

Exempel på uppgifter från 2010, 2011 och 2012 års ämnesprov i matematik för årskurs 3. Engelsk version

Exempel på uppgifter från 2010, 2011 och 2012 års ämnesprov i matematik för årskurs 3. Engelsk version Exempel på uppgifter från 2010, 2011 och 2012 års ämnesprov i matematik för årskurs 3 Engelsk version 2 Innehåll Inledning... 5 Written methods... 7 Mental arithmetic, multiplication and division... 9

Läs mer

GROUND The Flicker, The Cycles, The Bells, The Waves

GROUND The Flicker, The Cycles, The Bells, The Waves GROUND The Flicker, The Cycle, The Bell, The Wave for ine wave with individual volume control or performer Jeper Norda 0 PROGRAMME NOTE (ENGLISH): In all electrical ytem there i a tone. In everyday language

Läs mer

Föreläsning 2: Avlusning och antilustekniker

Föreläsning 2: Avlusning och antilustekniker 2D1458, Problemlösning och programmering under press Föreläsning 2: Avlusning och antilustekniker Datum: 2007-09-11 Skribent(er): Emil Hesslow, Stefan Pettersson Föreläsare: Per Austrin Föreläsningen handlade

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16 TDDC74 Programmering: Abstraktion och modellering Dugga 2, 207-04-06, kl 4-6 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 i svårighetsordning.

Läs mer

Att använda flipped classroom i statistisk undervisning. Inger Persson Statistiska institutionen, Uppsala

Att använda flipped classroom i statistisk undervisning. Inger Persson Statistiska institutionen, Uppsala Att använda flipped classroom i statistisk undervisning Inger Persson Statistiska institutionen, Uppsala Program Vad är flipped classroom? Vad jag har gjort Videoföreläsningar Klassrumstillfällen Resultat

Läs mer

PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C#

PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C# PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C# Vi gör ett enkelt glosförhör Allt det du gör idag ska ligga i samma projekt (och mapp). Du kan om du tycker det behövs använda flera forms

Läs mer

Protokoll Föreningsutskottet 2013-10-22

Protokoll Föreningsutskottet 2013-10-22 Protokoll Föreningsutskottet 2013-10-22 Närvarande: Oliver Stenbom, Andreas Estmark, Henrik Almén, Ellinor Ugland, Oliver Jonstoij Berg. 1. Mötets öppnande. Ordförande Oliver Stenbom öppnade mötet. 2.

Läs mer

Adding active and blended learning to an introductory mechanics course

Adding active and blended learning to an introductory mechanics course Adding active and blended learning to an introductory mechanics course Ulf Gran Chalmers, Physics Background Mechanics 1 for Engineering Physics and Engineering Mathematics (SP2/3, 7.5 hp) 200+ students

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19 TDDC74 Programmering: Abstraktion och modellering Dugga 2, 2017-04-06, kl 17-19 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 i

Läs mer

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)

Läs mer

Tentamen i Objektorienterad Programmering 5p, Au, D, Fri, Pr, 051019

Tentamen i Objektorienterad Programmering 5p, Au, D, Fri, Pr, 051019 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningarna till tentamensuppgifterna sätts ut på kurssidan på nätet i dag kl 13. Denna tenta kommer att vara färdigrättad Må 24/10 och kan då hämtas på

Läs mer

Plain A262. För T16 (T5) lysrör. Innehåll. Monteringsanvisning. A. Instruktion för rampmontering

Plain A262. För T16 (T5) lysrör. Innehåll. Monteringsanvisning. A. Instruktion för rampmontering Plain A262 För T16 (T5) lysrör Innehåll Ramparmatur: ändmodul En stängd gavel/ en öppen gavel Plint i båda ändarna Överkopplingssladd 1 rampgavel 1 lysrörsbytare Ramparmatur: mellanmodul Plint i en ände

Läs mer

Consumer attitudes regarding durability and labelling

Consumer attitudes regarding durability and labelling Consumer attitudes regarding durability and labelling 27 april 2017 Gardemoen Louise Ungerth Konsumentföreningen Stockholm/ The Stockholm Consumer Cooperative Society louise.u@konsumentforeningenstockholm.se

Läs mer

TDIU01 Programmering i C++

TDIU01 Programmering i C++ TDIU01 Programmering i C++ Föreläsning 6 - Klasser Eric Elfving, eric.elfving@liu.se Institutionen för datavetenskap (IDA) Avdelningen för Programvara och system (SaS) Klasser När vi skapade vår lista

Läs mer

Provlektion Just Stuff B Textbook Just Stuff B Workbook

Provlektion Just Stuff B Textbook Just Stuff B Workbook Provlektion Just Stuff B Textbook Just Stuff B Workbook Genomförande I provlektionen får ni arbeta med ett avsnitt ur kapitlet Hobbies - The Rehearsal. Det handlar om några elever som skall sätta upp Romeo

Läs mer

Ett enkelt program i C++, hello.cpp. #include <iostream> int main() { std::cout << "Hello World\n"; return 0; } C++, Övning 1

Ett enkelt program i C++, hello.cpp. #include <iostream> int main() { std::cout << Hello World\n; return 0; } C++, Övning 1 Ett enkelt program i C++, hello.cpp C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel int

Läs mer

Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler

Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler 21-1-2 1 Dagens föreläsning Hur fungerar ett Lisp system intern struktur av symbolen, tal, listan pekare - delade strukturer - eq minneshantering fri lista - sophämtning/garbage collection stack Diverse

Läs mer

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe Fortsä'ning Pekare Ulf Assarsson Originalslides av Viktor Kämpe Pekare och Arrayer/VK 2 Pekare och Arrayer/VK 3 Förra föreläsningen Pekare Bll data Arrayer fix storlek och adress Dynamisk minnesallokering

Läs mer

Tentamen i Grundläggande Programvaruutveckling, TDA548

Tentamen i Grundläggande Programvaruutveckling, TDA548 Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5

Läs mer

Listen to me, please!

Listen to me, please! Till pedagogen är särskilt riktat mot det centrala innehållet Lyssna och läsa i ämnet engelska i Lgr11. Syftet med materialet är att: Eleverna ska ha roligt tillsammans i situationer där eleven är ledare.

Läs mer

Preschool Kindergarten

Preschool Kindergarten Preschool Kindergarten Objectives CCSS Reading: Foundational Skills RF.K.1.D: Recognize and name all upper- and lowercase letters of the alphabet. RF.K.3.A: Demonstrate basic knowledge of one-toone letter-sound

Läs mer

English. Things to remember

English. Things to remember English Things to remember Essay Kolla instruktionerna noggrant! Gå tillbaka och läs igenom igen och kolla att allt är med. + Håll dig till ämnet! Vem riktar ni er till? Var ska den publiceras? Vad är

Läs mer

TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel

TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel 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 i svårighetsordning.

Läs mer

Uppgift 1 (Oläsliga krypterade meddelanden)

Uppgift 1 (Oläsliga krypterade meddelanden) Uppgift 1 (Oläsliga krypterade meddelanden) Ofta vill man kryptera text för att inte andra skall se vad man skrivit. I den givna filen KRYPTERAD_TEXT.TXT finns en krypterad text som kan vara av intresse

Läs mer

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!!

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!! Sid 1 av 8 Datavetenskap Tentamen för DVG A03 Datorsystemteknik, 7,5 hp, del 2 fredag 2009-01-09 kl. 08.15-13.15 Tentamen del 2 består av 4 sidor. Ansvariga lärare: Tillåtna hjälpmedel: Kerstin Andersson

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

EXTERNAL ASSESSMENT SAMPLE TASKS SWEDISH BREAKTHROUGH LSPSWEB/0Y09

EXTERNAL ASSESSMENT SAMPLE TASKS SWEDISH BREAKTHROUGH LSPSWEB/0Y09 EXTENAL ASSESSENT SAPLE TASKS SWEDISH BEAKTHOUGH LSPSWEB/0Y09 Asset Languages External Assessment Sample Tasks Breakthrough Stage Listening and eading Swedish Contents Page Introduction 2 Listening Sample

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