Konvexa höljet Laboration 6 GruDat, DD1344
|
|
- Karin Berglund
- för 6 år sedan
- Visningar:
Transkript
1 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 få insikt i hur man kan manipulera geometriska objekt som punkter, linjer och polygoner. Du kommer också att få prova på att använda enkel grafik för att visualisera resultatet av din algoritm. 1 Uppgiften Du ska skriva ett program som räknar ut det konvexa höljet för en punktmängd. Punkterna läser du in från filen sweden.txt där varje rad innehåller två tal som ska tolkas som x- och y-koordinater. Det konvexa höljet är den minsta konvexa polygonen där ingen punkt ligger utanför. Figur 1 visar ett exempel. Det konvexa höljet till en mängd punkter i planet kan beräknas med en algoritm som kallas Graham-Scan. Din uppgift är att implementera denna algoritm och använda den för att hitta och rita ut det konvexa höljet till punkterna i filen. Figur 1: Konvexa höljet till en punktmängd i planet. Det konvexa höljet är en polygon som byggs upp av en delmängd av punkterna. 1
2 2 Algoritmen Graham-Scan går till på följande sätt: 1. Låt vara den punkt som har minst x-koordinat. Om fler har samma x-koordinat, välj den (av dessa) som har störst y- koordinat. 2. Låt [,,..., p n ] vara resten av punkterna, ordnade motsols runt punkten. 3. Lägg in punkterna, och i en stack s. 4. För varje punkt p i {,,..., p n } Så länge punkten överst på s ligger till vänster om linjen från punkten näst överst på s till p så ta bort stackens översta element. Lägg in p på stacken. 5. Returnera punkterna i s Steg 1 garanterar att punkten är en punkt som kommer att tillhöra lösningen. Steg 2 kräver att punkterna sorteras efter stigande vinkel för linjen från till den aktuella punkten (se figur 2). Huvuddelen av algoritmen är loopen i steg 4. Hur den fungerar illustreras i figur 3. Figur 2: Punkterna,,..., p n sorteras efter stigade vinkel på linjen som utgår från. 2
3 A B C D E F Figur 3: Bilderna illustrerar hur Graham-Scan algoritmen succesivt bygger polygonen. Först (A) upptäcker man att punkten ligger till vänster om linjen från till. plockas därför bort från stacken innan läggs in. I nästa steg (B) konstateras att ligger till höger om linjen. lämnas därför kvar på stacken när läggs in. I steg C jämförs med linjen p 5 och eftersom punkten ligger till höger om linjen så lämnas den kvar på stacken. I D jämförs p 5 med linjen p 6 och även här ligger punkten till höger om linjen. I nästa steg (E) plockas först punkten p 6 bort eftersom den ligger till vänster om p 5, men här plockas även p 5 bort eftersom den ligger till vänster om. Den slutliga lösningen utgörs av punkterna som finns kvar på stacken när alla punkter behandlats (F). 3
4 3 Hjälpfunktioner Graham-Scan använder sig av en återkommande test: befinner sig en punkt p till vänster om en linje? Detta undersöker man enklast (och säkrast) genom att beräkna kryssprodukten av vektorerna p och och avgöra om denna är positiv eller ej. Kryssprodukten mellan två vektorer a och b i planet räknas enkelt ut som a x b y a y b x. Skriv en hjälpfunktion som tar tre punkter och returnerar True om den första punkten ligger till vänster om linjen från den andra till den tredje. För att kunna sortera punkterna i vinkelordning behöver man räkna ut vinkeln för en vektor. Här är det lämpligt att utnyttja funktionen math.atan2(y, x) som ger vinkeln (i radianer) från origo till punkten (x, y). För att sorteringen ska fungera är det viktigt att vinkelberäkningarna inte plötsligt gör ett hopp på 2π. Genom att utgå från punkten med minst x-koordinat är vi garanterade att alla vinklar ligger mellan π 2 och π 2. math.atan2 gör sitt hopp vid π så detta bör vara säkert. 4 Implementera Graham-Scan Implementera nu de funktioner som behövs för att räkna ut vilken polygon som utgör det konvexa höljet till punkterna i filen sweden.txt. För sorteringen kan du med fördel utnyttja den inbyggda funktionen sorted. Lägg märke till att sorted kan ta en extraparameter (en s.k. nyckelordsparameter) i form av en funktion som plockar fram den nyckel man vill sortera efter; i vårt fall vinkeln. Sorteringen kan därför göras på detta sätt: def mykey( point ) : return anglebetween ( o r i g i n, point ) o r i g i n = p [ 0 ] v = s o r t e d ( p [ 1 : ], key=mykey) 4
5 5 Sköldpaddsgrafik Under 1960-talet utvecklades ett experimentellt programmeringsspråk Logo speciellt för att lära barn programmering. Logo introducerade en speciell sorts grafik kallad Turtle Graphics, där namnet syftar på den typ av figurer som skapas när sköldpaddor går omkring på en sandstrand. Python har en modul turtle som implementerar denna typ av grafik. Prova gärna följande: import t u r t l e t u r t l e. down ( ) t u r t l e. goto (100, 0) t u r t l e. up ( ) t u r t l e. goto (50, 0) t u r t l e. down ( ) t u r t l e. c i r c l e ( 10) t u r t l e. c o l o r ( blue ) t u r t l e. r i g h t (90) t u r t l e. forward (20) Här är ett urval av de funktioner som finns: down up goto right forward circle color speed tracer Sänk pennan Lyft pennan Gå till angivna koordinater Sväng höger Gå framåt Gå runt Byt färg på pennan Trimma sköldpaddan Animerad uppritning på/av Mer information får du genom help(turtle) i Python, bl.a. hur du fyller ytor och skriver text. Använd sköldpaddsgrafik för att rita ut alla punkterna och det konvexa höljet. Använd t.ex. små cirklar för punkterna och linjer för det konvexa höljet. Rita gärna lite större cirklar för de punkter som ingår i höljet. Sköldpaddsgrafiken är från början inställd att rita långsamt för att man ska hinna se vad som händer. Om du tycker att tempot är lite väl lågt kan du öka sköldpaddans fart genom turtle. speed( fastest ). Alternativt kan du helt stänga av animeringen under uppritningen genom turtle. tracer(false). 5
6 6 Extrauppgift för högre betyg 6.1 Största avståndet När man har det konvexa höljet kan man använda detta för att snabbt (O(n)) räkna ut det största avståndet mellan två punkter i den ursprungliga punktmängden. En brute force algoritm som beräknar alla parvisa avstånd kommer att kräva O(n 2 ) tid. För att komma ned till O(n) måste man vara smartare. En idé är att stega igenom polygonen med en variabel medan man samtidigt i en annan variabel håller reda på vilken punkt i polygonen som ligger längst bort. Använd denna idé för att skriva en funktion som räknar ut vilka två punkter som ligger längst ifrån varandra. Rita en linje mellan dessa punkter (gärna med en annan färg). När du är klar med laborationen: redovisa för en handledare och försök att få en kvittens här. Ditt namn: Handledarens signatur: Dagens datum: Extrauppgift genomförd: GruDat 2008, Laboration 6 6
Extramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TRE Algebra ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få bekanta dig med i den här uppgiften.
Läs merArea och volym Punktposition Konvexa höljet. Geometri. Douglas Wikström KTH Stockholm
Geometri Douglas Wikström KTH Stockholm popup-help@csc.kth.se Volym av parallellepiped En parallellepiped i R n med ett hörn i origo kan beskrivas av vektorer v 1,...,v n R n. Dess orienterbara volym ges
Läs merAbstrakta datatyper Laboration 2 GruDat, DD1344
Abstrakta datatyper Laboration 2 GruDat, DD1344 Örjan Ekeberg (fritt från en idé av Henrik Eriksson) 27 oktober 2008 Målsättning Målet med denna laboration är att ge en inblick i hur man kan använda abstrakta
Läs merFöreläsning 11: Beräkningsgeometri
DD2458, Problemlösning och programmering under press Föreläsning 11: Beräkningsgeometri Datum: 2009-11-24 Skribenter: David Björklund, Christoer Lundell Johansson och Mårten Selin Föreläsare: Fredrik Niemelä
Läs merAktiviteter Del 4. h succesivt anta mindre värden, som till exempel π. , och låta programmet summera sekanternas längder från x = a till x = b.
Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg II Del 4: Programmering i matematik Aktiviteter Del 4 Här finns ett antal aktiviteter att välja mellan. Det ena handlar om att
Läs merVektorgeometri för gymnasister
Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Skalärprodukt Innehåll Skalärprodukt - Inledning
Läs merLinjär Algebra, Föreläsning 2
Linjär Algebra, Föreläsning 2 Tomas Sjödin Linköpings Universitet Geometriska vektorer, rummen R n och M n 1 En (geometrisk) vektor är ett objekt som har storlek och riktning, men inte någon naturlig startpunkt.
Läs merPolygoner. Trianglar på tre sätt
Polygoner Trianglar på tre sätt Man kan skriva in punkter antingen via punktverktyget eller genom att skriva punktens namn och koordinater i inmatningsfältet. Då man ritar månghörningar lönar det sig att
Läs merÖversikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem
Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från
Läs merProblemlösning och funktioner Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Problemlösningsstrategier Repetition av funktioner Mer om funktioner 2 Problemlösningsstrategier 3 PROBLEMLÖSNINGSSTRATEGIER Strategier Det finns ett flertal olika ansatser till
Läs merAnvända Python Laboration 1 GruDat, DD1344
Använda Python Laboration 1 GruDat, DD1344 Örjan Ekeberg 14 oktober 2008 Målsättning Målet med denna laboration är att du ska prova på att använda Python, framförallt interativt. Du ska också lära dig
Läs merMATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 2014. Block 5, översikt
MATEMATIK GU H4 LLMA6 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 24 I block 5 ingår följande avsnitt i Stewart: Kapitel 2, utom avsnitt 2.4 och 2.6; kapitel 4. Block 5, översikt Första delen av block 5
Läs merTentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel
Tentamen TNM061, 3D-grafik och animering för MT2 Onsdag 20/8 2014 kl 14-18 SP71 Inga hjälpmedel Tentamen innehåller 7 uppgifter, vilka tillsammans kan ge maximalt 50 poäng. För betyg G (registreras som
Läs merRobotarm och algebra
Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson 2010-12-07 Robotarm och algebra I denna laboration skall du lära dig lite mer om möjlighetera att rita ut mer avancerade
Läs merSortering. Brute-force. Sortering Ordna element enligt relation mellan nyckelvärden
Sortering Brute-force Sortering Ordna element enligt relation mellan nyckelvärden Flera olika algoritmer med olika fördelar Brute-force Gå igenom alla permutationer och hitta den där elementen ligger i
Läs merSF1624 Algebra och geometri
Föreläsning 2 Institutionen för matematik KTH 2 november 2016 Skalärprodukt Dagens ämne: Skalärprodukt, kapitel 1.3-1.4 i boken Definition, skalärprodukt på två sätt Vinklar mellan vektorer Norm Plan och
Läs mer729G04 Programmering och diskret matematik. Föreläsning 4
729G04 Programmering och diskret matematik Föreläsning 4 Turtle Graphics LOGO LOGO: programmeringsspråk för användning inom undervisning 1967 av Papert och Feurzeig Språket är släkt med LISP, men som "utenhet"
Läs merEDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass
EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet
Läs merUppgift 1 ( Betyg 3 uppgift )
2006-12-08.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Implementera följande funktion: fun(1) = 1 fun(n) = fun(n / 2), för jämna n fun(n) = n / (fun(n - 1) + fun(n + 1)), för udda n Exempel på korrekta resultat:
Läs merTAIU07 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 merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TVÅ Geometri ELEV Desmos Geometry är ett matematikverktyg som bland annat kan hjälpa dig att avbilda geometriska figurer och
Läs merNågra saker till och lite om snabbare sortering
Några saker till och lite om snabbare sortering Generellt om avbrott Generera avbrott Snabb sortering principer Snabb sortering i Scheme och Python QuickSort (dela städat slå ihop) Mergesort (dela slå
Läs mer729G04 Programmering och diskret matematik TEN kl 8-12
729G04 Programmering och diskret matematik TEN4 091120 kl 8-12 Examinator: Annika Silvervarg, telefonnummer 013-284068 Hjälpmedel: Dator, penna och suddgummi. Uppgifter: Tentamen består av 4 uppgifter
Läs merObjektorienterad Programkonstruktion. Föreläsning 9 30 nov 2016
Objektorienterad Programkonstruktion Föreläsning 9 30 nov 2016 Collections Ett samlingsnamn på objekt som innehåller en samling av andra objekt Det finns många olika sorters Collections, t.ex listor, träd,
Läs merElevuppgift: Bågvinkelns storlek i en halvcirkel
Elevuppgift: Bågvinkelns storlek i en halvcirkel 1. Öppna GeoGebra Classic och välj perspektivet Grafanalys. Dölj koordinataxlarna. 2. Skapa konstruktionen nedan. Det är ingen skillnad var i rutfältet
Läs merTenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00
1 ( 7) Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej anteckningar,
Läs merObjektorienterad Programkonstruktion
Objektorienterad Programkonstruktion Föreläsning 9 Projektuppgift Collection, Iterator, Composite Christian Smith ccs@kth.se 1 Projektuppgift IM, skickar meddelanden mellan datorer En lite större labbuppgift,
Läs merDD1320 Tillämpad datalogi. Lösning (skiss) till tenta 20 okt 2011
DD1320 Tillämpad datalogi Lösning (skiss) till tenta 20 okt 2011 1 KMP P I P P I N i 1 2 3 4 5 6 Next[i] 0 1 0 2 1 3 2 Huffmankodning: Algoritmen 1. Sortera tecknen som ska kodas i stigande förekomstordning.
Läs mer3.0. Tips och Trix Sida 1 av 18
3.0 https://beta.scratch.mit.edu/ Tips och Trix 2018-08-31 Sida 1 av 18 Innehåll Starta nytt program 3 Scenens koordinatsystem 3 Centrumpunkt / rotationspunkt 4 Sprajtens inställningar 5 Placering i Z-led
Läs merInstitutionen 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 merKojo med Inga Ingenjör. Lär dig programmera Nybörjaruppdrag
Kojo med Inga Ingenjör Lär dig programmera Nybörjaruppdrag Intro En programmeringsworkshop för barn i 8-årsåldern. Den togs under hösten 2016 via flertalet feedbackomgångar med pedagoger och en pilotstudie
Läs merSä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 merTANA17 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 merLab5 för prgmedcl04 Grafik
Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna
Läs merBörja med att kopiera källkoden till din scheme-katalog (som du skapade i Laboration 1).
Laboration 3 Grafiska figurer I den här laborationen skall du konstruera ett schemeprogram som kan rita rektanglar, punkter, cirklar, linjer och bilder som består utav en eller flera av nyss nämnda figurer.
Läs merKojo med Inga Ingenjör
När du klarat alla uppdrag får du Inga Ingenjörs körkort i Kojo-programmering Kojo med Inga Ingenjör Lär dig programmera Nybörjaruppdrag Innehåll 1. Kan du styra din kompis? 2. Kan du styra sköldpaddan
Läs merP Q = ( 2, 1, 1), P R = (0, 1, 0) och QR = (2, 2, 1). arean = 1 2 P Q P R
1 Matematiska Institutionen KTH Lösningar till några övningar på geometri och vektorer inför lappskrivning nummer 2 på kursen Linjär algebra II, SF1604, vt11. 1. En triangel har hörn i punkterna (1, 2,
Läs merLABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I
LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I Vt 2002 Mål: Lära sig: Filhantering Stränghantering Vektorer Funktioner Programstruktur Tid: Läroboken: 6 timmars handledd laborationstid. Beräknad klar
Läs merc d Z = och W = b a d c för några reella tal a, b, c och d. Vi har att a + c (b + d) b + d a + c ac bd ( ad bc)
1 Komplexa tal 11 De reella talen De reella talen skriver betecknas ofta med symbolen R Vi vill inte definiera de reella talen här, men vi noterar att för varje tal a och b har vi att a + b och att ab
Läs merLNC Lösningar
LNC022 2013-05-27 Lösningar 1. (a) På en vägskylt står det att vägens lutning är 12 %. Om detta innebär att höjdskillnaden är 12 % av den körda vägsträckan, vilken är då vägens lutningsvinkel? (Rita figur.)
Läs merProgrammering. 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 merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ ETT Geometri ELEV Desmos Geometry är ett matematikverktyg som bland annat kan hjälpa dig att avbilda geometriska figurer och
Läs merLäsöversikt. Föreläsningar 2-6. Genomförande av laborationer
Läsöversikt LP Part I Part IV, kap 18 PL: kap 1, 2 (Sem 1), 3 (Sem 3), 5.1-5.3, 5.8 intro, 6.1-6.3, 7.1-7.3, 8.1-8.3, 9.1-9.2 Wikipedia kan användas som stöd för PL-avsnitten. Föreläsningar 2-6 Genomförande
Läs merLösningar till udda övningsuppgifter
Lösningar till udda övningsuppgifter Övning 1.1. (i) {, } (ii) {0, 1,, 3, 4} (iii) {0,, 4, 6, 8} Övning 1.3. Påståendena är (i), (iii) och (v), varav (iii) och (v) är sanna. Övning 1.5. andra. (i) Nej.
Läs merIndex. 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{ 1, om i = j, e i e j = 0, om i j.
34 3 SKALÄPRODUKT 3. Skaläprodukt Definition 3.. Skalärprodukten mellan två vektorer u och v definieras där θ är vinkeln mellan u och v. u v = u v cos θ, Anmärkning 3.. Andra beteckningar för skalärprodukt
Läs merFöreläsning 12. Söndra och härska
Föreläsning 12 Söndra och härska Föreläsning 12 Söndra och härska Maximal delsekvens Skyline Closest pair Växel Uppgifter Söndra och härska (Divide and conquer) Vi stötte på dessa algoritmer när vi tittade
Läs merSökning i ordnad lista. Sökning och sortering. Sökning med vaktpost i oordnad lista
Sökning och sortering Sökning i oordnad lista Att söka efter data man lagrat undan för senare användning är vanligt Egentligen har man ingen annan anledning för att lagra undan data Har man mycket data
Läs merFöreläsning 9-10 Innehåll
Föreläsning 9-10 Innehåll Inläsning från textfil, utskrift från textfil Vektorer med objekt Matriser Datavetenskap (LTH) Föreläsning 9-10 HT 2018 1 / 41 Klassen Scanner Läsa från System.in Vi har tidigare
Läs merProgrammering F-3. -dansprogrammering. Del 1
Programmering F-3 -dansprogrammering Del 1 Lärarhandledning till Dansprogrammering 2 Innehåll o o o o o o o o o o o o o o o o o o Det här behöver du... Dansprogrammering. Generellt upplägg. Tidsåtgång.
Läs merUndersökande arbetssätt i matematik 1 och 2
Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg Del 6: Undersökande arbetssätt med matematisk programvara Undersökande arbetssätt i matematik 1 och 2 I texten Undersökande arbetssätt
Läs merAffina avbildningar och vektorgrafik
och vektorgrafik 2010-02-04 och vektorgrafik Affin avbildning som matriser Definition En affin avbildning f är en sammansättning av en linjär avbildning x Bx och en translation x x + c och är alltid på
Läs merTDP002 Imperativ programmering. Laborationsmaterial emacs python-mode
TDP002 Imperativ programmering Laborationsmaterial emacs python-mode Höstterminen 2008 Innehållsförteckning Introduktion...3 Redovisning av laborationer...3 Laboration 1 emacs python-mode...4 Uppgift 1
Läs merLaboration 3 GUI-programmering
Laboration 3 GUI-programmering Syfte Erbjuder studenterna en möjlighet att lära sig grunderna i gränssnittsprogrammering i Java. Genomförande Genomförs individuellt eller i grupp om 2 personer. Uppskattad
Läs merGrundläggande Datalogi
s delar Grundläggande Datalogi s delar s delar s delar Dataabstraktion Rekursion Algoritmanalys s delar Sortering Trädstrukturer Grafalgoritmer Optimering Stavning Strängmatchning Datakompression Versionshantering
Läs merTENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET
UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt
Läs merVeckoblad 1, Linjär algebra IT, VT2010
Veckoblad, Linjär algebra IT, VT Under den första veckan ska vi gå igenom (i alla fall stora delar av) kapitel som handlar om geometriska vektorer. De viktigaste teoretiska begreppen och resultaten i kapitlet
Läs merLaboration 1: Figurer i hierarki
Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras
Läs merGeometriska transformationer
CTH/GU LABORATION 5 TMV6/MMGD - 7/8 Matematiska vetenskaper Inledning Geometriska transformationer Vi skall se på några geometriska transformationer; rotation, skalning, translation, spegling och projektion.
Läs merVad är algoritmer? Lektionen handlar om att få en grundläggande förståelse för vad en algoritm är. Vad är algoritmer?
Lektionen handlar om att få en grundläggande förståelse för vad en algoritm är. Lektionsförfattare: Lotta Ohlin Andersson Till läraren 1. Vad vet du om algoritmer? 2. Vad betyder ordet algoritm? En digital
Läs merExempel på användning av arv: Geometriska figurer
(9 maj 2014 Klasshierarkier 1 ) Exempel på användning av arv: Geometriska figurer Uppgift: Skriv ett program som kan hantera några olika geometrisk figurer: linjer, cirklar och rektanglar. (9 maj 2014
Läs merSF1624 Algebra och geometri
SF1624 Algebra och geometri Föreläsning 2 David Rydh Institutionen för matematik KTH 28 augusti 2018 Detta gjorde vi igår Punkter Vektorer och skalärer, multiplikation med skalär Linjärkombinationer, spannet
Läs merExempel :: Spegling i godtycklig linje.
INNEHÅLL Exempel :: Spegling i godtycklig linje. c Mikael Forsberg :: 6 augusti 05 Sammanfattning:: I detta dokument så är vårt uppdrag att beräkna matrisen för spegling i en godtycklig linje y = kx som
Läs mer1 Vektorer i koordinatsystem
1 Vektorer i koordinatsystem Ex 11 Givet ett koordinatsystem i R y a 4 b x Punkten A = (3, ) och ortsvektorn a = (3, ) och punkten B = (5, 1) och ortsvsektorn b = (5, 1) uttrycks på samma sätt, som en
Läs merÖvning 1 - Abstrakta datatyper
/home/lindahlm/activity-phd/teaching/12dd1320/exercise1/exercise1.py September 3, 20121 0 # coding : latin Övning 1 - Abstrakta datatyper 18 Summering Vi gick igenom betydelsen av abstrakta datatyper/datastrukturer.
Läs merLinjär Algebra, Föreläsning 2
Linjär Algebra, Föreläsning 2 Tomas Sjödin Linköpings Universitet Riktade sträckor och Geometriska vektorer En (geometrisk) vektor är ett objekt som har storlek och riktning, men inte någon naturlig startpunkt.
Läs merParabeln och vad man kan ha den till
Parabeln och vad man kan ha den till Anders Källén MatematikCentrum LTH anderskallen@gmail.com Sammanfattning I det här dokumentet diskuterar vi vad parabeln är för geometrisk konstruktion och varför den
Läs merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering
Läs merSaker du ska kunna Föreläsning 13 & 14
Saker du ska kunna Föreläsning 13 & 14 LISTOR Ta bort element från en vektor Både sorterad och osorterad Söka upp element i en vektor Linjärsökning räcker (jag har även visat binärsökning) Registrering
Läs merLä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 merMer om analytisk geometri
1 Onsdag v 5 Mer om analytisk geometri Determinanter: Då man har en -matris kan man till den associera ett tal determinanten av som också skrivs Determinanter kommer att repeteras och studeras närmare
Läs merLaboration 2: Designmönster
Laboration 2: Designmönster Bakgrund Det har visat sig väldigt svårt att beskriva hur ett system, eller en dellösning, skall konstrueras på ett bra sätt. Det har överhuvud taget varit svårt att veta om
Läs mer729G04 PYTHON 4 JODY FOO. Department of Computer and Information Science (IDA) Linköping University, Sweden
729G04 PYTHON 4 JODY FOO Department of Computer and Information Science (IDA) Linköping University, Sweden TURTLE GRAPHICS LOGO LOGO: programmeringsspråk för användning inom undervisning 1967 av Papert
Läs merProgrammering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning.
Programmering för Språkteknologer II Markus Saers markus.saers@lingfil.uu.se Rum -040 stp.lingfil.uu.se/~markuss/ht0/pst Innehåll Associativa datastrukturer Hashtabeller Sökträd Implementationsdetaljer
Läs mer7F Ma Planering v2-7: Geometri
7F Ma Planering v2-7: Geometri Arbetsform under en vecka: Måndagar (50 min): Genomgång av gemensamma svårigheter i begrepp och metoder. Arbete i grupp med begrepp och metoder. Läxa (30 min): Läsa på anteckningar
Läs merProjekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...
Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... 4 Bussen (projektförslag)... 5 Bakgrund... 5 Klassen Buss
Läs merFöreläsning REPETITION & EXTENTA
Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder
Läs merRumsuppfattning är förmågan att behandla sinnesintryck av former
Güner Ahmet & Thomas Lingefjärd Tredimensionellt tänkande Tredimensionella matematiska representationer är inte särskilt vanliga i skolans matematikkurser, med undantag för kurs 3 5 i gymnasiet. Varför
Läs merKarta över Jorden - viktigt exempel. Sfär i (x, y, z) koordinater Funktionen som beskriver detta ser ut till att vara
Föreläsning 1 Jag hettar Thomas Kragh och detta är kursen: Flervariabelanalys 1MA016/1MA183. E-post: thomas.kragh@math.uu.se Kursplan finns i studentportalens hemsida för denna kurs. Där är två spår: Spår
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,
Läs merLaboration 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 merKlassrumsprojekt programmering - Digitalt lärande
Klassrumsprojekt programmering - Digitalt lärande Projektet passar för lågstadiet eller nybörjare i äldre årskurser Utgå från boken Hej Ruby- Äventyr i datorernas magiska värld av Linda Liukas, Volante
Läs mer8F Ma Planering v2-7 - Geometri
8F Ma Planering v2-7 - Geometri Arbetsform under en vecka: Tisdagar (50 min): Genomgång av gemensamma svårigheter i begrepp och metoder. Arbete i grupp med begrepp och metoder. Läxa (30 min): Läsa på anteckningar
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2 Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok,
Läs merIntroduktion till Python Teoridel
Institutionen för teknikvetenskap och matematik, LTU 2 november 2014 Laboration 1, M0043M, HT14 Laborationsuppgifter skall lämnas in senast 21 november 2014. Introduktion till Python Teoridel 1 Inledning
Läs merExplorativ övning Vektorer
Eplorativ övning Vektorer Syftet med denna övning är att ge grundläggande kunskaper om vektorräkning och dess användning i geometrin Liksom många matematiska begrepp kommer vektorbegreppet från fysiken
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,
Läs merPython. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.
Moduler Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Vi har också ofta behov av att skapa överblick i våra program. Som ett
Läs merLiten lathund för användning av klubbens Quarq Shockwiz (QSW).
Liten lathund för användning av klubbens Quarq Shockwiz (QSW). Läs igenom hela denna text först. Kika sen på tre Youtubeklipp om tid och intresse finns. Installation: https://www.youtube.com/watch?v=mvmm6ub9-g4
Läs merQuicksort. 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 merInnehåll. Innehåll... 2 Detaljövningar Övning 1 Skiss och Intersect Övning 2 Path, Pattern Övning 3 - Featureträdet...
Innehåll Innehåll Innehåll... 2 Detaljövningar... 5 Övning 1 Skiss och Intersect... 5 Övning 2 Path, Pattern... 9 Övning 3 - Featureträdet... 12 Övning 4 Feature Copy... 15 Övning 5 3D Skiss, Work feature...
Läs merLennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM
Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg II Del 1: Om programmering Aktiviteter Del 1 Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM Ni
Läs merTenta i Grundläggande programmering DD klockan
Tenta i Grundläggande programmering DD1331 2017-10-20 klockan 14.00 16.00 Marcus Dicander, KTH CST Tillåtna hjälpmedel: En Pythonbok, skrivmaterial, mat, medicin och vattenflaska. Otillåtna hjälpmedel:
Läs merTransformationer i R 2 och R 3
Linjär algebra, I / Matematiska vetenskaper Inledning Transformationer i R och R 3 Vi skall se på några geometriska transformationer; rotation, skalning, translation och projektion. Rotation och skalning
Läs merHandbok Kig. Dominique Devriese Översättare: Stefan Asserhäll
Dominique Devriese Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Grundläggande användning 6 2.1 Konstruera objekt...................................... 6 2.1.1 Konstruera punkter................................
Läs mer9 Geometriska begrepp
9 Geometriska begrepp Rita figurer som visar vad vi menar med... 261 a) 4 cm och 4 cm 2 b) 5 cm och 5 cm 2 262 Rita två olika figurer som båda har arean 8 cm 2 263 Rita tre olika figurer som alla har arean
Läs merAktivitetsbank. Matematikundervisning med digitala verktyg II, åk 7-9. Ulrihca Malmberg, Maria Johansson, Ulrica Dahlberg
Aktivitetsbank Matematikundervisning med digitala, åk 7-9 Ulrihca Malmberg, Maria Johansson, Ulrica Dahlberg Matematik Grundskola åk 7-9 Modul: Matematikundervisning med digitala Aktivitetsbank till modulen
Läs mer9E Ma Planering v2-7 - Geometri
9E Ma Planering v2-7 - Geometri Arbetsform under en vecka: Måndagar (50 min): Genomgång av gemensamma svårigheter i begrepp och metoder. Arbete i grupp med begrepp och metoder. Läxa (45 min): Läsa på anteckningar
Läs merBestäm den matris B som löser ekvationen = 1 2
MÄLARDALENS HÖGSKOLA Akademin för utbildning, kultur och kommunikation Avdelningen för tillämpad matematik Examinator: Lars-Göran Larsson TENTAMEN I MATEMATIK MAA Grundläggande vektoralgebra, TEN5 alt.
Läs merUppgifter till praktiska tentan, del A. (7 / 27)
Uppgifter till praktiska tentan, del A. (7 / 27) I. Sortering/Sökning: III II. Representation/Omvandling/format/protokoll: II III. Strukturering: II I alla problem, där bokstäver förekommer, antar vi att
Läs mer