Avatar billede LasseJK Nybegynder
19. september 2010 - 20:16 Der er 6 kommentarer

Pseudokode - er det rigtigt?

Godaften!

Jeg er for 4 uger siden begyndt på universitet, hvor jeg første semester har et fag der hedder "Digitale Repræsentationer". Målet med faget er at blive i stand til at kode i Actionscript 3.0. I første omgang er vi igang med at lære pseudokode og hvordan det skal opbygges. Jeg er derfor ved at lave en pseudokode for et digitalt ur med dato og vækkeursfunktion. Opgaven er beskrevet sådan her: "en algoritme der opdaterer en clockradios ur. Algoritmen for clockradioen modtager et signal hvert minut når tiden skal opdateres."
Indtil videre har jeg kun gjort et forsøg med selve uret, altså tid og dato. Det ser sådan her ud:

En algoritme for en Clockradio med vækkeursfunktion.

TIME:
READ time
WHILE (secondcount is between 0 and 58)
keep counting seconds
ENDWHILE
IF (secondcount) is 59 THEN
OUTPUT increase (minutecount) by one and reset (secondcount)
IF (minutecount) is 60 after increase THEN
OUTPUT increase (hourcount) by one and reset (minutecount)
ENDIF

DATE:
READ time
WHILE time is between 00:01 and 23:59
    Dont change datecount
ENDWHILE
While time goes increases from 23:59 to 00:00
increase date by one
ENDWHILE

Jeg ved ikke om koden er præcis nok, og og den er så utvetydig som den skal være. Skal koden være i ét, eller kan jeg godt dele den op?

Vi er kun lige blevet introduceret til begrebet "pseudokode", og jeg har aldrig arbejdet med det før.
Er jeg på rette spor? Hvad ville du lave om?
Den skal være god og præcis, men selvfølgelig stadig på det niveau hvor jeg nu er (meget lavt).

Håber der er en flink programmerinskyndig, som vil give mig et godt råd eller to :)

På forhånd tak.
Avatar billede chalde Seniormester
19. september 2010 - 20:55 #1
Der er ingen "korrekt" syntax ved pseudokode, men nærmere guidelines som kan fortolkes af den enkelte.
Pseudokode er skabt for at man kan lave funktioner/algoritmer uden helt at kode, men samtidig tænke i kode/algoritmetermer. Man kan lidt kalde det brainstorming på kodeform eller flowcharts på kodeform.

Grunden til at der på mange uddannelser bruges pseudokode er at få eleven til at tænke i kodetermer, da størstedelen af kodearbejdet ligger i idéen og tankerne bag koden. Koden er blot tilvejebringelse af idéen.

Om det du har lavet er rigtigt eller forkert afhænger IMO af om du (eller hvis en anden skal lave den "rigtige" kode) kan lave den "rigtige" kode med pseudokoden som "opskrift".
Avatar billede LasseJK Nybegynder
19. september 2010 - 20:57 #2
Hej Chalde.

Tak for din kommentar.

Så kan jeg godt se, at det er svært at sige om en pseudokode er rigtig eller forkert. Men hvis du kigger på min kode, hvad er så dit indtryk?
Avatar billede neoman Novice
19. september 2010 - 21:06 #3
Kig på din pseudokode: hvad sker der med timevisningen?
Avatar billede neoman Novice
19. september 2010 - 21:08 #4
Og lige så datovisningen, når der er gået en måned? :-)
Avatar billede neoman Novice
19. september 2010 - 21:21 #5
Tillige, kutymen er at lave indrykninger, så at meatware (altså mennesker :-) finder det nemmere at følge i softwaren (så kan man nemt, se hvor langt en logisk blok rækker):

TIME:
  READ time
  WHILE (secondcount is between 0 and 58)
    keep counting seconds
  ENDWHILE
  IF (secondcount) is 59 THEN
    OUTPUT increase (minutecount) by one and reset (secondcount)
  ???
  IF (minutecount) is 60 after increase THEN
    OUTPUT increase (hourcount) by one and reset (minutecount)
  ENDIF

DATE:
  READ time
  WHILE time is between 00:01 and 23:59
      Dont change datecount
  ENDWHILE
  While time goes increases from 23:59 to 00:00
      increase date by o
  ENDWHILE
Avatar billede LasseJK Nybegynder
04. oktober 2010 - 10:08 #6
Hvordan giver jeg point til den heldige?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB