Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Programe
  • Dezvoltarea unei lecții despre programarea algoritmilor liniari. Elaborarea unei lecții de programare a algoritmilor liniari Determinarea secundei k-a a zilei

Dezvoltarea unei lecții despre programarea algoritmilor liniari. Elaborarea unei lecții de programare a algoritmilor liniari Determinarea secundei k-a a zilei

Descrierea prezentării prin diapozitive individuale:

1 tobogan

Descriere slide:

Centrul de Studii Avansate „Centrul Regional Moscova pentru Educație pe Internet” „Programarea algoritmilor liniari în Pascal”

2 tobogan

Descriere slide:

Pentru a afișa rezultatele în Pascal, se folosește operatorul: Care dintre următoarele nu este inclusă în alfabetul limbajului Pascal? Literele minuscule și mari latine subliniază Ce secvență de caractere poate servi drept nume în limba Pascal? print begin readln NEXT Cuvinte funcționale rusești litere mici și majuscule _mas maS1 d2 2d _mas maS1 d2 2d NEXT scrie scrieți litere mici și mari în rusă

3 slide

Descriere slide:

Alegeți secțiunea corectă de declarare a variabilei Începutul programului Titlul programului Operatorul de ieșire Operația de atribuire Operatorul de intrare Sfârșitul programului Tipul valorilor întregi Tipul valorilor reale readln end program begin:= var întreg real writeln var begin:= program real writeln end readln

4 slide

Descriere slide:

Creați o diagramă bloc pentru adăugarea numerelor A+B introduse de la tastatură START Input A,B S=A+B OUTPUT S END program Summa; Sfârşit. Var a,b,S: întreg; începe S= a + b; writeln(‘S=‘, S); readln(a,b);

5 slide

Descriere slide:

Primul program: calculați circumferința și aria cercului dacă r=5,4 writeln("c =", c:6:4); writeln("s=", s:6:4) end. Rezultatul programului: write("Enter r>>"); readln(r); programul n_1; const pi=3,14; var r, c, s: real; începe r:=5,4; c:=2*pi*r; s:=pi*r*r; Program îmbunătățit Rezultatul programului: Turbo Pascal Versiunea 7.0 c =33.9120 s =91.5624 Turbo Pascal Uersion 7.0 Calculul circumferinței și ariei unui cerc Introduceți r>> 8.5 c =53.3800 s =226.8650

6 slide

Descriere slide:

Tipuri de date numerice Funcții standard Pascal: Funcție Scop Tip argument Tip rezultat abs(x) Modulex întreg, real La fel ca argumentul sqr(x) Squarex întreg, real La fel ca argumentul sqrt(x) Rădăcina pătrată a x întreg , real real rotund(x) Rotunjirea la cel mai apropiat număr întreg real frac(x) Întreger partx real int(x) Fracționar partx real aleator Număr aleatoriu de la 0 la 1 - real aleator(x) Număr aleatoriu de la 0 la x întreg întreg

7 slide

Descriere slide:

Operații div și programul mod n_4; var x, a, b, c, s: întreg; begin writeln("Găsirea sumei cifrelor unui număr de trei cifre"); write("Introduceți numărul inițial>>"); readln(x); a:=x div 100; b:=x mod 100 div 10; c:=x mod 10; s:=a+b+c; writeln("s= ", s) end. Un număr din trei cifre poate fi reprezentat ca următoarea sumă: x = a·100 + b·10 + c, unde a, b, c sunt cifrele numărului. Un program pentru găsirea sumei cifrelor unui număr întreg de trei cifre introdus de la tastatură.

8 slide

Descriere slide:

Tipuri de date cu caractere și șiruri Funcția ord convertește o literă în codul său numeric. Simbolurile sunt toate literele și pictogramele care se află pe tastatură. Pentru a introduce variabile caracter într-un program, trebuie să specificați tipul de date caracter pentru acestea. Funcția chr convertește codul numeric al unui caracter în caracterul însuși. Valoarea unei valori șir (tip șir) este o secvență arbitrară de caractere închise în apostrofe. W chr 87 ord W % 37 % 4 52 4 S 83 S var c: șir c:= chr(52)+chr(37) cu 4%

Slide 9

Descriere slide:

Tipuri de date caractere și șiruri program n_5; var a: char; cod: întreg; b: șir; begin writeln ("Cod și linie"); write("Introduceți litera inițială>>"); readln(a); kod:=ord(a); b:=chr(kod–1)+a+chr(kod+1); writeln("Cod literă", a, "-", kod); writeln("Linie: ", b) final. Afișarea codului unei litere introduse de la tastatură Afișarea unui șir de trei litere pe ecran. Care?

10 diapozitive

Descriere slide:

Explorarea funcțiilor round, int și frac Executați programul de mai multe ori pentru x (10.2; 10.8; –10.2; –10.8). Care va fi tipul de rezultat al fiecăreia dintre aceste funcții? programul n_3; var x: real; begin writeln("Exploarea funcțiilor round, int, frac"); scrie ("Introduceti x>>"); readln(x); writeln("Rotunjire - ", rotunjire(x)); writeln("Partea intreaga - ", int(x)); writeln("Partea fracțională - ", frac(x)) final. ?

11 diapozitiv

Descriere slide:

START Intrare x1,x2,y1,y2 IEȘIRE S END Lungime program; Sfârşit. var x1,x2,y1,y2: întreg; începe d=sqrt(sqr(x2-x1))+sqrt(y2-y1)); writeln(‘d=‘, d); scrie ("INTRODUCE COORDONATA X1= "); readln(X1); scrie ("INTRODUCE COORDONATA Y1= "); readln(Y1); scrie ("INTRODUCE COORDONATA X2= "); readln(X2); scrie ("INTRODUCE COORDONATA Y2= "); readln(Y2);

12 slide

Descriere slide:

Întrebări și sarcini Pentru un x dat, calculați y folosind formula y = x3 + 2,5x2 – x +1. În acest caz: a) este interzisă operația de exponențiere; b) într-un operator de atribuire nu se poate folosi mai mult de o operație aritmetică (adunare, înmulțire, scădere); c) într-un program nu pot fi utilizați mai mult de cinci operatori de atribuire. Sugestie: convertiți expresia în: y =((x + 2,5)x –1)x +1. Folosind coordonatele date ale punctelor A și B, calculați lungimea segmentului AB. Lungimile laturilor triunghiului a, b, c sunt cunoscute. Scrieți un program pentru a calcula aria acestui triunghi. Sunt cunoscute coordonatele vârfurilor A, B, C ale triunghiului. Scrieți un program pentru a calcula aria acestui triunghi. Dacă valoarea impozitului este calculată în ruble și copeici, atunci serviciul fiscal o rotunjește la cea mai apropiată rublă (până la 50 de copeici - cu deficit, peste 50 de copeici (inclusiv 50) - cu un excedent). Utilizați computerul pentru a introduce suma exactă a taxei și pentru a afișa cât datorați. Explorați funcționarea funcției aleatoare rulând programul în mod repetat: programul n_8; var x, n: întreg; begin writeln("Exploarea funcției aleatoare"); randomize (*pentru a genera numere aleatoare diferite de fiecare dată când programul este rulat*); scrie ("Introduceti x>>"); readln(x); scrie ("Introduceți n>>"); readln(n); writeln("aleatoriu(", x, ")=", aleatoriu(x)); writeln("aleatoriu(", x, ")+", n, "=", aleatoriu(x)+n) final. Cum poți obține un număr aleatoriu din intervalul (0; x)? Cum puteți obține un număr aleator din intervalul (0; x]? Cum puteți obține un număr aleator din intervalul (n; x + n)? O companie a emis bilete de loterie de trei categorii: pentru tineri, pentru adulți și pentru vârstnici.Numerele biletelor pentru fiecare categorie sunt în intervalul: pentru tineri - de la 1 la 100; pentru adulți - de la 101 la 200; pentru bătrâni - de la 201 la 250. Folosind un computer, selectați aleatoriu un bilet de loterie în fiecare cifră.Scrieți un program în Pascal care, pentru un număr arbitrar de două cifre determină: a) suma și produsul cifrelor sale; b) un număr format prin rearanjarea cifrelor numărului inițial. Scrieți un program în Pascal care calculează suma codurilor de litere din cuvântul BYTE. Scrieți un program în Pascal care afișează un șir de caractere ale căror coduri sunt 66, 69, 71, 73, 78. Dezvoltați un program care solicită trei valori de șir - adjectivul, substantiv și verbul interconectați, apoi tipăriți toate variantele de fraze folosind cuvintele introduse. Valorile variabilelor întregi sunt date: a = 10, b = 20. Care va fi valoarea variabilei logice rez după operația de atribuire? a) rez:=(a=10) sau (b>10) b) rez:=(a>5) și (b>5) și (a<20) and (b<30) в) rez:=((not(a<15)) or (b>20) Scrieți un program care introduce adevărat dacă enunțul este adevărat, iar fals în caz contrar: a) suma cifrelor unui număr de trei cifre x este un număr par; b) un triunghi cu laturile a, b, c este scalen. Trece a doua secundă a zilei. Elaborați un program care, pe baza celei de-a k secunde a zilei introduse, determină câte ore întregi h și minute întregi m au trecut de la începutul zilei. De exemplu, dacă k = 13257 = 3 x 3600 + 40 x 60 + 57, atunci h = 3 și m = 40. Afișați expresia: Este ... ore ... minute. În loc de elipse, programul ar trebui să imprime valorile lui h și m, separându-le de cuvinte cu exact un spațiu. Scrieți un program în Pascal care implementează algoritmul pentru ca casierul să ofere clientului schimbare(e) în cel mai mic număr de bancnote de 500 (k500), 100 (k100), 50 (k50) și 10 (k10) ruble. Exemplu de date de intrare Exemplu de date de ieșire xa=2 ya=1 xb= 10 yb= 7 | AB | = 10,0 Exemplu de date de intrare Exemplu de date de ieșire a =3 b =4 c=5 s = 6,0 Exemplu de date de intrare Exemplu de date de ieșire xa = 2 ya = 1 xb = 6 yb = 5 xc = 10 yc = 1 s = 16,0 Exemplu de date de intrare Exemplu de date de ieșire 845 De predat: bancnote de 500 de ruble. - 1 BUC. bancnote de 100 de ruble. - 3 buc. bancnote de 50 de ruble. – 0 buc. bancnote de 10 ruble - 4 lucruri. Exemplu de date de intrare Exemplu de date de ieșire VERDE FRUNZE VERZI SUFLITĂ FRUNZE VERZI SUFFLĂ VERZI FRUNZE SUFLĂTĂ VERDE FRUNZE SUFLĂ VERDE SUFLINĂ VERZI FRUNZE SUFLINĂ ELENNY Exemplu de date de intrare Exemplu de date de ieșire Este de 13 325 ore.

| § 3.3. Programare cu algoritm liniar

Lecția 26
§ 3.3. Programare cu algoritm liniar

Cuvinte cheie:

Tip de date reale
tipul de date întreg
tip de date caracter
tipul de date șir
tip de date boolean

Programele care implementează algoritmi liniari sunt cele mai simple. Toți operatorii pe care îi conțin sunt executați secvențial, unul după altul.

Când programăm algoritmi liniari, vom lua în considerare mai detaliat tipurile de date întregi, logice, caractere și șir.

3.3.1. Tipuri de date numerice

Sunteți deja familiarizat cu tipurile de date numerice de bază întregȘi real. Li se aplică funcții standard, dintre care unele sunt date în tabel. 3.3.

Tabelul 3.3

Funcții Pascal standard

Să explorăm cum funcționează funcțiile rundă, intȘi fraс, aplicându-le unor reale X. Programul corespunzător va arăta astfel:

Rulați programul de mai multe ori pentru fiecare x ∈ (10,2; 10,8; -10,2; -10,8). Ce ne puteți spune despre tipul de rezultat al fiecăreia dintre aceste funcții?

3.3.2. Tipul de date întreg

Pe numere întregi în limbajul Pascal se efectuează următoarele operații: adunarea (+), scăderea (-), înmulțirea (*), obținerea unui coeficient întreg (div), obținerea unui rest întreg (mod) și împărțirea (/). Rezultatele primelor cinci operații sunt numere întregi. Rezultatul unei operații de împărțire poate fi un număr real.

Să luăm în considerare un exemplu de utilizare a operațiunilor div și mod prin scrierea unui program în Pascal pentru a găsi suma cifrelor unui număr natural de trei cifre introdus de la tastatură.

Folosim faptul că un număr pozitiv din trei cifre poate fi reprezentat ca următoarea sumă: x - a*100 + 6*10 + c, unde a, b, c sunt cifrele numărului.

Care este suma cifrelor numărului 123? Și numerele -123? Rezultatele dvs. se potrivesc cu rezultatele programului? Cum poate fi explicată și corectată o eroare dintr-un program?

3.3.3. Tipuri de date caractere și șiruri

Valoarea unei valori de caracter (tip char) în limbajul Pascal este oricare dintre caracterele care pot fi obținute pe ecran apăsând una dintre taste sau o combinație de taste de pe tastatură, precum și alte caractere, inclusiv cele invizibile. . Setul de astfel de simboluri este format din 256 de elemente, fiecăruia dintre acestea, conform tabelului de coduri utilizat, i se atribuie un cod - un număr de la 0 la 255.

