Datainmatningsoperatorerna ReadLn och Read. ReadLn och Read datainmatningssatser Vad är writeln och readln i pascal


4. Operatörer skriver och skriver. Procedurer för informationsutmatning

Du kommer att märka att programmet använde skrive- och writeln-satserna. Det engelska ordet write är översatt - att skriva, och ordet writeln kommer som en förkortning av de två engelska orden write - to write och line - to string.

Förutom skriv- och skrivoperatorerna talar vi om förfaranden för informationsutmatning.

Vad är procedur ?

Procedurbegreppet är ett av Pascals grundbegrepp. Det liknar en BASIC-subrutin.

Procedur är en viss sekvens av Pascal-operatorer som har ett namn och som kan nås var som helst i huvudprogrammet genom att ange dess namn.

Ovan pratade vi om operatörerna för informationsutmatning, även om det i Pascal, till skillnad från BASIC, inte finns några operatörer för informationsutmatning, och genom serviceorden skriv och skriv, anropet till standard- eller byggd procedur för att visa information. Standardproceduren behöver ingen preliminär beskrivning, den är tillgänglig för alla program som innehåller ett anrop till det. Det är därför uppmaningen att skriva eller skrivaln liknar PRINT-operatören - informationsutmatning på BASIC-språket.

Skillnad mellan med utgångsoperatören och vädja till återkallelseförfarande är att namnet på utdataproceduren, liksom alla andra Pascal-procedurer, inte är ett reserverat ord, och därför kan användaren skriva sin egen procedur som heter write eller writeln. Men detta används mycket sällan i praktiken.

Skriv- och skrivoperatorerna är således operatörer för anrop av de inbyggda utmatningsrutinerna.

Båda dessa procedurer visar information på skärmen, om denna information finns i form av variabelvärden, räcker det att skriva namnen på dessa variabler inom parentes i skrive- eller writeln-satserna, till exempel: skriv (a), skrivln (f). Om det finns flera sådana variabler skrivs de åtskilda med kommatecken, till exempel: skriv (a, b, c, d), skrivln (e, f, g, h).

Om informationen är ord, meningar, delar av ord eller symboler, är den innesluten mellan tecknen ";" "; - apostrof, till exempel:

skriv ("Ange längden på sökvägen"),

