Varje år ökar intresset för programmering. Och om de i institutioner som specialiserar sig på att skriva program förlitar sig på ett sådant programmeringsspråk som C ++, så bekantar sig eleverna med "Pascal" i skolor och tekniska skolor. Och redan på grundval av detta språk börjar de förstå programmering genom att använda Delphi-mjukvaran. Det bör omedelbart noteras att dessa programmeringsspråk ger ett stort utrymme för att manifestera sin fantasi. Och om du med hjälp av Pascal-språket kan bekanta dig med de grundläggande begreppen för programmering, så kan du redan i Delphi skriva ett fullfjädrat program. Och en ganska viktig plats i att skriva program är ibland upptagen av att lösa arrayer i "Pascal".
Närvaron av ett stort antal mycket olika variabler
Det finns en hel del olika variabler i ett programmeringsspråk, som kännetecknas av att det bara finns ett värde. De kan lagra ett enda värde som har en viss typ. Strängvariabler är undantaget. Dom ärär en samling av de data för vilka teckentypen är karakteristisk. Men även sådana variabler betraktas vanligtvis från positionen för ett separat värde.
Det är ingen hemlighet att man med hjälp av en dator avsevärt kan minska tiden för att utföra visst arbete relaterat till stora datamängder. Men hur, när man bara använder de variabler som har typer kända för människor, är det möjligt att lagra resultaten av arbetet i minnet och även bearbeta de data som innehåller ett stort antal rader? Sådana uppgifter är ganska vanliga inom alla verksamhetsområden.
Du kan naturligtvis alltid ange så många variabler som du behöver för att uppnå dina mål. Du kan också definiera några värden för dem. Men programmets kod kommer bara att öka från detta. Det är svårt att läsa koden som har ett stort antal rader. Speciellt när det är nödvändigt att hitta fel.
Följaktligen tänkte programmerarna på den här frågan. Det är därför de språk som hittills har utvecklats har sådana variabler som gör det möjligt att lagra en enorm mängd data i sig själva. Arrayen i "Pascal" har förändrats mycket i inställningen till programmering. Därför anses den vara en viktig variabel i ett programmeringsspråk.
Att använda arrayer kan drastiskt minska kodstorleken
Under denna term döljs en ordnad sekvens av data, som kännetecknas av en typ. Dessutom får all denna data samma namn. Det borde det ocksåDet bör noteras att många föremål i den verkliga världen kan passa denna definition: ordböcker, tecknade serier och mycket mer. Det enklaste sättet att presentera en array i "Pascal" är dock i form av en sorts tabell. Varje enskild cell innehåller en variabel. Med hjälp av koordinater kan du bestämma positionen för variabeln som den kommer att uppta i den allmänna tabellen.
Vad betyder en endimensionell array?
Den enklaste tabellen är den som är linjär. I denna array, för att bestämma platsen för parametern, räcker det att endast ange ett nummer. Mer komplexa arrayer bildas baserat på dem.
För att beskriva endimensionella arrayer i "Pascal", skriv bara in följande kod: Typ Array of.
Siffrorna är de variabler som kan ha en ordningstyp. När du anger ett intervall är det värt att förstå att det initiala numret inte kan vara högre än det sista. Typen som arrayelementen har kan vara absolut vad som helst - antingen standard eller redan tidigare beskrivits. Valet beror på behovet av att lösa ett visst problem.
Hur beskrivs en linjär array?
Det är möjligt att omedelbart beskriva endimensionella arrayer i "Pascal". Detta måste göras i ett särskilt avsnitt, vilket är nödvändigt för just detta förfarande. Du måste ange följande kod: Var: Array Of.
För att förstå hur du kan beskriva en array i "Pascal", bör du ange följande kod:
- Var
- S, VV: Array[5..50] Of Real;
- K: Array['C'.. 'R'] of heltal;
- Z: Array [-10..10] Word;
- E: Array [3..30] Of Real.
I det här exemplet är variablerna S, VV och T en matris av de tal som är reella. Variabeln K döljer teckentypen och dessa element. Som är heltal. Z-matrisen lagrar nummer vars typ är Word.
Bland alla åtgärder som kan användas när man arbetar med en array kan uppdrag urskiljas. Hela bordet kan utsättas för det. Till exempel, S:=VV. Men det bör förstås att tilldelningsoperationer endast kan utsättas för en array i "Pascal" som har en viss typ.
Det finns inga fler operationer som kan utföras på hela arrayen samtidigt. Du kan dock arbeta med element på samma sätt som med andra primtal som har en viss typ. För att referera till en enskild parameter måste du ange namnet på arrayen. Genom att använda hakparenteser måste du bestämma det index som är karakteristiskt för det önskade elementet. Till exempel: K[12].
Huvudskillnader mellan arrayer och andra variabler
Den grundläggande skillnaden mellan tabellkomponenter och enkla variabler är att det går att sätta inom parentes inte bara indexvärdet, utan även ett sådant uttryck som kan leda till det önskade värdet. Ett exempel på indirekt adressering kan vara: V[K]. I detta fall får variabeln K ett visst värde. Från dettadet följer att du kan använda en slinga när du fyller, bearbetar och skriver ut en array.
Denna organisationsform kan förekomma när det gäller strängvariabler som i sina egenskaper är tillräckligt nära arrayer av typen Char. Men det finns också skillnader. De är följande:
- Strängvariabler kan alltid matas in från tangentbordet och skrivas ut på skärmen.
- Strängvariabler är begränsade i längd. Du kan ange högst 255 tecken. Den kritiska storleken på arrayen är 64 kb.
Vilka metoder kan användas för att visa arraydata på skärmen?
Du bör vara uppmärksam på hur innehållet i arrayen visas. Det finns flera.
- Writeln (A[1], A[2], A[3]). Ett sådant exempel, även om det är primitivt, kan visa hur du direkt kan komma åt varje enskilt element som ingår i tabellen. Men några av fördelarna som Pascal-matriser har jämfört med enkla variabler syns inte här.
-
Program A1;
Var B: Array [1..10] Of Integer;
K: Integer;
Begin
For K:=1 Till 10 Gör {Detta kommando loopar med parametern }
Readln(A[K]); {A[I] skrivs in med tangentbordet }
For K:=10 Downto 1 Do {Tabellen skrivs ut i omvänd ordning}
Write(A[K], 'VVV') End.
En liknande kod för programmet för arrayer i "Pascal" visar hur du kan ange 10 siffror med hjälp av tangentbordet, skriva ut dem och ordna om värdena i omvänd ordning. Om samma program skrivs om frånanvänder ett stort antal variabler istället för en array, så kommer koden att ökas avsevärt. Och detta komplicerar avsevärt processen att läsa programmet.
Ökning av möjligheter genom användning av arrayer
Det är också möjligt att fylla tabeller med värden som är lika med kvadraten på elementindex. Det är också möjligt att skapa en sådan array av strängar i "Pascal", vilket gör att alla nummer kan matas in automatiskt. Som du kan se förbättrar användningen av en array kapaciteten hos Pascals programmeringsspråk avsevärt.
Bearbetning av linjära arrayer är mycket vanligt i olika uppgifter. Därför är det inget konstigt i att de studeras på institut och skolor. Dessutom är möjligheterna som arrayer har ganska omfattande.
Vad döljer sig under tvådimensionella arrayer?
Du kan tänka dig en tabell som består av flera rader samtidigt. Varje enskild rad innehåller flera celler. I en sådan situation, för att exakt bestämma cellernas position, är det nödvändigt att inte markera ett index, som var fallet med linjära arrayer, utan två - siffror som är karakteristiska för en rad och en kolumn. Tvådimensionella arrayer i "Pascal" kännetecknas av en liknande representation.
Hur beskriver man tabeller av det här slaget?
Datastrukturen som finns i Pascal-språket för att lagra värdena i en sådan tabell ärnamnet på en tvådimensionell array. Beskrivning av en sådan array är möjlig omedelbart med två metoder.
- Var B: Array[1..15] Of Array [1..30] Of Integer;
- Var B: Array [1..15, 1..30] med heltal.
I alla dessa fall beskrivs en tvådimensionell array som har 15 rader och 30 kolumner. De beskrivningar som gavs ovan är absolut likvärdiga. För att börja arbeta med något av elementen är det nödvändigt att allokera två index. Till exempel A[6][5] eller A[6, 5].
Utmatningen till skärmen blir nästan densamma som i fallet med en endimensionell array. Du behöver bara ange två index. I alla andra avseenden finns det inga skillnader som sådana, så det finns ingen anledning att prata om det länge.
Första sättet att sortera
Ibland blir det nödvändigt att sortera data. För detta har språket motsvarande kommandon. Det finns två algoritmer med vilka en array kan sorteras i Pascal. Meningen med direktvalsmetoden ligger i det faktum att genom att kapsla slingan kommer absolut varje tabellvariabel att jämföras med andra värden. Med andra ord, om det finns en array med 15 nummer, kommer första nummer 1 att jämföras med andra nummer. Detta kommer att ske tills till exempel elementet som är större än det första talet hittas. Därefter kommer jämförelsen att ske exakt denna siffra. Detta kommer att upprepas tills den största hittas.element från alla föreslagna. Denna metod är ganska enkel för de programmerare som precis har börjat arbeta på språket.
Sorteringsmetod för den andra matrisen
Det andra sättet är bubbla. Kärnan i denna teknik ligger i det faktum att närliggande element jämförs i par. Till exempel, 1 och 2, 2 och 3, 3 och 4, etc. I händelse av att det hittade värdet helt överensstämmer med sorteringsvillkoren, kommer det att flyttas till slutet av hela arrayen, d.v.s. det dyker upp som en "bubbla". Denna algoritm är den svåraste att komma ihåg. Du behöver dock inte slipa den. Det viktigaste är att förstå hela strukturen i koden. Och bara i det här fallet kan man göra anspråk på att nå stora höjder i programmering.
Slutsats
Vi hoppas att du förstår vad matriser är och hur du kan sortera för att hitta ett specifikt värde eller uppnå ett specifikt mål. Om du har v alt "Pascal" för att lösa ett visst problem, där matriser upptar en viktig plats, måste du närma dig deras studie noggrant. Detta påverkas av en sådan faktor som närvaron på språket av ett tillräckligt stort antal variabler som används i vissa situationer för att förenkla hela koden som helhet. Arrayer anses med rätta vara de huvudsakliga kvantiteterna, vilkas studier måste ske utan att misslyckas.