Simbolurile corespunzătoare primelor 32 de coduri sunt cele de control, iar restul sunt reprezentate. Caracterele afișate includ și un spațiu, cod 32.

Semnele de punctuație, semnele operațiilor aritmetice, cifrele, literele latine mari și mici corespund codurilor de la 33 la 127. Literele alfabetului național corespund codurilor cu numerele de la 128 în continuare.

În textul programului, o constantă de tip de caracter poate fi specificată prin includerea oricărui caracter reprezentat în apostrofe: „5”, „B”, „*”.

Dacă valoarea unei variabile caracter este citită de la tastatură, atunci aceasta ar trebui introdusă fără apostrofe.

Pentru a găsi codul simbolului, utilizați funcția ord, unde simbolul este specificat ca parametru.

Pentru a recunoaște un simbol după cod, utilizați funcția chr, unde codul simbol este specificat ca parametru.

Valoarea unei valori șir (tip șir) este o secvență arbitrară de caractere închise în apostrofe. În Pascal (ca și într-un limbaj algoritmic), șirurile pot fi concatenate.

Exemplu. Să scriem un program în Pascal în care, pentru o literă introdusă de la tastatură, codul acesteia este afișat pe ecran. Apoi, pe ecran este afișată o linie, care este o secvență de trei litere din tabelul de coduri folosit: litera care precedă cea originală; scrisoarea originală; literele care urmează celei originale.


3.3.4, tip de date boolean

După cum știți, valorile de tip logic iau doar două valori; în Pascal este falsȘi Adevărat. Aceste constante sunt definite astfel încât false< true.

Valorile booleene se obțin prin efectuarea de operații de comparare pe expresii numerice, caractere, șir și logice. Prin urmare, în Pascal, unei variabile logice i se poate atribui rezultatul unei operații de comparare.

Exemplu. Să scriem un program care determină adevărul afirmației „Numărul n este par” pentru un întreg arbitrar n.

Lăsa ans este o variabilă booleană, iar n este o variabilă întreagă. Apoi, ca urmare a executării operatorului de atribuire

răspuns:=n mod 2 = 0

variabil ans i se va atribui valoarea Adevărat pentru orice n chiar și fals in caz contrar.

Variabilelor logice li se pot atribui valorile expresiilor logice construite folosind funcțiile logice pe care le cunoașteți și, sau, nu, care în Pascal sunt notate corespunzător și, sau, nu.

Exemplu. Să scriem un program care determină adevărul afirmației „Un triunghi cu lungimile laturilor a, b, c este isoscel” pentru numere întregi arbitrare a, b, c.


CEL MAI IMPORTANT

Limbajul Pascal folosește tipuri de date reale, întregi, caractere, șir, logice și alte tipuri de date. Operațiunile și funcțiile corespunzătoare sunt definite pentru acestea.

Întrebări și sarcini

1. Citiți materialele de prezentare pentru paragraful conținute în anexa electronică la manual. Utilizați aceste materiale atunci când pregătiți răspunsurile la întrebări și finalizați temele.

2. Pentru un x dat, calculați y folosind formula y = x 3 + 2,5x 2 - x + 1.

în care:

a) este interzisă operațiunea de exponențiere;
b) într-un operator de atribuire nu se poate folosi mai mult de o operație aritmetică (adunare, înmulțire, scădere);
c) într-un program nu pot fi utilizați mai mult de cinci operatori de atribuire.

Cheie : Convertiți expresia în următoarea formă: y = ((x + 2,5)x - 1)x + 1.

3. La coordonatele date ale punctelor A şi. Calculați lungimea segmentului AB.

Cheie . Distanța d dintre punctele A (x a, y a) și B (x b, y b) se exprimă prin formula.

4. Se cunosc lungimile laturilor triunghiului a, b, c. Scrieți un program pentru a calcula aria acestui triunghi.

5. Sunt cunoscute coordonatele vârfurilor A, B, C ale triunghiului. Scrieți un program pentru a calcula aria acestui triunghi.

6. Dacă valoarea impozitului este calculată în ruble și copeici, atunci serviciul fiscal o rotunjește la cea mai apropiată rublă (până la 50 de copeici - cu o deficiență, peste 50 de copeici (inclusiv 50) - cu un exces). Utilizați computerul pentru a introduce suma exactă a taxei și pentru a afișa cât datorați.

7. Explorați funcționarea funcției aleatoare rulând programul de mai multe ori:

Cum poți obține un număr aleatoriu din intervalul (0, x)?

Cum poți obține un număr aleatoriu din intervalul (0, x]?

