De gestructureerd programmeren Het is een voorziening in het ontwerp en de constructie van computerprogramma's, met als doel het beheer van de complexiteit ervan te verbeteren, rekening houdend met de eigenaardigheden van het menselijk denken. Elk programma is gebaseerd op een algoritme en kan worden weergegeven door een logisch schema.
Het kwam voort uit de toenemende complexiteit van geautomatiseerde programma's. Het is een nieuw programmeerschema geworden dat nieuwe technieken heeft gecreëerd om programma's te kunnen produceren die veilig zijn om langer te gebruiken..
Dankzij de snelle ontwikkeling van geautomatiseerde gegevensverwerking was het eind jaren zestig mogelijk om steeds complexere problemen op te lossen. Het begrijpen, debuggen en wijzigen van deze programma's leverde echter problemen op die ze onbetrouwbaar maakten..
De grote computerprogramma's die voor deze problemen waren gemaakt, hadden broncodes die zo lang en ongestructureerd waren dat ze behoorlijk ingewikkeld waren geworden om met enige logica toegang te krijgen en te navigeren, zelfs voor hun eigen auteurs..
Artikel index
Programmeurs gebruikten het "goto" -commando in programmeertalen om een voorwaardelijke vertakking uit te voeren, wat vaak leidde tot leesbaarheid en een logische context werd niet behouden.
In deze softwarecrisis rees de vraag of er systematisch een algemene en gedisciplineerde methodologie kon worden ontwikkeld die meer verfijnde programma's mogelijk zou maken. Als reactie op deze aanpak werd de gestructureerde programmeermethode geboren.
In 1968 publiceerde Dijkstra het artikel "Goto, het commando dat als schadelijk wordt beschouwd", waarin hij erop wees dat het willekeurige gebruik van dit commando een negatief effect had op de leesbaarheid en het begrip van computerprogramma's..
Niklaus Wirth ontwierp een nieuwe programmeertaal, Pascal genaamd, die in 1970 werd uitgebracht. Sindsdien is deze op grote schaal gebruikt om het ontwerp van gestructureerd programmeren te onderwijzen..
Deze programmeermodus wordt gekenmerkt door het feit dat programmeurs de broncode van hun programma's kunnen fragmenteren in logisch gestructureerde blokken, die bestaan uit lussen, logische blokken en voorwaardelijke commando's..
Het doel van gestructureerd programmeren is om programma's te maken die gemakkelijk te schrijven, debuggen en wijzigen zijn. De behaalde programma's zijn duidelijk, geordend, begrijpelijk, zonder sprongen.
Dijkstra bedacht een theorie gekoppeld aan gestructureerd programmeren, die aangaf dat het bij het ontwerpen van een programma handig is om rekening te houden met de volgende grondbeginselen:
- De structurele stelling, die stelt dat elk programma kan worden samengesteld met behulp van slechts drie essentiële besturingsstructuren: sequentiële structuur, alternatieve structuur en repetitieve structuur.
- Bij het uitstippelen van de programma's wordt aangespoord om de techniek van het dalen toe te passen, ook wel top-down genoemd..
- Geldigheids- en zichtbaarheidsbereiken van variabelen en gegevensstructuren moeten worden beperkt.
De structurele stelling geeft aan dat elk algoritme met een enkel begin- en eindpunt kan worden gevormd door een samenstelling van drie controlestructuren..
Door deze ondersteunde besturingsstructuren logisch en duidelijk te programmeren, maakt gestructureerd programmeren een efficiënte benadering van functies met elke moeilijkheidsgraad mogelijk.
Deze structuur is gewoon de volgorde of opeenvolging van twee of meer bewerkingen of opdrachten.
Het is de selectie van een commando tussen twee mogelijke alternatieven. Het is ook toegestaan om te kiezen tussen meer dan twee alternatieven.
Bepaalde commando's worden herhaald zolang aan een bepaalde voorwaarde is voldaan. Ook kan de cyclus worden uitgevoerd met een teller.
Gestructureerd programmeren is gebaseerd op goed gedefinieerde functionele modules, gerangschikt volgens de specifieke aard van het probleem. Deze programmering is een onafhankelijke methode van de programmeertaal en gedraagt zich meer als een programmeerstijl.
Het is een manier om programma's te ontwerpen volgens gevestigde regels, met behulp van een bepaalde reeks controlestructuren..
Met gestructureerd programmeren kunnen programma's in pseudo-code worden geschreven, ongeacht de taal van de machine, bijna natuurlijk, converteerbaar in elke programmeertaal.
Bijna elk voorbeeldcodefragment in elke moderne programmeertaal zal een voorbeeld zijn van gestructureerd programmeren..
Deze programmering maakt gebruik van loops, conditionals en subroutines om de stroom en modulariteit te regelen om het lezen te vergemakkelijken en om de code opnieuw te kunnen gebruiken.
Een lijst met uitspraken kan in volgorde worden uitgevoerd, van boven naar beneden. In dit geval wordt een programma in natuurlijke taal voor het bakken van brood als voorbeeld gegeven:
- Voeg bloem toe.
- Voeg gist toe.
- Voeg zout toe.
- Mengen.
- Voeg water toe.
- Kneden.
- Laat het deeg rijzen.
- Bakken.
Een blok met uitspraken wordt herhaald zolang een voorwaarde waar is. Bijvoorbeeld: afwassen.
Er wordt maximaal één actie gekozen uit verschillende alternatieve voorwaarden. Bijvoorbeeld: mail sorteren.
Regels of codeblokken worden in opeenvolgende volgorde geschreven en uitgevoerd. U heeft bijvoorbeeld:
x = 6
y = 12
z = x + y
WriteLine (z)
Een codeblok wordt herhaald zolang aan een voorwaarde is voldaan. Er is geen limiet aan het aantal keren dat het blok kan worden uitgevoerd. Voorbeeld:
x = 2
Terwijl x<100
WriteLine (x)
x = x * x
Einde
Een codeblok wordt uitgevoerd als een voorwaarde waar is. Het codeblok wordt maximaal één keer uitgevoerd. Voorbeeld:
x = ReadLine ()
Als x Mod 2 = 0
WriteLine ("Het nummer is even")
Einde van ja
- Het zijn programma's die aansluiten op de behoeften van klanten.
- Hoewel het in eerste instantie langer duurt om de code te genereren, resulteert dit vaak in code die foutloos wordt uitgevoerd wanneer deze voor het eerst wordt uitgevoerd.
- Het is vergelijkbaar met de woordenschat van woorden en symbolen in het Engels.
- Gemakkelijk af te handelen programmawijzigingen met nieuwe specificaties in de toekomst.
- Ze zijn gemakkelijker te onderhouden.
- Het is gemakkelijk te gebruiken en te begrijpen. Uiteindelijk is er minder tijd nodig om de code te schrijven. Het is gemakkelijker te leren.
- Het programma dat is geschreven in een taal op hoog niveau, kan in vele machinetalen worden vertaald. Daarom kan het worden uitgevoerd op elke computer waarvoor er een geschikte vertaler of compiler is..
- Ze zijn voornamelijk probleemgericht in plaats van machinegericht.
- Het is onafhankelijk van de computer waarop het wordt gebruikt. Dat wil zeggen dat programma's die zijn ontwikkeld in talen van hoog niveau, op elke computer kunnen worden uitgevoerd.
Gestructureerd programmeren verkleint de kans dat de ene functie de andere beïnvloedt. Dit maakt het schrijven van programma's duidelijker, aangezien globale variabelen worden verwijderd om te worden vervangen door lokale variabelen.
Door deze wijziging kan de geheugentoewijzingsruimte die een globale variabele inneemt, worden bespaard.
De organisatie helpt om de programmeerlogica gemakkelijk te begrijpen, om de logica achter de programma's te begrijpen.
Het helpt ook nieuwkomers van elk technologiebedrijf om programma's te begrijpen die zijn gemaakt door andere werknemers in de industrie, waardoor het mogelijk is om code te debuggen..
- De vertaler of samensteller moet de taal op hoog niveau vertalen in machinetaal. Daarom moet er een prijs worden betaald in het gebruik van computertijd..
- Door de compiler gegenereerde objectcode kan inefficiënt zijn in vergelijking met een gelijkwaardig assembleertaalprogramma.
De code die wordt geschreven, kan in verschillende delen van het programma voorkomen. Vanwege de locatie kan het kwetsbaar zijn voor verschillende problemen. Programma's hebben variabelen, wat betekent dat ze verschillende waarden kunnen aannemen in verschillende delen van het programma..
Het type gegevens is afkomstig van veel functies. Daarom, wanneer er veranderingen optreden in dat type data, moet de corresponderende verandering worden aangebracht op elke locatie die op dat type data in het programma werkt. Dit is echt een tijdrovende taak als het programma erg groot is.
Denk hierbij aan softwareontwikkeling, waarbij meerdere programmeurs als team aan een applicatie werken. In een gestructureerd programma wordt elke programmeur toegewezen om een specifieke set functies en gegevenstypen te bouwen.
Daarom zullen verschillende programmeurs afzonderlijk omgaan met verschillende functies waarvan de gegevenstypen met elkaar worden gedeeld..
De andere programmeurs in het team moeten de wijzigingen in de gegevenstypen weerspiegelen die door een programmeur zijn aangebracht, in de gegevenstypen die ze hebben afgehandeld. Anders moeten meerdere functies worden herschreven.
Gestructureerd programmeren heeft goed gewerkt voor miljoenen programma's en miljarden regels code. Er is geen reden om het weg te gooien.
In het bijzonder heeft het buitengewoon goed gewerkt voor programma's die gegevens verwerken en voor nummerverwerking, die beide één keer worden uitgevoerd om een antwoord te produceren..
Twee kenmerken hebben de neiging om de problemen die op een puur gestructureerde manier kunnen worden benaderd, goed te definiëren:
- De gegevens die moeten worden verwerkt, komen nauw overeen met de gegevenstypen die in de taal zijn geïntegreerd, meestal getallen en tekenreeksen..
- Het programma volgt een goed gedefinieerde stroom van controle om op basis van enige input een enkel resultaat te produceren.
Computerprogramma's met deze kenmerken omvatten veel wetenschappelijke, technische en tekstverwerkingsapplicaties, evenals veel van de schoolvoorbeelden van traditionele computerwetenschappelijke cursussen..
Het is niet verrassend dat dit precies de soorten programma's zijn die de eerste mensen die programmeertalen uitvonden, wilden oplossen..
De meeste moderne programmeertalen zijn op deze manier gestructureerd: wat je in het programma hebt, zijn objecten, en de meeste code bestaat uit verschillende methoden om de gegevens die in die objecten zijn opgeslagen te gebruiken.
Een gestructureerd programma heeft over het algemeen controle over wat er gebeurt en wanneer het gebeurt, terwijl een op gebeurtenissen gebaseerd programma op onvoorspelbare tijden moet kunnen reageren op gebeurtenissen..
Niemand heeft nog op dit artikel gereageerd.