Tabelul cu funcțiile limbajului standard Pascal. Funcții și proceduri matematice în limbajul de programare Pascal. Operații aritmetice ale limbajului Pascal ABC

4.3. Caracteristici standard în Turbo Pascal 7

În limbajul Pascal, există o serie de subprograme-funcții pre-dezvoltate care pot fi folosite ca obiecte gata făcute. În Turbo Pascal, numărul lor este crescut în comparație cu standardul lingvistic și toate sunt combinate în module standard (a se vedea paragraful 16). Această secțiune descrie cele mai frecvent utilizate funcții standard. Funcțiile standard de I/O și de alocare dinamică a memoriei sunt descrise în paragrafe. 11 și respectiv 7. Alte funcții standard (lucrarea cu șiruri de caractere, pointeri și adrese etc.), precum și o discuție mai detaliată a tuturor funcțiilor menționate mai sus, sunt prezentate în paragraful 16.

4.3.1. Funcții aritmetice

Funcțiile aritmetice pot fi utilizate numai cu valori întregi și integrale. Lista lor este prezentată în tabel. 4.

Tabelul 4. Funcții aritmetice

Funcţie Scop Tip de rezultat
Abs(X) Valoarea absolută a argumentului La fel ca tipul X
Arctan(X) Arctangent al argumentului Real
Cos(X) Cosinusul argumentului Real
Exp(X) e x Real
Frac(X) Parte fracțională a unui număr Real
Lnt(X) Partea întreagă a numărului Real
Ln(X) Logaritmul natural Real
Pi Valoarea lui Pi=3,1415926535897932385 Real
Păcat(X) Sinusul argumentului Real
Sqr(X) Piața Argumentului La fel ca tipul X
Sqrt(X) Rădăcina pătrată a argumentului Real

Notă. Dacă funcția este utilizată cu comutatorul compilatorului ($N+), atunci în loc de o valoare de tip Real, calculează o valoare de tip Extended.

Exemplu.

($N-)
ÎNCEPE
P:= Pi (3,1415926536E+00)
Sfârşit.

($N-)
ÎNCEPE
P:= Pi (3,1415926535897932385E+0000)
Sfârşit.

4.3.2. Funcții de conversie de tip

