Elk jaar neemt de belangstelling voor programmeren toe. En als ze in instellingen die gespecialiseerd zijn in het schrijven van programma's vertrouwen op een programmeertaal als C ++, dan maken studenten op scholen en technische scholen kennis met "Pascal". En al op basis van deze taal beginnen ze programmeren te begrijpen door het gebruik van Delphi-software. Er moet meteen worden opgemerkt dat deze programmeertalen een enorme ruimte bieden voor de manifestatie van hun verbeeldingskracht. En als je met behulp van de Pascal-taal kennis kunt maken met de basisconcepten van programmeren, dan kun je in Delphi al een volwaardig programma schrijven. En een vrij belangrijke plaats bij het schrijven van programma's wordt soms ingenomen door het oplossen van arrays in "Pascal".
De aanwezigheid van een groot aantal zeer verschillende variabelen
Er zijn nogal wat verschillende variabelen in een programmeertaal, die worden gekenmerkt door de aanwezigheid van slechts één waarde. Ze zijn in staat om een enkele waarde van een bepaald type op te slaan. Stringvariabelen zijn de uitzondering. Zij zijnis een verzameling van die gegevens waarvoor het karaktertype kenmerkend is. Maar zelfs dergelijke variabelen worden gewoonlijk beschouwd vanuit de positie van een afzonderlijke waarde.
Het is geen geheim dat u met behulp van een computer de tijd voor het uitvoeren van bepaalde werkzaamheden met betrekking tot grote hoeveelheden gegevens aanzienlijk kunt verkorten. Maar hoe is het mogelijk om, wanneer alleen die variabelen worden gebruikt waarvan de typen bekend zijn bij de mens, de resultaten van werk in het geheugen op te slaan en ook die gegevens te verwerken die een groot aantal rijen bevatten? Dergelijke taken zijn vrij gebruikelijk in elk werkgebied.
Je kunt natuurlijk altijd zoveel variabelen invoeren als je nodig hebt om je doelen te bereiken. U kunt er ook enkele waarden voor definiëren. Maar de code van het programma zal hierdoor alleen maar toenemen. Het is moeilijk om de code met een groot aantal regels te lezen. Vooral als het nodig is om fouten te vinden.
Daarom hebben de programmeurs over deze vraag nagedacht. Daarom hebben de talen die tot nu toe zijn ontwikkeld zulke variabelen die het mogelijk maken om een enorme hoeveelheid gegevens in zichzelf op te slaan. De array in "Pascal" is veel veranderd in de benadering van programmeren. Daarom wordt het beschouwd als een belangrijke variabele in een programmeertaal.
Het gebruik van arrays kan de codegrootte drastisch verkleinen
Onder deze term is een geordende reeks gegevens verborgen, die wordt gekenmerkt door één type. Bovendien krijgen al deze gegevens dezelfde naam. Het zou ook moetenOpgemerkt moet worden dat veel objecten uit de echte wereld aan deze definitie kunnen voldoen: woordenboeken, tekenfilms en nog veel meer. De eenvoudigste manier om een array in "Pascal" te presenteren, is echter in de vorm van een soort tabel. Elke individuele cel bevat één variabele. Met behulp van coördinaten kunt u de positie bepalen van de variabele die deze in de algemene tabel zal innemen.
Wat betekent een eendimensionale array?
De eenvoudigste tabel is die welke lineair is. Om in deze array de locatie van de parameter te bepalen, volstaat het om slechts één nummer op te geven. Op basis daarvan worden complexere arrays gevormd.
Om eendimensionale arrays in "Pascal" te beschrijven, voert u de volgende code in: Typ Array of.
De getallen zijn die variabelen die een ordinaal type kunnen hebben. Bij het specificeren van een bereik is het de moeite waard om te begrijpen dat het eerste getal niet hoger kan zijn dan het laatste. Het type dat de array-elementen hebben, kan van alles zijn - standaard of al eerder beschreven. De keuze hangt af van de noodzaak om een bepaald probleem op te lossen.
Hoe wordt een lineaire array beschreven?
Het is mogelijk om eendimensionale arrays onmiddellijk te beschrijven in "Pascal". Dit moet worden gedaan in een speciale sectie, die nodig is voor deze specifieke procedure. U moet de volgende code invoeren: Var: Array Of.
Om te begrijpen hoe je een array in Pascal kunt beschrijven, moet je de volgende code invoeren:
- Var
- S, VV: Array[5..50] van echt;
- K: Array[‘C’.. ‘R’] Of Integer;
- Z: Array [-10..10] van Word;
- E: Array [3..30] van echt.
In dit voorbeeld zijn de variabelen S, VV en T een array van die getallen die reëel zijn. De variabele K verbergt het karaktertype en die elementen. Dat zijn gehele getallen. De Z-array slaat getallen op waarvan het type Word is.
Onder alle acties die kunnen worden gebruikt bij het werken met een array, kan toewijzing worden onderscheiden. De hele tafel kan eraan worden onderworpen. Bijvoorbeeld S:=VV. Maar het moet duidelijk zijn dat toewijzingsbewerkingen alleen kunnen worden onderworpen aan een array in "Pascal" die een bepaald type heeft.
Er zijn geen bewerkingen meer die op de hele array tegelijk kunnen worden uitgevoerd. U kunt echter op dezelfde manier met elementen werken als met andere priemgetallen die een bepaald type hebben. Om naar een individuele parameter te verwijzen, moet u de naam van de array specificeren. Door vierkante haken te gebruiken, moet u de index bepalen die kenmerkend is voor het gewenste element. Bijvoorbeeld: K[12].
Belangrijkste verschillen tussen arrays en andere variabelen
Het fundamentele verschil tussen tabelcomponenten en eenvoudige variabelen is dat het mogelijk is om niet alleen de indexwaarde tussen haakjes te plaatsen, maar ook een dergelijke uitdrukking die tot de gewenste waarde kan leiden. Een voorbeeld van indirecte adressering kan zijn: V[K]. In dit geval krijgt de variabele K een bepaalde waarde. Van dezehieruit volgt dat u een lus kunt gebruiken bij het vullen, verwerken en afdrukken van een array.
Deze vorm van organisatie kan voorkomen in het geval van stringvariabelen die qua eigenschappen dicht genoeg bij arrays van het type Char liggen. Maar er zijn ook verschillen. Ze zijn als volgt:
- Stringvariabelen kunnen altijd vanaf het toetsenbord worden ingevoerd en op het scherm worden afgedrukt.
- Stringvariabelen zijn beperkt in lengte. U kunt maximaal 255 tekens invoeren. De kritische grootte van de array is 64 kb.
Welke methoden kunnen worden gebruikt om arraygegevens op het scherm weer te geven?
Let op de manier waarop de inhoud van de array wordt weergegeven. Er zijn er meerdere.
- Writeln (A[1], A[2], A[3]). Een dergelijk voorbeeld, hoewel primitief, kan laten zien hoe u rechtstreeks toegang kunt krijgen tot elk afzonderlijk element dat inherent is aan de tabel. Sommige voordelen die Pascal-arrays hebben ten opzichte van eenvoudige variabelen zijn hier echter niet zichtbaar.
-
Program A1;
Var B: Matrix [1..10] Van Integer;
K: Integer;
Begin
For K:=1 Tot 10 Doen {Deze opdracht wordt herhaald met parameter }
Readln(A[K]); {A[I] wordt ingevoerd met het toetsenbord }
For K:=10 Downto 1 Do {De tabel wordt in omgekeerde volgorde afgedrukt}
Write(A[K], 'VVV') Einde.
Een vergelijkbare code van het programma voor arrays in "Pascal" laat zien hoe u 10 cijfers kunt invoeren met het toetsenbord, ze kunt afdrukken en de waarden in omgekeerde volgorde kunt rangschikken. Als hetzelfde programma wordt herschreven vandoor een groot aantal variabelen te gebruiken in plaats van een array, wordt de code aanzienlijk vergroot. En dit bemoeilijkt het proces van het lezen van het programma enorm.
Vergroten van mogelijkheden door het gebruik van arrays
Het is ook mogelijk om tabellen te vullen met waarden die gelijk zijn aan het kwadraat van elementindices. Het is ook mogelijk om in "Pascal" zo'n array van strings aan te maken, waardoor alle getallen automatisch ingevoerd kunnen worden. Zoals je kunt zien, verbetert het gebruik van een array de mogelijkheden van de programmeertaal Pascal aanzienlijk.
Het verwerken van lineaire arrays is heel gebruikelijk bij verschillende taken. Daarom is er niets vreemds aan het feit dat ze worden bestudeerd in instituten en scholen. Bovendien zijn de mogelijkheden die arrays bieden behoorlijk uitgebreid.
Wat is verborgen onder tweedimensionale arrays?
Je kunt je een tabel voorstellen die uit meerdere rijen tegelijk bestaat. Elke afzonderlijke rij bevat meerdere cellen. In een dergelijke situatie is het, om de positie van de cellen nauwkeurig te bepalen, nodig om niet één index te markeren, zoals het geval was bij lineaire arrays, maar twee - getallen die kenmerkend zijn voor een rij en een kolom. Tweedimensionale arrays in "Pascal" worden gekenmerkt door een vergelijkbare representatie.
Hoe beschrijf ik dit soort tabellen?
De gegevensstructuur die in de Pascal-taal wordt gevonden om de waarden van zo'n tabel op te slaan isde naam van een tweedimensionale array. Beschrijving van zo'n array is direct mogelijk met twee methoden.
- Var B: Array[1..15] Of Array [1..30] Of Integer;
- Var B: Matrix [1..15, 1..30] Van Integer.
In al deze gevallen wordt een tweedimensionale array beschreven, die 15 rijen en 30 kolommen heeft. De beschrijvingen die hierboven werden gegeven, zijn absoluut gelijkwaardig. Om met een van de elementen te gaan werken, is het noodzakelijk om twee indices toe te wijzen. Bijvoorbeeld A[6][5] of A[6, 5].
De uitvoer naar het scherm zal bijna hetzelfde zijn als in het geval van een eendimensionale array. U hoeft slechts twee indexen op te geven. In alle andere opzichten zijn er op zich geen verschillen, dus het is niet nodig om er lang over te praten.
Eerste manier om te sorteren
Soms wordt het nodig om gegevens te sorteren. Hiervoor heeft de taal bijbehorende commando's. Er zijn twee algoritmen waarmee een array in Pascal kan worden gesorteerd. De betekenis van de directe selectiemethode ligt in het feit dat door de lus te nesten, absoluut elke tabelvariabele wordt vergeleken met andere waarden. Met andere woorden, als er een array van 15 getallen is, dan wordt eerst nummer 1 vergeleken met andere getallen. Dit gebeurt totdat bijvoorbeeld het element dat groter is dan het eerste getal wordt gevonden. Vervolgens zal de vergelijking precies dit cijfer plaatsvinden. Dit wordt herhaald totdat de grootste is gevonden.element van alle voorgestelde. Deze methode is vrij eenvoudig voor die programmeurs die net zijn begonnen met het werken in de taal.
Tweede array-sorteermethode
De tweede manier is bubbel. De essentie van deze techniek ligt in het feit dat aangrenzende elementen in paren worden vergeleken. Bijvoorbeeld 1 en 2, 2 en 3, 3 en 4, enz. Als de gevonden waarde volledig voldoet aan de sorteervoorwaarden, wordt deze naar het einde van de hele array verplaatst, d.w.z. het verschijnt als een "bubbel". Dit algoritme is het moeilijkst te onthouden. Je hoeft het echter niet te malen. Het belangrijkste is om de hele structuur van de code te begrijpen. En alleen in dit geval kan men beweren grote hoogten te bereiken in de programmering.
Conclusie
We hopen dat je begrijpt wat arrays zijn en hoe je kunt sorteren om een specifieke waarde te vinden of een specifiek doel te bereiken. Als je "Pascal" hebt gekozen voor het oplossen van een bepaald probleem, waarin arrays een belangrijke plaats innemen, dan moet je hun studie grondig aanpakken. Dit wordt beïnvloed door bijvoorbeeld de aanwezigheid in de taal van een voldoende groot aantal variabelen die in bepaalde situaties worden gebruikt om de hele code als geheel te vereenvoudigen. Arrays worden terecht beschouwd als de belangrijkste grootheden, waarvan de studie zonder mankeren moet plaatsvinden.