Cum poți obține un număr aleatoriu din intervalul (n, x + n)?

8. O firmă a emis trei categorii de bilete de loterie: pentru tineri, pentru adulți și pentru pensionari. Numerele biletelor pentru fiecare categorie variază de la:

pentru tineri - de la 1 la 100;
pentru adulți - de la 101 la 200;
pentru pensionari - de la 201 la 250.

Folosind un computer, selectați aleatoriu un bilet de loterie din fiecare categorie.

9. Scrieți un program în Pascal care, pentru un număr natural arbitrar de două cifre, determină:

a) suma și produsul cifrelor sale;
b) un număr format prin rearanjarea cifrelor numărului inițial.

10. Scrieți un program în Pascal care implementează algoritmul pentru un casier care oferă clientului schimb(e) cu cel mai mic număr posibil de bancnote de 500 (k500), 100 (klOO), 50 (k50) și 10 (klO) ruble .

11. Venind k-a doua a zilei. Dezvoltați un program care, pe baza intrării k A doua a zilei determină câte ore întregi hși minute întregi m a trecut de la începutul zilei. De exemplu, dacă k= 13 257 = 3 3600 + 40 60 + 57, atunci h= 3 și m = 40.

Afișează fraza:

Sunt... ore... minute

.

În loc de elipse, programul ar trebui să scoată valori de zumzet, separându-le de cuvinte cu exact un spațiu.

12. Scrieți un program în Pascal care calculează suma codurilor de litere din cuvântul „BYTE”.

13. Scrieți un program în Pascal care generează și afișează un șir de caractere ale căror coduri sunt 66, 69, 71, 73, 78.

14. Elaborați un program care solicită trei valori de șir - adjectivul, substantiv și verbul aferent - și apoi imprimă toate frazele posibile folosind cuvintele introduse.

15. Sunt date valorile variabilelor întregi: a = 10, b = 20. Care va fi valoarea variabilei logice? rez dupa efectuarea operatiunii de atribuire?

a)rez:=(a=10) sau (b>10)
b)rez: = (a>5) și (b>5) și (a<20) and (b<30)
c)rez: = (nu(a<15)) or (b>20)

16. Scrieți un program care intră Adevărat, dacă afirmația este adevărată și fals in caz contrar:
a) suma cifrelor unui număr de trei cifre X este un număr par;
b) un triunghi cu laturile a, b, c este versatil.

calculati

Sarcina 2 (programul 1_2)

    Este k secunda a zilei. Determinați câte ore întregi (h) și minute întregi (m) și secunde (s) au trecut până la acest moment.

    Determinați aria unui trapez cu bazele a, b, înălțimea h și volumul unui trunchi de con, dacă considerăm că a, b sunt ariile bazelor.

3. Determinați coordonatele centrului de greutate a trei puncte materiale cu mase m 1,m 2,m 3 și coordonatele (x 1,y 1), (x 2,y 2), (x 3,y 3).

4. Calculați volumul mingii și aria cercului pentru o rază R dată și găsiți relația dintre ele.

5. Calculați medianele triunghiului laturilor date a, b, c.

6. Calculați aria suprafeței și volumul conului având în vedere razele și înălțimea h.

7. Folosind o rază dată, găsiți volumul mingii și aria suprafeței.

8. Calculați secunda zilei când mâinile sunt la h ore, m minute și s secunde, precum și unghiul (în grade) dintre poziția acelui orelor de la începutul zilei și poziția sa la intervalul specificat moment.

9. Introduceți un număr întreg de două cifre x<15. Написать программу перевода его в восьмеричную систему счисления.

10. Introduceți coordonatele a două puncte (x 1, y 1), (x 2, y 2). Găsiți distanța dintre ele.

Laboratorul 2

Programarea algoritmilor ramificati. Operatori de transfer de control

Structura operatorului de transfer de control condiționat:

dacă (<выражение>) <оператор 1> altfel <оператор 2>;

(Dacă) (altfel) - cuvinte cheie,

Unde<условие>este o expresie booleană arbitrară care poate lua două valori: adevărat (ADEVĂRAT) și fals (FALSE);

<оператор>- orice operator SI se termină cu punct și virgulă.

Forma scurtă a enunțului condiționat:

dacă (<выражение>) <оператор>;

Operator de salt necondiționat: mergi la <идентификатор-метка>;

Eticheta este un identificator. Eticheta este plasată înaintea instrucțiunii C/C++ la care vă ramificați și este separată de două puncte (:).

