Sammenlign og byt. Et eksempel på dokumentering af et program



Relaterede dokumenter
Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

Programmering C RTG

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

HTX, RTG. Rumlige Figurer. Matematik og programmering

Dokumentation af programmering i Python 2.75

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

Programmering i C Intro og grundlæggende C 5. marts 2007

Python 3 kursus lektion 1:

Lær Python dag 1 - modul 1

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:

IT og Programmering eksamens projekt

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter Abstract

Postregistrering Eksamensprojekt i Programmering C Lavet af: Frantz Furrer Svendborg Erhvervsskole HTX Vejleder: Claus Borre

Noter til C# Programmering Selektion

Programmering I Java/C#

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Python programmering. Per Tøfting. MacFest

Indhold. Maskinstruktur Kapitel 1. Assemblersprog Indledning Hop-instruktioner Input og output...

DM507 Algoritmer og datastrukturer

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.

NetLogo-simuleringen. Simuleringer og fysiske modeller (henfaldsloven)

Introduktion Indtastning Funktioner Scripts Optimering. Matlab

3. Om skalamønstrene og den indfoldede orden

Start på Arduino og programmering

Enes Kücükavci Roskilde Tekniske Gymnasium Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C

Introduktion til funktioner, moduler og scopes i Python

Introduktion til SAS macro language

Talregning. Aktivitet Emne Klassetrin Side. Indledning til VisiRegn ideer Oversigt over VisiRegn ideer 1-7 3

AVR MP Ingeniørhøjskolen i Århus Michael Kaalund

App til museeum Af Alan Mohedeen 3.5

Software Dokumentation

DM507 Algoritmer og datastrukturer

Undervisningsbeskrivelse

Kursusarbejde 2 Grundlæggende Programmering

SOFTWARE DOKUMENTATION

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

Afsluttende - Projekt

DM507 Algoritmer og datastrukturer

Eksamensopgaver datalogi, dl/vf 2010 side 1/5. 1. Lodtrækningssystem

GRAFISK WORKFLOW WEBSITE - CHOCOADDICT

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

I3PRG3+I3DTM3+I3ISY1-3. semester

DDD Runde 2, 2015 Facitliste

2. Problem-analyse og problem-afgrænsning. 1. Denne fase klares efter diverse diskussioner med den fremtidige bruger.

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Jobmenu. Annuller job Fortroligt job Tilbageholdt job Udskriv buffer Nulstil printer. Udskrivning. Papirhåndtering. Vedligeholdelse.

Klasse 1.4 Michael Jokil

Det skrå kast, en simulation

Kreativ programmering

Det er muligt at chekce følgende opg. i CodeJudge: og

Manual til ECOonline

Spil Master Mind. Indledning.

Michael Jokil

CPUer og maskinkode DM534. Rolf Fagerberg

DM536. Rapport og debug

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

Start på programmering (IT-hæfter fra Libris)

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

JavaScript. nedarvning.

DM507 Algoritmer og datastrukturer

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

#AlleKanKode. Lektion 2 - Konstanter og Variabler

Vejledning til datatræk i Novax på ICPC-koder

DANMARKS TEKNISKE UNIVERSITET

Gavelisten. Indholdsfortegnelse. 1. Opstart af Gavelisten side Kunden udfylder en ønskeseddel side 3 - print ønskeseddel

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

Numerisk differentiation og integration med Python

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner

Vejledning Post modul

CANSAT & ARDUINO step by step

Brugervejledning til print-, kopi og scanning på KøgeBibliotekerne

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.

Udarbejdet af CFU Absalon

ØVELSE 2A. Ex_2a. Data-trin faciliteter: DATA sætningen INPUT sætningen CARDS sætningen INFILE sætningen LIST sætningen

Trisect Development s INDBO REGISTRERING VEJLEDNING

Kursusarbejde 3 Grundlæggende Programmering

Kom godt i gang med Dyreregistrering

DM507 Algoritmer og datastrukturer

Transkript:

