ComputersProgrammering

Programming. Basis algoritmische constructies

Voor de oprichting van programma's zijn basis algoritmische constructies nodig. Het volgende is de eenvoudigste manier om problemen op te lossen. Het kan bijvoorbeeld worden gebruikt om met soortgelijke voorbeelden te werken. Er zijn andere typen: vertakking en looping. Over dit wordt in dit artikel verteld. Maar eerst moet je begrijpen waar het algoritme over gaat.

algoritme

Het woord "algoritme" kwam uit het Latijns algoritme. Wat betekent dat? Het authentieke woord kwam uit de naam van een wiskundige, wiens werk viel op de 9e eeuw. Dankzij de al-Khwarizmi-verhandeling was de mens in staat om kennis te maken met het fundamentele type algoritmische constructie en over het algemeen met een algemeen concept.

Eerder werd de vorm van het schrijven van het woord "algoritme" aangenomen. Nu wordt het in sommige gevallen alleen gebruikt.

Algoritme is een proces dat betekent dat de invoergegevens worden gewijzigd, die zich voordoen in de vorm van discrete stappen. Met dit concept ontmoet elke persoon in het leven, wie hij ook is. Algoritmen kunnen wellicht de bereiding van thee of eten, vermenigvuldiging of toevoeging, de oplossing van vergelijkingen, enz. Worden genoemd. Alle huishoudelijke apparaten, waarvan het werkproces geautomatiseerd is, functioneert ten koste van duidelijke stappen die in het geheugen van de processor zijn voorgeschreven. Dergelijke algoritmen worden huishoudelijke algoritmen genoemd. Er zijn andere typen. Overweeg hen.

Soorten algoritmen

De basis algoritmische constructies zijn verdeeld in verschillende typen, die in deze paragraaf worden besproken. Hoe zijn ze?

  1. Informatie. Dergelijke algoritmen werken met veel gegevens, maar het proces van verwerken is klein en niet gecompliceerd.
  2. Controle. Het werk van dergelijke algoritmen is gerelateerd aan informatie die uit één of andere bron wordt verstrekt. Na ontvangst worden speciale signalen verzonden om de werking van de apparaten te waarborgen.
  3. Computing. In tegenstelling tot informatiealgoritmen werkt het beschreven met kleine hoeveelheden data, maar produceert een groot proces van werk.

In feite is het algoritme nauwkeurig aan de kleinste details instructies. Echter, niet alle dergelijke gegevens kunnen een beschreven concept worden genoemd. Om het algoritme van een instructie te begrijpen of niet, moet het gecontroleerd worden op bepaalde eigenschappen.

Eigenschappen van algoritmen

Alle basis algoritmische constructies moeten acties hebben die hen gehoorzamen. Laten we dit probleem nader bekijken.

Als u het werk van algoritmen en hun eigenschappen helemaal volgt, kunt u zien dat het niet nodig is om hun componenten te begrijpen, het is duidelijk dat ze overeenstemmen met het plan. Het juiste resultaat wordt verkregen, zelfs als u de noodzakelijke handelingen mechanisch wilt volgen. Hieruit kunnen we concluderen dat door het gebrek aan betekenis in het bewustzijn van acties het algoritme echt kan worden toegewezen aan de implementatie van een computer. Met andere woorden, voor geautomatiseerde apparaten is dit proces nodig.

