Visualiseringsprogram

Relaterede dokumenter
Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

HTX, RTG. Rumlige Figurer. Matematik og programmering

Af: Safa Sarac Klasse 3.4 Skole: Roskilde Tekniske Gymnasium, HTX Vejleder(e): Karl B Dato: 26. marts 2012

Programmering 19/ ROSKILDE TEKNISKE GYMNASIUM. Projektbeskrivelse. Programmering. Rasmus Kibsgaard Riehn-Kristensen

Michael Jokil

Andreas Møinichen og Aske Märcher

Kompendium til Geogebra

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Klasse 1.4 Michael Jokil

Rumlige figurer. Matematik A og Programmering C - projekt

IT B 2.4. Produkt til læring. IT - projekt

Det nye husdyrgodkendelse.dk Sagsbehandlermodulet Fra ansøgning til godkendelse V /4 2011

Gem dine dokumenter i BON s Content Management System (CMS)

MICROSOFT OUTLOOK 2010

MS Visual Studio Basic En kort vejledning

Online billede filtrering

Tilpas: Hurtig adgang

ROSKILDE TEKNISKE GYMNASIUM. Læringsprogram. Lommeregner

Kom godt i gang med I-bogen

Lineære sammenhænge, residualplot og regression

Opsætte f.eks. en rejsebeskrivelse med tekst og billede i Draw side 1

IT - Opgave. Produkt til Læring

Graph brugermanual til matematik C

Foto upload manual Til

Eksponentielle modeller

Opret en side/artikel og rediger din side

ViTre ver. 91 Opdatering fra ScanDis A/S. Instruktion og nyheder i TAL. Automatisk ro Ny forbedret udtalebog. Automatisk ro

Projektopgave Rumlige figurer. Matematik & Programmering Lars Thomsen Klasse 3.4 HTX Roskilde Vejledere: Jørn & Karl 05/

Kom i gang - Sådan gør du: 1) For at komme i gang skal du først oprette dig som bruger. Tryk på

APPENDIX A INTRODUKTION TIL DERIVE

Windows Live Movie Maker-alle funktioner.

WINDOWS LIVE MAIL

Programmering C RTG

Afsluttende - Projekt

Lineær Programmering i GeoGebra Side 1 af 8

Excel tutorial om indekstal og samfundsfag 2008

Vejledning Bilindretning

Vejledning KPK Online Prøverum

Afsluttende Projekt - Kom/IT

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

Mediator 9. Materiale til elever. Version: August 2012

VEJLEDNING Udfyldelse af spørgeskemaet

TYPO3 TRIN FOR TRIN 3

Oktober Dokumentpakker

Kom i gang med regneark:

Rationel VinduesDesigner TM Brugervejledning

Nspire 4.2 kom godt i gang

Computerundervisning

Easy Guide i GallupPC

IT og Programmering eksamens projekt

DM536. Rapport og debug

En lille vejledning til lærere og elever i at bruge matematikprogrammet WordMat (begynderniveau)

Rapport på Kommunikation IT projekt

Sådan kommunikerer du sikkert med os. - Kontanthjælp

Introduktion til Calc Open Office med øvelser

Hvordan laver jeg mit eget kort på ArcGIS Online?

Blåt Medlem. Vejledning i kontingentopkrævning med ved brug af Word eller Open Office

Dit velkendte Windows, bare bedre. Din introduktion til Windows 8.1 til virksomheder

Opret en nyhed LEJERBO.DK OPRET EN NYHED 1. LOG PÅ MIT LEJERBO OG LOG PÅ SOM REDAKTØR. Gå ind på din hjemmeside, fx

Det skrå kast, en simulation

Automatisering Af Hverdagen

Word tips til skriftlig eksamen

Indholdsfortegnelse Forord... 5 Fodnoter og slutnoter... 6 Brevfletning Kommentarer (arbejde med kommentarer) Opret et indeks...

