1 rutschkana
PASKAL Belyakova Natalya Alexandrovna Lärare i datavetenskap, teknik och konst, MBOU gymnasieskola nr 6 i Kholmsk, Sakhalin-regionen Pascal ABC
2 rutschkana
3 rutschkana
REAL datatyp Om ett tal har ett kommatecken och är ett bråktal, så kallas det REAL. För att lagra reella tal i Pascal används en speciell datatyp - REAL. För att lägga in dem i programmet används operatorn VAR (variabel) EXEMPEL: program p15 ; VAR a, b, c: REAL ; Börja och mer……….
4 rutschkana
VERKLIGA variabler: program summa ; VAR A, B, C: RIKTIGT ; Börja A:= 3,5; B:= 7,6; C:=A + B; writeln("summa = ", c) ; slutet. ______________________________________ Alla reella tal skrivs inte med kommatecken, utan med en punkt!!!
5 rutschkana
Skrivformat för reella variabler: Regelbunden form: 0,7 kan skrivas som 0,7 eller ,7 -2,1 kan skrivas som -2,1 Notation med exponent: Ett tal uttrycks som en mantissa (bråkdel av ett tal) multiplicerat med 10 till någon potens 2700 \u003d 2,7 * 10 Siffran 10 skrivs som bokstaven E, följt av gradens värde: 2,7E3 0,002 \u003d 2 * 10 Siffran 10 skrivs som bokstaven E, följt av gradens värde: 2E-3 3 - 3
6 rutschkana
VERKLIGA variabler: program z16 ; var a, b, c: verklig; börja a:= 17,3; b:= 3,4; c:=a+b; writeln("tillägg A+B = ", c); c:=a-b; writeln("subtraktion A-B = ", c); c:=a*b; writeln("multiplikation A*B = ", c); c:=a/b; writeln("A/B division = ", c); slutet.
7 rutschkana
RIKTIGA funktioner: PROGRAM Z18 ; VAR A , B: RIKTIGT ; BEGIN A:= 2.0 ; (kvadratrotsberäkning) B:= SQRT(A); WRITELN (Kvadratrot (Sqrt (A)) = ", B) ; (sinusberäkning) B:= SIN (A); WRITELN (sinus av talet (SIN (A) = ", B) ; (cosinusberäkning) B : = COS (A); WRITELN ('cosinus för talet (COS (A) = ", B) ;
8 rutschkana
(beräkning av bågtangens) B:= ARCTAN (A); WRITELN (bågtangens av (Arctan (A)) = ", B) ; (logaritmberäkning) B:= LN (A); WRITELN ('logaritm av (LN (A) = ", B) ; (exponentiering av E till potensen A) B:= EXP (A); WRITELN ('exponent till potensen av A (EXP (A) = ", B) ; (beräkning av Pi) B:= PI ; WRITELN (' Pi (Pi) = ", B) Slut.
9 rutschkana
(beräkning av bågtangens) B:= ARCTAN (A); WRITELN ('arctangent för talet (Arctan (A)) = ", B); _______________________________ Utdata från ett reellt tal kan ställas in. Under värdet för variabeln "B" sätter vi 6 siffror, 4 av dem efter decimalkomma: (beräkning av bågtangens) B: = ARCTAN (A ), WRITELN ('bågtangens för talet (Arctan (A)) = ", B: 6: 4) ; _______________________________
10 rutschkana
De viktigaste systemsatserna är: Programnamn program Börja och Sluta Börja och Sluta. Variabler VAR Heltal heltal Realt tal reellt Skriv ut till skärm Skriv('x= ', x) Skriv ut till skärm från nyrad Writeln('x= ', x) Talmodul Abs (x) Kvadrering Sqr(x) Kvadratrot ur tal Sqrt (x) Talsinus Sin (x) Talets Cosinus Cos (x) Bågtangens för tal Arctan(x) Tallogaritm Ln(x) Exponentiering av tal E till potensen av X Exp (x) Beräkning av tal Pi Pi
11 rutschkana
UPPGIFT: z15) Förutsatt att operationen av multiplikation och operationen av kvadrering har samma komplexitet, skriv ner uttrycken på det optimala sättet: Z15a) Z15b) Z15c) Z15d) Z15e) Z16) Skriv ett problem för grundläggande aritmetiska operationer (exempel) i en anteckningsbok) Z17) Beräkna uttrycket: Z18) Skriv ett problem för att beräkna standardfunktionerna för ett tal d:=8 (modul, kvadratrot, kvadrat av ett tal, sinus, cosinus, tangens, bågtans, cotangens, logaritm av ett tal) Z19) Skriv ett program för att beräkna diskriminanten för en andragradsekvation. Ange koefficienterna i programmet med hjälp av tilldelningsoperatorn Z20) Beräkna uttrycket:
12 rutschkana
Z21) Cirkelns d diameter anges. Hitta dess längd () Z22) Givet längden på kubens kanter, a, b, c på kuben. Hitta dess volym och ytarea Z23) Hitta omkretsen L och arean av en cirkel S med en given radie R: L=2πR, S = πR Z24) Givet 2 siffror a och b. Hitta deras aritmetiska medelvärde Z25) Givet 2 icke-negativa tal a och b. Hitta deras geometriska medelvärde (kvadratroten av deras produkt) Z26) Hitta avståndet mellan två punkter med givna koordinater x1 och x2 på den reella axeln: |x2 - x1|. 2
13 rutschkana
Litteratur: M. E. Abrahamyan. programmeringsuppgiftsbok. Elektronisk problembok för programmering. Version 4.6 / Rostov-on-Don - 2007. 2. Ushakov D.M., Yurkova T.A. Pascal för skolbarn. St Petersburg: Piter, 2010. - 256 sid.
glida 2
Programstruktur
Ett Pascal ABC-program har följande form: programprogramnamn; modulanslutningssektion; beskrivningssektion; startsatser; slutsatser. Den första raden kallas programhuvud och är valfri. Modulanslutningssektionen börjar med nyckelordet uses, följt av en kommaseparerad lista med modulnamn. Deklarationssektionen kan innehålla deklarationssektioner för variabler, konstanter, typer, procedurer och funktioner, som följer efter varandra i en godtycklig ordning. Avsnittet för anslutning av moduler och avsnittet för beskrivningar kan saknas. Operatörer separeras från varandra med semikolon.
glida 3
programnamn för programmet; använder avsnitt för att ansluta moduler var avsnitt för beskrivningar start-satser slut.
glida 4
Program - Program; Användning - Användning; Var - beskrivning; Börja - Början; Slut - Slut.
glida 5
glida 6
Bild 7
Bild 8
Bild 9
Bild 10
glida 11
glida 12
använder kommando - användning, öppnas i ett separat fönster
glida 13
Låt oss skriva vårt första program: Låt oss ge vårt program ett namn, det ska skrivas med latinska bokstäver och ska inte börja med en siffra. Varje påstående slutar med - ; Write är ett kommando för att mata ut till visningsporten.
Bild 14
Uppgift 1.
Låt oss visa en hälsning: "God eftermiddag". Programpriml; (valfritt element i programmet. Namnet på detta program är prim1 (observera att programnamnet inte får innehålla mellanslag, det måste börja med en bokstav, endast bestå av latinska bokstäver, siffror och vissa symboler, punkter och kommatecken är inte tillåtna) . Ingen beskrivande del, och omedelbart finns det en sektion med operatörer, som börjar med serviceordet börjar i TurboPascal 7.0, varefter det finns en språkoperatör)begin (Utmatningstext) writeln("God eftermiddag");(I slutet av programmet i TurboPascal 7.0, slutoperatören krävs.)end.
glida 15
Program priml; begin writeln("God eftermiddag"); slut.
glida 16
Uppgift 2. Ange värdet för variabeln N från tangentbordet
programInp; använder Crt; var N: heltal; beginClrScr; write("Ange ett nummer från tangentbordet:"); readln(N); (Programmet kommer att pausa här och vänta på inmatning från tangentbordet. Skriv ett nummer på tangentbordet, till exempel 153, och tryck på Enter-tangenten) writeln("Du skrev in ett nummer ", N); readln ( Detta är en tom inmatningssats. Här pausar programmet igen och väntar på att Enter-tangenten trycks ned. Under denna tid kommer du att ha tid att granska resultatet på skärmen.) slut.
Bild 17
programInp; usesCrt; var N: heltal; beginClrScr; write("Ange ett nummer från tangentbordet:"); readln(N); writeln("Du skrev in ett nummer", N); läs slutet.
Bild 18
Beräkning av en kropps hastighet när den faller från ett torn
Program Piza; const (Detta är den konstanta deklarationssektionen. Den kommer före var-sektionen) G=9.8; ( Typen av konstanten bestäms automatiskt, enligt formen av talet. I detta fall, på grund av närvaron av en decimalkomma, är denna typ reell ) var V,H: real; begin write("Ange tornhöjd:"); readln(H); V:=Sqrt(2*G*H); writeln("Fallhastighet",V:6:3):( För att förhindra att text och siffra "klibbar ihop", läggs ett mellanslag till efter texten inuti apostroferna) readln end.
Bild 19
programpiza; constcrt; G=9,8; varV,H,N:real; börja clrscr; write("Ange tornhöjd:"); readln(H); V:=Sqrt(2*G*H); writeln("Fall rate",V:6:3): readlnend. crt, clrscr; - skärmrengöring
Bild 20
glida 21
Pascal ABC-system
Pascal ABC-systemet är utformat för att lära ut programmering på Pascal-språket och riktar sig till skolbarn och studenter på grundutbildningen. Enligt författarna bör den inledande utbildningen i programmering ske i ganska enkla och vänliga miljöer, samtidigt bör dessa miljöer ligga nära standardmiljöerna vad gäller programmeringsspråkets möjligheter och ha tillräckligt rika och moderna bibliotek standardsubrutiner. Pascalspråket är erkänt av många ryska lärare som ett av de bästa för grundskoleutbildning. Den MS DOS-orienterade BorlandPascal-miljön är dock föråldrad, och den rika BorlandDelphi-miljön är svår för en nybörjare. Så ett försök att börja lära sig genom att skriva ett evenemangsprogram i BorlandDelphi orsakar många svårigheter för studenten och leder till ett antal felaktigt utformade färdigheter. Pascal ABC-systemet är baserat på DelphiPascal-språket och är designat för att göra en gradvis övergång från enkla program till modulär, objektorienterad, händelse- och komponentprogrammering. Vissa språkkonstruktioner i Pascal ABC tillåter, tillsammans med den huvudsakliga, en förenklad användning, vilket gör att de kan användas i de tidiga inlärningsstadierna. Moduler får till exempel inte delas upp i en gränssnittssektion och en implementeringssektion. I det här fallet är modulerna arrangerade på ungefär samma sätt som huvudprogrammet, vilket gör att du kan börja studera dem parallellt med ämnet "Procedurer och funktioner". Metodkroppar kan definieras direkt inom klasser (i stil med Java och C#), vilket gör att du kan skapa klasser nästan omedelbart efter att ha studerat poster, procedurer och funktioner. Ett antal moduler i Pascal ABC-programmeringssystemet skapades speciellt för utbildningsändamål: GraphABC-rastergrafikmodulen undviker objekt, även om dess möjligheter är praktiskt taget desamma som BorlandDelphis grafikfunktioner. Det är tillgängligt i icke-evenemangsprogram och gör det enkelt att skapa flimmerfria animationer. Händelsemodulen låter dig skapa enkla händelseprogram utan användning av objekt (händelser är vanliga procedurvariabler). Timers och ljudmodulerna låter dig skapa timers och ljud, som också implementeras i en procedurstil. Dessa moduler kan till och med användas i konsolprogram. Behållarklassmodulen Containers låter dig arbeta med grundläggande datastrukturer (dynamiska arrayer, stackar, köer, uppsättningar) implementerade som klasser. ABCObjects vektorgrafikmodul är designad för att snabbt lära dig grunderna i objektorienterad programmering, och låter dig även skapa ganska komplexa spel- och träningsprogram. VCL visuella komponenter-modulen låter dig skapa händelsedrivna applikationer med en huvudform i Delphi-stil. VCL-klasserna är något förenklade jämfört med deras motsvarigheter i Delphi. Det finns en formulärredigerare och en objektinspektör. Tekniken för att återställa formuläret med hjälp av programkoden gör det möjligt att använda en fil (!) för en applikation med huvudformuläret. Pascal ABC har skrivit pekarritmetik (i C-stil) och en komplex typ för att hantera komplexa tal. Pascal ABC-kompilatorn är en front-end-kompilator. Det betyder att den inte genererar körbar kod i form av en .exe-fil, utan skapar ett programträd i minnet som ett resultat av kompilering, som sedan exekveras med den inbyggda tolken. Som ett resultat är programmets hastighet cirka 20 gånger långsammare än hastigheten för samma program som kompilerats i Borland Pascal-miljön, och 50 gånger långsammare än samma program som kompilerats i Borland Delphi-miljön. I Pascal ABC-systemet kan eleven utföra de så kallade verifierbara uppgifterna, som ger formulering av ett problem med slumpmässiga initiala data, kontroll av input-output-operationer, verifiering av lösningens riktighet, samt underhåll av ett protokoll för att lösa problem. Uppgifterna som ska kontrolleras implementeras i form av en elektronisk programmeringsuppgiftsbok ProgrammingTaskbook, som innehåller 1000 programmeringsuppgifter av olika komplexitetsnivåer (från de enklaste uppgifterna till uppgifter om filer, pekare och rekursion) medelklass. Den fritt distribuerade versionen av Pascal ABC & ProgrammingTaskbookMiniEdition innehåller en miniversion av den elektroniska uppgiftsboken (200 uppgifter) och en trunkerad uppsättning uppgifter för utförare Robot och Draftsman. Pascal ABC & ProgrammeringTaskbookCompleteEdition innehåller den kompletta uppsättningen uppgifter.
För att använda förhandsvisningen av presentationer, skapa ett Google-konto (konto) och logga in: https://accounts.google.com
Bildtexter:
Programmeringsspråk ABC Pascal årskurs 9
Programmeringsspråk Detta är ett formellt teckensystem (en uppsättning instruktioner) som en dator förstår. Ett språks alfabet är den uppsättning symboler som används i den PL.
I början av 70-talet av XX-talet utvecklade den schweiziska forskaren Niklaus Wirth ett programmeringsspråk och gav det namnet Pascal, för att hedra den berömda franska matematikern från XVII-talet, uppfinnaren av den första beräkningsmaskinen Blaise Pascal. Med hjälp av Pascal kan du utveckla program för olika ändamål. Syntaxen för detta språk är intuitiv även för dem som precis har börjat lära sig grunderna i programmering.
Pascal-språket är praktiskt för inledande programmeringsinlärning, inte bara för att det lär ut hur man skriver ett program på rätt sätt, utan också hur man korrekt utvecklar metoder för att lösa programmeringsproblem.
Språkets alfabet är de stora och små bokstäverna i det latinska alfabetet från A till z , samt understreckstecknet (_), som också anses vara en bokstav. Versaler och gemener är utbytbara (lika); Arabiska siffror 0 1 2 3 4 5 6 7 8 9 ; specialtecken: + – * / = . , : ; ^ $ # @ ; speciella parade tecken: () ( ) ; sammansatta tecken: = .. (* *) (..) .
Programstruktur Ett Pascal-program består av: // Header (valfri del) // Beskrivningsblock // Programkropp
Beskrivningsblock Etikettbeskrivning; Definition av konstanter; Typdefinition; Beskrivning av variabler; Beskrivning av rutiner och funktioner.
Programtext Börja ………… (programtext, kommandolista) Slut.
Programstruktur ProgramnamnProgram ; (programtitel) Använder...; (modulanslutningssektion) Etikett … ; (etikettbeskrivningsavsnitt) Const ...; ( konstant beskrivningssektion ) Typ ... ; ( typdefinitionsavsnitt ) Var ... ; (variabel deklaration avsnitt) Funktion ...; ... Procedur ; (funktions- och proceduravsnitt) BEGIN ... (påstående avsnitt) END.
Förklaringar Förklaringar kan använda ryska bokstäver (kan stå inom parentes) // kan skrivas efter två snedstreck
Utdatasats Write(' text '); - Operatör för att visa text och variabler på skärmen (låter markören stå på den aktuella raden); WriteIn(' text '); - Operatör för att visa text och variabler på skärmen (flyttar markören till en ny rad);
Kompilera (F9) Felsökning av programmet.
Exempelprogram Börja skriva(' Detta är mitt första program! '); slutet. Kompilera och kör programmet för körning, se resultatet.
Programexekveringsresultat Stoppa programexekveringen
Uppgift 001 Skriv ut följande text på skärmen: Hej alla! Jag är den bästa programmeraren SSS #3! Observera att texten visas på två olika rader.
Aritmetiska operationer Om programmet skriver: Writeln('3+8'); Sedan efter körningen av programmet kommer inskriptionen 3 + 8 att dyka upp på exekveringsskärmen. Om däremot, skriv: Writeln (3 + 8); // utan apostrof Sedan efter att programmet har körts kommer inskriptionen 11 att dyka upp på runtime-skärmen, dvs. Pascal kommer att beräkna sig själv Försök att beräkna uttrycket: 185(14+16)
Niklaus Wirth I början av 70-talet av XX-talet utvecklade den schweiziska vetenskapsmannen Niklaus Wirth ett programmeringsspråk och gav det namnet Pascal, för att hedra den berömda franska matematikern på 1600-talet, uppfinnaren av den första räknemaskinen Blaise Pascal. Med hjälp av Pascal kan du utveckla program för olika ändamål. Syntaxen för detta språk är intuitiv även för dem som precis har börjat lära sig grunderna i programmering.
Språkets alfabet är de stora och små bokstäverna i det latinska alfabetet från A till z, samt understreckstecknet (_), som också anses vara en bokstav. Versaler och gemener är utbytbara (lika); Arabiska siffror; speciella enstaka tecken: + – * / =., : ; ^ $ specialpar: () ( ) ; sammansatta tecken: =.. (* *) (..).
Programstruktur ProgramnamnProgram; (programhuvud) Använder ...; (modulanslutningssektion) Etikett ...; (etikettbeskrivningsavsnitt) Const …; (konstant beskrivningssektion) Typ …; (typdefinitionsavsnitt) Var ...; (avsnitt med variabel deklaration) Funktion …; ...procedur; (funktions- och proceduravsnitt) BEGIN... (påståendeavsnitt) END.
Aritmetiska operationer Om programmet skriver: Writeln(3+8); Sedan efter körningen av programmet kommer inskriptionen 3 + 8 att dyka upp på exekveringsskärmen. Om däremot, skriv: Writeln (3 + 8); //utan apostrof Efter att programmet har körts kommer inskriptionen 11 att visas på exekveringsskärmen, Pascal kommer att beräkna sig själv Försök att beräkna uttrycket: 185(14+16)
Programmering i Pascal
År 1970 ägde åtminstone två stora händelser rum i programmeringsvärlden - operativsystemet UNIX och ett nytt programmeringsspråk skapat av professor Niklaus Wirth från det schweiziska federala tekniska institutet i Zürich. Wirth döpte den efter den store franske matematikern och filosofen Blaise Pascal från 1600-talet.
Niklaus Wirth
Blaise Pascal
Språk Pascal bekvämt för inledande inlärning av programmering, inte bara
eftersom den lär ut hur man skriver ett program på rätt sätt, men också hur man
utveckla metoder för att lösa programmeringsproblem
- versaler och gemener i det latinska alfabetet från A till Z, samt understrecket (_), som också anses vara en bokstav.
- Versaler och gemener är utbytbara (lika);
- Arabiska siffror 0 1 2 3 4 5 6 7 8 9 ;
- speciella enstaka tecken: + – * / = . , : ; ^ $ # @ ;
- speciella partecken: () { } ;
- sammansatta tecken: = .. (* *) (..) .
Programstruktur
Pascal-programmet består av:
// Titel (valfritt)
- Beskrivning av etiketter;
- Definition av konstanter;
- Typdefinition;
- Beskrivning av variabler;
- Beskrivning av rutiner och funktioner.
- Börja { programstart }
- { programkropp }
- slutet. { slutet av programmet }
Programstruktur
program Program namn; ( programtitel }
använder …; (modulanslutningssektion)
märka … ; { etikettbeskrivningsavsnittet }
Const … ; { ständig deklarationssektion }
Toure … ; { typdefinitionsavsnitt }
Var … ; { variabel deklaration avsnitt }
fungera … ; procedur … ; { funktion och procedur avsnitt }
... { operatörssektion }
Vad består programmet av?
Konstant är ett konstant värde med ett namn.
Variabel är ett variabelvärde som har ett namn (minnescell).
Procedur - en hjälpalgoritm som beskriver vissa åtgärder (rita en cirkel).
Fungera - hjälpalgoritm för att utföra beräkningar (beräkning av kvadratroten, synd) .
Konstanter
i2 = 45; { heltal }
pi = 3,14; { riktigt nummer }
q=" Vasya "; { teckensträng }
L=Sant; { booleskt }
heltals- och bråkdelar separeras med en punkt
du kan använda ryska bokstäver!
kan ta två värden:
- Sant (sant, "ja") Falskt (falskt, "nej")
- Sant (sant, "ja")
- Falskt (falskt, "nej")
Variabler
Variable typer:
- heltal ( hela )verklig( verklig ) röding ( en karaktär )sträng( teckensträng ) boolesk ( logisk }
- heltal ( hela }
- verklig( verklig }
- röding( en karaktär }
- sträng( teckensträng }
- boolesk( logisk }
Deklarera variabler ( minnesallokering ) :
variabler- variabel
typ - heltal
var a, b, c: heltal ;
lista över variabelnamn
Programexempel
skriva(' Detta är mitt första program ! ’);
Kör programmet för exekvering och se resultatet.
Utgångsoperatör
Skriva(' text ’); - Operatör för att visa text och variabler på skärmen (låter markören stå på den aktuella raden);
Writeln(' text ’); - Operatör för att visa text och variabler på skärmen (flyttar markören till en ny rad);
Uppgiften
- Visa följande text på skärmen:
Hej alla!
Jag är den bästa programmeraren SSS #3!
Observera att texten visas på två olika rader.
Beräkning av matematiska uttryck i ABC Pascal
- Prioritet för utförande av operationer i ABC Pascal samma som i matematik.
- Det räcker bara att lära sig hur man skriver matematiska uttryck korrekt på språket Pascal
Aritmetiska operationer
Drift
namn
Tillägg
Subtraktion
Multiplikation
Division (endast verklig typ)
MEN div B
Beräkning av heltalsdelen (ofullständig kvot)
Resterande beräkning
Beräkna:
10 div 3 18 mod 4
Exempel
Matematisk inträde
Inspelning på språk Pascal
37(25+87,5)-17(4,6+1,9)
37*(25+87.5)-17*(4.6+1.9)
(a+2*b-3*c)/(5*a+4)
(a+b)/(a-b)+a*b/3,14
Decimalkomma in Pascal betecknas med en prick
Standardfunktioner
Pascal funktion
Matematisk notation
namn
Det absoluta värdet av talet X (modulo)
Kvadratera ett nummer
Utställare
Beräkna kvadratroten
Beräknar bråkdelen av ett tal
Avrundas uppåt till närmaste heltal
Skär bort bråkdelen
Bestämma resultat:
frac(16,68); Rund (16,68); trunk(16.68);
Standardfunktioner
Pascal funktion
Matematisk notation
namn
Sinusberäkning
Cosinusberäkning
Heltalets del av talet
Beräknar den naturliga logaritmen
Att höja ett nummer till en makt
Returnerar ett slumptal mellan 0 och X
siffra π
grader in Pascal måste omvandlas till radianer
Inspelning på språk Pascal
Matematisk notation
PL-operatörer Pascal ABC
:= uttryck; Ett aritmetiskt uttryck kan inkludera konstanter variabelnamn tecken på aritmetiska operationer: konstanter namn på variabler tecken på aritmetiska operationer: + - * / div mod + - * / div mod funktion anropar parentes () funktion anropar parentes () heltals division multiplikation återstod division division " width="640"
uppdragsoperatör
variabelnamn := uttryck ;
Aritmetiska uttryck kan innefatta
- konstanter variabelnamn tecken på aritmetiska operationer:
- konstanter
- variabelnamn
- tecken på aritmetiska operationer:
+ - * / div mod
- + - * / div mod
- funktion anropar parenteser ()
- funktionsanrop
- runda parenteser ()
heltalsdivision
multiplikation
resten av divisionen
Vilka operatörer har fel?
program qq;
var a, b: heltal;
x, y: verklig;
10 :=x;
y:= 7 , 8;
b:= 2,5;
x:= 2*(a + y);
a:= b + x;
variabelnamn måste stå till vänster om tecknet :=
heltals- och bråkdelar separeras punkt
du kan inte skriva ett verkligt värde till en heltalsvariabel
ingångsoperatör
Läs en); { inmatning av variabelt värde a)
läs(a,b); { inmatning av variabelvärden a Och b)
Hur anger man två siffror?
genom ett utrymme:
tvärs över Stiga på :
Utgångsoperatör
Skriv en); { visar värdet på en variabel a)
skriva ln (a); { visar värdet på en variabel a Och flytta till en ny linje }
skrivln(" Hallå! "); { textutmatning }
skrivln(" Svar: ", c); { visningstext och variabelvärde c)
writeln(a, "+", b, "=", c);
Tillägg av två siffror
En uppgift. Ange två heltal och visa deras summa.
Den enklaste lösningen:
program qq;
var a, b, c: heltal;
läs(a,b);
c:= a + b;
skrivln(c);
Komplett lösning
program qq;
var a, b, c: heltal;
skrivln(" Ange två heltal ");
läs(a,b);
c:= a + b;
writeln(a, "+", b, "=", c);
en dator
Protokoll :
Ange två heltal
25+30=55
användare
BERÄKNA:
12 div4=
1 9 div 5 =
12 mod 3 =
1 36 mod 10 =
På Pascal
På matematikens språk
Modul av x
Kvadratera talet x
Trunc(x)
e X
Rund(x)
Bråkberäkning
Kvadratroten ur x
Avrundar till närmaste heltal
Slumpmässig(x)
Skär bort bråkdelen
Sinus x
Exp/y*ln(x))
Returnerar ett slumptal från 0 till x
Cosinus x
[ X ]
X på
Ln x
Läxa
1. Beräkna omkretsen och arean av en cirkel för en given radie
2. Beräkna omkretsen av en rätvinklig triangel från dess ben
Villkorlig operatör ( fulla formen )
fullständig grenform
skick
Åtgärd 1
Åtgärd 2
produktion
sedan börja ( vad ska man göra om villkoret är sant ) slut annars börja ( vad ska man göra om villkoret är falskt ) slut ; Funktioner: före annars sätts ett semikolon INTE början och slut, innan annat sätts ett semikolon INTE om det finns ett påstående i blocket, du kan ta bort orden start och end" width="640"
Villkorlig operatör (fulla formen)
om skick sedan Börja
{ }
annars börja
{ vad man ska göra om villkoret är falskt }
Egenskaper:
- främre annan INTE ett semikolon sätts om det finns en sats i blocket, du kan ta bort orden Börja Och slutet
- främre annan INTE sätt ett semikolon
- om det finns ett påstående i blocket kan du ta bort orden Börja Och slutet
villkorligt uttalande (ej fulla formen )
ofullständig form av förgrening
skick
Handling
produktion
sedan börja (vad ska man göra om villkoret är sant) slut; Funktioner: om det finns ett påstående i blocket kan du ta bort orden börjar och slut, om det finns ett påstående i blocket kan du ta bort orden start och end" width="640"
Villkorlig operatör (ofullständig form)
om skick sedan Börja
{ vad man ska göra om villkoret är sant }
Egenskaper:
- om det finns ett påstående i blocket kan du ta bort orden Börja Och slutet
- om det finns ett påstående i blocket kan du ta bort orden Börja Och slutet
Läxa
- Skriv ett program som reducerar den första siffran med en faktor fem om den är större än den andra.
2. Skriv ett program där värdet av en variabel från beräknas med formeln: a+b , om men udda Och a*b , om men även .
b sedan c:= a + b annars c:= b – a;" width="640"
Läxa
1. Skriv ett program för att lösa problemet:
men). Värdet på x är känt. Beräkna y if
b). Punktkoordinater anges. Ta reda på om denna punkt ligger i 3:e koordinatkvartalet?
2. Bestäm värdet på variabeln c efter att ha kört följande programfragment:
a:= 6 ;
b:= 15 ;
a:= b - a * 2;
om ett b då
c:= a + b
annars c:= b - a;
Cykel är det upprepade utförandet av samma sekvens av åtgärder.
- slinga med känd antal steg ( slinga med parameter ) cykla med okänd antal steg ( slinga med skick )
- slinga med känd antal steg ( slinga med parameter )
- slinga med okänd antal steg ( slinga med skick )
:= startvärde till slutvärde börjar (loopkropp) slut; Minska variabeln med 1 (steg -1) : för variabel:= startvärde ner till slutvärde start (loop body) end;" width="640"
Öka variabeln med 1 (steg 1):
för variabel := ursprungligt värde till
slutvärde do Börja
{ öglekropp }
Minska variabeln med 1 (steg 1) :
för variabel := ursprungligt värde ner till
slutvärde do Börja
{ öglekropp }
Egenskaper:
- heltal ) till ) eller -1 ( ner till ) Börja Och slutet du kan inte skriva: till ) exekveras aldrig (
- loopvariabel kan bara vara ett heltal ( heltal )
- steget att ändra loopvariabeln är alltid 1 ( till ) eller -1 ( ner till )
- om det bara finns ett påstående i loopkroppen, orden Börja Och slutet du kan inte skriva:
- om slutvärdet är mindre än startvärdet, loop ( till ) exekveras aldrig ( kontrollera villkoret i början av slingan, en slinga med en förutsättning)
för jag:= 1 till 8 do
skrivln( " Hallå " );
- det är inte tillåtet att ändra loopvariabeln i loopens kropp
- att ändra start- och slutvärdena inuti slingan kommer inte att ändra antalet steg:
för jag:= 1 till n börja
skrivln( " Hallå " );
n:= n + 1;
ingen looping
börja (loopkropp) slut; Funktioner: du kan använda komplexa villkor: om det bara finns ett påstående i cykelns brödtext, kan du inte skriva orden börjar och slutar: du kan använda komplexa villkor: om det bara finns ett påstående i cykelns kropp, orden börjar och slut kan utelämnas: while (ado begin ( body loop ) end; while adoa:= a + 1;" width="640"
medan skick do Börja
{ öglekropp }
Egenskaper:
- du kan använda komplexa villkor: om det bara finns en operator i loopkroppen, orden Börja Och slutet du kan inte skriva:
- du kan använda komplexa villkor:
- om det bara finns ett påstående i loopkroppen, orden Börja Och slutet du kan inte skriva:
medan (a d Börja
{ öglekropp }
medan a d o
a:= a + 1;
b d o a: = a - b; a:= 4; b:= 6; medan a d o d:= a + b;" width="640"
- villkoret omvärderas varje gång slingan går in
- om loop-ingångsvillkoret är falskt, exekveras loopen aldrig
- om villkoret aldrig blir falskt, loopar programmet
a:= 4; b:= 6;
medan a b d o
a:= a - b;
a:= 4; b:= 6;
medan a d o
d:= a + b;
tills skick " width="640"
Slinga med postcondition är en slinga där tillståndstestet utförs i slutet av slingan.
öglekropp
fram tills skick
EN UPPGIFT
Hitta summan av kvadraterna av alla naturliga tal från 1 till 100. Låt oss lösa detta problem med alla tre typerna av cykler.
"Hejdå" .
Program qq;
var a, s: heltal;
s:=s+a*a;
skrivln(ar);
ett hundra ; skrivln(ar); slut." width="640"
"Innan"
Program qq;
var a, s: heltal;
s:=s+a*a;
till 100 ;
skrivln(ar);
"Med parameter"
Program qq;
var a, s: heltal;
för a:=1 till 100 do
s:=s+a*a;
skrivln(ar);
En uppgift.
Visa kvadrater och kuber med heltal från 1 till 8.
Egenhet:
samma åtgärder utförs 8 gånger.
blockera "cykel"
i 1 := i * i;
i 2 := i 1 * i;
öglekropp
jag, i 1 , i 2
Program
program qq;
var i, i1, i2: heltal;
för i:=1 till 8 börjar
i1:=i*i;
i2:= i1*i;
writeln(i, i1, i2);
ursprungligt värde
variabel
slutvärde
Slinga med variabel dekrement
En uppgift. Visa kvadrater och kuber med heltal från 8 till 1 (i omvänd ordning).
Egenhet: loopvariabeln bör minska.
Lösning:
för i:=8 1 börjar
i1:=i*i;
i2:= i1*i;
writeln(i, i1, i2);
ner till
array är en grupp av element av samma typ som har ett gemensamt namn och ligger sida vid sida i minnet.
Egenskaper:
- alla element är av samma typ hela arrayen har samma namn
- alla element är av samma typ
- hela arrayen har samma namn
- alla element är placerade sida vid sida i minnet
Exempel:
- lista över elever i klassen lägenheter i byggnaden skolor i staden
- lista över elever i klassen
- lägenheter i byggnaden
- skolor i staden
- årliga lufttemperaturdata
RUM arrayelement
(INDEX)
array
MENANDE arrayelement
NUMBER (INDEX) arrayelement: 2
MENANDE arrayelement: 10
Array-deklaration
Varför meddela?
- definiera namn array definiera typ array definiera antal element markera plats i minnet
- definiera namn array
- definiera typ array
- definiera antal element
- markera plats i minnet
Array av heltal:
Storlek via konstant:
element
slutindex
startindex
var A : array[ 1 .. 5 ] av heltal ;
var A: matris av heltal ;
constN=5;
Vad är fel?
var a: array av heltal;
A:= 4,5;
var a: array ["z".."a"] av heltal;
A["B"] := 15;
["a".."z"]
var a: array av heltal;
A := "X";
Annons:
Tangentbordsinmatning:
Element-för-element-operationer:
Utgång på displayen:
konst N = 5;
var a: array av heltal;
jag: heltal;
a =
a =
a =
a =
a =
för i:=1 till N börjar
skriv("a[", jag, "]=");
read(a[i]);
Varför skriva ?
för i:=1 till N gör a[i]:=a[i]*2;
skrivln(" array A:");
för i:=1 till N do skriv(a[i]:4);
array A:
1 0 24 68 112 26
En uppgift:
1. Stiga på c tangentbordsmatris med 5 element, hitta det aritmetiska medelvärdet av alla matriselement.
Exempel:
Ange fem siffror:
4 15 3 10 14
aritmetiskt medelvärde 9.200
LÖSNING:
Program qq;
var N: array av heltal;
för i:=1 till 5 börjar
skriv("N[",i,"]");
för i:=1 till 5 börjar
write("genomsnitt", k:6:2);