Welke eigenschappen moeten de basisalgoritmische constructies voor het meest nauwkeurige werk hebben?

  1. Begrijpelijkheid. Elk commando moet zo duidelijk mogelijk zijn voor het object dat wordt uitgevoerd. Het lijkt erop dat niets eenvoudiger is dan bijvoorbeeld een punt in het centrum nee, maar tot je een commando hebt waarmee je de actie kunt uitvoeren, kun je het niet doen.
  2. Effectiviteit. Wat betekent deze eigenschap? Verplicht resultaat. Het algoritme kan niet leiden tot een antwoord. Vanwege de fout, kunt u het verkeerde resultaat krijgen, dat gewenst was, maar toch zal het zijn. Bovendien moet het antwoord na een bepaald aantal stappen worden verkregen.
  3. De massa. Elk algoritme moet van toepassing zijn op een aantal taken. Tussen hen kunnen ze verschillen van de oorspronkelijke gegevens.
  4. Zekerheid. Elke actie moet slechts één waarde hebben en geen afgeleide decryptie toestaan. Idealiter, ongeacht hoeveel het programma wordt uitgevoerd, moet het resultaat altijd hetzelfde zijn.
  5. Discrete. Algoritme - opeenvolgende stappen. Elke stap is een opdracht, u kunt niet overslaan of nieuwe toevoegen.
  6. Correctheid. Elk algoritme dat van toepassing is op elke vorm van taak moet voor iedereen correct zijn. Bij het programmeren ontstaan problemen vaak niet in schriftelijke stappen, die vaak niet veel tijd in beslag nemen, maar bij het uitvoeren van verschillende vragen. Daarom is een belangrijke stap het debuggen van het algoritme. Kan helpen bij dit en het basisalgoritmische ontwerp, waarvan de herhaling betere resultaten zal behalen.

Beschrijving van algoritmen

Als we praten over manieren om algoritmen te schrijven, dan moeten we het volgende onderscheiden:

  • Verbaal. Met andere woorden, in een taal die geschikt is voor het uitdrukken van een bestanddeel.
  • Table. Logisch wordt het algoritme in tabellen geschreven en wordt deze als hulpelement als regel gebruikt.
  • Formeel verbaal De basis van de verbale methode van uitleg wordt genomen, maar wiskundige formules of symbolen worden ook opgenomen in dergelijke acties.
  • Graphic. Zo'n algoritme is geschreven in een speciale taal van blokdiagrammen.

Het laatste punt moet worden verduidelijkt. Wat is een blokschema? Dit is een lineair of niet-lineair algoritme, waarvan de stappen worden opgenomen met behulp van speciale blokken. Ze hebben hun eigen configuratie, doel en functie. In het geval van een dergelijke beschrijving wordt het algoritme geschreven in blokdiagrammen die door lijnen worden gekoppeld. In hen is het nodig om verder een actie neer te schrijven (stap).

Algoritmische constructies

Sommigen betogen dat de algoritmen niet 3 soorten hebben, maar 4. De belangrijkste algoritmische constructies: lineair, vertakt, cyclisch. Wat is de reden waarom deze misvatting onduidelijk is. Echter, voor een eenvoudige oplossing van complexe problemen, gebruikt de computer de algoritmen van deze drie vrij grote groepen. Overweeg hen.

  1. Lineair. Een dergelijk berekeningsproces ontving deze naam door het feit dat alle acties in een lineaire volgorde worden uitgevoerd, waarbij elke stap niet meer dan één keer wordt uitgevoerd. Als we de schema van het probleem overwegen, worden de blokken daarin geplaatst onder de andere, afhankelijk van het volgnummer van de taak. Lineaire algoritmen werken zodanig dat de richting en betekenis van de acties niet veranderen van de oorspronkelijke data. Een dergelijke oplossing methode is geschikt voor het berekenen van de som of het verschil, het gebied van een figuur of de omtrek ervan, enz. Het belangrijkste type van algoritmische constructie is het.
  2. Vertakking. Dit berekeningsproces impliceert de aanwezigheid van een logische uitdrukking (verder LV) en de keuze van de conditie (de tak "lie" en "waarheid"). In ieder geval wordt slechts één van twee of meer teams geïmplementeerd. Er zijn geen taken en kunnen niet zijn, in welke andere opties zullen worden voldaan. Als er twee takken in het algoritme zijn, is het simpel, als meer dan twee takken complex zijn. En het laatste proces is gemakkelijk te vertegenwoordigen ten koste van de voormalige. Het belangrijkste type van algoritmische constructie is zowel het eerste punt als het tweede. De volgende soorten zijn ook opgenomen in deze lijst.
  3. Cyclische. In zo'n algoritme zal er noodzakelijkerwijs een element zijn dat veel keren herhaalt en er worden verschillende initiële data gebruikt. Met andere woorden, een dergelijk proces heet een cyclus.