Prezi. Aldrig mere gammeldaws slideshows!? Version: December 2012

Sådan laves en uddannelsesplan i Optagelse.dk. Vejledning til elever

Indlæs betalingsfil i Jyske Netbank formatet

VEKTOR I RUMMET PROJEKT 1. Jacob Weng & Jeppe Boese. Matematik A & Programmering C. Avedøre-værket. Roskilde Tekniske Gymnasium 3.4. Fag.

Manual til WordPress CMS

Pia Schiermer, Underviser ved UNI-C og Vestsjællands Amtscenter 2/19

Selv om websites er yderst forskellige i deres fremtræden, så kan de stort set alle sammen passes ind i den skabelon som er illustreret herunder:

Excel regneark. I dette kapitel skal I arbejde med noget af det, Excel regneark kan bruges til. INTRO EXCEL REGNEARK

BRUGERVEJLEDNING FOR ELBAPRINT SERVICE

Kom i gang med Course Tool 1.2

Arduino Programmering

ASB signatur. Figur a: eksempel. og hent filen asb_signatur.zip.

Start af nyt schematic projekt i Quartus II

Brugermanual til MOBI:DO Make på Android

Import-vejledning. Fra Edb-brugsen til UNI Login. - For UNI Login brugeradministratorer. 1. udgave, januar 2009

KL S EFFEKTMÅLINGS- REDSKAB TIL KONTROLOMRÅDET

Huskesedler. Design og automatisering af regneark. Microsoft Excel 2013

VEJLEDNING TIL DELNETSBRUGERE PÅ FOULUMIF.DK VIA DBUNET.DK OG KLUB-CMS

SÅDAN BRUGER DU REGNEARK INTRODUKTION

Manual til Dynamicweb Februar 2010

Elevark 6: Prøv at kode en produktionsproces

SMARTBOARD. Hvordan fungerer det? Et kursusmateriale

OUTLOOK: Af Tine Nøhr Stenild

Indholdsfortegnelse. Indledning System krav side 1

Vejledning og beskrivelse til kørselsappen Min Kørsel

Brug af Word til matematik

Import-vejledning Fra regneark til UNI Login

Transkript:

Visualiseringsprogram Programmering C - eksamensopgave Rami Kaddoura og Martin Schmidt Klasse: 3.4 Vejleder: Karl Bjarnason Roskilde Tekniske Gymnasium Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-12

Indhold 1. Indledning... 3 2. Problemformulering... 3 3. Valg af værktøjer... 3 4. Krav... 3 5. Løsningsmodeller... 3 5.1 Løsningsmodel 1... 3 5.2 Løsningsmodel 2... 4 5.3 Løsningsmodel 3... 4 6. Flowdiagram... 5 7. Implementering... 6 7.1 Implementering i Visual Basic... 6 8. Konklusion... 9 2

1. Indledning I forbindelse med eksamensprojekterne i de to fag IT og programmering, som vi har valgt at slå sammen til én eksamensopgave, skulle vi designe og udvikle et program i et eller flere programmeringssprog til en defineret målgruppe. Vi har valgt at udvikle et matematik læringsprogram til folkeskoleelever og studerende. Vi har valgt at arbejde med to programmeringsværktøjer (VB og vpython), som vi synes havde en god kombination. 2. Problemformulering Hvordan kan man få elever, der har svært ved at se 3D figurer for sig, til at visualisere og forstå en 3D figur, så han/hun er i stand til at forstå den, hvis den tegnes i et 2D-plan? Og vil dette føre til en større forståelse af matematikken? 3. Valg af værktøjer Vi har valgt at anvende programmerne Microsoft Visual Basic og Visual Python. Disse programmer har en god kombination, da programmet kan kodes ind i Visual Basic og programmet Visual Python vil kunne visualisere 3D figurer. De er desuden begge to freeware programmer. 4. Krav Programmet skal kunne visualisere rumlige figur i 3D. Det skal være muligt at indtaste specifikationer til den rumlige figur, f.eks. højden i en cylinder mv. Det skal være let at anvende der skal ikke være for mange funktioner der kan besværliggøre anvendeligheden. Programmet skal styrke forståelse af rumlige figurer ved at gøre modtageren i stand til at se figuren for sig. 5. Løsningsmodeller I dette afsnit vil vi komme hurtigt ind på vores tre løsningsmodeller og vores endelig valg af løsningsmodel. 5.1 Løsningsmodel 1 På den første skitse har vi valgt at opdele programmet i to vinduer, et til knapper og tekstfelter og et til visualisering af figurer. Fordelene ved dette design er at tingene ikke virker komprimerede i et lille vindue, og der er god plads til at vende og dreje og zoome ind og ud på figuren. Ulempen er at det kan virke en smule forvirrende med to forskellige vinduer. 3

5.2 Løsningsmodel 2 På skitse nr. 2 har vi samlet det hele i et vindue. Tekstfelter og knapper er samlet øverst på siden og visualiseringen foregår nederst på siden. Fordelen er, at det kan være nemmere at overskue ét vindue i stedet for to. Ulempen er, at det hele kommer til at virke komprimeret. En anden ting som vi heller ikke kan lide ved dette er design er, at knapperne og tekstfelterne er samlet øverst i billedet. Vi synes det giver bedre harmoni og overskuelighed at samle det ude i siden. 5.3 Løsningsmodel 3 På skitse tre har vi samlet alle knapper og tekstfelter til venstre i billedet, og visualiseringen foregår til højre. Fordelen er, at billedet virker meget mere harmonisk og overskueligt, når det er opbygget på denne måde. Ulempen er som før, at det hele kommer til at virke komprimeret i ét vindue. 5.4 Det endelige valg af løsningsmodel Vi kom derfor frem til denne skitse, hvor vi har anvendt vores kendskab til gestaltloven. Her har vi samlet knapperne ude til venstre og stillet dem lodret op i forhold til hinanden, og derudover har vi valgt at opdele programmet i to vinduer for at det ikke skal virke for komprimeret. 4

6. Flowdiagram Flowdiagrammet til højre er en visualisering af hvordan programmet fungere. Diagrammet viser trin for trin, hvad ens input gør og hvilken output der kommer ud af det. 5

7. Implementering I dette afsnit kommer vi ind på hvordan vi har implementeret vores program i Visual Basic og i Vpython. 7.1 Implementering i Visual Basic I Visual Basic fik vi lavet et program, som kan beregne volumenet på en cylinder og en box, alt afhængigt af hvilken trigonometrisk figur man vælger. I programmet indtaster man blot sine oplysninger såsom længde, højde eller bredde og dernæst kan man få beregnet volumenet ud. Programmet kan også visualisere den bestemte figur, men dette bliver vist i programmet vpython, dvs. at man koder det ind i Visual Basic, men samtidig også bruger Python-sprog. Det vi havde udtænkt i starten, var at få lavet et program som gav personen der nu anvendte programmet mulighed for at vælge imellem forskellige former for figur, som han/hun vil beregne volumenet på og få illustreret figuren. Som vist i tidligere afsnit, så ser programmets brugerflade i Visual Basic således ud: Knapperne (Buttons) kan findes i værktøjskassen i selve programmet, og dem kan man bare sætte lige hvor man vil. Det samme gælder for tekstboksene (Textbox). Efter at have placeret knapperne og tekstboksene på bestemte pladser, begyndte vi at implementere koder ind i programmet. Vi startede først med at fortælle programmet, hvad der skal ske når man klikker på knappen (Vis) i Cylinderen. På figuren forneden er kildekoderne vist. De koder der står i mellem private sub og end sub er koder til én bestem funktion. 6

