Strukturert programmering

programmeringsparadigme rettet mot å forbedre klarhet, kvalitet og utviklingstid ved å bruke kontrollstrukturer From Wikipedia, the free encyclopedia

Remove ads

Strukturert programmering er en grunnleggende programmeringsparadigme som ligger til grunn for det meste av moderne programvareutvikling. Den innebærer at et program skal kunne fremstilles som en trestruktur av delprogrammer, og at ethvert program skal kunne skrives ved bruk av bare tre forskjellige typer anvisninger: sekvensielle anvisninger, valganvisninger (forgreninger) og gjentakelser (løkker og iterasjoner).

Den mest kjente konsekvensen av dette prinsippet er å unngå hoppanvisninger - i mange språk goto. Et program med mange slike anvisninger blir ofte nedsettende kalt spaghettikode. I mange moderne programmerinsspråk finnes det av samme grunn ingen hoppanvisning.

Remove ads

Historikk

I mai 1966 viste Corrado Böhm og Giuseppe Jacopini i en artikkel[1] at alle beregniningsfunksjoner som nevnt ovenfor kan implementeres med bare tre grunnleggende kontrollstrukturer:

  • Sekvens - separate delfunksjoner blir utført etterhverandre
  • Seleksjon - velg en av to delfunksjoner avhengig av et boolsk uttrykk
  • Iterasjon - utfør en delfunksjon intil et boolsk uttrykk skifter verdi

1968 publiserte Edsger Dijkstra artikkelen Go To Statement Considered Harmful,[2] en pioner var også Niklaus Wirth med utviklingen av programmeringsspråket Pascal.

Remove ads

Strukturerte programmeringsspråk

Til strukturert programmering bruker man et høynivåspråk. Slike programmeringsspråk har:

  • Et vokabular, altså et ordforråd med meget strenge regler for hva det enkelte ord kan brukes til
  • En grammatikk, som bestemmer hvordan vi kan sette sammen ord til en korrekt anvisning.

Ved programmering er det svært viktig å kjenne både vokabularet og grammatikken. Det kan imidlertid definers nye ord etter bestemte regler. Kompilatoren som skal oversette programkode til maskinkode, vil kontrollere at programmet er riktig skrevet, og vil ikke kompilere dersom reglene ikke er fulgt fullt ut.[3]

Remove ads

Litteratur

Referanser

Loading content...

Eksterne lenker

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads