SITE ZOEKEN

Basistypen en voorbeeld van cyclische algoritmen

Het artikel is bedoeld om basisbegrippen te geven van wat een cyclisch algoritme is, wat gebruikelijk is in elke programmeertaal en het voorbereidingsniveau van de programmeur.

Het concept van een algoritme

Een algoritme is een opeenvolging van actiesom een ​​rekenkundig en ander probleem op te lossen in een eindig aantal stappen. Acties (instructies) voor de uitvoering van het algoritme kunnen achter elkaar (sequentieel), gelijktijdig (parallel) of in willekeurige volgorde worden uitgevoerd, met behulp van cycli en overgangsvoorwaarden. Algoritmen worden niet alleen gebruikt bij het programmeren, maar ook bij andere activiteiten, bijvoorbeeld bij het beheer van productie- en bedrijfsprocessen.

Cyclische algoritmen

Een algoritme zou cyclisch zijn als het erin zitEr zijn acties of sets van acties die meer dan eens moeten worden uitgevoerd. Repetitieve algoritmische acties zijn het lichaam van een cyclus. Bovendien heeft elke cyclus de voorwaarde dat de uitvoering van het cyclische algoritme eindigt.

Typen cyclische algoritmen

Elk cyclisch algoritme heeft de samenstellingde toestand van de lus, dat wil zeggen, een logische uitdrukking waarvan het resultaat bepaalt of het luslichaam nogmaals zal worden uitgevoerd of de lus zal worden beëindigd. Door de verwerkingsmethode worden alle cyclische algoritmen verdeeld in drie groepen.

Cyclus met preconditie

In dergelijke cyclische algoritmen wordt de voortzettingstoestand gecontroleerd voordat het luslichaam wordt verwerkt, dat wil zeggen dat het nodig is om de lusverwerking te herhalen.

Beschouw de uitvoer van getallen van -5 tot 0 als een voorbeeld van cyclische algoritmen met een voorwaarde:

voorbeeld van cyclische algoritmen
Elementen van het algoritme:

  1. Stel de beginwaarde van de basisvariabele j in op -5.
  2. We controleren de toestand van de cyclus. De voorwaarde is positief en het luslichaam wordt voor de eerste keer uitgevoerd.
  3. Vervolgens voegen we 1 toe aan de variabele j, we controleren nogmaals de toestand van de cyclus.
  4. De lus blijft lopen zolang de waarde van j kleiner is dan of gelijk aan nul, anders verlaten we de lus op de FALSE-vertakking

Cyclus met postconditionering

De conditiecontrole wordt uitgevoerd na de eerste verwerking van het luslichaam en bestuurt de uitvoer ervan.

Laten we de berekening van de som van 1 tot het getal n analyseren als een voorbeeld van cyclische algoritmen waarin de postconditie wordt gebruikt:

een algoritme zou cyclisch zijn als

  1. We voeren een eindig aantal in van de berekening van de som n en stellen de beginwaarden van de som van de somsomvang en de teller van de cyclus i in.
  2. De lus wordt uitgevoerd vóór de eerste voorwaardecheck.
  3. We controleren de toestand van de lus, d.w.z. de waarde van de teller i is kleiner dan of gelijk aan n.
  4. Als de voorwaarden van het resultaat positief is, herhalen we weer, of afwerking van de cyclus en voert de som om de weergave of afdrukken.

Onvoorwaardelijke cyclus

Het wordt meestal gebruikt in algoritmen wanneer het vereiste aantal lusuitvoeren van tevoren bekend is en wordt heel vaak gebruikt bij het werken met arrays.

Zo'n algoritme bevat drie verplichte elementen:

  1. De beginwaarde, die de lusparameter wordt genoemd, omdat deze variabele na elke uitvoering van de cyclus verandert en het tijdstip van voltooiing bepaalt.
  2. De waarde waarop de lus eindigt.
  3. Stapcyclus.

wat is een cyclisch algoritme

Bij elke stap controleert het programma datOf de startwaarde eindig is. En als dat zo is, eindigt de cyclus. Anders voegen we de stapgrootte toe aan de startwaarde en de cyclus wordt herhaald. Er moet speciaal op worden gewezen dat elke onvoorwaardelijke cyclus kan worden vervangen door een voorwaardelijke voorwaarde of een voorwaarde vooraf.

Bij het compileren van cyclische algoritmen,zich aan beide dwingende voorwaarden. De eerste is om de cyclus te beëindigen, is het noodzakelijk dat de inhoud van het lichaam aangetast post of voorwaarde, anders hadden we eindelijk een oneindige lus te krijgen. Maar voor sommige van dergelijke cycli gebruikte softwaretoepassingen. Als voorbeeld van cyclische algoritmen die voor onbepaalde tijd uitgevoerd, kunt u het Windows-besturingssysteem, die een eindeloze lus poll de muis gebruikt om de acties van de gebruiker vast te stellen veroorzaken. Ten tweede, variabelen doorgegeven aan de cyclus moet ten minste één van zijn executie te bieden.

Berekening van faculteit

Om de waarde te consolideren, geven we een voorbeeldcyclische algoritmen voor het berekenen van de faculteit van een geheel getal. Het bovenstaande voorbeeld is een lus met een voorwaarde, maar het is mogelijk om elk soort cyclisch algoritme te implementeren.

  • Invoer: gegevens is een geheel getal waarvoor de faculteit is gedefinieerd.
  • Systeemvariabelen: de parameter van de cyclus i, die in stap 1 waarden van 1 tot gegevens neemt.
  • Resultaat: variabele faculteit is de faculteit van de getalgegevens, die het product is van gehele getallen van 1 tot gegevens.

voorbeeld van cyclische algoritmen
Overweeg het algoritme in stappen:

  1. Het algoritme ontving de nummergegevens waarvoor het noodzakelijk is om de faculteit te berekenen.
  2. De variabele faculteit, waarin het eindresultaat wordt opgeslagen, krijgt een waarde van één.
  3. We organiseren de lus met de parameter i en de startwaarde 1. De definitieve waarde is de initiële nummergegevens. Zodra de waarde van teller i groter is, wordt de lus beëindigd.
  4. De cyclus van factorieberekening wordt uitgevoerd - de huidige waarden van faculteit en teller i worden vermenigvuldigd.
  5. Voeg aan de waarde van de teller een eenheid toe, controleer de staat van de lus en, als het resultaat positief is, beëindigen we het.
  6. Na de laatste iteratie van de lus, de waarde van de faculteitgegevens! blijft in faculteit en wordt weergegeven of afgedrukt.
</ p>
  • evaluatie: