UMEÅ UNIVERSITET Datavetenskap. Praktiska uppgifter. Metoder och verktyg för datavetare Ht04

Storlek: px
Starta visningen från sidan:

Download "UMEÅ UNIVERSITET Datavetenskap. Praktiska uppgifter. Metoder och verktyg för datavetare Ht04"

Transkript

1 UMEÅ UNIVERSITET Praktiska uppgifter Metoder och verktyg för datavetare Ht04

2

3 Umeå universitet Praktisk uppgift 1 Legoprogrammering L1 - ROBOTLEGO Syfte Syftet med denna praktiska uppgift är att man ska få en insikt i hur en robot kan styras med hjälp av enkel programmering med ikoner. Uppgiften kommer också ge tillfälle till reflektion kring hur man ger en robot ett beteende och vilka beteenden som är enkla att programmera och vilka som är svårare. Uppgiften löses i mindre grupper som utses under övningstillfället. Robolab Robolab är en miljö som i huvudsak består av följande komponenter: RCX-modul 1, en styrenhet som innehåller en mikrodator som kan lagra program. Denna del ser ut som en stor legobit och kan byggas in i färdiga konstruktioner som till exempel den robot som finns uppbyggd i labsalen. Robolab, är programvaran där man skriver sina program. Det bygger på ett programmeringsspråk som heter LabVIEW 2. All programmering sker med hjälp av ikoner och man kan själv skapa nya ikoner och återanvända sina program. En kortare manual över de vanligaste ikonerna finns längre bak i detta häfte. IR-sändaren 3, när man skrivit sitt program klart på datorn kan det överföras med hjälp av IR-sändaren till mikrodatorn som finns i RCX-modulen. + en massa legobitar förstås! (men ni kommer tyvärr inte hinna bygga något själva denna gång) En introduktion till systemet och hur man programmerar finns längre fram i detta häfte men läs igenom uppgiften först så att ni har sammanhanget klart för er. Uppgift När ni kommer till laborationssalen finns det en robot och början på ett program som styr roboten där. Ni ska under uppgiftens gång öka på robotens förmåga att röra sig i en omgivning och målet är att den ska kunna följa en snitslad bana obehindrat. (Eller ni kanske formulerar ännu större/svårare mål?) När uppgiften startar finns två ljussensorer kopplade på roboten, dessa är kopplade till ingång 1 och 3 på RCX-modulen. Det finns också en trycksensor kopplad till ingång 2. Det finns två motorer på roboten som styr vänster respektive högre hjulpar. Motorerna är kopplade till utgångarna A och C. Deluppgift ett och två ska programmeras av alla medan det i deluppgift tre räcker med att man funderar kring tillvägagångssätt och skissar på en lösning av problemet om man inte hinner med den. 1 RCX = Robotic Commander explorer 2 Fordonet som landsattes på planeten Mars 1997 hade sin programvara utvecklad i LabVIEW. 3 IR = InfraRed (infrarött ljus) 3(27)

4 Umeå universitet Praktisk uppgift 1 Legoprogrammering Deluppgift 1 Arbeta med utdata - styr roboten Det kodavsnitt som ni laddat in (se introduktionen) består av en oändlig loop som avslutas genom att man trycker på trycksensorn. Ni ska nu skapa olika beståndsdelar för att styra roboten. Ni börjar med att utveckla delarna inuti den oändliga loopen för att sedan flytta över dem till egna rutiner (och därmed egna ikoner). Detta gör att det blir enkelt för er att återanvända koden i senare deluppgifter. Skriv kod som gör att roboten åker framåt (se också bild i introduktionen!) roboten åker bakåt roboten svänger vänster roboten svänger höger Notera att vänster- och högersvängarna kan göras på tre olika sätt. Två sätt där roboten står stilla och svänger och ett sätt där roboten kör framåt samtidigt som den svänger (det bli en liten större svängradie). Implementera alla tre sätten och undersök vad som skiljer dem åt. Deluppgift 2 Gör ett rörelseschema Låt er robot dansa genom att programmera en sekvens av rörelser. Roboten bör röra sig på olika sätt under minst 15 sekunder. Det är helt valfritt hur roboten rör sig bara det är varierat. Här bör ni använda er av de små delprogrammen som ni gjorde i deluppgift 1. Deluppgift 3 Gör en robot som kan följa en snitslad bana I laborationssalen finns en vit bana upptejpad på golvet. Skriv ett program till roboten som med hjälp av ljussensorerna gör att roboten automatiskt rör sig längs den vita banan. Är det enkelt att ändra så att man istället får roboten att röra sig på området innanför den vita banan? Frivilliga extrauppgifter Ge roboten ett beteende som beror på omgivningen. Välj en eller flera av de sensorer som finns (trycksensorer eller ljussensorer) och skriv ett program där roboten på något sätt reagerar på sin omgivning. Räkna antalet varv i banan, när roboten kört tre varv så ska den göra en segerdans. Tejpa upp banor i olika färger. Se till att roboten bara följer tex den svarta banan. Redovisning Arbetet ska redovisas i en skriftlig rapport. Redogör utförligt för varje genomfört steg, om ni inte hunnit lösa deluppgift 3 så redogör för hur långt ni kommit och beskriv hur ni skulle gått vidare om mer tid funnits. Tänk på att en icke initierad läsare skall kunna återupprepa det ni gjort. Vid val av parametrar måste ni övertyga läsaren om att det inte finns andra val av parametrar som skulle lösa uppgiften avsevärt mycket bättre. Detta kan till exempel göras genom att redovisa tabeller med olika parameterval och redovisning av uppvisat beteende hos legoroboten. I ett separat avsnitt redogör ni för vilka slutsatser som man kan dra av experimentet. 4(27)

5 Umeå universitet Praktisk uppgift 1 Legoprogrammering Introduktion till systemet RCX-modulen De svarta platserna märkta A, B och C är utenheter. Dit kopplar man till exempel en motor som ska styras av roboten. Platserna märkta 1, 2 och 3 är inenheter dit man kopplar tex ljussensorer De fyra knapparna har följande funktioner: On-off slår av och på modulen, stäng av den medan ni programmerar så sparar ni på batteriet! Run när man laddat ned ett program till modulen så kör man det genom att trycka på run. Man stänger programmet genom att trycka på run igen. Prgm här väljer man vilket program som ska köras (1-5) eller var programmet ska laddas ned. View visar värdet på sensorn. En liten pil på displayen visar vilken sensor man just läst av. IR-sändaren IR-sändaren är redan kopplad till den dator du ska jobba med. Det är den som flyttar över programmet från datorn till RCX-modulen. Så här gör du för att ladda ned ett program: 1. Ställ roboten på 10-30cm avstånd från IR-sändaren. (Robotens IR-portar ser ut som svarta ögon fram på RCX-modulen.). 2. Slå på roboten (On-off på RCX-modulen) 3. Välj var programmet ska lagras (plats 3-5) 4. Tryck på knappen för laddning (en vit pil längst till vänster under menyraden) i Robolab (beskrivs mer nedan). Robolab Du startar programmet genom att välja Robolab i menyn Start All Programs Programming och sedan klicka på Run ROBOLAB och sedan Programmer. Då har du fått upp ett fönster som ser ut som till höger. Här väljer man vilken svårighetsnivå man vill ha på sina program. Dubbelklicka på Inventor 4. Då öppnas två fönster tätt intill varandra som bilden på nästa sida. 5(27)

6 Umeå universitet Praktisk uppgift 1 Legoprogrammering Detta är ett tomt program där det gröna trafikljuset symboliserar starten av programmet och det röda slutet av programmet. Ni ska dock utgå från en stomme som ni sen ska utöka. 1. Ladda ned filen tom_loop.vi från kurshemsidan och spara den i din hemkatalog. 2. Öppna sedan filen i ROBOLAB. Nu får du upp ett nytt smalt fönster. I detta fönster väljer du Window Show Diagram. Då kommer följande program upp: Den rosa tråden som förbinder alla symboler är själva programmets gång. Det startar i det gröna trafikljuset och går fram till det röda. och är början och slutet på en loop, dvs programmet gör det som finns däremellan upprepade gånger. betyder att loopen upprepas tills dess att knappen på trycksensorn trycks in. betyder att trycksensorn är kopplad till input 2 på RCX-modulen och betyder att alla motorer stängs av (eller rättare sagt att allt som skickas ut till output A, B och C stoppas). 6(27)

7 Umeå universitet Praktisk uppgift 1 Legoprogrammering Att lägga till ikoner att programmera I nuläget gör programmet ingenting. För att få programmet att göra något måste du lägga till egna kommandoikoner, dvs du måste skapa ett program. Detta gör du genom att välja Show Functions Palette i menyn Window. Då kommer en palett som ser ut som till vänster upp. Det kommer att finnas en översikt över kommandoikonerna i labsalen och man får också en kort beskrivning av ikonen på engelska om man för musen över den. Man kan lägga till en kommandoikon på två sätt. Det ena är när man som nu har ett färdigt program som man vill utöka. Då högerklickar man på den rosa tråden där man vill placera en ikon och väljer Insert. Då kommer funktionspaletten upp och man kan välja vilken ikon man vill lägga in. 1. Prova att stoppa in kommandoikonen Kör motor A framåt mellan och. Man kan också dra från funktionspaletten och släppa ikonen på skrivytan. 2. Dra Kör motor C framåt och släpp den på skrivytan någonstans nära symbolerna och Nu måste man länka in den nya symbolen genom att dra om programtråden. För att kunna hantera symbolerna (flytta dem, förbinda dem med varandra etc) måste du öppna en verktygspalett. I menyn Window välj Show Tools Palette. Då kommer paletten nere till vänster upp. 3. Klicka på i Tools-paletten. Markera sedan tråden mellan och och radera den genom och trycka på Delete-knappen. Klicka sedan på i Tools paletten. Nu kan du dra en ny tråd mellan och samt och. Detta gör du genom att föra musen över tills dess att hjälptexten säger End. Klicka. För sedan musen över tills hjälptexten säger Begin. Klicka igen och en rosa tråd har dragits mellan ikonerna. Gör likadant för den andra förbindelsen. Blir det för tätt mellan ikonerna kan du flytta dem med hjälp av pilen i Tools-paletten. Nu har du ett program som ser ut ungefär så här: 7(27)

8 Umeå universitet Praktisk uppgift 1 Legoprogrammering 4. Spara ditt program och överför det till RCX-modulen med hjälp av IR-sändaren (se ovan). 5. Starta roboten (PÅ GOLVET!!!!) vad händer? Stanna programmet genom att trycka på trycksensorn. Nu har du gjort ditt första robotprogram. Gå nu tillbaka och fortsätt med deluppgift 1. 8(27)

9 Umeå universitet Praktisk uppgift 2 MDI L2 - MDI Syftet med denna uppgift är att du kritiskt ska granska olika datorbaserade tjänster och se vilka för/nackdelar de har. I detta fall har jag valt två webbaserade tjänster som vem som helst kan använda från en internetansluten dator. Uppgift Du ska utvärdera websajterna för två biltillverkare: Ford, se/, och SAAB, Båda tillverkarna erbjuder sina kunder möjligheten att bygga den bil som man själv vill ha. Du ska utvärdera dessa tjänster utgående från de kriterier, tumregler, etc, som nämndes under MDI föreläsningen. Du kan också finna användbar information på de websajter som finns listade i slutet av uppgiften. Här nedanför finns några exempel på olika kunder som kan tänkas besöka dessa sajter. Familjen Anders Andersson är en 37 årig tre-barns familjefader som efter 3 år i en Fiat 127 har beslutat köpa sig en ny bil. Familjen använder bilen för tre saker: Åka de milen till Åsele, inte kul i en Fiat 127, för att hälsa på släkten. Detta sker ca 5-6 gånger per år. Åka fram och tillbaka till jobbet, ca 2 mil. Eftersom familjen inte bor inne i själva Umeå så funkar det inte med kollektivtrafik utan det är tvunget att minst en av föräldrarna tar bilen för att skjutsa barnen till dagis och skola, den som inte tar bilen kan ta bussen till jobbet. Det är alltså nödvändigt att bilen fungerar oavsett väderlek etc. Familjen veckohandlar och därför åker en av föräldrarna in till ett köpcentrum varje vecka för att fylla på förråden. Bägge föräldrarna arbetar och tjänar resp per månad, de bor i ett hus ca 2 mil från Umeå Den ensamstående Lisa Larsson är 24 år gammal och ensamstående. Hennes nuvarande bil är en Volvo 434 årsmodell -87, men det funkar inte att ha denna 1 20 augusti 2004 bil längre utan hon har beslutat sig för att köpa en ny bil. Lisa är en relativt aktiv person med många vänner och bekanta, hon lägger också ner mycket tid på fysisk träning och sysslar med flera olika sporter: aerobics, snowboard, terränglöpning, fotboll och simning. Hon bor i en tvåa på Mariehem och arbetar på sjukhuset, på grund av detta är hennes lön inte så hög utan ligger omkring per månad. Hon har dock fått lite pengar av äldre släktingar och har beslutat lägga största delen på en ny bil. Lisa kommer inte från Umeå utan från Örnsköldsvik och åker dit någon gång per månad för att hälsa på släkt och vänner. Det äldre Paret Athena och Kristos Papandreos är i års åldern och bor på Ersboda. De är både ålderspensionärer och passar nu på att njuta av att inte behöva gå till arbetet. De har bott i Sverige i ca år och har tre vuxna barn som är bosatta i Umeå, Stockholm och Östersund. Deras fritidsintressen är varierande: stavgång, skidåkning, handarbete, biljard och trädgårdsskötsel (de har en kolonilott ute vid Nydalasjön) men framför allt så umgås de med olika vänner i Umeå-trakten. 9(27)

10 Umeå universitet Praktisk uppgift 2 MDI De har också många vänner i Grekland och försöker därför att hälsa på två - tre gånger per år. Eftersom Kristos är flygrädd så föredrar de att ta bilen till Grekland. Redovisning Resultatet av utvärderingen ska redovisas i en rapport som beskriver systemen och din utvärdering av dem. Rapporten ska vara klar och tydligt skriven där ditt resonemang ska framgå tydligt. Glöm inte att skilja på förutsättningar, fakta och din värdering/slutsats. Websajter om MDI Notera att det finns flera olika websajter som handlar om MDI, jag har valt att bara lista tre stycken (som inte nödvändigtvis är de bästa) som tillhör tre personligheter inom MDI området (27)

11 Umeå universitet Praktisk uppgift 3 Beräkningsbekymmer L3 - BERÄKNINGSBEKYMMER Syfte Syftet med denna praktiska uppgift är att man ska få stifta bekantskap med programmet MATLAB, men också se hur viktigt det är att reflektera över om de resultat man får är rimliga när man gör beräkningar med hjälp av datorer. MATLAB MATLAB är ett program för att göra matematiska beräkningar och visualiseringar av data, namnet är en förkortning av Matrix laboratory. När man startar MATLAB ska ett kommandofönster med en prompt som ser ut som ett dubbelt olikhetstecken» öppnas. Efter prompten ges instruktioner till MATLAB. Bland det enklaste man kan göra är att addera två tal, skriv följande och tryck sedan på returtangenten:» 23 + För multiplikation använder man * och för division / precis som i de flesta programmerings-språk. Man kan spara uträknade värden i variabler som i detta exempel. 42» A = 3*5» B = 76 11» C = A/ B Den sista raden, C = A/B, betyder att man delar A (dvs. 15) med B (dvs. 65) och sparar svaret i variabeln C. Om man enbart skriver C och trycker på returtangenten i MATLAB kommer den att svara med värdet som är sparat i C, dvs Uppgift Uppgiften är indelad i två delar. I den första kommer du att titta på hur ändlig precision i en dator kan påverka resultatet. I den andra delen ska du se hur man kan beräkna en integral med hjälp av en dator. Du ska hela tiden redovisa dina uträkningar med hjälp av de utskrifter du får i MATLAB. Efter att du är klar så kan du skriva ned hur du tyckte att uppgiften har fungerat och om du har några andra reflexioner. 11(27)

12 Umeå universitet Praktisk uppgift 3 Beräkningsbekymmer Del 1 - Ändlig precision I exemplet ovan beräknades följande division: 15/65= I själva verket är detta en approximation av den oändliga decimaluvecklingen 15 / 65 = K MATLAB visar bara de fyra första decimalerna men man kan få se fler genom att skriva följande:» format long» C = A/ B På vissa datorer kan det till och med vara så att MATLAB använder fler siffror men detta är vad som är vanligast. Oavsett vilken dator man använder så innebär det att ett litet fel införs när man lagrar decimaltal i en dator. Detta gäller alltid när man använder så kallade flyttal som görs här. Decimalerna efter den 14:e saknas i exemplet ovan så det är en approximation av det egentliga värdet. Detta fel är mycket litet men det kan ge upphov till ganska allvarliga fel under vissa omständigheter. Fundera över vilket typ av fel som kan uppstå och vad det kan få för konsekvenser? Testa följande» sqrt(1e14 + 1) - sqrt(1e14) Kommandot sqrt(x) betyder x och 1e14 är en förkortning för 14 1 *10. Vi beräknar alltså Eftersom en differens av två nästan lika stora tal beräknas så blir resultatet mycket litet. Testa nu att beräkna» sqrt(1e18 + 1) - sqrt(1e18) Vad blir ditt resultat? Är det rimligt? Varför får du detta resultat? Reflektera över de resultat du får. Låt oss nu använda konjugatregeln för att skriva om uttrycket ovan ( x + x) x + 1 x = 1/ 1 +. Samma beräkning som ovan kan göras på följande sätt. ( sqrt(1e18 + 1) sqrt(1e18) )» 1/ + Detta borde ge ett svar som är mer rimligt, vilket? Varför ger i detta fall två matematiskt ekvivalenta uttryck olika resultat? För att få en uppfattning om hur noggrant MATLAB räknar på en maskin så kan man använda kommandot eps. Detta är definierat som avståndet mellan 1 och det närmast större representerbara talet. Vilket värde har eps? Försök att motivera resultaten ovan med hjälp av storleken på eps. 12(27)

13 Umeå universitet Praktisk uppgift 3 Beräkningsbekymmer Del 2 - Integralapproximation Matematiskt kan en integral b a f ( x) dx beräknas exakt med hjälp av den så kallade primitiva funktionen till f(x). Vi visar detta med ett exempel. 1 0 e x dx = x [ e ] = e e = e 1 = K 0 Du behöver inte fundera på hur man gör utan det är resultatet som är viktigt. Grafiskt så ser ovanstående integral ut som y e x x där det är arean av den streckade ytan som har beräknats. Ett numeriskt (ej exakt) sätt att beräkna denna integral är att använda sig av Trapetsmetoden. En sådan metod blir man tvungen att använda då f(x) saknar primitiv funktion eller om den är för komplicerad för att ta fram. Trapetsmetoden går ut på att man delar in funktionen f(x) i n stycken delintervall mellan a och b. Varje delintervall får nu längden h=(b-a)/n. På varje delintervall approximeras f(x) med en rät linje. Detta gör att man kan approximera en intregral på följande sätt: där f 1 =f(a), f 2 =f(a+h), f 3 =f(a+2h),, f n+1 =f(b). b f ( + 1 a 1 1 x) dx h f1 + f 2 + f 3 + L + f n + f n = T ( h) (27)

14 Umeå universitet Praktisk uppgift 3 Beräkningsbekymmer h h h h h h h Det man ser i ovanstående figurer (för integralen av e x ) är att desto fler intervall man väljer desto bättre kommer den linjära approximation att approximera funktionen f(x). I första figuren har n = 2 (h = 0.5) valts och i den andra n = 5 (h = 0.2). Du ska nu beräkna integralen i exemplet ovan med hjälp av Trapetsmetoden. Testa med två och fem delintervall och se hur nära du kommer det exakta svaret, e 1-1 = I MATLAB heter funktionen för att beräkna e x, exp(x). Börja med två delintervall. Beräkna först funktionsvärdet i de olika punkterna:» x =» f 0 : 0.5 :1 = exp( x) Här har vi först skapat en vektor från 0 till 1 med stegen 0.5, dvs. x = [ ]. Därefter har e x beräknats för de olika värdena i x. Sen tar vi och beräknar approximationen T(0.5):» T = 0.5* (0.5*f(1) + f(2) + 0.5* f(3)) Ta reda på hur mycket detta svar skiljer sig mot det exakta genom att beräkna differensen T - ( e 1-1) =?. Gör nu samma sak fast med fem delintervall. Tips: x = 0:0.2:1. Hur stort blev felet nu? Man kan fortsätta att göra intervallen mindre och mindre vilket ger en mer exakt lösning. Dock finns det en nackdel med att göra intervallen för små när man ska beräkna integralen på en dator. Kan du komma på vad? Om du får tid över så kan du testa med att rita upp funktionen f(x) och Trapetsfunktionen (så som i figuren ovan). För detta kan du använda dig av funktionen plot, skriv help plot för att få information om plot. Testa gärna att skriva en funktion som approximerar integralen för olika intervallstorlekar. I MATLAB finns det två typer av textfiler, kommandofiler som endast består av kommandon och funktionsfiler som kan ha en eller flera parametrar. Båda dessa typer av filer har samma suffix,.m, och kallas ofta m-filer. Kommandofilen består av en 14(27)

15 Umeå universitet Praktisk uppgift 3 Beräkningsbekymmer serie kommandon som exekveras när man skriver filens namn i MATLAB. Funktionsfiler har oftast in- och utdata. 4 En m-fil kan skapas med hjälp av MATLABs inbyggda editor som öppnas med hjälp av kommandot edit. Ett exempel på en kommandofil kan vara: %Beräknar variationsbredden för en vektor x xmax = max(x); %max-värde xmin = min(x); %min-värde xmax-xmin Om filen sparas som range.m kan den användas på följande sätt: >> x = [ ]; >> range Resultatet blir då ans = 6 Kommandofilen ovan kan göras om till en funktionsfil: function r = range(x) %Beräknar variationsbredden för en vektor x xmax = max(x); %max-värde xmin = min(x); %min-värde r = xmax-xmin; Nu kan funktionen range anropas på följande sätt: >> y = [ ]; >> range(y) Svaret blir då ans = 8 Första raden i en funktionsfil måste innehålla ordet function, funktionsnamnet samt eventuella in- och utparametrar. När man anropar en m-fil måste man ändra sökvägen för aktuell arbetskatalog så att MATLAB kan hitta den. Ett tips för att se några av möjligheterna med MATLAB är att ange kommandot demo och utforska lite själv. Redovisning Redovisa lösningen i varje steg med hjälp av utskrifter från MATLAB. I ett separat avsnitt redogörs för vilka slutsatser som kan dras av övningarna. Diskutera utförligt hur den ändliga precisionen påverkar beräkningarna i första delen samt hur storleken på intervallen påverkar integralberäkningen i andra delen. Använd data från testkörningar för att presentera en förklaringsmodell för något av fenomenen och redovisa denna. 4 Detta och följande stycke är hämtat ur Användarhandledning för MATLAB 6 av Eva Pärt-Enander och Anders Sjöberg, FÖRLAG, (27)

