Vad är skillnaden mellan läs- och readln-inmatningsoperatorerna? Ämne: Ingång - utgång. Operatörer Läs (Readln), Write (Writeln). De enklaste linjära programmen. läs- och readln-operatorerna. Procedurer för inmatning av information

Programmeringsspråket Pascal använder instruktioner som read och readLn. Vad är dem?

Vad är ett läst uttalande?

Denna instruktion är avsedd att tillhandahålla inmatning av olika variabla värden från PC-tangentbordet när man använder Pascal-språket. Schemat för att använda instruktionen i fråga ser enkelt ut: som att läsa ("variabelt värde").

I praktiken används läsinstruktionen för att säkerställa att viss data läses från en fil och den efterföljande tilldelningen av värden som extraherats från motsvarande data till de variabler som anges när proceduren anropas.

Om användaren gör ett misstag vid inmatning av data, det inte motsvarar någon typ av variabel som återspeglas i instruktionerna, slutar programmet att utföra kommandon. Samtidigt visas ett meddelande på PC-skärmen om att ett fel har uppstått i applikationen.

Om programmeraren använder flera läsinstruktioner kommer data på något sätt att matas in på en rad. En övergång till nästa är endast möjlig om den aktuella raden slutar. Däremot kan du läsa information som finns på en annan rad med hjälp av readLn-instruktionen. Låt oss ta en närmare titt på dess funktioner.

Vad är readLn-instruktionen?

Kärnan i readLn-instruktionen är att ställa in ett villkor i programmet under vilket:

  • varje nummer som anges på raden tilldelas den sista variabeln enligt instruktionen;
  • det återstående området av raden bearbetas inte av programmet, medan nästa instruktion kräver ny inmatning.

Så du kan ange instruktionen:

readLn(C,D); read(E);

Och om du efter detta anger serien 1 2 3 från tangentbordet, kommer variabeln C att förvärva värdet 1, D - 2. Men programmet kommer inte att tilldela ett specifikt värde till variabeln E förrän användaren anger ett nytt nummer.

Precis som med läsinstruktionen, om användaren anger en felaktig datatyp med hjälp av readLn-kommandot, avslutas programmet och visar ett meddelande som indikerar att ett fel har inträffat.

Jämförelse

Den största skillnaden mellan readLn och read är att den första proceduren innebär att programmet flyttar till raden i filen och följer den där instruktionerna är skrivna. Den andra proceduren tillåter programmet att läsa data som finns på nästa rad endast med användarens tillåtelse - om han trycker på Enter.

I praktiken används readLn-instruktionen oftast för att ge en fördröjning mellan resultatet av applikationsexekveringen och övergången till nästa instruktion. Motsvarande fördröjning varar tills användaren trycker på Enter.

Efter att ha bestämt vad skillnaden är mellan readLn och read på Pascal-språket, registrerar vi slutsatserna i tabellen.

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 Read(F , V1 [, V2,...,Vn ]);

Textfiler

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

Läge

Windows, Real, Skyddat

Anteckningar

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 en radens slutmarkering och returnera en noll-längd sträng.

Använd flera ReadLn-anrop 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 av typ Heltal eller Verklig:

Read hoppar över alla mellanslag, tabbar eller radslutmarkörer som föregår en numerisk rad. Om den numeriska strängen inte följer 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 blanksteg, tabb eller radslutmarkör som avslutade nummerraden.

se även

Exempel

använder Crt, Dos;

var
F:Text;
Ch:Char;

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

Du är i avsnittet Pascals programmeringsmaterial. Innan vi börjar programmera behöver vi klargöra några begrepp som vi kommer att behöva i början. När allt kommer omkring kan du inte bara programmera så. Vi kan inte skriva programmet i ord – datorn förstår inget annat än nollor och ettor. För detta ändamål skapades speciell symbolik i Pascal - Pascal-språket, en uppsättning reserverade ord som inte kan användas någon annanstans i dina program förutom för deras avsedda syfte. Låt oss lista de grundläggande begreppen som vi kommer att behöva i början:

✎ 1) program – på engelska "program", skrivet i början av koden, följt av programmets namn på latin och ett 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 den löser det här programmet. Här använde vi ordet "kod" - detta är namnet på programmets textinmatning.