writeln ("Hastighetsvärdet är lika med"

Samtidig utmatning av både symbolisk information och variabelvärden är möjlig, sedan i skriv- eller skriv-satsen separeras de med kommatecken, till exempel:

skriv ("Temperaturvärdet är", t),

writeln ("Hastigheten är lika", v, "vid rörelsetillfället", t).

Lägg märke till att det finns ett mellanslag före apostrof i slutet av orden.

Varför görs det? Naturligtvis så att följande numeriska information separeras med ord med ett mellanslag.

Vad är skillnad i arbetet med skriv- och skrivprocedurerna?

Skrivproceduren kräver följande in- eller utmatningsprocedurer för att mata in eller mata ut information på samma rad (på en rad).

Om en skrivsats är specificerad i programmet och den följs av en annan skriv- eller skrivsats, kommer informationen de matar ut att läggas till informationsraden i den första skrivsatsen.

Till exempel: skriv ("Idag och imorgon kommer att vara");

skriva ("helg");

Skärmen visar:

Idag och imorgon är det helg

Mellanslag mellan ordet "; kommer att vara"; och "; helg"; tillhandahålls av ett mellanslag i slutet av den första raden. Om det inte finns, kommer återkallelsen att ske tillsammans :

skriv ("Idag och imorgon kommer att vara");

skriva ("helg");

Idag och imorgon är det lediga dagar

Några fler exempel: t: = 20;

skriv ("Restiden är lika med");

skriv ("sekunder");

Rörelsetiden är 20 sekunder

skriv ("Summan av talen är lika");

skriv ("och produkten");

Summan av siffrorna är 30, och produkten är 216

Procedur skrivlntillhandahåller följande in- eller utmatningsprocedurer för att mata in eller mata ut information från början av varje ny rad.

I ett program:

writeln ("Ikväll, ikväll, ikväll,");

writeln ("När piloterna, ärligt talat, inte har något att göra");

Skärmen visar:

Ikväll, ikväll, ikväll

När piloterna ärligt talat inte har något att göra

I ett program:

writeln ("Summan och skillnaden mellan tal är lika:");

På skärmen:

Summan och skillnaden mellan talen är lika:

5. Operatörer läser och läser. Rutiner för inmatning av information

Precis som med output-satserna är read- och reeadln-satserna inbyggda åtkomstsatser. förfaranden för inmatning av information.

Operatörer read and readln, som kommer från de två engelska orden read och line, används i program för att mata in information i datorns minne och "; avläsningar"; värden till en variabel.

Låt oss överväga dessa operatörers arbete och procedurer för att ange information.

Vårt program har en readln (a) rutin. När programmet körs, när den stöter på readln-satsen, kommer datorn att pausa medan den väntar på att information ska matas in. Efter att vi matat in värdet på variabeln a - 16 från tangentbordet kommer datorn att tilldela detta värde till variabeln a, dvs. kommer att skicka den till en minnesplats med namnet a och fortsätt köra programmet. Vi kallar denna process "; genom att läsa"; värden till en variabel.

Så procedurerna läser och läser "; läs"; värden på variabler och tilldela dem till de variabler som är skrivna i dem.

Det kan finnas flera sådana variabler, sedan skrivs de i dessa operatorer separerade med kommatecken, till exempel:

läs (a, b, c, n, g, j, i), läsln (e, f, k, p, d), etc.

Vad är skillnaden mellan läs- och readln-procedurer?

Läsproceduren kräver efter sig inmatning eller utmatning av information på en rad, och readln-proceduren gör det möjligt efter sig att mata in och mata ut information från början av en ny rad.

Till exempel:

I programmet: skriv ("Ange värdena för a och b"); läs (a, b);

skriv ("Ange information på en rad");

När denna del av programmet körs kommer allt som skrivs i den första skrivsatsen att visas på skärmen, sedan kommer markören att vara på samma rad och datorn väntar på värdena för a och b till läggas in. Låt oss ange deras värden - 2 och 3, separera dem med ett mellanslag eller, med andra ord, genom ett mellanslag. Därefter kommer informationen i nästa skrivsats att visas på samma rad.

På skärmen:

Ange värden för a och b 2 3 Ange information på en rad

I ett program:

writeln ("Ange värdena a, b och c); readln (a, b, c);

writeln ("Inmatning och utmatning av information från början av raden");

På skärmen:

Ange värdena a, b och c

Inmatning och utmatning av information från början av raden

Kapitel 2. Öppna och köra program

1. I en integrerad miljö Turbo Pascal 7.0.

Efter att ha startat Turbo Pascal kommer följande skal att visas på skärmen (se fig. 3):

Ris. 3

Den översta raden i det öppnade fönstret innehåller "; meny"; möjliga driftsätt för Turbo Pascal, den nedre - kort information om syftet med huvudfunktionstangenterna. Resten av skärmen tillhör fönstret text redigerare, avgränsad med en dubbel ram och avsedd för inmatning och redigering av programtext.

När vi kommer in i programmet arbetar vi med en textredigerare inbyggd i Turbo Pascal-miljön. Därför kommer vi nedan att bekanta oss med redaktörens arbete och dess huvudkommandon.

En indikation på att miljön är i redigeringstillstånd är närvaron av en markör i redigeringsfönstret - ett litet blinkande streck.

För att skapa programtext måste du skriva in denna text med hjälp av tangentbordet, precis som när du skriver text på en skrivmaskin. Efter att ha fyllt i nästa rad, tryck på B> Enter> "; Inmatning"; för att flytta markören till nästa rad (markören visar alltid den plats på skärmen där nästa inmatade programtecken kommer att placeras).

Editorfönstret simulerar ett tillräckligt långt och brett pappersark, varav en del är synlig i skärmfönstret. Om markören når den nedre kanten rullas redigeringsfönstret: dess innehåll flyttas upp en rad och en ny rad visas längst ned "; blad";. Den största radlängden i Turbo Pascal är 126 tecken.

Fönstret kan flyttas i förhållande till arket med hjälp av följande tangenter:

PgUp- en sida upp ( Sida upp- sida upp);

PgDn- en sida ner ( Sida ned- sida ned);

Hem- till början av den aktuella raden ( HEM- Hem);

Slutet- till slutet av den aktuella raden ( SLUTET- slutet);

Ctrl-PgUp- till början av texten;

Ctrl-PgDn- i slutet av texten.

Markörtangenter " markören”Kan förskjutas längs texten på skärmen (obs, endast i texten!). Förbi "; ren "; den oskrivna skärmen flyttar inte markören!

Om du gör ett misstag när du skriver in nästa tecken, kan du radera det med tangenten som anges av vänsterpilen (tangenten Backsteg- B> Backsteg>, den är placerad till höger och överst i zonen för de alfanumeriska huvudtangenterna ovanför B> Enter>-tangenten - " Inmatning”). B> Del Key ete> (Radera - tvätta, ta bort) raderar tecknet som markören för närvarande pekar på, och kommandot Ctrl-Y raderar hela raden som markören står på. Man bör komma ihåg att Turbo Pascal-redigeraren infogar en osynlig separator i slutet av varje rad. Detta tecken infogas med B> Enter>-tangenten och raderas med B> Backsteg> eller B> Del-tangenten ete> ... Genom att infoga/ta bort en separator kan du "; skära”/";lim"; rader.

Till "; skära"; linje, flytta markören till önskad plats och tryck på B> Enter> för att"; lim"; intilliggande rader, du måste placera markören i slutet av den första raden och trycka på B> Del-tangenten ete> eller placera markören i början av nästa rad och tryck på B-tangenten> Backsteg>.

Infogningsläge

Det normala läget för redigeraren är infogningsläget, där varje nyinmatat tecken är som "; knuffar"; text på skärmen, förskjutning av resten av raden till höger. Observera att"; skärande"; och efterföljande infogning av saknade tecken är endast möjlig i detta läge.

Exempel "; skärande";, ";limning"; rader och infogning av tecken i texten.

Antag att av någon anledning följande post tas emot på skärmen:

Program Serg; var

a, b, c: heltal;

Om vi ​​talar om den estetiska sidan av att skriva ett program, är det önskvärt att avsnittet med beskrivningar som börjar med ordet var, började med en röd linje. För att göra ändringar i texten, placera markören på bokstaven v och tryck på B> Enter>, medan en del av texten efter markören och under den kommer att flyttas till nästa rad, får vi:

Program Serg;

a, b, c: heltal;

För större skönhet och klarhet, utan att flytta markören, men lämna den på bokstaven v trycker du på B> Mellanslag> flera gånger. Hela raden flyttas till höger och posten blir så här:

Program Serg;

a, b, c: heltal;

Låt oss erkänna en annan situation när en del av texten "; rev"; och vi behöver det"; lim"; det blev till exempel så här:

skriv ("Ange antalet år som

svärmen skulle vara Seryozha ";);

Placera markören i början av den andra raden före bokstaven "; p"; och tryck på tangenten B> Backsteg>, så får vi:

skriv ("Ange antalet år som Seryozha skulle bli");

Du kan göra något annat, placera markören i slutet av den första raden efter bokstaven "; o"; och tryck på B> Delete> "; dra upp"-tangenten flera gånger; nedersta raden upp.

Använd knapparna B> Backsteg> och B> Del ete> kan "; förena"; ";trasig"Sträng. Till exempel i en situation som denna:

skriv ("Ange antalet år som Seryozha skulle ha varit");

Placera markören framför bokstaven "; d"; och tryck på tangenten B> Backsteg> flera gånger tills ordet "; Enter"; kommer att acceptera den önskade konstruktionen, eller genom att placera markören efter bokstaven "; e"; tryck på B> Delete> flera gånger.

Att infoga saknade tecken är ännu enklare.

Du har till exempel missat några bokstäver:

wrte ("Vvete antalet år som skulle vara Sezhe");

Det första ordet saknar bokstaven "; i" ;, i ordet "; Enter"; saknar två bokstäver "; di" ;, i ordet "; Seryozha"; bokstäver "; ep" ;.

Placera markören på bokstaven "; t"; i det första ordet och skriv "; i"; från tangentbordet kommer det omedelbart att infogas på rätt plats. Placera sedan markören på bokstaven "; t"; i ordet "; Vvete"; och skriv från tangentbordet "; di" ;, ord "; kommer att flytta isär"; och bokstäverna"; di "; kommer att falla på plats. Ställ markören på"; e "; i ordet"; Sezha "; och skriv"; er ";,

Blandningsläge

Redaktören kan också arbeta i läget att lägga nya tecken på den befintliga gamla texten: i detta läge ersätter det nya tecknet det tecken som markören pekar på, och resten av raden till höger om markören flyttas inte till den rätta. För att växla till blandningsläge, tryck på B> Ins-tangenten ert> (Insert- infoga), om du trycker på den här knappen igen, återställs infogningsläget. En indikation på vilket läge redigeraren är i är formen på markören: i infogningsläge ser markören ut som ett blinkande understruket tecken, och i överlagringsläge är det en stor blinkande rektangel som skymmer hela tecknet.

Automatiskt indragsläge

En annan funktion hos editorn är att den vanligtvis fungerar i automatiskt indragsläge. I detta läge börjar varje ny rad på samma skärmposition som den föregående.

Det automatiska indragsläget bibehåller en bra stil för textformatering av program: indrag från vänsterkanten framhäver olika operatörer och gör programmet mer visuellt.

Du kan avbryta läget för automatisk indrag med kommandot Ctrl-O I(med knappen nedtryckt Ctrl knappen trycks först O, sedan nyckeln O knappen släpps och trycks ned jag), kommandot upprepas Ctrl-O Iåterställer det automatiska indragsläget.

Nedan listas de vanligaste Turbo Pascal-textredigeringskommandona, andra än de som anges ovan.

Redigera kommandon

Backspac- B> Backsteg> - radera tecknet till vänster om markören;

Del- radera tecknet som markören pekar på;

Ctrl-Y- radera raden som markören är placerad på;

Stiga på- B> Enter> - infoga en ny rad, "; skära"; gammal;

Ctrl-Q L- återställ den aktuella raden (giltig om

markören lämnade inte den ändrade raden).

Jobbar med blocket

Ctrl-K B- markera början av blocket;

Ctrl-K Y- radera blocket;

Ctrl-K V- flytta blocket;

Ctrl-K P- skriv ut blocket;

Ctrl-K H- dölj / visa blocket (avmarkera);

Ctrl-K K- markera slutet av blocket;

Ctrl-K C- kopiera ett block;

Ctrl-K W- skriv blocket till en diskfil;

Programutförande

När programmet har skrivits kan du försöka köra det.

För att göra detta, tryck på B> Ctrl> +-tangenterna (medan du håller ned B> Ctrl>-tangenten, tryck på B> F9>-tangenten). Samma operation kan utföras genom att gå till huvudmenyn, trycka på B> F10> och sedan flytta pekaren för att välja alternativet Springa och tryck på B> Enter>.

Den andra nivåns meny som är kopplad till detta alternativ visas på skärmen. Den nya menyn är som "; faller ut"; från den översta raden, vilket är anledningen till att den här menyn ofta kallas en rullgardinsmeny. Skärmen kommer att se ut så här (se figur 4):

Ris. 4

Nu måste du hitta alternativet i den nya menyn SPRINGA(starta) och tryck på B> Enter>.

Om det inte var något misstag när du skrev in text, kommer bilden på skärmen att ändras efter några sekunder. Turbo Pascal ställer skärmen till förfogande för ett löpande användarprogram. Denna skärm kallas programfönstret.

Som svar på begäran:

Ange antalet år som skulle vara Seryozha, du måste ange 16 och tryck på B-tangenten> Enter>.

Efter slutförandet av körningen (programmets arbete kallas ofta dess körning), kommer redigeringsfönstret med programtexten att dyka upp på skärmen igen. Om du inte hade tid att se bilden av programfönstret, tryck sedan på Alt-F5. I det här fallet, redigeringsfönstret Dölj och du kommer att kunna se resultatet av programmet. Tryck på valfri tangent för att återgå till uppspelningsläget för redigeringsfönstret.

Du kan göra skärmen mer bekväm för att se resultatet av programmet. För att göra detta kan ett andra fönster öppnas längst ned på skärmen.

För att göra detta, tryck på F10-tangenten för att gå till valläget från huvudmenyn, flytta pekaren till alternativet Felsök(felsöka) och tryck på B-tangenten> Enter> - menyn på andra nivån som är kopplad till detta alternativ öppnas på skärmen. Skärmen kommer att se ut så här (se fig. 5):


Ris. 5

Hitta alternativet OUTPUT i den nya menyn, flytta pekaren till det och tryck på B> Enter>.

Ett andra fönster visas längst ner på skärmen, men det kommer inte längre att försvinna.

Nu kommer vi att uppnå att skärmen visar två fönster samtidigt: tryck på F10-tangenten igen, välj FÖNSTER, tryck på B> Enter>, flytta pekaren till ett alternativ BRICKA(brickor) och tryck på B> Enter>.

Om allt är gjort korrekt kommer skärmen att se ut så här (se fig. 6):

Ris. 6

Den dubbla ramen som visar programfönstret indikerar att just detta fönster är aktivt.

Låt oss göra redigeringsfönstret aktivt: tryck på B> Alt>-tangenten och, utan att släppa den, - tangenten med siffran 1 (redigeringsfönstret har nummer 1, programfönstret har nummer 2, dessa siffror är skrivna i det övre högra hörnet ramarnas hörn). Nu är allt klart för vidare arbete med programmet.

Första misstagen och deras rättelse

1. Det finns inget semikolon, till exempel efter readln (a)-satsen. Efter att ha startat programmet, genom att trycka på tangenterna B> Ctrl> + B> F9>, kommer ett meddelande skrivet i rött att visas på den översta raden på skärmen:

Fel 85: ";;"; förväntas.

(Fel 85: ";;"; saknas.)

Redaktören placerar markören på nästa tecken efter det saknade tecknet, i vårt exempel på variabeln b. Efter att ha tryckt på valfri tangent försvinner felmeddelandet och editorn växlar till infogningsläge. Du måste flytta markören till önskad plats, sätta ett semikolon - ";" och fortsätta arbeta.

2. I beskrivningen av variabler skrivs inte en variabel, men i programmet finns den till exempel en variabel c... Efter att ha startat programmet kommer ett meddelande att visas:

Fel 3: Okänd identifierare.

(Fel 3: Okänt ID.)

Markören kommer att placeras på denna variabel, i vårt exempel på variabeln c... Det är nödvändigt att rätta till felet, d.v.s. skriva variabel c i avsnittet om variabeldeklarationer och fortsätt.

3. Det finns ingen prick efter operatören slutet i slutet av programmet. Kompilatormeddelandet blir så här:

Fel 10: Oväntat slutet av filen.

(Fel 10: Fel slutet av filen.)

markören kommer att placeras på bokstaven "; e"; i ordet "; slutet";. Det är nödvändigt att sätta punkt och köra programmet igen.

Skriver en fil till disk

Så programmet har redigerats och körts (rullats), nu måste det skrivas till disken. För att göra detta kan du använda huvudmenyn, där du kan välja alternativet "; Fil"; (se fig. 7). Sekvensen av åtgärder är som följer: 1) tryck på F10-tangenten och gå till huvudmenyn; 2) flytta pekaren till alternativet"; Fil"; och tryck på B> Enter>, den andra alternativmenyn"; Fil";:

Ris. 7

Du kan välja alternativet "; Spara";. Den skriver innehållet i det aktiva redigeringsfönstret till en diskfil.

Om du trycker på B> Enter>, kommer miljön att fråga efter ett filnamn, om ett sådant inte var installerat och fönstret var associerat med namnet NONAME00.PAS. Du kan ändra namnet eller behålla det samma.

Detta alternativ anropas direkt från editorn genom att trycka på B> F2>.

Du kan välja ett alternativ SPARASOM... Den skriver innehållet i det aktiva redigeringsfönstret till en diskfil under ett annat namn.

Dialogrutan för detta alternativ ser ut så här (se fig. 8):

Ris. åtta

I inmatningsfältet måste du skriva namnet på filen som innehållet i det aktiva redigeringsfönstret ska kopieras till. Du kan välja en befintlig fil från urvalsfältet eller från protokollet med alternativ. I det här fallet, beroende på miljöinställningen, kommer det gamla innehållet i filen att förstöras eller sparas som en försäkringskopia med filtillägget .BAK.

Rad för rad skrivning av programtexten

I Pascal finns det inga regler för att dela upp programtext i rader.

Men för att spela in ett program kan du ge några

Det är mycket viktigt att programtexten placeras visuellt, inte bara för skönhetens skull, utan (och detta är huvudsaken!) för att undvika misstag. (Det är mycket lättare att hitta fel i klartext.)

1. Varje operator bör skrivas på en ny rad, förutom korta och meningsfullt relaterade operatorer.

Till exempel,

skriv ... readln ... skrivs på en rad, korta uppdragsoperatorer kan skrivas på en rad:

a: = 23; b: = 105; c: = -11,2.

2. Operatörer på samma nivå, placerade på olika linjer, måste vara vertikalt inriktade, dvs. på lika avstånd från vänster kant.

Låt oss till exempel skriva en sekvens av operatorer för att bestämma summan av siffrorna i ett tresiffrigt tal:

s: = a div 100;

d: = a div 10 mod 10;

e: = a mod 10;

Här är alla operatörer likvärdiga, de går efter varandra i sekvens, så de börjar alla från samma vertikala position.

3. Operatörer som ingår i en annan operatör bör flyttas åt höger med flera positioner (helst samma).

om då

4. Det rekommenderas att vertikaljustera par av basord: Börja och slutet, som vi redan har träffat, samt ord som vi kommer att lära känna senare: upprepa och fram tills, spela in och slutet, fall och slutet.

Här är några av de mest populära operatörsplaceringsalternativen om:

a) om då ...

annan ...

b) om då ...