Opgemerkt moet worden dat alle basis algoritmische constructies (volg, tak, cyclus) met elkaar verbonden zijn, hoewel ze afzonderlijk kunnen worden gebruikt.

Het creëren van cycli en hun types

Wat is nodig om een lus te maken?

  • Fietsbalie. Dit is een variabele die de initiële waarde instelt en wanneer de actie wordt herhaald verandert het. Het moet noodzakelijkerwijs deel uitmaken van het algoritme. De basis algoritmische constructies van het cyclische type werken niet zonder dat.
  • Verander de indicator van de bovenstaande gegevens voordat een nieuwe cyclus wordt herhaald.
  • Controleer de voorwaarde dat de computer beslist of de cyclus of 'terugspoelen' moet worden achtergelaten. Het is niet nodig.

Cycli kunnen deterministisch en iteratief zijn. De eerste vertegenwoordigen een herhaling van acties met het reeds bekende aantal herhalingen. Een iteratiecyclus is een die onbepaald aantal keren herhaalt totdat de voorwaarde waar of onwaar wordt.

Basis Algoritme

Het is de moeite waard te herinneren dat het basisalgoritme niet van toepassing is op de basisalgoritmische constructies. Hoe is hij? Dit concept is al lang niet gevonden in de moderne literatuur, maar dit betekent niet dat het niet meer bestaat. Aangezien meerdere takken of herhalingen kunnen optreden bij het oplossen van problemen, kan de volgende conclusie worden uitgesproken. De basis algoritmische constructies (lineair, vertakt, cyclisch) zijn basisch. In feite vertegenwoordigen zij de "structurele eenheid" van elke zogenaamde instructie.

Lineaire Algoritmen

Zoals al duidelijk uit het bovenstaande, zijn de algoritmen lineair en niet-lineair. Overweeg de eerste optie. Waarom wordt dat genoemd? Alles is extreem simpel. Het feit is dat alle acties die in het algoritme zijn gereproduceerd, een duidelijke opeenvolging hebben, alle stappen worden strikt uitgevoerd. Deze taken zijn in het algemeen klein en hebben een laag niveau van complexiteit.

Een voorbeeld van een lineair algoritme kan de thee maken:

  1. Giet het water in de ketel.
  2. Zet de ketel op de kachel om te koken.
  3. Neem de beker.
  4. Giet thee in de kop.
  5. Voeg de suiker toe.
  6. Na het koken, gooi kokend water in de beker.
  7. Neem een lepel.
  8. Meng de suiker.

Het programmeren van de basisalgoritmische constructies is nogal een moeilijke kwestie, maar als het gaat om lineaire algoritmen, is het vaak heel makkelijk om ze te implementeren.

Vertakkingsalgoritmen

Hoe te begrijpen dat het algoritme vertakt? Het is voldoende om ervoor te zorgen dat er twee of meer opties zijn, afhankelijk van of de voorwaarde is voldaan of niet. Elk pad heet een tak.

Het belangrijkste kenmerk van het vertakkingsalgoritme is het bestaan van een voorwaardelijke tak. Het komt voor tijdens de verificatie van de uitdrukking waar of niet.

Typisch worden logische uitdrukkingen weergegeven door minder dan, groter dan, minder dan of gelijk aan, groter dan of gelijk aan, gelijk of niet gelijk aan. Soms zijn er varianten waar de conditie met elkaar verbonden is met behulp van de en (en) en of (of) commando's.

Een voorbeeld van een dergelijk algoritme kan de oplossing zijn van het volgende probleem: als de uitdrukking ((x + 3) / 1) gelijk is aan een positief getal, voer dan het resultaat naar het scherm, indien negatief, vertel de gebruiker over de fout.