Sammenlign og byt Et eksempel på dokumentering af et program

Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver dem i modsat rækkefølge hvis det sidste er mindre end det første. Jeg har som udgangspunkt valgt at stille følgende krav til programmet: -Det skal indlæse to tal fra tastaturet (programmets default input) til variablerne a og b. -Det skal sammenligne de indlæste tal og -det skal udskrive dem, således at det største tal kommer sidst. Programmet sorterer således tallene.

Dokumentationens opbygning For at dokumentere programmets design, funktion og udvikling skal vi i gennem følgende punkter: 1.Beskrivelse i prosa, på Dansk!, af kærneproblemet, altså det problem som du skulle løse for at komme i gang med programmeringen af den første prototype. (Dette krav er inspireret af "Bottom Up" tilgangen til programmering.) 2.Plan for brugerfladen for programmet (UI eller GUI). Beskriv i tekst og lav mindst een håndtegnet, ikke med en computer, skitse. Scan den ind og brug som illustration af din tidlige ide om UI. 3.Input. En beskrivelse, detaljeret, af input (inddata) til programmet. Hvilke data, deres datatype og mening for brugeren. 4.Operationer på inddata. Beskrivelse, detaljeret, af de operationer som programmet skal udføre på inddata. 5.Output. Beskrivelse, detaljeret, af output (uddata) fra programmet. Hvilke data, deres datatype og mening for brugeren. 6.Flowchart (rutediagram) som viser programmets logiske opbygning/struktur. (Flowcharting, flowchart, brug gerne programmet Dia fra http://projects.gnome.org/dia/) 7.Kildekoden for det færdige program. 8.Skærbilleder som viser/dokumenterer hvordan det færdige program bruges/virker. 9.Dokumentation af forløbet med skærmbilleder og kommentarer/forklaringer. 10.Diskussion/beskrivelse af de sætninge (statements) i Python som du har brugt i dit program.

Beskrivelse af kærneproblemet Jeg synes at kærneproblemet i denne opgave er at kunne afgøre om et tal er større end et andet. Vi afprøver følgende kode i et Python script: a=2 b=1 if b<a: print "b er mindre end a, eller sagt på anden måde, a er større end b." Og det giver følgende resultat i Python shellen: >>> ================================ RESTART ================================ >>> b er mindre end a, eller sagt på anden måde, a er større end b. >>> Og vi afprøver hvad der sker hvis vi bytter værdierne for variablerne a og b. Det giver følgende resultat: >>> ================================ RESTART ================================ >>> >>> Altså intet output fra programmet, som vi forventede, fordi betingelsen b<a ikke er opfyldt og derfor eksekveres ikke print sætningen. Nu har vi altså løst kærneproblemet, det vil sige at vi kan afgøre om et tal er større, eller mindre, end et andet tal.

Plan for brugerfladen for programmet Programmet vil køre i text-mode. Jeg forestiller mig at programmet skal prompte brugeren for de to tal på følgende måde: a: 3 b: 1 Hvor brugeren har indtastet tallene 3 og 1. De indtastede tal kan være heltal (integers) eller kommatal (floating point numbers). Dernæst skal programmet udskrive tallene i en voksende, sorteret!, rækkefølge. For eksempel som: b: 1 a: 3 Dernæst afsluttes programmet.

Input Beskrivelse af inddata Input til programmet er de to talværdier som tildeles til variablene a og b. De kan være heltal eller kommatal.

Operationer på inddata Programmet skal sammenligne de to tal, altså værdierne i variablene a og b, og afgøre hvilket af dem er mindst. Der udføres ingen regneoperationer i programmet!

Output - Beskrivelse af uddata Programmets output forventer jeg at bliver følgende: b: 1 a: 3 Altså hvis brugeren indtaster 3 for variablen a og 1 for b. Hvis brugeren indtaster 1 for a og 3 for b, så skal uddata se ud som her: a: 1 b: 3 Uddata bestor altså af to linier. Hver linie starter med en tekststræng og så kommer tallet, som kan være heltal eller kommatal.

Flowchart - programmets logiske opbygning/struktur Dette rutediagram er lavet med tegneprogrammet Dia.

asdf Kildekoden for det færdige program

asdf Skærbilleder - det færdige programs funktion

asdf Dokumentation af udviklingsforløbet

asdf Diskussion/beskrivelse af brugte sætninge (statements) i Python