Exemplul 1. Creați un program pentru calcularea salariului de bază conform următoarei reguli: dacă experiența de muncă a angajatului este mai mică de trei ani, atunci salariul este de 100 USD, cu experiență de lucru de la trei la 5 ani - 150 USD, peste 5 ani salariul crește în fiecare an cu 10 USD și cu peste 20 de ani de experiență, este de 300 USD.

Pentru a programa soluția acestei probleme, definim formularea matematică a problemei:

100 dacă ST< 3;

ZP= 150, dacă 3 ≤ST  5;

150+ (ST -5)*10 dacă 5< ST≤ 20;

300 dacă ST > 20;

#include

#include

void main()

( int ST; //ST- experiență (octet (întreg) tip fără semn)

plutitor ZP; //ZP- salariu (tip flotant)

printf("\nIntroduceți experiența");

scanf("%d",&ST);

dacă (ST<3) ZP = 100;

altfel dacă (ST<5) ZP = 150;

altfel dacă (ST>=20) ZP=300;

altfel ZP=150+(ST-5)*10;

printf("\nSalariu = %10.2f$\n",ZP);

Operator de selecție intrerupator permite, in functie de valoarea unei variabile sau expresii (tasta de selectie), executarea anumitor operatori marcati cu constantele corespunzatoare.

Structura operatorului:

intrerupator (<выражение>)

caz<константа 1>: <группа операторов 1>;

caz<константа 2>: <группа операторов 2>;

caz<константа N>: <группа операторов N>

Mod implicit: <операторы>;

}

Unde<выражение>-expresie (variabilă) de orice tip ordinal;

<константа>- constantă de același tip ca<выражение>;

<оператор>- operator C/C++ arbitrar.

Exemplul 2. Tipăriți numele formei în funcție de numărul de unghiuri (triunghi, patrulater, pentagon, hexagon, poligon).

O variantă de implementare a sarcinii folosind operatorul de selecție este reprezentată de SA (Fig. 2, b) și următorul program:

#include

#include

void main()