16

17 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering L4 - POSTSCRIPTPROGRAMMERING Inledning Programmering handlar om att styra ett beteende hos något, vanligtvis någon teknisk utrustning. Programmering kan ske på flera olika sätt. Det som kommer till minnes först kan vara att programmera en video eller skriva mjukvara till en dator. Mjukvara till datorer är vanligtvis så kallad källkod, som är vanlig text, denna översätts sedan till något som kan förstås av datorn, eller vad det är som skall styras. Källkoden följer vissa regler, som sammanfattas i ett programmeringsspråk, och är ofta uppbyggt på liknande sätt som mänskliga språk. Syftet med laborationen Syftet med denna laboration är att ge ett exempel på ett textbaserat programmeringsspråk och hur vi med hjälp av det kan styra ett visst beteende, denna gång hos en skrivare. Du skall få bekanta dig med begrepp som källkod, syntax, stack, kommando, procedur, variabel, parameter och repetition. Stack Vad associeras ordet stack till? Kanske en myrstack? Begreppet stack är vanligt inom datavetenskapen och beskriver ett sätt att lagra saker som liknar en trave med tallrikar. När någon vill ta bort en tallrik ur en stapel är det sällan den 5:e tallriken, det enklaste är istället att ta den översta. En ny tallrik läggs överst. I en stack kan vi bara lägga till och ta bort element (t.ex tallrik, siffra, instruktion) från ena änden, toppen. 17(27)

18 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering Syntax I såväl skriftliga som muntliga språk är det viktigt att använda sig av ord och grammatik som andra förstår. Samma gäller när vi försöker tala med en maskin eller dator. Ett problem är att de är inte speciellt intelligenta och att vi därför måste uttrycka oss väldigt tydlig för att de skall förstå. När vi programmerar är det därför väldigt viktigt att följa syntaxen för språket, dvs att vi använder sig av ord som datorn förstår och skriver dem i den ordning som den förväntar sig. PostScript PostScript är ett programmeringsspråk som många kommit i kontakt med utan att veta om det. PostScript används för att beskriva sidor och dess innehåll som sedan kan skrivas ut av en skrivare. Med språket kan vi bestämma hur linjer, text och bilder skall placeras på en sida med hjälp av ett koordinatsystem. Varje punkt på sidan har en horisontell koordinat (x) och en vertikal koordinat (y), på samma sätt som ett x-y-diagram. Enheten för koordinatsystemet kallas punkt och är 1/72-dels tum stor, dvs ca 1/3 mm. Origo (0, 0) finns längst ned i vänstra hörnet. Figur 1: Beskrivning av koordinatsystemet med en linje dragen från punkten (210, 260) till punkten (470, 520). 18(27)

19 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering Syntaxen i PostScript I figuren ovan ritades en linje över papperet mellan två positioner. Hur skulle detta beskrivas i språket PostScript? Jo, %!PS-Adobe moveto lineto stroke showpage %EOF Första raden är en instruktion till skrivaren som säger vilken version som används. Denna rad måste alltid finnas med. Skrivaren har något som kallas aktuell position, ungefär som att den vet var pennan är placerad på papperet. Andra raden talar om att den skall flytta aktuell position till punkten (210, 260). moveto är alltså ett kommando till skrivaren. Där står den nu kvar och väntar på vad som skall hända. Tredje raden säger att den skall dra en linje från aktuell position till (470, 520). lineto kan läsas ungefär som draw a line to. Kommandot stroke talar om att linjen vi dragit ovan också skall ritas på papperet och showpage säger åt skrivaren att skriva ut sidan. Inget syns på papperet förrän dessa två kommandon ges. Sista raden talar om att programmet är slut och är inte helt nödvändig. Den är en instruktion till skrivaren att programmet är slut, men det förstår den själv eftersom det inte finns mer text. Kommentarer kan läggas in i koden, de ignoreras av skrivaren och är till för att det skall vara lättare att förstå vad programmet gör. Allt som följer till höger om tecknen % till radens slut är en kommentar. Hur fungerar det? PostScript är ett programmeringsspråk som använder en stack. De flesta programmeringsspråk använder en stack, men många av dem döljer den för programmeraren och använder den under huven, så att säga. 19(27)

20 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering Hur fungerar i PostScript fungerar beskrivs i figuren ovan. Först läggs talet 210 till, och därefter talet 260. Därefter kommer ett kommando (i detta fall moveto). Detta kommando behöver två värden för att veta var det aktuella positionen skall flyttas. Det indata som ett kommando behöver kalls ofta parametrar. Kommandot plockar dessa värden från, först det som ligger överst, dvs 260. När kommandot har tagit sitt värde så försvinner det från, och nu finns bara värdet 210 kvar. Därefter tar kommandot detta värde, och är tom. Nu har kommandot fått de värden det behöver för att utföra sin uppgift, och är tillbaka till utgångsläget. Observera att det kan ligga andra värden under 210 resp 260 på, men de berörs inte av denna operation. Därefter läggs två nya värden till, och lineto plockar bort dem för att kunna dra strecket. Uppgift 1 Rita en kvadrat Du skall nu skriva en bit kod (ett program) i PostScript som ritar en kvadrat på ett papper. Till din hjälp har du två olika kommandon, nämligen: Tas från Kommandona Läggs till Förklaring mn x y moveto - Plockar två värden från och flyttar aktuell position till (x, y) dx dy rlineto - Plockar två värden från och drar ett streck från aktuell position (x, y) till en position relativt den aktuella, dvs till (x + dx, y+ dy). (En del kommandon lämnar värden efter sig på, men inte några av de vi stött på hittills. Därav kolumnen Läggs till ). Skapa en ny textfil. Kalla den uppgift1.ps. Skriv först in översta raden enligt det första exemplet. Låt sedan kommandot moveto flytta aktuell position till en punkt på papperet där du vill att kvadratens nedre vänstra hörn skall ligga. Använd sedan rlineto för att bilda kvadratens sidor. Observera att aktuell position också flyttas av kommandon som lineto och rlineto, dvs till änden på de linjer de ritar. I vårt fall är det ju startpunkten för nästa linje, så vi behöver alltså bara använda moveto en gång. Glöm inte stroke och showpage på slutet och se upp så att du får en kvadrat, inte en rektangel. Till slut är det dags att skicka ditt program till skrivaren så att den kan börja rita. Detta görs på olika sätt för olika datorer och skrivare, så fråga handledaren om hur det fungerar på just ditt system. 20(27)

21 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering Uppgift 2 Skapa en variabel På hur många ställen i koden måste vi ändra för att ändra kvadraten storlek? Ganska många. En variabel är ett namngivet värde som kan används flera gånger. Om vi först definierar en variabel som anger kvadratens storlek så kan vi sedan använda oss av den när vi ritar kvadraten. På detta sätt behöver vi bara ändra variabelns värde en gång för att ändra kvadratens storlek istället för på alla ställen storleken används. För att definiera en variabel används kommandot def Tas från Kommandona Läggs till Förklaring mn key value def - Associerar key med value, dvs definierar en variabel med namnet i key och värdet i value. Ett exempel: /sida 50 def I exemplet ovan skapar vi en variabel som heter sida och har värdet 50. Snedstrecken framför d:et ingår inte i namnet utan säger bara att vi vill skapa ett nytt namn. Om vi skall vara riktigt noga så gör / så att namnet läggs på, därefter kommer 50 och sedan def som tar namn och värde och skapar en variabel. För att använda variabeln, dvs få ut dess värde, så skriver vi bara dess namn. Vi har faktiskt skapat ett nytt kommando i PostScript, som heter sida och lämnar ett värde efter sig på. Tas från Kommandona Läggs till Förklaring mn - sida value Lägger sitt värde på Skapa en ny textfil, med namnet uppgift2.ps. Skriv ett program som skapar en variabel enligt exemplet ovan. Använd sedan variabeln för att rita kvadraten med hjälp av rlineto. 21(27)