annat...

v) om...

sedan ...

annan ...

G) om ...

sedan ...

annan ...

e) om ... sedan ... annan ...

6. Kommentarer skrivs antingen bredvid konstruktionen (identifierare, operatör, del av den), som de förklarar, eller på en separat rad.

Dokumentera

programmering programmering programmering, allmän ... Kista tystnad... ›Flera gånger parat programmering passerade ...

  • Alistair coburn-parprogrammering fördelar och nackdelar

    Dokumentera

    Forskningsrelaterad programmering och organisatorisk effektivitet. Fantastiskt ... språk programmering, vissa designmetoder och programmering, allmän ... Kista tystnad... ›Flera gånger parat programmering passerade ...

  • En introduktion till neurolingvistisk programmering den senaste psykologin för personlig skicklighet

    Dokumentera

    Kommer det att heta? "Resultatet är neurolingvistiskt programmering- en besvärlig fras som döljer ... tystlåten, sång, ljud, röst, säger, tystnad, dissonans, konsonant, harmonisk, gäll, tyst ...

  • NEUROLINGVISTISK PROGRAMMERING (metodologisk guide för nybörjare)

    Dokumentera

    PSYKOTERAPEUTISKT CENTER "LAD" V. I. ELMANOVICH NEUROLINGVISTISK PROGRAMMERING(metodisk guide för nybörjare) DEL1. ... MODALITETER (A). 1. Om volymen = 0, då "lyssnar tystnad ", om volymen är maximal, tänds "...

  • Läsa och LäsLn läsa information från standardinmatningsenheten. I konsolapplikationer kan denna enhet till exempel vara ett tangentbord (mer exakt, data som matas in från tangentbordet), i grafikapplikationer, en fil på disk.

    Det vill säga, dessa procedurer är "antipoder" - de utför motsatta åtgärder.

    Läs- och ReadLn-procedurerna utför liknande åtgärder. Huvudskillnaden mellan dem är följande: ReadLn-proceduren, efter att ha slutfört inmatningen, utför en radmatning (och när det gäller filer läser den filen rad för rad). Och Läs-proceduren läser data i rad - utan radmatning.

    NOTERA:

    I Turbo Pascal kommer jag inte ihåg detta (kanske jag bara glömde), men inmatningen från tangentbordet kan bara utföras av ReadLn-proceduren, och Read-proceduren fungerar av någon anledning inte.

    Syntax för konsolutgång:

    procedur Läs (Args: Argument);

    Syntax för utdata till fil:

    procedur Läs ( var F: Text; Args: Argument);

    Argumenten ( Argument) kan vara annorlunda. Om flera variabler används listas de separerade med kommatecken. Till exempel:

    Var x, y: heltal; z: verklig; str: sträng; begin WriteLn ("Ange tre heltal åtskilda med ett mellanslag:"); ReadLn (x, y, z); WriteLn ("Du skrev in:", x, ",", y, ",", z: 0: 2); ReadLn (str); WriteLn (str + str); ReadLn; slutet.

    Som redan nämnts, när de skrivs från konsolen, kan dessa variabler vara av olika typer. Men till skillnad från Write / WriteLn-procedurerna är det inte tillåtet att använda (och detta är logiskt))).

    VIKTIG!
    Vid inmatning av data bör man komma ihåg att om värdet som angetts av användaren har en typ som skiljer sig från typen av variabeln som detta värde matas in i, kommer ett körtidsfel att uppstå. Om, till exempel, i exemplet ovan, anger användaren ett verkligt värde (som 3.14) som första siffra, kommer programmet att krascha, eftersom variabeln x har en heltalstyp.

    När du läser från en fil kan du arbeta med både maskinskrivna och textfiler.

    Om F(se syntax) är en maskinskriven fil, då måste variablerna som skickas som parametrar (Args) ha samma typ som specificerats för filen F... Otypade filer är inte tillåtna. Om parametern F inte specificeras, då antas det att läsningen är från standardingång.

    Om filen Fär av typ Text, då måste variablerna vara av typen, eller.

    Om det inte finns någon data tillgänglig för läsning när filen läses, returneras ett tomt värde till F-variabeln (0 - för, tom sträng - för strängar).

    När du använder ReadLn-proceduren, det vill säga när du läser data rad för rad, indikeras slutet av raden med en viss sekvens av tecken (som exakt beror på operativsystemet, för DOS / Windows är dessa två tecken - # 10 och # 13).

    Radslutmarkören är inte en del av läsraden och ignoreras.

    Om ett fel uppstår under körningen av Read/ReadLn-proceduren genereras ett körtidsfel. Detta beteende är inte alltid acceptabelt (till exempel när du läser en fil). Därför är felgenerering i vissa fall inaktiverat. Du kan göra detta med.

    NOTERA:

    ReadLn-rutinen används ofta i olika felsöknings- och handledningsprogram för att förhindra att konsolapplikationen stängs automatiskt efter körning. För att göra detta, i slutet av programmet, skriv helt enkelt (som i exemplet ovan):

    Det vill säga bara namnet på proceduren utan parametrar. I detta fall väntar programmet på att trycka på ENTER-tangenten. Därför kommer programmet inte att avslutas förrän ENTER-tangenten trycks ned, och detta gör att du kan se resultatet av programmet. Naturligtvis i operativsystemet

    Läs (procedur)

    För maskinskrivna filer, läser filkomponenten till en variabel.
    - För textfiler, läser ett eller flera värden
    till en eller flera variabler

    Meddelande

    Inskrivna filer

    Procedur Läs (F, V1 [, V2, ..., Vn]);

    Textfiler

    Procedur Läs ([Var F: Text;] V1 [, V2, ..., Vn]);

    Läge

    Windows, Real, Skyddat

    Anmärkningar

    För strängvariabler:

    Läs läser alla tecken fram till (men inte inklusive) nästa radslutsmarkör eller tills Eof(F) kommer att bli Sant. Läst flyttas inte till nästa rad efter läsning. Om den resulterande strängen är längre än den maximala längden på strängvariabeln, trunkeras den. Efter den första läsningen kommer varje efterföljande läs-anrop att se radens slutmarkör och returnera en noll-längd sträng.

    Använd flera anrop till ReadLn för att läsa flera strängvärden.

    När alternativet är aktiverat Utökad syntax, kan Läsproceduren läsa nollterminerade strängar till nollbaserade teckenuppsättningar.

    För variabler som Heltal eller Verklig:

    Read kommer att hoppa över mellanslag, tabbar eller radslutmarkörer som föregår en numerisk rad. Om den numeriska strängen inte matchar det förväntade formatet, uppstår ett I/O-fel, annars tilldelas variabeln det resulterande värdet. Nästa läsning börjar med ett mellanslag, tabb eller radslutmarkering som avslutade den numeriska strängen.

    se även

    Exempel

    använder Crt, Dos;

    var
    F: Text;
    Ch: Char;

    Börja
    (Hämta filnamnet från kommandoraden)
    Tilldela (F, ParamStr (1));
    Återställ (F);
    medan inte EOF (F) gör det
    Börja
    Läs (F, Ch);
    Skriv (Ch); (Vi visar innehållet i filen på skärmen)
    slutet;
    slutet.

    Precis som med output-satserna är read- och reeadln-satserna inbyggda anropssatser. förfaranden för inmatning av information.

    Operatörer read (read) och readln, som kommer från de två engelska orden read och line (string) används i program för att mata in information i datorns minne och " avläsningar"värden till en variabel.

    Låt oss överväga dessa operatörers arbete och procedurer för att ange information.

    Vårt program har en readln (a) rutin. När programmet körs, när den stöter på readln-satsen, kommer datorn att pausa medan den väntar på att information ska matas in. Efter att vi matat in värdet på variabeln a - 16 från tangentbordet kommer datorn att tilldela detta värde till variabeln a, dvs. kommer att skicka den till minnesplats a och fortsätta programkörningen. Vi kallar denna process " genom att läsa"värden till en variabel.

    Så läs- och readln-procedurerna "läser" variablernas värden och tilldelar dem till variablerna som är skrivna i dem.

    Det kan finnas flera sådana variabler, sedan skrivs de i dessa operatorer separerade med kommatecken, till exempel:

    läs (a, b, c, n, g, j, i), läsln (e, f, k, p, d), etc.

    Vad är skillnaden mellan läs- och readln-procedurer?

    Läsproceduren kräver efter sig inmatning eller utmatning av information på en rad, och readln-proceduren gör det möjligt efter sig att mata in och mata ut information från början av en ny rad.

    Till exempel:

    I programmet: skriv ("Ange värdena för a och b"); läs (a, b);

    skriv ("Ange information på en rad");

    När denna del av programmet körs kommer allt som skrivs i den första skrivsatsen att visas på skärmen, sedan kommer markören att vara på samma rad och datorn väntar på värdena för a och b till läggas in. Låt oss ange deras värden - 2 och 3, separera dem med ett mellanslag eller, med andra ord, genom ett mellanslag. Därefter kommer informationen i nästa skrivsats att visas på samma rad.

    På skärmen:

    Ange värden för a och b 2 3 Ange information på en rad

    I ett program:

    writeln ("Ange värdena a, b och c); readln (a, b, c);

    writeln ("Inmatning och utmatning av information från början av raden");

    På skärmen:

    Ange värdena a, b och c

    Inmatning och utmatning av information från början av raden

    Aritmetiska operationer med heltal. Heltalsvariabler. Riktig typ

    I Pascal-språket används heltal, som inkluderar alla naturliga tal som bildas i processen att räkna objekt: 1, 2, 3, 4, 5, 6, ...; negativa tal: ..., -6, -5, -4, -3, -2, -1 och nummer noll: 0. Heltal bildar följande serier:

    6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, ...

    Pascal accepterar ett intervall av heltal från -32768 till 32767.

    Variabler som tar heltalsvärden skrivs i beskrivningsavsnittet med heltalstypen specificerad.

    Till exempel: var a, b, c, a1, b34, nomb: heltal;

    Värden av en annan typ än dessa variabler i ett program kan inte tilldelas.

    Aritmetiska operationer med heltal och heltalsvariabler i Pascal

    Tecknet "_" betyder ett mellanslag. Mellanslag mellan variabelnamn och operationsnamnet (div) krävs. (Härstammar från den engelska divisionen - division).

    Resten av a dividerat med b. a_mod_b

    Du är i avsnittet om Pascal-programmering. Innan vi börjar programmera måste vi klargöra några begrepp som vi kommer att behöva i början. Man kan inte programmera bara så. Vi kan inte skriva ett program i ord - datorn förstår inget annat än nollor och ettor. För detta har speciella symboler skapats i Pascal – Pascal-språket, en uppsättning reserverade ord som inte kan användas i deras program någon annanstans förutom för det avsedda syftet. Låt oss lista de grundläggande begreppen som vi behöver i början:

    ✎ 1) program - "program" på engelska, skrivet i början av koden, följt av programmets namn med latinska bokstäver och semikolon. Till exempel: program Summa; - ett program som heter Summa. Men den här delen av koden, som kallas programhuvudet, behöver inte skrivas - den finns bara för tydlighetens skull och visar vilket problem det givna programmet löser. Här har vi använt ordet "kod" - detta är namnet på programmets textuppteckning.

    ✎ 2) heltal - på engelska betyder "heltal" (eller bara "heltal") och i Pascal används det för att beteckna 32-bitars (8 bytes) tecken med heltal med intervallet [-2147483648, 2147483647]. Vad dessa stora siffror betyder kommer vi att analysera senare.

    ✎ 3) verklig - från engelska "real", "real", "real", "real". På Pascal-språket betecknar denna term reella tal från området [-1,8 ∙ 10 308, 1,8 ∙ 10 308]. Detta är mycket stora siffror, men 15 - 16 visas med betydande siffror. Förresten, heltals- och realdatatyperna i PascalABC.Net-programmeringsmiljön är alltid automatiskt markerade i blått.

    ✎ 4) const - analog till engelska. "Konstant" betyder "konstant", "konstant". I Pascal är det en mängd som inte kan ändras. Det är skrivet så här:


    Denna post ska uppfattas som den är skriven: talet N är 12, S är 5, "pi" är 3,14 (som i matematik används bara en punkt istället för kommatecken i Pascal). På sista raden använde vi ett dubbelt snedstreck (två snedstreck) följt av texten - det är så kommentarer skrivs i Pascal, och programmet accepterar dem inte. Allt som börjar med ett dubbelt snedstreck och fram till slutet av raden är en kommentar som är skriven för att förklara programmet och som alltid är markerad i en annan färg (i PascalABC.Net är det grönt, Turbo Pascal använder inte denna typ av kommentar). Det finns en annan typ av kommentar - denna (text omsluten av lockiga hängslen, såväl som här, även markerad i grönt). Den här typen av kommentarer kan fungera flera rader i rad - från början av parentesen till dess stängning, och allt som är mitt i en sådan konstruktion, uppfattar inte kompilatorn som kod och hoppar helt enkelt över.

    Faktum är att inspelningsformatet konst lite svårare. Enligt reglerna var vi tvungna att skriva:

    1 2 3 4 konst N: typ heltal;

    Beskrivning:

    ")" onmouseout = "verktygstips ()"> heltal
    = 12 ; // nummer N - heltalstyp S: typ heltal;

    Beskrivning:
    Representerar ett 32-bitars signerat heltal.

    Värdeintervall: -2 147 483 648 .. 2 147 483 647")" onmouseout = "verktygstips ()"> heltal
    = 5 ; // nummer S - heltalstyp pi: typ äkta;

    Beskrivning:
    Representerar ett flyttalstal med dubbel precision.

    Storlek: 8 byte
    Antal signifikanta siffror: 15 - 16
    Värdeintervall: -1,8 ∙ 10 308 .. 1,8 ∙ 10 308
    ")" onmouseout = "verktygstips ()"> verklig
    = 3.14 ; // nummer "pi" - verklig

    Efter deklarationen av varje värde anges dess typ och sedan tilldelas ett värde. Men den föregående posten är också korrekt, eftersom Pascal-kompilatorn är konfigurerad så att den automatiskt upptäcker typen av konstant. Men detsamma kan inte sägas om nästa typ av siffror - variabler.

    ✎ 5) var - kommer från engelskan. "Variabel" (eller "flyktig"), vilket i Pascal betyder ett värde som under programmets gång kan ändra sitt värde. Det är skrivet så här:


    Som du kan se av posten finns det inget "="-tecken - variabler av samma typ räknas om (avgränsade med kommatecken) och endast typen anges efter kolon. Variablerna N, m (heltal) och Q, r, t (real) i programmet kan ändra värden inom heltal respektive reellt. En anmärkning till: beskrivningen av variabler kommer alltid efter beskrivningen av konstanter (konstanter) - först kommer const-konstruktionen och sedan var.

    ✎ 6) börja - översatt från engelska betyder "att börja" och Pascal betyder början av huvudprogrammet där kommandon (operatorer) skrivs. Efter ordet Börja inget semikolon.

    ✎ 7) slut - på engelska. "Slut", och på Pascal-språk betyder det samma (slutet på programmet). Efter sista ordet slutet det finns alltid en poäng. Vi har lyft fram ordet "sista", sedan konstruktionen användes börja - sluta möjligen i ytterligare ett fall: dessa är de så kallade operatörsfästena, som används för att kombinera flera operationer under en operatör. Men mer om det senare. Således kommer huvudprogrammet att se ut så här:

    1 2 3 4 5 6 Börja < оператор 1 > ; < оператор 2 > ; . . . . . . . < оператор N > ; slutet.

    Här är operatörerna i programmets kropp olika kommandon än kompilatorn.

    ✎ 8) skriv - på engelska betyder "att skriva". Denna operator visar texten som är placerad i den, vilket är anledningen till att den kallas - utdataoperatorn. Texten i den är markerad i blått och skriven så här:

    Skriv ( "denna text visas");

    Meddelandet inom parentes och citattecken kommer att visas i konsolfönstret (det är helt enkelt omöjligt utan citattecken inom parentes). Efter att ha kört detta uttalande kommer vi att se på skärmen:

    denna text visas på skärmen

    I detta formulär används skrivoperatorn i fallet när det är nödvändigt att visa en ledtråd, förklaring, kommentar, etc. Och från om det också är nödvändigt att visa ett numeriskt värde, säg, S = 50 kvm. m, då används formatet:

    Skriv (, S);

    Som ett resultat får vi resultatet på skärmen:

    Storleken på området är: S = 50

    Och om du behöver visa måttenheterna måste du infoga texten inom citattecken efter S igen:

    Skriv ( "Storleken på området är: S =", S, "kvadrat M");

    Efter att ha kört den sista utdatasatsen får vi utdata till skärmen:

    Storleken på området är: S = 50 kvm

    ✎ 9) writeln är detsamma som write, men efter exekvering kommer markören att flyttas till nästa rad.

    ✎ 10) läs - översatt från engelska betyder "läs", därför kallas läsoperatorn för läsning, eller datainmatning. Det skrivs som läst (N), vilket innebär att du måste ange värdet N, där N är valfritt tal, eller text, eller någon annan typ av variabel. Om du till exempel behöver ange åldern på en person som är 32 år kan vi skriva det så här:


    På den första raden i denna kod visar programmet frågan " Hur gammal är du?»Och flyttar markören till nästa rad (slutar med ln); på den andra raden skriver vi "År =" (i början med ett mellanslag); då ser vi readln (År) operatorn, vilket betyder att man måste ange åldern Year (nummer 32); Slutligen visar vi meddelandena "Min ålder", "32" och "år." "En och en. Du måste hålla ett öga på utrymmena. Som ett resultat av att köra den här koden kommer vi att få meddelandet:

    Hur gammal är du?
    År = 32
    Min ålder är 32

    ✎ 11) readln - samma som läst, endast med nyrad. Faktum är att i exemplet ovan, efter att ha angett numret år, skriver vi bara på nästa rad: " Min ålder är 32».

    Det var allt tills vidare. På nästa sida kommer vi att skriva det första programmet, och i Pascal-programmering kommer dessa att vara våra





    

    2021 gtavrl.ru.