Struktureret programmering

Struktureret programmering er programmering uden at anvende eksplicitte GOTO-sætninger. I stedet anvender man kun de strukturerede kontrol-mekanismer, som det anvendte programmeringssprog tilbyder, for at undgå de problemer, som ustruktureret spaghettikode kan medføre. I mange moderne programmeringssprog er ustruktureret programmering umuligt, ved at det helt enkelt ikke er muligt at anvende GOTO-sætninger.

Historie

Det teoretiske grundlag for struktureret programmering blev lagt i slutningen af 1960-erne med en sætning[1] af Corrado Böhm og Giuseppe Jacopini, hvor de viste, at alle beregningsfunktioner kan implementeres ved anvendelse af kun tre grundlæggende kontrolstrukturer:

  1. Sekvens
    Udfør først en delfunktion og derefter en anden delfunktion.
  2. Selektion
    Udfør en af to delfunktioner afhængig af værdien af en sandhedsvariabel.
  3. Iteration
    Udfør en delfunktion indtil en sandhedsvariabel er sand.

Artiklen viste også, hvordan et ustruktureret flow-skema kunne omformes til et struktureret skema med samme funktion. Edsger Dijkstras berømte brev, "Go To Statement Considered Harmful" fra 1968,[2] blev sidenhen starten til en debat om, hvorvidt et strengt struktureret program efter Böhm og Jacopinis principper var anvendelig for realistiske virkelige problemstillinger.

Efter vigtige praktiske tillæg til de oprindelige tre mekanismer i starten af 1970'erne, f.eks. i form af en kontrolleret afbrydelse af en iteration, vandt ideerne om struktureret programmering større accept, og de blev det dominerende programmeringsparadigme i 1970'erne og 1980'erne.

Fodnoter

  1. ^ Böhm, Corrado; and Giuseppe Jacopini (May 1966). "Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules". Communications of the ACM 9 (5)
  2. ^ Dijkstra, Edsger (1968). "Go To Statement Considered Harmful". Communications of the ACM 3
Spire
Denne artikel om datalogi eller et datalogi-relateret emne er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.