22 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering Uppgift 3 Skapa en procedur Om vi skulle vilja skapa flera kvadrater med olika storlek blir det väldigt mycket skrivande, där vi upprepar kod som är nästan lika förutom några siffror som skiljer. Dett borde nog kunna göras effektivare. Vi kan skapa så kallade procedurer. En procedur är vanligtvis ett kort program som kan anropas som en enhet. Målet med uppgiften är att vi skall kunna skriva enligt exemplet nedan för att enkelt kunna rita en kvadrat moveto 67 square stroke showpage Detta stycke kod skall rita en kvadrat med sitt nedre vänstra hörn i punkten (150, 150) och där dess sidlängd är 67 punkter. För att detta skall fungera måste vi först skapa en procedur som vi kallar square. Detta görs på samma sätt som när vi gjorde en variabel, med den skillnaden att vi måste omgärda vår kod med krullparenteser, { och }. I själva verket så är en procedur samma sak som ett kommando i PostScript, och när PostScript tolkar ett program och hittar ordet square så letar den i sitt minne efter en procedur som har ett passande namn. Detta betyder att proceduren square måste vara definierad före den används, annars hittar PostScript den inte. Här nedan ser du ett enkelt exempel på hur proceduren kan skapas. Allt du sedan skriver mellan krullparenteserna kommer att utföras när vi använder kommandot. /square { } def Men hur kan vi i vår procedur veta hur stor kvadraten skall vara? Vi vill ju kunna läsa in 67 och använda det som sidlängd. Nu måste vi tänka på hur PostScript fungerar. När vi skrev 67 före square lades detta värde till. Vi vill alltså att proceduren hämtar översta värdet på (67) och skapar en variabel som har detta värde. Sedan kan koden som ritar kvadraten utnyttja variabeln. Vi har dock ett problem. Om vi återigen tittar på hur kommandot def fungerar: Tas från Kommandona Läggs till Förklaring mn key value def - Associerar key med value, dvs definierar en variabel med namnet i key och värdet i value. Vi måste alltså först lägga till namnet på den variabel vi vill skapa till innan vi lägger dit värdet. Men värdet ligger ju redan på, i vägen så att säga. Hur gör vi då? Jo, vi lägger till namnet och låter sedan elementen på byta plats med varandra. Detta gör vi med ett kommando som heter exch, och som helt enkelt byter plats på de två översta elementen på. 22(27)

23 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering Tas från Kommandona Läggs till Förklaring mn v1 v2 exch v2 v1 Byter plats på de två översta elementen på. Vi skriver alltså I proceduren: /square { /side exch def mera kod. } def Om du tycker att det är svårt att hålla reda på vad som finns på kan du skriva varje kommando på en egen rad, och lägga till en kommentar som visar vad som ligger på. Det är vanligt att skriva hur ser ut efter det att radens procedur utförts. Stacken visas enklast med toppen åt höger: /square { % 67 /side % side 67 exch % 67 side def % - (side har definierats) mera kod. } def Anledningen till att square inte finns på någonstans är lite mer komplicerad men har att göra med att /square exekveras medans PostScript tolkar din procedur, däremot exekveras /def först när square anropas, dvs senare i programmet. Kod som skrivs mellan krullparenteser lagras bara i proceduren, den körs inte förrän proceduren anropas. PostScripts kommandon har alltså egentligen två beteenden, ett under tolkning och ett under körning, men det behöver du egentligen inte bry dig om. När vi skriver stack-kommentarer så menar vi hur ser ut när proceduren körs. Variabeln sida kan sedan användas när vi ritar kvadratens sidor. Observera att vi inte behöver använda moveto eller stroke i proceduren. Procedurens uppgift är bara att rita en kvadrat just där den aktuella positionen är. När du har skrivit proceduren så att du kan använda den som tänkt enligt exemplet, kan du testa att rita flera kvadrater och även se vad som händer om du byter ut ordet stroke mot fill. %!PS-Adobe moveto 67 square moveto 80 square stroke moveto 60 square 23(27)

24 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering fill showpage %EOF Uppgift 4 Upprepning I föregående uppgift såg vi hur enkelt det ofta blir när vissa uppgifter samlas i en procedur. Detta gör det mycket enklare att upprepa likartade uppgifter, speciellt om det dessutom är möjlighet att skicka med parametrar. Om vi däremot vill upprepa en viss uppgift flera gånger blir det ju också jobbigt och mycket kod att skriva. Därför finns i de flesta programmeringsspråk olika sätt att repetera viss kod. I PostScript ser det ut som följer: n {... } repeat n anger hur många gånger koden mellan krullparenteserna { och } skall upprepas. Ett exempel kan alltså vara: %!PS-Adobe moveto 10 {20 0 rlineto 20 5 rmoveto} repeat stroke showpage %EOF Vad gör koden ovan? Skapa en ny fil som heter uppgift4.ps. Kopiera proceduren du skrev i uppgift 3 till filen och använd dig av upprepningskommandot för att rita flera kvadrater som bildar ett mönster på papperet. Uppgift 5 Rita en egen figur Skapa en ny fil uppgift5.ps och hitta på en egen figur som du ritar. Kolla gärna nästkommande sida för att hitta fler kommandon du kan använda till att skapa figurer. Koden skall innehålla på variabler och minst en procedur. Redovisning Följ de allmänna anvisningarna för laborationerna. Var noga med att redovisa den källkod du skrivit. Den skall alltid vara redovisad med ett fixt typsnitt, till exempel courier. Redovisa också de utskrifter du gör som bilagor. Reflektera vidare över de lärdomar du drar kring skapandet av variabler och procedurer och hur dessa konstruktioner underlättar ditt programmerande. 24(27)

25 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering Vanliga kommandon Observera att toppen på (översta värdet) ligger till höger i beskrivningen. Tas från Kommandonamn Läggs till Förklaring num1 num2 exch num2 num1 Byter plats på de två översta elementen på. num dup num num Duplicerar översta värdet på num1 num2 pop num1 Tar bort översta värdet på num1 num2... clear - Tar bort alla element från. num1 num2 add num1+num2 Summerar de två översta värdena på och lägger dit resultatet num1 num2 div num1/num2 Dividerar de två översta värdena på, och lägger dit resultatet. num1 num2 sub num1-num2 Subtraherar översta värdet från det näst översta värdet, lägger resultatet på num1 num2 mul num1*num2 Multiplicerar de två översta värden på, lägger resultatet på num abs abs Tar absolutbeloppet av översta värdet, lägger resultatet på. num sqrt num Tar kvadratroten ur översta värdet på, lägger tillbaka resultatet. num sin sin(num) Beräknar sinus för översta värdet på, lägger tillbaka resultatet num cos cos(num) Beräknar cosinus för översta värdet på, lägger tillbaka resultatet num setlinewidth - Sätter linjebredden (i punkter) num setgray - Sätter färgen till en grå nyans där 0.0 är svart och 1.0 är vitt. - currentpoint x y Returnerar aktuell position som två värden på x y moveto - Sätter aktuell position till (x, y) dx dy rmoveto - Flyttar aktuell position relativt den föregående. x y lineto - Drar en linje från aktuell position till (x, y). 25(27)

26 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering Tas från Kommandonamn Läggs till Förklaring dx dy rlineto - drar en linje från aktuell position till en position relativt den aktuella, dvs till (x+dx, y+dy) om aktuell position är (x, y). x y r ang1 ang2 arc - Drar en circelbåge med centrum i (x, y), med radien r, från vinkel ang1 till ang2, moturs. x y r ang1 ang2 arcn - Samma som ovan men går medurs. 26(27)

27 Umeå universitet Praktisk uppgift 4 Postscriptprogrammering Tas från x1 y1 x2 y2 x3 y3 Kommandonamn Läggs till Förklaring curveto - Ritar en sk Bezierkurva. dx1 dy2 dx2 dy2 dx3 dy3 rcurveto - Samma som ovan men med relativa koordinater. - fill - Fyller de dragna figurerna. - stroke - Ritar streck längs de dragna figurerna. - showpage - Säger åt skrivaren att visa sidan. 27(27)

Legorobot. Lär dig programmera en legorobot. Teknikåttan 2009. Ola Ringdahl Lena Kallin Westin

Legorobot. Lär dig programmera en legorobot. Teknikåttan 2009. Ola Ringdahl Lena Kallin Westin Legorobot Lär dig programmera en legorobot. Teknikåttan 2009 Ola Ringdahl Lena Kallin Westin Legorobot Sid 2 (6) Legorobot Sid 3 (6) LEGOROBOT Syfte Syftet med denna praktiska uppgift är att man ska få

Läs mer

UMEÅ UNIVERSITET Datavetenskap. Praktiska uppgifter. Metoder och verktyg för datavetare Ht07

UMEÅ UNIVERSITET Datavetenskap. Praktiska uppgifter. Metoder och verktyg för datavetare Ht07 UMEÅ UNIVERSITET Praktiska uppgifter Metoder och verktyg för datavetare Ht07 Umeå universitet Praktisk uppgift 1 RobotLego L1 ROBOTLEGO Syfte Syftet med denna praktiska uppgift är att man ska få en insikt

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

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT?

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Om NXTprogrammering RCX-modul (Robotic Commander explorer) Styrenhet som innehåller liten dator Vad innehåller lådan? Liten dator, sensorer, motorer, hjul Massor av legobitar RCX-modulen Skärm Gå vänster

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

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går

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

Roboten. Sida 1 av 11

Roboten. Sida 1 av 11 EV3 ipad Roboten Fyra output portar A,B,C och D(motorer) Fyra input portar 1,2,3 och 4 (sensorer) USB, Bluetooth, eller Wi-Fi koppling 16 MB flash minne 64 MB RAM SD Card Port: 32 GB Flera inbyggda verktyg

Läs mer

EV3 Roboten. Sida 1 av 13

EV3 Roboten. Sida 1 av 13 EV3 Roboten Fyra output portar A,B,C och D(motorer) Fyra input portar 1,2,3 och 4 (sensorer) USB, Bluetooth, eller Wi-Fi koppling 16 MB flash minne 64 MB RAM SD Card Port: 32 GB Flera inbyggda verktyg

Läs mer

Programmering. Den första datorn hette ENIAC.

Programmering. Den första datorn hette ENIAC. Programmering Datorn är bara en burk. Den kan inget själv. Hur får man den att göra saker? Man programmerar den. Människor som funderar ut program som fungerar. Datorn förstår bara ettor och nollor och

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Laboration 3. Linjär algebra Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion 2 En Komet Kometer rör sig enligt ellipsformade

Läs mer

Laboration: Grunderna i Matlab

Laboration: Grunderna i Matlab Laboration: Grunderna i Matlab Att arbeta i kommandofönstret och enkel grafik Den här delen av laborationen handlar om hur man arbetar med kommandon direkt i Matlabs kommandofönster. Det kan liknas vid

Läs mer

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild.

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild. Sphero SPRK+ Appen som används är Sphero Edu När appen öppnas kommer man till denna bild. Klicka på 3D-modeller för att se delarna på Sphero Klicka här för att ansluta Sphero till ipad Programmet för att

Läs mer

Lego Robot [ ] [ ] [ ]

Lego Robot [ ] [ ] [ ] Lego Robot av [ ] [ ] [ ] INNEHÅLLSFÖRTECKNING LABB1 (INFORMATION) # UPPGIFT 1 # UPPGIFT 2 # UPPGIFT 3 # LABB2 (OPERATÖRER) # UPPGIFT 1 # UPPGIFT 2 # UPPGIFT 3 # LABB3 (VARIABLER) # UPPGIFT 1 # UPPGIFT

Läs mer

Aktivitetsbank. Matematikundervisning med digitala verktyg II, åk 1-3. Maria Johansson, Ulrica Dahlberg

Aktivitetsbank. Matematikundervisning med digitala verktyg II, åk 1-3. Maria Johansson, Ulrica Dahlberg Aktivitetsbank Matematikundervisning med digitala, åk 1-3 Maria Johansson, Ulrica Dahlberg Matematik: Grundskola åk 1-3 Modul: Matematikundervisning med digitala Aktivitetsbank till modulen Matematikundervisning

Läs mer

Studio 6: Dubbelintegral.

Studio 6: Dubbelintegral. Studio 6: Dubbelintegral. Analys och Linjär Algebra, del C, K1/Kf1/Bt1, vt09 20 februari 2009 1 Repetition av enkelintegral I ALA B skrev du en MATLAB-funktion minintegral som beräknar integralen av en

Läs mer

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK. Moment 2: Klonspel Instruktioner för deltagare Idag ska du få lära dig om: Kloner - kopior av samma figur (sprajt) Variabler - ett värde, exempelvis antal poäng Slumptal - slå en tärning för att välja

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

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

Läs mer

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

Strukturerad problemlösning. Metoder och verktyg för datavetare Ht09

Strukturerad problemlösning. Metoder och verktyg för datavetare Ht09 Strukturerad problemlösning Metoder och verktyg för datavetare Ht09 Syfte Syftet med uppgiften är att få kännedom om ett strukturerat arbetssätt för hur ett problem kan angripas i de olika steg som svarar

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

Programmering eller Datalogiskt tänkande

Programmering eller Datalogiskt tänkande Programmering eller Datalogiskt tänkande I förskolan handlar programmering om att få en begynnande förståelse vad det kan innebära. Barnen ges ett kreativt utrymme och har möjlighet att forma sin egen

Läs mer

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS http://www.cwdata.se Konsolfönstret

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS http://www.cwdata.se Konsolfönstret Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS http://www.cwdata.se Konsolfönstret Med ett kommandobaserat gränssnitt menas ett helt textbaserat gränssnitt. Istället för att klicka

Läs mer

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning 1 SF1520 K2 HT2014 NA 21 december 2015 Laboration 3 Funktioner, vektorer, integraler och felskattning Efter den här laborationen skall du kunna använda och skriva egna funktioner med flera in- och utparametrar,

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

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc. Introduktion till MATLAB Martin Nilsson Avdelningen för teknisk databehandling Institutionen för informationsteknologi Uppsala universitet MATLAB the Matrix Laboratory utvecklat av MathWorks, Inc. Matematisk

Läs mer

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

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

Läs mer

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

Instruktion för laboration 1

Instruktion för laboration 1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik MD, ANL, TB (rev. JM, OE) SANNOLIKHETSTEORI I Instruktion för laboration 1 De skriftliga laborationsrapporterna skall vara

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

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi. Grunderna i MATLAB eva@it.uu.se Innehåll Vad är MATLAB? Användningsområden MATLAB-miljön Variabler i MATLAB Funktioner i MATLAB Eempel och smakprov: Grafik Beräkningar Bilder GUI Vad är MATLAB? Utvecklat