✎ 2) heltal – på engelska betyder ”heltal” (eller helt enkelt ”heltal”) och i Pascal används för att beteckna 32-bitars (8 bytes) heltal från intervallet [-2147483648, 2147483647] . Vi kommer att titta närmare på vad dessa stora siffror betyder senare.

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

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


Denna post måste tas 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 framåt), följt av text - så här skrivs kommentarer i Pascal, och programmet uppfattar 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 alltid markeras 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 kommentarer - det här är (text inkluderad i tandställning, precis som här, även markerad med grönt). Denna typ av kommentar kan vara giltig för flera rader i rad - från början av parentesen till dess stängning, och kompilatorn uppfattar inte allt som finns i mitten av en sådan konstruktion som kod och hoppar helt enkelt över det.

I verkligheten inspelningsformatet konst lite mer komplicerat. Enligt reglerna var vi tvungna att skriva:

1 2 3 4 konst N: typ heltal;

Beskrivning:

")" onmouseout="toolTip()">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="toolTip()">heltal
= 5 ; //nummer S – heltalstyp pi: typ äkta;

Beskrivning:
Representerar ett flyttaltal med dubbel precision.

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

Efter att ha deklarerat varje värde indikeras 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 bestämmer typen av en konstant. Men detta kan inte sägas om nästa typ av siffror - variabler.

✎ 5) var – kommer från engelska. "variabel" ("variabel" eller "föränderlig"), vilket i Pascal betyder ett värde som kan ändra sitt värde under programmets gång. Det är skrivet så här:


Som framgår av posten finns det inget "="-tecken här - 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 gränserna för heltal respektive reellt. En anmärkning till: beskrivningen av variabler kommer alltid efter beskrivningen av konstanter (konstanter) - const-konstruktionen kommer först, 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 Det finns inget semikolon.

✎ 7) slut – på engelska. "slut", och i Pascal betyder det samma sak (slutet på programmet). Efter sista ordet slutet det finns alltid en period. Vi har betonat ordet "sista" på grund av användningen av konstruktionen början–slut kanske i ytterligare ett fall: det här ä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å huvudprogrammet kommer 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”. Den här operatorn visar texten som är placerad i den, varför den kallas utdataoperatorn. Texten som placeras inuti den är markerad i blått och skriven så här:

Skriva( "denna text visas på skärmen");

Ett meddelande inom parentes och citattecken kommer att visas i konsolfönstret (du kan inte bara sätta det inom parentes utan citattecken). Efter att ha kört detta uttalande kommer vi att se på skärmen:

denna text visas på skärmen

I det här formuläret används skrivoperatorn i fallet när du behöver visa en ledtråd, förklaring, kommentar, etc. Och om du också behöver 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:

Arean är lika med: S = 50

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

Skriva( "Arean är lika med: S = ", S, "kvm");

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

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

✎ 9) writeln – samma som write, men efter körning flyttas markören till nästa rad.

✎ 10) läsa – översatt från engelska betyder "att läsa", så läsa kallas läs- eller datainmatningsoperatorn. Det skrivs som read(N), vilket innebär att värdet N måste anges, där N är valfritt tal, eller text, eller annan typ av variabel. Om vi ​​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 ln); på den andra raden skriver vi ut "År =" (mellanslag i början); Därefter ser vi readln(Year) operatorn, vilket betyder att det är nödvändigt att ange ålder Year (nummer 32); slutligen visar vi meddelandena "Min ålder", "32" och "år. " en och en. Du måste övervaka utrymmena noggrant. 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 år

✎ 11) readln – samma som read, bara med en ny rad. Faktum är att i exemplet ovan, efter att ha introducerat talet år, skriver vi bara på nästa rad: " Min ålder är 32 år».

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

Jag tror att många kommer att vara intresserade av detta)))

läs och läs instruktionerna

Läsinstruktionen är avsedd för inmatning av variabelvärden (initialdata) från tangentbordet. I allmänhet ser instruktionerna ut så här:

läs (Variabel1, Variabel2, ... VariabelN)

där variabler är namnet på variabeln vars värde måste anges från tangentbordet under programkörning.

