Ligningsløseren og logiklaget

Vi skal se nærmere på hvordan Ligningsløseren konkret løser en ligning. Når man klikker på ”Lav mine lektier”, behandler programmet de data det har fået som input, hvorefter et output gives. Denne behandling foregår efter en opskrift – en algoritme, som programmøren har programmeret. Da vi ikke kan se selve programmet, vil vi nøjes med, ud fra flere programkørsler, at få et nærmere indblik i algoritmen, der ligger bag løsningen af ligningerne.

Rutediagram
Til dette arbejde vil vi tegne et såkaldt rutediagram. Et rutediagram kan være et diagram, der beskriver sekvensen af instruktioner i et program.

Her vil vi nøjes med at definere de symboler vi skal bruge her:
symboler.png

Mellem symbolerne placeres passende pile. Et eksempel på et rutediagram ses her:
rutediagram.png

Før du går i gang med nedenstående opgaver, kan du eventuelt hente og/eller vælge et program til at tegne rutediagrammer med.

Opgave 1:
Lav et rutediagram, der beskriver hvad du gør fra du vågner til du tager i skole.

Opgave 2:
Lad ligningsløseren løse følgende ligning: ((x-1)+3)-(x+2)+9=3x
Skriv de trin op som Ligningsløseren laver. Brug et rutediagram.
Kør programmet med mere komplicerede ligninger og tilføj trin til rutediagrammet fra spørgsmålet ovenfor.
Lav et rutediagram for en anden ligningstype.

3-lags arkitektur
Vi kan beskrive Ligningsløseren som værende inddelt i tre lag. Det øverste lag er præsentationslaget. Dette lag håndterer modtagelsen og præsentationen af data. Dette lag er også kendetegnet ved at være ”tæt” på brugeren af programmet.
Det nederste lag er datalaget. Her opbevares og håndteres data. Dette lag er også kendetegnet ved at være ”tæt” på computeren.
Det midterste lag er logiklaget. Her håndteres udvekslingen af data mellem præsentationslaget og datalaget.
Generelt kaldes denne inddeling for 3-lags arkitektur og den er nyttig i implementeringen af programmer, da de tre lag så vidt mulig holdes adskilte og dermed er hele programmet lettere at overskue.

Opgave 3:
Placér alt det arbejde du har lavet med ligningsløseren i en 3-lags arkitektur.

Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-NonCommercial 3.0 License