Først definere vi hvilken berøring med cursoren der skal til, for at aktivere denne handling. Her definere vi at man skal klikke på knappen (button1_click). Det næste der så sker, er at der bliver gemt en fil med navnet radius.py i debug mappen under Visual Basic dokumentet. Denne fil SKAL åbnes med Vpython og figuren vises. Kommandoen Objwritter.WriteLine fortæller Visual Basic programmet, at vi nu skriver i vpython -sprog. From visual import* (API), fortæller vpython hvor den skal finde figuren henne. Det næste vi så gør, er at vi angiver nogle koordinater, således at figuren placeres et centralt sted i VPython vinduet. Vi indsætter også tekstboksfelterne for højden og radius ind mellem koderne, således at de også får en indflydelse på figurens udseende. Dette er vist forneden. Til sidst har vi koden proc.start() proc.waitforexit() ; denne kode fortæller programmet at den skal visualisere figuren i Vpython automatisk, blot ved at klikke på vis-knappen, og at programmet skal blot vente på at man selv lukker ned for det. Koderne i programmet er ikke så omfattende og det meste er blot gentagelser og et par små justeringer. Efter at kunne visualiserer figuren i 3D i vpython gik vi ind og lave et par små justeringer, såsom at man skal kunne indtaste decimaltal i tekstboksfelterne (længde, højde, bredde og radius). Forskellen på vpython og Visual Basic når det drejer sig om decimaltal, så bruger man (.) punktum i vpython og (,) komma i Visual Basic. Derfor skal vi have defineret (.) punktum til at være (,) komma, når vi skriver i Visual Basic. Vi har udvalgt et godt sted i vores koder, som vi kan give et eksempel på hvordan og hvornår vi skal bruge komma eller punktum. Eksemplet foroven viser koden for knappen Beregn volumen. Linje nummer 2 fortæller programmet at den skal definere radius som Double, svarende til et decimaltal, og når vi indtaster et decimaltal i radius-feltet, vil programmet straks omskrive punktum til komma. Dette sker vha. koden (TextBox1.Text.Replace(.,, )). Linje nummer 4 fortæller programmet hvordan den beregner volumenet ud, og at dette bliver skrevet ind som en string (en tekst). 7

Her kan man så se at vi har anvendt formlen for beregning af volumen for en cylinder, altså radius 2 *højde*π. Nu mangler vi blot at definere komma som punktum, når vi skal have visualiseret figuren i vpython. Dette sker på samme måde som i tidligere eksempel. Screenshottet foroven viser at når man indtaster noget i Textbox3, som er længden på boxen, så bliver komma omskrevet til punktum. Dette ses på linje 5. Så på den måde, bliver punktum skrevet om til komma og omvendt, netop for at begge programmer skal forstå hinanden og for at undgå problematik. En ekstra detalje som vi har tilføjet til vores program, er at vi har gjort alle tekstfelter og knapper usynlige, bortset fra knappen Cylinder og Box. Dette er gjort netop for at gøre programmet mere overskueligt for brugeren. På figuren forneden til venstre ses hvordan programmet starter med at se ud, og så snart man klikker på knappen Box dukker de tilhørende tekstfelter og knapper frem, som vist på figuren forneden til højre. Måden vi gør dette på, er ved at vi inde under de tilhørende tekstfelter og knapper til boxknappen, ændre synligheden til falsk, således at tekstfelterne og knapperne ikke vises. Måden de så bliver vist på, er at vi under tilføjer koderne, som vist forneden inde under boxknappen. 8

Disse koder fortæller programmet, at så snart der bliver klikket på knappen Box, så skal programmet gøre de tilhørende tekstfelter og knapper synlige. Dermed er vores implementering for programmet fuldendt. Når vi så indtaster tilfældige oplysninger ind under Cylinder funktionen, og vi vælger at vise figuren, så ser programmet således ud: 8. Konklusion Vi fik designet og udviklet et visualiseringsprogram, der kan visualisere geometriske rummelige figurer. Produktet henvendte sig til folkeskoleelever og gymnasieelever. 9