Här är exempel på hur du skriver en läsinstruktion:

Läs en); läs(Cena,Kol);

När read-satsen körs händer följande:

1. Programmet pausar sitt arbete och väntar tills de nödvändiga uppgifterna har skrivits in på tangentbordet och en tangent trycks ned .

2 http://tissot.ua/ köp armbandsur klockor köp Kiev. . Efter att ha tryckt på knappen det angivna värdet tilldelas variabeln vars namn anges i satsen.

Till exempel som ett resultat av exekvering av instruktionen

read(Temperat);

och om du anger rad 21 från tangentbordet kommer värdet på Temperat-variabeln att vara siffran 21.

En enda lässats kan hämta värden för flera variabler. I detta fall måste de angivna siffrorna skrivas på en rad och separeras med mellanslag. Till exempel, om typen av variabler a, b och c är reell, då som ett resultat av exekvering av instruktionen read(a,b,c); och skriv in raden från tangentbordet:

4.5 23 0.17

variablerna kommer att ha följande värden:

a = 4,5; b = 23,0; c = 0,17.

Om det finns fler siffror på en rad än de variabler som anges i läsinstruktionen, kommer den återstående delen av raden att bearbetas av följande läsinstruktion http://crystal.lviv.ua crystal crystal. . https://mainvisa.com.ua fotoinbjudan till Ukraina för utländska medborgare. . Till exempel som ett resultat av att utföra instruktioner

läs(A,B); läs(C);

och tangentbordsinmatningssträng

10 25 18

variablerna kommer att få följande värden: A = 10, B = 25. Läs instruktion (C); kommer att tilldela värdet 18 till variabel c.

Readln-instruktionen skiljer sig från readin-instruktionen genom att efter att ha valt nästa nummer från strängen som matas in från tangentbordet och tilldelats den till den sista variabeln från listan med readin-instruktionen, förloras resten av raden och nästa läs eller inläsningsinstruktioner kräver ny inmatning.

Till exempel som ett resultat av exekvering av instruktionen

readin(A,B); läs(C);

och ange raden från tangentbordet

10 25 18

variablerna kommer att få följande värden: A = 10, B = 25. Därefter väntar programmet på att ett nytt nummer ska matas in för att tilldela det till variabel c.

Varje läs- eller inläsningsinstruktion bör föregås av en skrivinstruktion för att tala om för användaren vilken data programmet förväntar sig av honom. Till exempel kan ett fragment av ett program för att beräkna kostnaden för ett köp se ut så här:

writeln("Ange initial data.");

Write("Artikelpris:");

Readln(Cena);

write("Mängd i batch:");

Readln(Kol);

write("Rabatt:");

readln(Skidka);

Om den typ av data som matas in från tangentbordet inte stämmer överens med eller inte kan castas till den typ av variabler vars namn anges i read (readin)-satsen, kraschar programmet (instruktioner efter läsning exekveras inte) och ett meddelande visas tryckt på skärmen om felet.

4. Skriv och skriv operatorer. Utdataprocedurer

Du märkte att programmet använde skriv- och writeln-operatorerna. Det engelska ordet write är översatt - att skriva, och ordet writeln kommer som en förkortning av två engelska ord write - to write och line - line.

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

Vad är det procedur ?

Procedurbegreppet är ett av Pascals huvudbegrepp. En subrutin i BASIC-språket liknar den.

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

Ovan pratade vi om, även om det i Pascal, till skillnad från BASIC, inte finns några informationsutdataoperatorer, och genom tjänsteorden skriv och skriv åtkomst görs till standard eller inbyggt informationsutmatning. 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 som anropet write eller writeln liknar PRINT-operatören - matar ut information på BASIC-språket.

Skillnad mellan utgångsoperatör 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 åtkomst av inbyggda.

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: write(a), skrivln(f). Om det finns flera sådana variabler skrivs de åtskilda med kommatecken, till exempel: write(a, b, c, d), writeln(e,f, g, h).

Om informationen är ord, meningar, delar av ord eller symboler, så finns den mellan tecknen "; " "; - apostrof, Till exempel:

write("Ange sökvägslängd"),