Läs mer

Datorövning 1 Calc i OpenOffice 1

Datorövning 1 Calc i OpenOffice 1 Datorövning 1 Calc i OpenOffice 1 1 OpenOffice Calc Till förmån för de som följer kursen Fysikexperiment för lärare skall vi här gå igenom några få exempel på hur OO Calc (motsvarar MS Excel) kan användas

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

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning 1 SF1520 VT2017 NA, KTH 16 januari 2017 Laboration 3 Funktioner, vektorer, integraler och felskattning Efter den här laborationen skall du kunna använda och skriva egna funktioner med flera in- och utparametrar,

Läs mer

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 2 Matriser i MATLAB MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen

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

Manual för banläggning i OCAD8 170706 IF ÅLAND

Manual för banläggning i OCAD8 170706 IF ÅLAND Manual för banläggning i OCAD8 170706 IF ÅLAND Alla filer och program vi behöver finns under katalogen c:/ocad8/. Kartorna vi använder som bakgrundsfiler finns under c:/ocad8/kartor/. De är sedan indelade

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

Läs mer

Inledning till OpenOffice Calculator Datorlära 2 FK2005

Inledning till OpenOffice Calculator Datorlära 2 FK2005 Inledning till OpenOffice Calculator Datorlära 2 FK2005 Mål Lära sig att skapa och använda ett räkneblad med OpenOffice Calculator Beräkna medelvärde och standardavvikelsen med räknebladet Producera en

Läs mer

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner KPP053, HT2016 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen

Läs mer

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde: TANA81: Beräkningar med Matlab - Variabler och Matriser - Logiska uttryck och Villkor - Repetitionssatser - Grafik - Funktioner Variabler I Matlab skapas en variabel genom att man anger dess namn och ger

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

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration 10 februari 2017 Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration Syfte med övningen: Introduktion till ett par numeriska metoder för lösning av ekvationer respektive

Läs mer

Extramaterial till Matematik X

Extramaterial till Matematik X LIBER PROGRMMERING OCH DIGITL KOMPETENS Extramaterial till Matematik X NIVÅ TRE Programmering LÄRRE I den här uppgiften får du och dina elever en introduktion till programmering. Uppgiften vänder sig först

Läs mer

ENKEL Programmering 3

ENKEL Programmering 3 ENKEL Programmering 3 Figurer i långa rader Titta på de olika figurerna i de olika raderna. Kan du se att de olika figurerna i varje rad är placerade enligt ett visst mönster? Kan du lista ut vilken figur

Läs mer

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 ATT ANVÄNDA MOTORERNA... 9 LOOP (UPPREPANDE) FUNKTIONEN... 10 SKAPA EN EGEN KLOSS...

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 ATT ANVÄNDA MOTORERNA... 9 LOOP (UPPREPANDE) FUNKTIONEN... 10 SKAPA EN EGEN KLOSS... GRUNDKURS INNEHÅLLSFÖRTECKNING INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 SKÄRMUPPBYGGNAD... 4 ROBOT EDUCATOR... 5 PROGRAMMERINGSRUTAN... 5 KNAPPARNA OCH KLOSSARNA... 6 UPPGIFTER... 8 ATT ANVÄNDA

Läs mer

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt.

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt. Kontrolluppgifter 1 Gör en funktion som anropas med där är den siffra i som står på plats 10 k Funktionen skall fungera även för negativa Glöm inte dokumentationen! Kontrollera genom att skriva!"#$ &%

Läs mer

Vilken version av Dreamweaver använder du?

Vilken version av Dreamweaver använder du? Sida 1 av 7 Lektion 1: sida 1 av 4 Till kursens framsida Sida 2 av 4» Lektion 1 Då ska vi sätta igång med den här kursens första lektion! Här kommer du att få lära dig hur man skapar och förbereder webbplatser

Läs mer

Introduktion till MATLAB

Introduktion till MATLAB 29 augusti 2017 Introduktion till MATLAB 1 Inledning MATLAB är ett interaktivt program för numeriska beräkningar med matriser. Med enkla kommandon kan man till exempel utföra matrismultiplikation, beräkna

Läs mer

Word Grunderna 1. Om du kan det allra enklaste i Word, hoppa över uppgifterna A-E.

Word Grunderna 1. Om du kan det allra enklaste i Word, hoppa över uppgifterna A-E. Word Grunderna 1 Om du kan det allra enklaste i Word, hoppa över uppgifterna A-E. A Starta programmet Word. Titta på skärmen efter en bild som det finns ett W på. Tryck med musknappen snabbt två gånger

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

Konvexa höljet Laboration 6 GruDat, DD1344

Konvexa höljet Laboration 6 GruDat, DD1344 Konvexa höljet Laboration 6 GruDat, DD1344 Örjan Ekeberg 10 december 2008 Målsättning Denna laboration ska ge dig övning i att implementera en algoritm utgående från en beskrivning av algoritmen. Du ska

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

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ ETT Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få

Läs mer

Här hittar du ett exempel på ritprogrammet: https://scratch.mit.edu/projects/82515788/

Här hittar du ett exempel på ritprogrammet: https://scratch.mit.edu/projects/82515788/ Termin 1 Block 4 Ritprogram Nu kommer du att få skapa ett ritprogram där du sedan kan göra egna konstverk! Programmet låter dig rita med olika färgpennor, sudda med suddgummi och måla med stämplar som

Läs mer

Blockly är en av apparna som används för att styra roboten Dash. Den är väldigt enkel i sin utformning och kan med fördel användas av yngre barn.

Blockly är en av apparna som används för att styra roboten Dash. Den är väldigt enkel i sin utformning och kan med fördel användas av yngre barn. Manual till appen Blockly till Dash Blockly är en av apparna som används för att styra roboten Dash. Den är väldigt enkel i sin utformning och kan med fördel användas av yngre barn. Du måste ha en Dashrobot

Läs mer

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08 LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08 Laboration 2: Om väntevärden och fördelningar 1 Syfte I denna laboration skall vi försöka

Läs mer

Lär dig programmera för dig mellan 6 och 100 år...

Lär dig programmera för dig mellan 6 och 100 år... för dig mellan 6 och 100 år... Björn Regnell Bilden visar ENIAC, som var den första datorn. Mamman och pappan på bilden programmerar ENIAC. ENIAC fanns när farfar och mormor var små. ENIAC vägde 27 tusen

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

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

Läs mer

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln Matlab-föreläsning (4), 10 september, 015 Innehåll m-filer (script) - fortsättning från föreläsning 1 In- och utmatning Sekvenser, vektorer och matriser Upprepning med for-slingor (inledning) Matlab-script

Läs mer

diverse egenskapspaletter

diverse egenskapspaletter OBJEKTORIENTERADE RITPROGRAM Det fi nns två typer av ritprogram. Ett objektbaserat program ritar i form av matematiska kurvor med noder och styrnoder medan ett pixelbaserat program ritar genom att fylla

Läs mer

Kort introduktion till POV-Ray, del 1

Kort introduktion till POV-Ray, del 1 Kort introduktion till POV-Ray, del 1 Kjell Y Svensson, 2004-02-02,2007-03-13 Denna serie av artiklar ger en grundläggande introduktion och förhoppningsvis en förståelse för hur man skapar realistiska

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

PROGRAMMERING ÅK 9 INTRODUKTION

PROGRAMMERING ÅK 9 INTRODUKTION PROGRAMMERING ÅK 9 INTRODUKTION VARFÖR PROGRAMMERING? Med programmering kan man: Skapa nästan vad som helst som är digitalt. Allt som är digitalt är uppbyggt av kod som människor har skrivit, finns i både