Het is vrij eenvoudig om de basis algoritmische constructies in de praktijk te gebruiken. Takken is een van de meest voorkomende oplossingsmethoden.

Bepaalde cyclus of fiets met een teller

Een lus met een teller is een lus die een variabele bevat die de waarde verandert met een bepaalde stap. De stap wordt ingesteld door de gebruiker of voorgeschreven door de programmeur tijdens het schrijven van het onderpand. De meeste talen voor deze lus gebruiken de voorverklaring.

Voor het programma om twee lijnen 4 keer weer te geven:

  1. 'Hoe gaat het met jou?'
  2. 'Nou, bedankt!'
  3. 'Hoe gaat het met jou?'
  4. 'Nou, bedankt!'

Het is noodzakelijk om een deterministische cyclus te creëren. Hoe ziet het eruit? We gebruiken de taal "Pascal" voor een betere waarneming van het ontwerp.

1. Voor i: = 1 tot 2 doe:

- ik ben de lusenteller, het bepaalt het aantal herhalingen in de lus.

2. Begin (de bedieningsbeugels worden geopend, zodat beide zinnen het lichaam van de lus zijn en samen herhaald moeten worden.)

3. Writeln ('hoe gaat het?'):

- het woord writeln betekent de uitvoer van een frase die in single quotes staat.

4. Writeln ('Nou, bedankt').

5. Einde.

6. i: = i + 1

Zoals u kunt zien is het vrij makkelijk en zelfs interessant om de basis algoritmische constructies te gebruiken. Basisalgoritmen zijn heel algemeen bekend, zonder dat het onmogelijk is om programma's te schrijven.

Cyclus met postcondition

Een lus met een postcondition kan een onbepaald aantal acties herhalen zonder operatorkrammen of samengevoegde woorden in te voegen. Het zal minstens een keer worden vervuld. De lus loopt tot de conditie onwaar is. Het stopt als de indicatoren juist zijn. Het algoritme is hierop gebouwd. De basis algoritmische constructies van dit type werken in dit tempo.

Om deze cyclus te implementeren is de Repeat A tot B-constructie nodig. Het wordt letterlijk vertaald als "herhaal acties terwijl de toestand onwaar is". Bijgevolg wordt het herhalingsproces uitgedrukt door A, en de gegevens door B, die als gevolg daarvan de juiste waarde moeten hebben.

Cyclus met voorwaarde

Een lus met een postcondition is zodanig opgebouwd dat het in ieder geval tenminste eenmaal uitgevoerd wordt. Er zijn echter gevallen waarin een cyclus nodig is bij een bepaalde voorwaarde, en als er geen herhaling is, moet het niet. Anders is het resultaat onjuist. Het is in dit geval dat een lus met een voorwaarde wordt gebruikt. Om het te maken heeft u een "while A do B" construct nodig. Het eerste commando wordt letterlijk vertaald als 'doei'. A is een voorwaarde, en B is een actie die wordt herhaald. Het hele ontwerp betekent: "zolang de conditie juist is, voer de acties uit".

Alle basis algoritmische constructies werken alleen in bepaalde gevallen. Wat zijn ze in de cyclus met een voorwaarde? Als het nodig is om niet één actie te herhalen, maar meerdere, is het de moeite waard om samengestelde operators of speciale haakjes te gebruiken. De cyclus kan wellicht niet worden voldaan als de conditie niet waar is bij het invoeren. Bijgevolg worden de acties herhaald als het juist is.

Hulp algoritme

Het hulpalgoritme wordt gebruikt in andere processen door alleen zijn naam te specificeren. Het geldt niet voor de basis algoritmische constructies. In programmeertaal heet dit proces van een subroutine. Om het werk te vergemakkelijken met de code en vervolgens meer eenvoudige probleemoplossing, wordt elke actie gecombineerd in een blok, dat is een hulpalgoritme. Elk van hen kan een naam krijgen, waarmee u hierover herhaaldelijk kunt verwijzen.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 birmiss.com. Theme powered by WordPress.