writeln("Hastighetsvärdet är"

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:

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

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

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

Varför görs detta?? Naturligtvis bör följande numeriska information separeras från orden med ett mellanslag.

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

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

Om ett program specificerar en skrivsats och 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: write("Idag och imorgon kommer att vara ");

write("helger");

Skärmen visar:

Idag och imorgon är det lediga dagar

Mellanslag mellan ordet ";vilja"; och ";helg"; tillhandahålls av ett mellanslag i slutet av den första raden. Om det inte finns där, kommer utmatningen att inträffa sömlöst :

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

write("helger");

Idag och imorgon är det semester

Några fler exempel: t:=20;

write("Rörelsetiden är");

write(" sekunder");

Rörelsetiden är 20 sekunder

write("Summan av talen är ");

write(", och produkten ");

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

Procedur skrivlntillhandahåller följande procedurer för att mata in eller mata ut information för att mata in eller mata ut den från början av varje ny linje .

I ett program:

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

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

Skärmen visar:

Ikväll, ikväll, ikväll,

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

I ett program:

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

På skärmen:

Summan och skillnaden mellan talen är lika:

5. Läs och läs operatorer. Procedurer för inmatning av information

Precis som för informationsutdataoperatorer är read- och reeadln-operatorerna operatorer för åtkomst till inbyggda förfaranden för inmatning av information.

Operatörerna read (read) och readln, som kommer från två engelska ord read (read) och line (line), används i program för att mata in information i datorns minne och "; läsning"; värden till en variabel.

Låt oss överväga dessa operatörers arbete och förfaranden för informationsinmatning.

Vårt program har en procedur readln(a). När ett program körs, stöter på en readln-sats, kommer datorn att pausa medan den väntar på input. Efter att vi matat in värdet för variabel a - 16 från tangentbordet kommer datorn att tilldela detta värde till variabel a, dvs. kommer att skicka den till en minnesplats med namnet a och kommer att fortsätta köra programmet. Vi kallar denna process "; läsning"; värden till en variabel.

Så, läs- och readln-procedurerna ";read"; värden på variabler och tilldela 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 arbetet med läs- och läsprocedurerna?

Läsproceduren kräver inmatning eller utmatning av information på en rad efter sig, och readln-proceduren låter dig mata in och mata ut information efter sig själv från början av en ny rad.

Till exempel:

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

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

När denna del av programmet körs kommer allt som skrivits i den första skrivsatsen att visas på skärmen, sedan kommer markören att placeras på samma rad och datorn väntar på att värdena a och b ska anges . Låt oss ange deras värden - 2 och 3, separera dem med ett mellanslag eller, med andra ord, separerade med ett mellanslag. Efter detta kommer samma rad att visa informationen som skrivits i nästa skrivpåstående.

På skärmen:

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

I ett program:

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

writeln("Mata in och mata ut information från början av raden");

På skärmen:

Ange värdena för a, b och c

Mata in och mata ut information från början av raden

Kapitel 2. Öppna och köra program

1. I den integrerade miljön 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 fönstret som öppnas innehåller "; meny"; möjliga driftlägen för Turbo Pascal, botten - en kort information om syftet med huvudfunktionstangenterna. Resten av skärmen tillhör fönstret text editor, avgränsad med en dubbel ram och avsedd för inmatning och redigering av programtext.

När vi går in i ett program 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.

Ett tecken 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, liknande det som görs när du skriver text på en skrivmaskin. Efter att ha fyllt i nästa rad, tryck på B>Enter> "; Stiga på"; 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).

Redaktörsfönstret imiterar ett långt och ganska brett pappersark, varav en del syns i skärmfönstret. Om markören når den nedre kanten rullar redigeringsfönstret: dess innehåll flyttas upp en rad och en ny rad ";" visas längst ner. ark";. Den längsta 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- sida upp ( Sida upp- sida upp);

PgDn- sida ned ( 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- till slutet av texten.

Markörtangenter " markören” kan flyttas för att passa texten på skärmen (obs, endast text!). Förbi "; ren "; om skärmen inte är täckt med skrift, rör sig 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>Tillbaka>, den är placerad till höger och överst i zonen för de alfanumeriska huvudtangenterna ovanför B>Enter>-tangenten - " Stiga på"). B>Del nyckel ete> (Radera - radera, radera) raderar tecknet som markören för närvarande pekar på, och kommandot Ctrl-Y raderar hela raden som markören är placerad på. Man bör komma ihåg att Turbo Pascal-redigeraren infogar ett separatortecken som är osynligt på skärmen 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/radera 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>Backsteg>.

Infogningsläge

Redaktörens normala driftläge är infogningsläge, där varje nyinmatat tecken är som en "; sprider sig"; text på skärmen, flyttar 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"; linjer och infoga tecken i text.

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

Program Serg; var

a, b, c: heltal;

Om vi ​​pratar om den estetiska sidan av att skriva ett program, är det önskvärt att beskrivningsavsnittet, 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>-tangenten, 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 kommer att se ut så här:

Program Serg;

a, b, c: heltal;

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

write("Ange antalet år som

svärmen skulle vara Seryozha ";);

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

write("Ange antalet år Seryozha skulle vara");

Du kan göra det annorlunda, placera markören i slutet av den första raden efter bokstaven ";o"; och trycka på B>Delete>-tangenten flera gånger ";pull up"; nedersta raden.

Använda tangenterna B>Tillbaka> och B>Del ete> Kan "; förena"; ";trasig” rad. Till exempel, i denna situation:

write("Ange antalet år Seryozha skulle vara");

Placera markören framför bokstaven ";d"; och tryck på 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å knappen B>Delete> flera gånger.

Att infoga saknade tecken görs ännu enklare.

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

wrte("Du är det antal år som Serge skulle vara");

Bokstaven ";i"; saknas i det första ordet och i ordet ";Enter" två bokstäver ";di"; saknas i ordet ";Seryozha"; bokstäverna ";er";.

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 "di" från tangentbordet, ordet "; kommer att spridas isär"; och bokstäverna ";di"; kommer att falla på plats. Placera markören på ";e"; i ordet ";Sezha"; och skriv ";er";,

Blandningsläge

Redaktören kan också arbeta i läget att lägga över nya tecken på befintlig gammal text: i det här läget ersätter det nya tecknet tecknet som markören pekar på, och resten av raden till höger om markören flyttas inte till höger. För att växla till blandningsläget, tryck på B>Ins-tangenten ert> (Insert- infoga), om du trycker på den här knappen igen kommer infogningsläget att återställas igen. En indikation på vilket läge redigeraren arbetar i är formen på markören: i infogningsläge ser markören ut som ett blinkande understreck, och i överläggslä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 stödjer en bra designstil för programtexter: indrag från vänsterkanten framhäver olika påståenden och gör programmet tydligare.

Du kan avbryta automatiskt indrag med kommandot Ctrl-O I(med knappen nedtryckt Ctrl knappen trycks först O, sedan nyckel O knappen släpps och trycks ned jag), upprepa kommandot Ctrl-O Iåterställer automatiskt indragsläge.

De vanligaste kommandona listas nedan textredigerare Turbo Pascal, förutom de som anges ovan.

Redigera kommandon

Backsteg- B>Tillbaka> - 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).

Arbeta med ett block

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

Ctrl-K Y- radera blocket;

Ctrl-K V- flytta blocket;

Ctrl-K P- skriva ut ett block;

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

Ctrl-K K- markera slutet av blocket;

Ctrl-K C- kopieringsblock;

Ctrl-K W- skriv blocket till en diskfil;

Programexekvering

Efter att programmet har skrivits kan du försöka köra det.

För att göra detta, tryck på B>Ctrl>+-tangenterna (håll nere B>Ctrl>-tangenten och 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>.

En andra nivå meny kopplad till detta alternativ öppnas på skärmen. Den nya menyn är som "; faller ut"; från den översta raden, vilket är anledningen till att en sådan meny ofta kallas en rullgardinsmeny. Skärmen kommer att se ut så här (se fig. 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 fel 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 användarens körprogram. Denna skärm kallas programfönstret.

Som svar på begäran:

Ange antalet år som Seryozha skulle vara, ange 16 och tryck på B>Enter>.

Efter att körningen är klar (driften av programmet kallas ofta dess körning), kommer redigeringsfönstret med programmets text igen att visas på skärmen. Om du inte hade tid att se bilden av programfönstret, tryck sedan på Alt-F5. I det här fallet, redigeringsfönstret kommer att gömma sig 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 du öppna ett andra fönster längst ner på skärmen.

För att göra detta, tryck på F10-tangenten för att gå till valläge från huvudmenyn, flytta pekaren till alternativet Felsökning(felsöka) och tryck på B>Enter>-tangenten - en andranivåmeny 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.

Låt oss nu se till att två fönster visas på skärmen samtidigt: tryck på F10-tangenten igen, välj FÖNSTER, tryck på B>Enter>, flytta pekaren till alternativet BRICKA(bricka) och tryck på B>Enter>.

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

Ris. 6

En dubbel ram som visar programfönstret indikerar att just detta fönster är aktivt.

Låt oss aktivera redigeringsfönstret: tryck på B>Alt>-tangenten och, utan att släppa den, tryck på tangenten med siffran 1 (redigeringsfönstret är nummer 1, programfönstret är 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.

De 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 dyka upp i den övre raden på skärmen:

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

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

Redaktören ställer markören till nästa tecken efter det saknade tecknet, i vårt exempel till 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. En variabel skrivs inte i beskrivningen av variabler, men den finns i programmet, till exempel en variabel c. Efter att ha startat programmet kommer följande 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. Felet ska åtgärdas, d.v.s. skriv en variabel c till avsnittet för variabelbeskrivningar och fortsätt arbeta.

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

Fel 10: Oväntat slut på filen.

(Fel 10: Ogiltigt slut på filen.),

markören kommer att placeras på bokstaven "; e"; i ett ord "; slutet";. Vi måste sätta stopp för det 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 väljer 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>, en andra meny med alternativ öppnas "; 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 inställt och fönstret var associerat med namnet NONAME00.PAS. Du kan ändra namnet eller lämna det samma.

Detta alternativ anropas direkt från editorn med B>F2>-tangenten.

Du kan välja alternativet 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. 8

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

Rad för rad inspelning av programtext

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

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

Det är mycket viktigt att programtexten ordnas tydligt, inte bara för skönhetens skull, utan (och detta är huvudsaken!) för att undvika fel. (Det är mycket lättare att hitta fel i visuell text.)

1. Varje påstående ska skrivas på en ny rad, med undantag för korta och meningsfullt relaterade påståenden.

Till exempel,

skriv ... readln ... - skrivet 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 riktas in vertikalt, d.v.s. på lika avstånd från vänster kant.

Låt oss till exempel skriva ner 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 lika, de följer varandra sekventiellt, 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 lika).

om då

4. Det rekommenderas att vertikaljustera basordpar: Börja Och slutet, som vi redan har blivit bekanta med, liksom ord som vi kommer att bekanta oss med 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å ...

annan...

V) om...

sedan ...

annan ...

G) om ...

sedan ...

annan ...

d) om ... sedan ... annan ...

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

Dokumentera

programmering programmering programmering, general... Grobovaya tystnad. › Flera gånger parat programmering passerade...

  • Alistair Cowburn parprogrammering fördelar och nackdelar

    Dokumentera

    Forskningsrelaterad programmering och organisatorisk effektivitet. Fantastiskt... språk programmering, vissa designmetoder och programmering, general... Grobovaya tystnad. › Flera gånger parat programmering passerade...

  • Introduktion till neurolingvistisk programmering The Newest Psychology of Personal Mastery

    Dokumentera

    Kommer det att kallas?" Resultatet var neurolingvistiskt programmering- en besvärlig fras bakom som döljer sig... tystlåten, sång, ljud, röst, talar, tystnad, dissonans, konsonant, harmonisk, genomträngande, tyst...

  • NEUROLINGVISTISK PROGRAMMERING (en manual för nybörjare)

    Dokumentera

    PSYKOTERAPI CENTER "LAD" V.I. ELMANOVICH NEUROLINGVISTISK PROGRAMMERING(metodologisk manual för nybörjare) DEL 1. ... MODALITETER (A). 1. Om volym = 0, "lyssnar" tystnad", om volymen är maximal, då "tänd...

  • 
    Topp