Läs mer

Matriser och Inbyggda funktioner i Matlab

Matriser och Inbyggda funktioner i Matlab Matematiska vetenskaper 2010/2011 Matriser och Inbyggda funktioner i Matlab 1 Inledning Vi skall denna vecka se på matriser och funktioner som är inbyggda i Matlab, dels (elementära) matematiska funktioner

Läs mer

Välj bort om du vill. 96 Internet och e-post. 2. Mail-programmet finns i datorn. 1. Skriv mail i sökrutan. Windows Live Mail i Aktivitetsfältet.

Välj bort om du vill. 96 Internet och e-post. 2. Mail-programmet finns i datorn. 1. Skriv mail i sökrutan. Windows Live Mail i Aktivitetsfältet. Välj bort om du vill Om du är nöjd med att ha din e-post på nätet, kan du lugnt hoppa över detta avsnitt. Har du tid och tycker att det är roligt, kan du testa att använda e-postprogrammet Windows Live

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

Instruktion för laboration 1

Instruktion för laboration 1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik ANL/TB SANNOLIKHETSTEORI I, HT07. Instruktion för laboration 1 De skrifliga laborationsrapporterna skall vara skrivna så att

Läs mer

TSBB14 Laboration: Intro till Matlab 1D

TSBB14 Laboration: Intro till Matlab 1D TSBB14 Laboration: Intro till Matlab 1D Utvecklad av Maria Magnusson med mycket hjälp av Lasse Alfredssons material i kursen Introduktionskurs i Matlab, TSKS08 Avdelningen för Datorseende, Institutionen

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

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TVÅ Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. I den här uppgiften ska du få bekanta

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU LABORATION 1 TMV216/MMGD20-2017/2018 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska

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

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74 Lab 04 Muterbara strukturer, omgivningar TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden

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

Regression med Genetiska Algoritmer

Regression med Genetiska Algoritmer Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet

Läs mer

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter Inledande matematik för I1 MVE011 läsperiod 1 010 Matlab vecka övningsuppgifter Linjära ekvationssystem Matlab har många kraftfulla redskap för att hantera matriser och därmed också linjära ekvationssystem.

Läs mer

Manual. till. Cantor 2000. Madison Medri

Manual. till. Cantor 2000. Madison Medri Manual till Cantor 2000 Madison Medri 2 InnehÄllsfÅrteckning Installation Inledning Pedagogisk bakgrund Anpassning fär funktionshindrade Arbeta med Cantor 2000 InstÅllningar Namn Ljud Tangentbord Resultat

Läs mer

Datorövning 2 Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

Datorövning 2 Matlab/Simulink. Styr- och Reglerteknik för U3/EI2 Högskolan i Halmstad Sektionen för Informationsvetenskap, Dator- och Elektroteknik 08/ Thomas Munther Datorövning 2 Matlab/Simulink i Styr- och Reglerteknik för U3/EI2 Laborationen förutsätter en del förberedelser

Läs mer

Guide till att använda Audacity för uttalsövningar

Guide till att använda Audacity för uttalsövningar Guide till att använda Audacity för uttalsövningar Victoria Johansson Humlabbet, SOL-center, Lund IT-pedagog@sol.lu.se 28 mars 2006 1 Inledning Audacity är ett program som kan användas för att spela in

Läs mer

Laborationer i SME094 Informationsteknologi I för

Laborationer i SME094 Informationsteknologi I för Laborationer i SME094 Informationsteknologi I för basår Programmering av LEGO Mindstorms med ROBOLAB Johan Carlson Luleå tekniska universitet Inst. för Systemteknik EISLAB Email: johanc@ltu.se 25 mars

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

Laboration Fuzzy Logic

Laboration Fuzzy Logic BILAGA B Laboration Fuzzy Logic Lär dig simulera ett program! ABB INDUSTRIGYMNASIUM Fuzzy Logic Wikingsons Wåghalsiga Wargar Projekt ABB VT 2006 Västerås Innehåll 1 Introduktion... 3 2 Uppgiften... 3 2.1

Läs mer

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26 TAIU07 Föreläsning 2 Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26 Matriselement och Index För att manipulera

Läs mer

Användarhandledning Version 1.2

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

Läs mer

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER. MATEMATISKA INSTITUTIONEN Tillämpad statistisk analys, GN STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB 2011-03-24 DATORLABORATION 1: TIDSSERIER. I Tarfala har man under en lång följd av

Läs mer

Träff 1 Skissa & Extrudera

Träff 1 Skissa & Extrudera Skapa en folder Jag rekommenderar att samla filer och övningar i en egen folder som man har full kontroll på. Muff-foldern som vi delar är tänkt som en gemensam övningsyta. Innehåll som du vill komma åt

Läs mer

f(x + h) f(x) h f(x) f(x h) h

f(x + h) f(x) h f(x) f(x h) h NUMPROG, D för M, vt 008 Föreläsning N: Numerisk derivering och integrering Inledning: numerisk lösning av analytiska problem Skillnader mellan matematisk analys och numeriska metoder. Grundläggande begrepp

Läs mer

Vilken skillnad gör det var du placerar det? Prova båda.

Vilken skillnad gör det var du placerar det? Prova båda. Micro:bit- Namnskylt Vi börjar med att döpa programmet till något. Till exempel ditt namn. Det gör du längst ner i mitten. Nu ska vi göra ett enkelt program som med lysdioderna skriver ditt namn. När du

Läs mer

Hur ser Blue-Bot ut i aktion?

Hur ser Blue-Bot ut i aktion? Hur ser Blue-Bot ut i aktion? Tydliga knappar för barnen att använda vid programmering av Blue-Bot. Möjlighet att spara upp till 80 instruktioner i Blue- Bots minne. Blue-Bot rör sig i samma riktning 15

Läs mer

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland Matlab för Nybörjare Charlie Pelland Introduktion till Matlab Matlab (matrix laboratory) är ett datorprogram och ett programspråk som används av ingenjörer runt om i världen. Ni kommer att använda er av

Läs mer

Micro:bit. Börja skapa egna program

Micro:bit. Börja skapa egna program Micro:bit Börja skapa egna program Att programmera är mer än att skriva kod 1. När man ska bygga något behövs först en ritning. Formulera i talspråk vad programmet ska göra. 2. Förbered att skriva koden

Läs mer

Programmeringspalett. Pr o gr a mvar a

Programmeringspalett. Pr o gr a mvar a Pr o gr a mvar a en innehåller alla programmeringsikoner du behöver för att göra dina program. Varje programmeringsikon innehåller instruktioner som din NXT-enhet kan tolka. Du kan kombinera ikonerna för

Läs mer

Laboration 1. Grafisk teknik (TNM059) Introduktion till Matlab. R. Lenz och S. Gooran (VT2007)

Laboration 1. Grafisk teknik (TNM059) Introduktion till Matlab. R. Lenz och S. Gooran (VT2007) Laboration 1 Grafisk teknik (TNM059) Introduktion till Matlab R. Lenz och S. Gooran (VT2007) Introduktion: Denna laboration är en introduktion till Matlab. Efter denna laboration ska ni kunna följande:

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU 2015/2016 Matematiska vetenskaper Introduktion till Matlab 1 Inledning Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska högskolor och universitet runt

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

Tynker gratisapp på AppStore

Tynker gratisapp på AppStore Tynker gratisapp på AppStore Innehåll Använda appen 2 Koordinatsystemet 6 Rita rektanglar i koordinatsystemet 7 Rita ellipser i koordinatsystemet 9 Rita trianglar i koordinatsystemet 11 Skapa mönster med

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU STUDIO 1 LMA515b - 2016/2017 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska högskolor

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