Aceste funcții sunt concepute pentru a converti tipurile de valori, de exemplu (număr în întreg, număr real în întreg etc. Aceste funcții includ următoarele funcții:

Chr(X)- Convertiți codul ASCII în caracter.

Argumentul funcției trebuie să fie un tip întreg în intervalul (0..255). Rezultatul este caracterul corespunzător codului dat.

Ridicat(X) - obţinerea valorii maxime a cantităţii.

Un argument de funcție este un parametru sau un identificator de tip ordinal, un tip de matrice (vezi secțiunea 6.1), un tip șir (vezi secțiunea 6.2) sau un tablou deschis (vezi secțiunea 10.3.5).

Rezultatul funcției pentru o valoare de tip ordinal este valoarea maximă a acestei valori, un tip de matrice este valoarea maximă a indexului, un tip șir este dimensiunea declarată a șirului, o matrice deschisă este numărul de componente ale matricei minus 1 (indicele maxim, când numerotarea începe de la zero).

Scăzut(X) - obţinerea valorii minime a cantităţii.

Un argument de funcție este un parametru sau un identificator de tip ordinal, un tip de matrice (vezi secțiunea 6.1), un tip șir (vezi secțiunea 6.2) sau un tablou deschis (vezi secțiunea 10.3.5). Rezultatul funcției pentru o valoare de tip ordinal este valoarea minimă a acestei valori, un tip de matrice este valoarea minimă a unui index, un tip șir sau o matrice deschisă este 0.

Ord(X) - Convertiți orice tip ordinal într-un tip întreg.

Argumentul funcției poate fi o valoare de orice tip ordinal (logic, simbolic, enumerat). Rezultatul este o valoare Longint.

Rotunzi (X) - Rotunjirea unui număr real la cel mai apropiat număr întreg.

Argumentul funcției este o valoare reală, iar rezultatul este o valoare Longint rotunjită la cel mai apropiat număr întreg. Dacă rezultatul este în afara intervalului de valori Longint, apare o eroare la rularea programului.

Trunc(X) - obținerea părții întregi a unui număr real.

Argumentul funcției este o valoare reală, iar rezultatul este partea întreagă a acestui număr. Tipul de rezultat este Longint. Dacă rezultatul este în afara intervalului de valori Longint, apare o eroare în timpul execuției programului.

4.3.3. Funcții pentru mărimi ordinale

Aceste funcții vă permit să efectuați o serie de acțiuni asupra valorilor de tip i ordinal (găsiți elementul anterior sau următor, verificați un număr pentru paritatea impară). Aceste caracteristici includ următoarele:

Impar(X) - verificând valoarea X pentru ciudățenie.

Argumentul funcției este o valoare Longint, rezultatul este True dacă argumentul este impar și False dacă este par.

Pred(X) - determinarea valorii anterioare a lui X.

Argumentul funcției este o valoare de orice tip ordinal, rezultatul este o valoare anterioară de același tip (de exemplu, Pred(2) este 1). Apare o eroare la aplicarea unei funcții la primul element al unei secvențe.

Succ(X) - determinarea valorii ulterioare a lui X.

Argumentul funcției este o valoare de orice tip ordinal, rezultatul este valoarea ulterioară de același tip (de exemplu, Succ(2) este 3). Apare o eroare la aplicarea unei funcții ultimului element al unei secvențe.

Alături de alte limbaje de programare, Pascal conține instrumente care vă permit să creați o subrutină (un fel de algoritm auxiliar) pentru programul principal - proceduri și funcții Pascal. Ele sunt utilizate în principal atunci când o acțiune sau un subalgoritm este repetat de multe ori într-un program sau atunci când este nevoie de a utiliza părți ale algoritmilor compilați anterior.

Subrutinele sunt un fel de împărțire a programelor mari în părți separate. Este convenabil și eficient să împărțiți programe mari în mai multe subrutine, ceea ce simplifică dezvoltarea codului principal al programului. Pentru a utiliza un subalgoritm ca subrutină, trebuie să îi dați un nume și să descrieți algoritmul în conformitate cu regulile limbajului Pascal.

În plus, dacă este nevoie să apelați un subalgoritm în programul principal, atunci numele unui anumit subalgoritm este menționat în locul necesar în combinație cu o listă de date (atât de intrare, cât și de ieșire). Această referință, de regulă, produce execuția instrucțiunilor incluse în subrutină și lucrul cu datele specificate. După executarea subrutinei utilizate, munca programului principal continuă, dar începând cu comanda imediat următoare apelului subrutinei.

Există două tipuri de subrutine în Pascal:

  • Funcții
  • Proceduri

Structura lor de descriere este destul de similară cu structura unui program Pascal, adică. Procedurile și funcțiile includ, de asemenea, un antet, o secțiune de descriere (descrierea constantelor, etichete, tipuri, funcții și proceduri în sine, variabile etc.) și o parte executabilă (descrierea procedurilor): Structura unei funcții în programarea Pascal limbajul este după cum urmează:

Structura procedurii în Pascal este prezentată după cum urmează:

Ca și în formatul de descriere a funcției și în formatul de descriere a procedurii, parametrii formali din antetul funcțiilor și procedurilor sunt reprezentați după cum urmează:

var nume parametru: nume de tip;

Parametrii formali sunt separați prin virgule; cuvântul cheie var poate fi omis în unele cazuri. Când parametrii au același tip, numele acestor parametri sunt enumerate separate prin virgule, indicând numele tipului corespunzător la sfârșit după semnul „:”.

Când descrieți parametrii, puteți utiliza numai nume de tip standard, care sunt definite cu ajutorul comenzii de tip. Procedurile sunt apelate folosind o instrucțiune care are următoarea structură:

numele procedurii (lista parametrilor actuali);

Lista parametrilor actuali este indicată în paranteze (listarea acestora este separată prin „,”). Când este apelată o procedură, parametrii actuali acționează ca parametri formali, care se găsesc în același loc în antetul procedurii. Ca rezultat, parametrii de intrare sunt trecuți, apoi instrucțiunile părții executabile sunt executate și apoi returnate la blocul apelant.

O funcție în Pascal este numită într-un mod similar, dar este posibil să se apeleze o funcție în interiorul unei expresii, de exemplu. numele funcției poate fi în secțiunea de condiții a unei instrucțiuni if, în dreapta unei instrucțiuni de atribuire etc. Pentru a transmite valoarea de ieșire a unei funcții din partea executabilă blocului apelant, înainte de a reveni la blocul apelant, trebuie să scrieți comanda:

nume functie:=rezultat;

Când este nevoie să apelați o procedură și o funcție, ar trebui să vă ghidați după următoarele reguli

  1. număr de parametri formali = numărul de parametri reali;
  2. parametrii actuali și formali trebuie să aibă aceeași ordine și aceeași tip.

Nota. Numele parametrilor actuali și formali pot fi aceleași - acest lucru nu provoacă probleme, deoarece parametrii corespunzători vor fi în orice caz diferiți datorită faptului că sunt stocați în zone de memorie diferite.


Sfârșitul mesei. 2

TRUNC(X) ROUND(X) Izolați partea întreagă a unui număr Runda X la cel mai apropiat număr întreg real întreg
PRED(X) SUCC(X) Găsirea valorii precedente (în tipul său) Găsirea elementului următor (valoarea după X în tipul său ordinal) întreg, boolean sau caracter
ORD(X) Determinarea numărului ordinal al caracterului X dintr-un set de caractere sau tipul său enumerat simbolic întreg
CHR(X) Determinarea semnificației unui simbol prin numărul său de serie întreg simbolic
ODD(X) Funcție logică de paritate impară întreg logic
Frac(X) Int(X) Partea fracțională a unui număr Partea întreagă a unui număr real real

Tipuri întregi în Pascal ABC

Pascal ABC are trei tipuri standard de întregi: Byte, Integer și Word. Intervalul valorilor lor posibile depinde de reprezentarea internă a numărului, care poate ocupa unul, doi sau patru octeți. Tabelul 3 prezintă caracteristicile acestor tipuri întregi.

Tabelul 3

Clasificarea tipurilor întregi

Compilatorul Pascal ABC definește o valoare maximă de MAXINT pentru datele de tip INTEGER. În acest caz, următorul raport va fi valabil:

MAXINT<= K <= MAXINT

Variabilele de tipuri întregi sunt descrise în secțiunea descrieri VAR:

Var <имя переменной> : <целый тип>;

Unde<întreg tip> poate fi specificat ca octet, întreg sau cuvânt.

De exemplu:

VAR K : ÎNTREG;

eu, J : BYTE;

Pentru tipurile întregi sunt definite următoarele operații: adunare, scădere (au prioritate mai mică), înmulțire și împărțire - DIV, MOD. Funcțiile din Tabelul 4 sunt aplicabile pentru tipurile întregi Funcțiile TRUNC(X) și ROUND(X) cu un argument real produc de asemenea un rezultat întreg (vezi Tabelul 2). Funcțiile matematice standard, când li se oferă un argument întreg, returnează întotdeauna valori reale (vezi Tabelul 2).

Când utilizați proceduri și funcții cu parametri întregi, ar trebui să vă ghidați după regula „imbricare” a tipurilor, adică. Oriunde este folosit un tip WORD ca argument, poate fi folosit tipul BYTE. Pentru operațiile aritmetice, dacă operanzii sunt de diferite tipuri întregi, tipul rezultat are cardinalitatea maximă a intervalului, adică. Pentru tipurile de operanzi Byte și Word dintr-o expresie, tipul de rezultat va fi Word.

Tabelul 4

Proceduri și funcții încorporate pentru tipurile întregi

Tipuri reale

Spre deosebire de tipurile întregi, valorile tipurilor reale definesc un număr cu virgulă zecimală doar cu o anumită precizie, în funcție de reprezentarea internă a numărului. Un număr real este stocat în memoria computerului într-un format format din semn, mantisă și ordinea numărului. Se presupune că punctul zecimal este plasat înaintea cifrei din stânga (cea mai semnificativă) a mantisei (o astfel de mantise se numește normalizată). La efectuarea operațiunilor, punctul zecimal este deplasat prin înmulțirea mantisei cu E(simbol exponent) cu ordine.

De exemplu, scrieți un număr sub forma: <знак> <мантисса>E<порядок> corespunde reprezentării numerelor<зnak><мантисса>*10 < порядок > .

Pascal ABC folosește doar două tipuri reale - REAL și COMPLEX, ale căror caracteristici sunt prezentate în Tabelul 5.

Tabelul 5

Tipuri reale

Variabilele de tipuri reale sunt declarate în secțiunea de declarare a variabilelor din VAR, similar cu variabilele de tipuri întregi sub forma:

Var <переменная> : <вещественный тип>;

Unde<tip real> poate fi specificat doar Real sau Complex.

Pentru a lucra cu tipuri reale, sunt definite funcții standard: sin, cos, arctan, ln, exp, sqr, abs, sqrt (Tabelul 2), precum și funcțiile de tip real (Tabelul 6).

Tabelul 6

Funcții încorporate de tip real

În acest caz, operațiile +, -, *, / într-o expresie aritmetică dau un rezultat real dacă cel puțin unul dintre operanzi este real.




De exemplu: 11 div 5 = 2 10 div 3 = 3 2 div 3 = div 4 = div -5 = div 5 = div -5 = 3 10 mod 5 = 0 11 mod 5 = 1 10 mod 3 = 1 14 mod 5 = 4 17 mod - 5 = mod 5 = mod -5 = -2


0 și b>0 este adevărat: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Rețineți că operația mod poate fi folosită pentru a afla dacă un întreg este un multiplu al unui întreg " title=" Relația dintre operațiile div și mod Argumentele operațiilor div și mod sunt numere întregi. Pentru a>0 și b>0 este adevărat: A mod b = a – (a div b)*b (a div b) *b + (a mod b) = a Rețineți că operația mod poate fi folosită pentru a afla dacă un întreg este multiplu al unui întreg" class="link_thumb"> 6 !} Relația dintre operațiile div și mod Argumentele operațiilor div și mod sunt numere întregi. Pentru a>0 și b>0 este adevărat: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Rețineți că operația mod poate fi folosită pentru a găsi a afla dacă întregul a la întregul b. Și anume, a este un multiplu al lui b dacă și numai dacă a mod b = 0 0 și b>0 este adevărat: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Rețineți că operația mod poate fi folosită pentru a afla dacă un întreg este un multiplu al unui număr întreg „> 0 și b>0 este adevărat: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Rețineți că operația mod poate fi utilizată pentru a afla dacă un întreg este un multiplu a întregului b și anume, a este un multiplu al lui b dacă și numai dacă un mod b = 0"> 0 și b>0 este adevărat: A mod b = a – (a. div b)*b (a div b)*b + (a mod b) = a Rețineți că operația de mod poate fi folosită pentru a afla dacă un întreg este un multiplu al întregului" title="Relația dintre operațiile div și mod Argumentele operațiilor div și mod sunt numere întregi Pentru a>0 și b>0 este adevărat: A mod b = a – (a div b)*b (a div b)*b + (a. mod b) = a Rețineți că operația mod poate fi folosită pentru a afla dacă un întreg este multiplu al unui întreg"> title="Relația dintre operațiile div și mod Argumentele operațiilor div și mod sunt numere întregi. Pentru a>0 și b>0 este adevărat: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Rețineți că operația mod poate fi folosită pentru a găsi a afla dacă întreg ca întreg"> !}


Determinați numărul de scurgeri rămase dacă acestea au fost împărțite în 5 persoane scrieți (Numărul de scurgeri = "); readln (a); b:= a mod 5; writeln(Remaining, b, drain);


Operații relaționale Nu este egal cu Mai mic decât = Egal cu Mai mare decât = Mai mic sau egal cu Mai mare sau egal cu = Mai mic sau egal cu Mai mare sau egal cu"> = Mai mic sau egal cu Mai mare sau egal cu"> = Mai mic sau egal cu Mai mare sau egal cu" title="Operații relaționale Nu este egal cu Mai puțin decât = Egal cu Mai mare = Mai mic sau egal cu Mai mare sau egal cu"> title="Operații relaționale Nu este egal cu Mai mic decât = Egal cu Mai mare decât = Mai mic sau egal cu Mai mare sau egal cu"> !}






Calculați ipotenuza unui triunghi dreptunghic (lungimea catetelor - a și b) scrieți ("a="); readln(a); scrie ("b="); readln(b); c:= sqrt (sqr(a) + sqr(b)); writeln("c=", c:5:2);


Calculați modulul diferenței dintre numerele a și b scrieți ("a="); readln(a); scrie ("b="); readln(b); c:= abs (a - b); writeln("modul=", c);






Exponent și logaritm Exp (x) ln x (logaritm natural) Ln (x) e x (exponent număr, e) Exp (b*Ln (a)) ab ab










Exemple de utilizare a DIV și MOD: Operațiile DIV și MOD sunt adesea folosite pentru a analiza numere, de exemplu pentru a obține cifrele care alcătuiesc un număr. Sarcină: introduceți un număr din trei cifre de la tastatură. Determinați suma cifrelor sale și scoateți aceste cifre în ordine inversă.


Fie ca variabila a să conțină valoarea unui număr dat. Notăm cifrele numărului a astfel: i - numărul sutelor; j – numărul de zeci; k - numărul de unități; s este suma acestor numere. Programul MyNumber; UsesCrt; Var a, i, j, k, s: întreg; Începe clrscr; Writeln (Specificați un număr din 3 cifre); Readln(a); i:=a div 100; (numar de sute) j:=a div 10 mod 10; (zeci) k:=a mod 10; (numar de unitati) s:=i+j+k; Writeln(Suma cifrelor numărului,a,=,s); Scrieți (k, j, i); Readln; Sfârşit.


Funcții standard Funcția lui Pascal Notație matematică Nume Abs(x)|X||X| Valoarea absolută a numărului X (modul) Sqr(x)Х2Х2 Creșterea unui număr Exp(x)exex Exponent Sqrt (x) x Calcularea rădăcinii pătrate Exp(b*ln(a)) abab Creșterea unui număr Rotunjite (x) Rotunji la cel mai apropiat număr întreg Trunc (x) Decupează partea fracțională Sin(x)sinx Calculul sinusului Cos(x)сosx Calculul cosinusului



Răspunsuri 1.1.68 4.2.06 5.1.10 6.2.16 7.3.05 8.0.10


2. Se dă un număr din trei cifre. Primul număr din stânga a fost tăiat și adăugat la dreapta. Tipăriți numărul rezultat (De exemplu,) 3. Este dat un număr de trei cifre. Tipăriți numărul obținut prin rearanjarea cifrelor zecilor și unităților din numărul original. (De exemplu,)

Operații aritmetice ale limbajului Pascal ABC

STRUCTURA PROGRAMULUI. DESCRIEREA VARIABILLOR ÎN PASCAL ABC

Scopul lucrării Studiați structura programului. Stăpânește munca utilizatorului în descrierea variabilelor de diferite tipuri atunci când lucrează în mediul integrat PASCAL ABC 7.0.

SEMN EXPRESIE OPERAȚIUNE
+ A+B PLUS
_ A–B SCĂDERE
* A*B MULTIPLICARE
/ A/B DIVIZIA
DIV A div B TOATA DIVIZIUNEA
MOD Un mod B RĂMÂMUL UNEI ÎNTREAGĂ DIVIZIUNE
Funcţie Funcţie
Frac(x) Partea fracționată x
Int(x) Întregul
Ln(x) Logaritmul natural
Pi Valoarea constantă π
Abs(x) Valoarea absolută (modul de număr)
Arctan(x) Arctange x
Cos(x) Cosinus x
Exp(x) e - extindere
Aleatoriu Număr aleatoriu de la 0 la 1
Aleatoriu(n) Număr aleatoriu de la 0 la n
Impar(x) Adevărat dacă x este impar Fals dacă x este par
Sin(x) Sinus x – (în radiani)
Sqr(x) Piața Argumentului
Sqrt(x) Rădăcină pătrată
Trunc(x) Cel mai apropiat număr întreg care nu depășește argumentul modulo (taierea părții fracționale a numărului x)
Rotunzi (x) Rotunjiți la cel mai apropiat argument întreg

Sarcini 1

Calculați plățile lunare m pentru un împrumut de s ruble timp de n ani la dobândă p. Calculele se fac folosind formulele:

Tastați textul programului:

Fă-o singur:

1. Sunt date lungimile a trei laturi ale unui triunghi A , b , c . Calculați perimetrul și aria unui triunghi folosind formula lui Heron

2. Calculați valoarea expresiei folosind formula (toate variabilele iau valori reale):

1. Rulați programul și verificați funcționarea acestuia;

2. Vizualizați rezultatul programului;

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă ne-am grăbi pe undeva