{

int T; // T – numărul de unghiuri

clrscr(); // șterge ecranul

printf("Introduceti numarul de unghiuri");

scanf("%d",&T);

comutator (T)

cazul 1: cazul 2: printf("Aceasta nu este o cifră\n"); pauză;

caz 3: printf ("Cu %d unghiuri - un triunghi\n ", T); pauză;

caz 4: printf ("Cu %d colturi - un patrulater\n ", T); pauză;

caz 5: printf("Cu %d colturi - pentagon\n ", T); pauză;

caz 6: printf("Cu %d colțuri - hexagon\n ", T); pauză;

Mod implicit : printf("Cu %d unghiuri - poligon\n ", T);

Exercitiul 1 (programul 2_1)

Calculați valoarea funcției în funcție de intervalul în care se încadrează argumentul introdus de la tastatură:

1. Pentru , a t 2 ln t la 1
,

unde a=-0,5,b=2 z = 1 la t<1,

e a t cos b t pentru t>2,

2. Pentru x ,
la x2,

unde a=2,3 f = x la 0,3< x  2,

cos(x-a) la x
,

3.Pentru x , (a+b)/(e x +cosx) la 0  x2,3,

unde a=-2,7,b=-0,27 z = (a+b)/(x+1) la 2,3 x5,

e x +sinx la 7
,

4.Pentru i , a i 4 + b i la i< 10,

unde a=2,2,b=0,3. y = tan(i + 0,5) la i = 10,

e 2i +
pentru i >10,

5. Pentru x , x 2 - 7/x 2 la x<1.3,

unde a=1,5 y = ax 3 + 7
la 1,3  x3,

lg(x + 7
) la x
,

6. Pentru [-1.4],
la or<0.1,

unde a=2,1,b=0,37. z = la + b la 0,1 t 2,

la or
,

7. Pentru x , a e sin x +2,5 la x<0.3,

unde a=1,5. y = e cos x + a la 0,3 x<4,

(sin x)/ (a + e x) la x  4,

8. Pentru x , y = a/x + b x 2 - c la x
,

unde a=1,8,b=-0,5, c=3,5 (a + bx)/
la x>1,2,

9.Pentru t , t
la t>a,

unde a=2,5 z = t sin a t la t=a,

e -at cos a t la t

10. Pentru x , e - bx sin b x la x<2.3,

unde a=1,b=3. y= cos bx la 2,3
,

e -ax cos b x la x

11.Pentru t , a t 2 – b
la or

unde a=1,3,b=6,5 z= a - b la a

a t 2/3 -
la t>b,

12. Pentru x , |e -2x sin bx| pentru x >1,

unde b=-2,9 y = cos bx la x = 1,

e -x cos bx la x< 1,

13. Pentru x sin (cos a x) pentru x >1,

unde a=-0,8 z = tan ax la x = 1,

a 2 x la x< 1,

14. Pentru x , ln bx - 1/(bx+1) la x< 1.3,

unde b=1,3. y = bx + 1 la 1,3  x  1,7,

ln bx +1/(bx+1) pentru x > 1,7,

15. Pentru x [-1,1], ax 2 +bx 2/3 la x<0.1,

unde a=2,5,b=-0,9. z= a x 2 la x=0,1,

b x 2/3 la x>0,1.

16. Introduceți coordonatele punctului (x, y). Imprimați în ce cadran sau axa de coordonate se află acest punct.

17. Introduceți razele R 1, R 2 și înălțimea. Calculați volumul unui trunchi de con:
, unde S este aria bazelor. Dacă R 1 = R 2 - volumul și aria cilindrului, dacă R 1 = 0 sau R 2 = 0 - volumul (hπr 2) și aria πr(
) suprafaţa conului.

18. Introduceți un număr de la tastatură. Determinați cărui sistem numeric poate aparține.

19. Introduceți un număr. Determinați dacă este divizibil cu doi, trei sau cinci.

20. Introduceți a, b, h. Dacă h=0, calculați aria dreptunghiului; pentru a = b, găsiți aria pătratului; în caz contrar, calculați aria trapezului.

Sarcina 2 (programul 2_2)

1. Determinați restul împărțirii cu opt a numărului introdus x și scrieți cifra octală în cuvinte.

2. Pe baza numărului introdus de la tastatură, introduceți numele acestui număr.

3. Introduceți numărul k (1..30) de la tastatură. Stabiliți cărei zile din săptămână îi corespunde dacă primul număr este luni.

4. Introduceți data și numărul lunii. Introduceți data în cuvinte.

5. Trece k secunda a zilei. Calculați câte ore și minute întregi au trecut în acest moment, în timp ce sunteți de acord cu sensul cuvântului (oră, ore, ore, minut, minute, minute).

6. În funcție de numărul (N) al tipului de figură, organizați introducerea datelor necesare și calculați pentru N = 1 - aria cercului, N = 2 - volumul mingii (4/3πR 3), N = 3 - volumul cilindrului, N = 4 - aria suprafeței sferei este 4πr 2.

7. Introduceți numărul N (0 ≤ N ≤ 15). Determinați și imprimați cifra hexazecimală corespunzătoare acesteia.

8. Pentru întregul K (1...99), tipăriți expresia „Am K ani”; pentru anumite valori ale lui K, înlocuiți cuvântul „ani” cu cuvântul „an” sau „ani” .

9. În funcție de numărul (N) al tipului de figură, organizați introducerea datelor necesare și calculați pentru N = 1 - aria dreptunghiului, pentru N = 2 - aria paralelogramului, pentru N = 3 - aria trapezului 1/2(a+b)h . În acest din urmă caz, imprimați dacă trapezul este un paralelogram sau un romb.

10. Convertiți numărul 0 ≤ x ≤ 31 în sistem numeric hexazecimal.

11. Tipăriți în cuvinte restul oricărui număr întreg împărțit la cinci.

12. Folosind numărul introdus, imprimați culoarea dorită în curcubeu.

13. Proiectați un program care să arate că, dacă suma cifrelor unui număr de două cifre este un multiplu de trei, atunci numărul în sine este divizibil cu trei fără rest.

14. Elaborați un program care demonstrează că pătratul unui număr de două cifre k5 (ultima cifră este 5) este egal cu k * ( k + 1) * 100 + 25 (adică poate fi obținut prin înmulțirea cifrei de început k la următorul în ordine și adăugați „25”). De exemplu, 35 * 11 = 3*4*100 + 25.

Pentru sarcina 2, numărul opțiunii este determinat de restul împărțirii opțiunii individuale la numărul 12.

Laboratorul 3

Cuvinte cheie:

  • tip de date reale
  • tipul de date întreg
  • tip de date caracter
  • tipul de date șir
  • tip de date boolean

Programele care implementează algoritmi liniari sunt cele mai simple. Toți operatorii pe care îi conțin sunt executați secvențial, unul după altul.

Când programăm algoritmi liniari, vom lua în considerare mai detaliat tipurile de date întregi, logice, caractere și șir.

4.4.1. Tipuri de date numerice

Sunteți deja familiarizat cu tipurile de date numerice de bază întreg și real. Li se aplică funcții standard, dintre care unele sunt date în tabel. 4.2.

Tabelul 4.2
Funcții Pascal standard


Să explorăm funcționarea funcțiilor round, int și frac aplicându-le la un x real. Programul corespunzător va arăta astfel:

Rulați programul de mai multe ori pentru x=(10,2; 10,8; -10,2; -10,8). Ce ne puteți spune despre tipul de rezultat al fiecăreia dintre aceste funcții?

4.4.2. Tipul de date întreg

Pe numere întregi în limbajul Pascal se efectuează următoarele operații: adunarea (+), scăderea (-), înmulțirea (*), obținerea unui coeficient întreg (div), obținerea unui rest întreg (mod) și împărțirea (/). Rezultatele primelor cinci operații sunt numere întregi. Rezultatul unei operații de împărțire poate fi un număr real.

Să luăm în considerare un exemplu de utilizare a operațiunilor div și mod prin scrierea unui program în Pascal pentru a găsi suma cifrelor unui număr întreg de trei cifre introdus de la tastatură.

Folosim faptul că un număr de trei cifre poate fi reprezentat ca următoarea sumă: x = a 100 + b 10 + c, unde a, b, c sunt cifrele numărului.

4.4.3. Tipuri de date caractere și șiruri

Valoarea unei valori de caracter (tip char) în limbajul Pascal este oricare dintre caracterele care pot fi obținute pe ecran apăsând una dintre taste sau o combinație de taste, precum și alte caractere, inclusiv cele invizibile. Setul de astfel de simboluri este format din 256 de elemente, fiecăruia dintre acestea, în conformitate cu tabelul de coduri utilizat, i se atribuie un cod - un număr de la 0 la 255.

Simbolurile corespunzătoare primelor 32 de coduri sunt cele de control, iar restul sunt reprezentate. Caracterele afișate includ și un spațiu, cod 32.

Semnele de punctuație, semnele operațiilor aritmetice, cifrele, literele latine mari și mici corespund codurilor de la 33 la 127. Literele alfabetului național corespund codurilor cu numerele de la 128 în continuare.

În textul programului, o constantă de tip de caracter poate fi specificată prin includerea oricărui caracter reprezentat în apostrofe: „5”, „B”, „*”.

Dacă valoarea unei variabile caracter este citită de la tastatură, atunci aceasta ar trebui introdusă fără apostrofe.

Pentru a găsi codul simbolului, utilizați funcția ord, unde simbolul este specificat ca parametru.

Pentru a recunoaște un simbol după cod, utilizați funcția chr, unde codul simbol este specificat ca parametru.

Valoarea unei valori șir (tip șir) este o secvență arbitrară de caractere închise în apostrofe. În Pascal (ca și într-un limbaj algoritmic), șirurile pot fi concatenate.

Exemplu. Să scriem un program în Pascal în care, pentru o literă introdusă de la tastatură, codul acesteia este afișat pe ecran. Apoi, pe ecran este afișată o linie, care este o secvență de trei litere din tabelul de coduri folosit: litera care precedă cea originală; scrisoarea originală; literele care urmează celei originale.

4.4.4. Tipul de date boolean

După cum știți, valorile de tip logic iau doar două valori; în Pascal acestea sunt false și adevărate. Aceste constante sunt definite astfel încât false< true.

Valorile booleene se obțin prin efectuarea de operații de comparare pe expresii numerice, caractere, șir și logice. Prin urmare, în Pascal, unei variabile logice i se poate atribui rezultatul unei operații de comparare.

Exemplu. Să scriem un program care determină adevărul afirmației „Numărul n este par” pentru un întreg arbitrar n.

Fie ans o variabilă booleană și n o variabilă întreagă. Apoi, ca urmare a executării operatorului de atribuire

variabilei ans i se va atribui valoarea true pentru orice n par și false în caz contrar.


Variabilelor logice li se pot atribui valorile expresiilor logice construite folosind funcțiile logice pe care le cunoașteți și, sau, nu, care în Pascal sunt notate respectiv și, sau, nu.

Exemplu. Să scriem un program care determină adevărul afirmației „Un triunghi cu lungimile laturilor a, b, c este isoscel” pentru numere întregi arbitrare a, b, c.

Cel mai important

Limbajul Pascal folosește tipuri de date reale, întregi, caractere, șir, logice și alte tipuri de date. Operațiunile și funcțiile corespunzătoare sunt definite pentru acestea.

Întrebări și sarcini


Cele mai bune articole pe această temă