Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Programet
  • Zhvillimi i një programimi mësimor të algoritmeve lineare. Zhvillimi i një programimi mësimor të algoritmeve lineare Shkon k i dytë i ditës për të përcaktuar

Zhvillimi i një programimi mësimor të algoritmeve lineare. Zhvillimi i një programimi mësimor të algoritmeve lineare Shkon k i dytë i ditës për të përcaktuar

Përshkrimi i prezantimit në sllajde individuale:

1 rrëshqitje

Përshkrimi i rrëshqitjes:

Qendra për Studime të Avancuara "Qendra Rajonale e Moskës për Edukimin në Internet" "Programimi i algoritmeve lineare në Pascal"

2 rrëshqitje

Përshkrimi i rrëshqitjes:

Për të shfaqur rezultatet në Pascal, përdoret operatori: Cila nga të mëposhtmet nuk përfshihet në alfabetin Pascal? Shkronjat latine të vogla dhe të mëdha nënvizojnë Çfarë sekuence karakteresh mund të përdoren si emër në Pascal? print fillo lexoln TJETËR fjalë ndihmëse Rusisht shkronja të vogla dhe të mëdha _mas maS1 d2 2d _mas maS1 d2 2d NEXT shkruaj shkruaj rusisht shkronja të vogla dhe të mëdha

3 rrëshqitje

Përshkrimi i rrëshqitjes:

Zgjidhni seksionin e Deklarimit të ndryshores së djathtë Programi Fillimi i programit Kreu i programit Deklarata dalëse Detyra Deklarata hyrëse e operatorit Fundi i programit Lloji i numrave të plotë Lloji i vlerave reale lexohet programi në fund:= var numër i plotë real writeln var fillon:= programi i vërtetë shkruani përfundon readln

4 rrëshqitje

Përshkrimi i rrëshqitjes:

Bëni një bllok diagram për shtimin e numrave A + B, të futur nga tastiera START Hyrja A, B S \u003d A + B OUTPUT S END Programi Përmbledhja; fund. Var a,b,S: numër i plotë; fillon S= a + b; writeln('S=', S); readln(a,b);

5 rrëshqitje

Përshkrimi i rrëshqitjes:

Programi i parë: llogarit perimetrin dhe sipërfaqen e një rrethi nëse r=5,4 writeln("c=", c:6:4); writeln("s=", s:6:4) fund. Rezultati i programit: shkruani("Enter r>>"); readln(r); programi n_1; konst pi=3.14; var r, c, s: real; fillimi r:=5.4; c:=2*pi*r; s:=pi*r*r; Programi i përmirësuar Rezultati i ekzekutimit të programit: Turbo Pascal Version 7.0 c =33.9120 s =91.5624 Turbo Pascal Uersion 7.0 Llogaritja e perimetrit dhe sipërfaqes së një rrethi Futni r>> 8.5 c =53.3800 s =226.8650

6 rrëshqitje

Përshkrimi i rrëshqitjes:

Llojet numerike të të dhënave Funksionet standarde të Paskalit: Funksioni Qëllimi Lloji i argumentit Lloji i rezultatit abs(x) Numri i plotë modulx, real Njësoj si sqr(x) argumenti Squarex i plotë, real Njëlloj si argumenti sqrt(x) Rrënja katrore ex numër i plotë , real real round(x) Rrumbullakosni x me numrin më të afërt të plotë frac (x) Integer x real int(x) Thyesore x reale Numër i rastësishëm nga 0 në 1 - i rastësishëm real (x) Numri i rastësishëm nga 0 në x numër i plotë i plotë

7 rrëshqitje

Përshkrimi i rrëshqitjes:

Operacionet div dhe program mod n_4; var x, a, b, c, s: numër i plotë; filloni të shkruani ("Gjetja e shumës së shifrave të një numri treshifror"); write ("Fut numrin fillestar>>"); readln(x); a:=x div 100; b:=x mod 100 div 10; c:=x mod 10; s:=a+b+c; shkrimln ("s= ", s) fund. Një numër treshifror mund të përfaqësohet si shuma e mëposhtme: x = a 100 + b 10 + c, ku a, b, c janë shifrat e numrit. Një program për gjetjen e shumës së shifrave të një numri të plotë treshifror të futur nga tastiera.

8 rrëshqitje

Përshkrimi i rrëshqitjes:

Llojet e të dhënave të karaktereve dhe vargut Funksioni ord konverton një shkronjë në kodin e saj numerik. Simbolet janë të gjitha shkronjat dhe ikonat që janë në tastierë. Për të futur variabla të karaktereve në program, duhet të specifikoni llojin e të dhënave të karakterit char për to. Funksioni chr konverton një kod numerik të karakterit në vetë karakterin. Vlera e një vlere vargu (vargu i tipit) është një sekuencë arbitrare e karaktereve të mbyllura në apostrofa. W chr 87 ord W % 37 % 4 52 4 S 83 S var c: varg c:= chr(52)+chr(37) me 4%

9 rrëshqitje

Përshkrimi i rrëshqitjes:

Programi i tipeve të të dhënave të karaktereve dhe vargjeve n_5; var a: char; kodi: numër i plotë; b: varg Filloni të shkruani ("Kodi dhe vargu"); write ("Futni shkronjën fillestare>>"); readln(a); kodi:=ord(a); b:=chr(kod–1)+a+chr(kod+1); writeln("Kodi i shkronjës ", a, "-", kod); writeln("String: ", b) fund. Shfaqja e kodit të një shkronje të futur nga tastiera Shfaqja e një vargu prej tre shkronjash në ekran. Çfarë?

10 rrëshqitje

Përshkrimi i rrëshqitjes:

Ekzaminimi i funksioneve round, int dhe frac Ekzekutoni programin disa herë për x (10.2; 10.8; -10.2; -10.8). Cili do të jetë lloji i rezultatit të secilit prej këtyre funksioneve? programi n_3; varx: real; start writeln("Eksplorimi i funksioneve round, int, frac"); shkruani ("Fut x>>"); readln(x); writeln("Round - ", round(x)); writeln("Pjesa me numër të plotë - ", int(x)); writeln ("Pjesa thyesore është ", frac(x)) fund. ?

11 rrëshqitje

Përshkrimi i rrëshqitjes:

START Input x1,x2,y1,y2 OUTPUT S END gjatësia e programit; fund. var x1,x2,y1,y2: numër i plotë; fillojë d=sqrt(sqr(x2-x1))+sqrt(y2-y1)); writeln('d=', d); Shkruaj ("HYNI KOORDINATËN X1= "); readln(X1); Shkruaj ("HYNI KOORDINATËN Y1= "); readln(Y1); shkruani ("HYNI KOORDINATËN X2= "); readln(X2); Shkruaj ("ENTER KOORDINATËN Y2 = "); readln(Y2);

12 rrëshqitje

Përshkrimi i rrëshqitjes:

Pyetje dhe detyra Për një x të caktuar, llogaritni y duke përdorur formulën y \u003d x3 + 2.5x2 - x +1. Në këtë rast: a) operimi i ngritjes në fuqi është i ndaluar; b) në një operator caktimi, mund të përdorni jo më shumë se një operacion aritmetik (mbledhje, shumëzim, zbritje); c) jo më shumë se pesë operatorë caktimi mund të përdoren në një program. Këshillë: transformoni shprehjen në formën e mëposhtme: y =((x + 2.5)x -1)x +1. Duke pasur parasysh koordinatat e pikave A dhe B, njehsoni gjatësinë e segmentit AB. Dihen gjatësitë e brinjëve të trekëndëshit a, b, c. Shkruani një program për të llogaritur sipërfaqen e këtij trekëndëshi. Dihen koordinatat e kulmeve A, B, C të trekëndëshit. Shkruani një program për të llogaritur sipërfaqen e këtij trekëndëshi. Nëse shuma e taksës llogaritet në rubla dhe kopekë, atëherë shërbimi tatimor e rrumbullakos atë në rublën më të afërt (deri në 50 kopekë - me deficit, mbi 50 kopekë (përfshirë 50) - me një tepricë). Përdorni kompjuterin për të futur shumën e saktë të taksës dhe për të shfaqur sa duhet të paguani. Eksploroni funksionimin e funksionit të rastësishëm duke e ekzekutuar programin në mënyrë të përsëritur: programi n_8; var x, n: numër i plotë; Filloni të shkruani ("Eksplorimi i funksionit të rastësishëm"); randomize (*për të gjeneruar numra të ndryshëm të rastësishëm sa herë që programi ekzekutohet*); shkruani ("Fut x>>"); readln(x); shkruani ("Fut n>>"); readln(n); writeln("random(", x, ")=", random(x)); Writln("random(", x, ")+", n, "=", random(x)+n) fund. Si mund të merrni një numër të rastësishëm nga intervali (0; x)? Si mund të marr një numër të rastësishëm nga intervali (0; x]? Si mund të marr një numër të rastësishëm nga intervali (n; x + n)? Një kompani lëshoi ​​bileta llotarie të tre kategorive: për të rinj, për të rritur dhe për të moshuarit Numrat e biletave për secilën kategori janë brenda kufijve: për të rinjtë - nga 1 në 100; për të rriturit - nga 101 në 200; për të moshuarit - nga 201 në 250. Duke përdorur një kompjuter, zgjidhni rastësisht një biletë lotarie në çdo kategori.Shkruani në Pascal një program që për një numër arbitrar dyshifror përcakton: a) shumën dhe prodhimin e shifrave të tij; b) numri i formuar duke ndryshuar shifrat e numrit origjinal. Shkruani një program Pascal që llogarit shumën e kodeve të shkronjave në fjalën BYTE. Shkruani një program në Pascal që printon një varg karakteresh, kodet e të cilëve janë 66, 69, 71, 73, 78. Zhvilloni një program që kërkon tre vlera vargu—një mbiemër, emër dhe folje të lidhur—dhe më pas printon të gjitha frazat e mundshme duke përdorur fjalët e futura. Janë dhënë vlerat e ndryshoreve të plota: a = 10, b = 20. Sa do të jetë vlera e ndryshores boolean rez pasi të kryhet operacioni i caktimit? a) rez:=(a=10) ose (b>10) b) rez:=(a>5) dhe (b>5) dhe (a<20) and (b<30) в) rez:=((not(a<15)) or (b>20) Shkruani një program që hyn e vërtetë nëse pohimi është i vërtetë dhe i gabuar në të kundërt: a) shuma e shifrave të një numri treshifror x është numër çift; b) një trekëndësh me brinjë a, b, c është skalen. Është e dyta k-të e ditës. Zhvilloni një program që, duke përdorur k-të sekondën e futur të ditës, përcakton sa orë të plota h dhe minuta të plota m kanë kaluar që nga fillimi i ditës. Për shembull, nëse k =13257=3 x 3600 + 40 x 60 + 57, atëherë h =3 dhe m = 40. Paraqitni frazën: Është ... orë ... minuta. Në vend të elipsave, programi duhet të printojë vlerat h dhe m, duke i ndarë ato nga fjalët me saktësisht një hapësirë. Shkruani një program Pascal që zbaton algoritmin e punës së arkëtarit, duke i dhënë klientit ndryshimin (t) me numrin më të vogël të kartëmonedhave prej 500 (k500), 100 (k100), 50 (k50) dhe 10 (k10) rubla. Shembull hyrje Shembull dalje xa=2 ya=1 xb= 10 yb= 7 | AB | = 10.0 Shembulli i hyrjes Shembulli i daljes a =3 b =4 c=5 s = 6.0 Shembulli i hyrjes Shembulli i daljes xa = 2 ya = 1 xb = 6 yb = 5 xc = 10 yc = 1 s = 16.0 Shembulli i hyrjes Shembulli i daljes 845 Duhet të jetë dorëzuar: kartëmonedha prej 500 rubla. - 1 pc. kartëmonedha prej 100 rubla. - 3 copë. kartëmonedha prej 50 rubla. – 0 copë. kartëmonedha prej 10 rubla. - 4 gjëra. Shembull i të dhënave hyrëse Shembull i daljes Gjethet e gjelbra lulëzojnë Gjethet jeshile që lulëzojnë gjethe jeshile që lulëzojnë Gjethet e gjelbra lulëzojnë gjethet lulëzojnë jeshile që lulëzojnë gjethe jeshile që lulëzojnë gjethe jeshile Një shembull i të dhënave hyrëse Shembull i daljes 13 257 IT IT 3 Orë 40 minuta.

| § 3.3. Programimi i algoritmeve lineare

Mësimi 26
§ 3.3. Programimi i algoritmeve lineare

Fjalë kyçe:

lloji real i të dhënave
lloji i të dhënave me numër të plotë
lloji i të dhënave të karakterit
lloji i të dhënave të vargut
lloji i të dhënave boolean

Programet që zbatojnë algoritme lineare janë më të thjeshtat. Të gjitha deklaratat në to ekzekutohen në mënyrë sekuenciale, njëra pas tjetrës.

Kur programojmë algoritme lineare, le të hedhim një vështrim më të afërt në llojet e të dhënave të numrave të plotë, boolean, karaktereve dhe vargjeve.

3.3.1. Llojet numerike të të dhënave

Ju tashmë jeni njohur me llojet bazë të të dhënave numerike numër i plotë Dhe reale. Funksionet standarde janë të zbatueshme për to, disa prej të cilave janë dhënë në tabelë. 3.3.

Tabela 3.3

Funksionet standarde të Paskalit

Eksplorimi se si funksionojnë funksionet rrumbullakët, ndër Dhe frak, duke i zbatuar ato në disa reale X. Programi përkatës do të duket kështu:

Ekzekutoni programin disa herë për çdo x ∈ (10.2; 10.8; -10.2; -10.8). Çfarë mund të thoni për llojin e rezultatit të secilit prej këtyre funksioneve?

3.3.2. lloji i të dhënave me numër të plotë

Veprimet e mëposhtme kryhen në numra të plotë në Pascal: mbledhja (+), zbritja (-), shumëzimi (*), marrja e një herësi të plotë (div), marrja e një mbetjeje të numrit të plotë të pjesëtimit (mod) dhe pjesëtimi (/). Rezultatet e pesë operacioneve të para janë numra të plotë. Rezultati i një veprimi të ndarjes mund të jetë një numër real.

Le të shqyrtojmë një shembull të përdorimit të operacioneve div dhe mod, duke shkruar në Pascal një program për gjetjen e shumës së shifrave të një numri natyror treshifror të futur nga tastiera.

Ne përdorim faktin që një numër pozitiv treshifror mund të përfaqësohet si shuma e mëposhtme: x - a * 100 + 6 * 10 + c, ku a, b, c janë shifrat e numrit.

Sa është shuma e shifrave të 123? Dhe numrat -123? A përputhen rezultatet tuaja me ato të programit? Si mund të shpjegoni dhe rregulloni një gabim në një program?

3.3.3. Llojet e të dhënave të karaktereve dhe vargjeve

Vlera e një vlere karakteri (lloji char) në Pascal është çdo personazh që mund të merret në ekran duke shtypur një nga tastet ose një kombinim të tasteve në tastierë, si dhe disa karaktere të tjera, duke përfshirë ato të padukshme. Grupi i simboleve të tilla përbëhet nga 256 elementë, secilit prej të cilëve, sipas tabelës së kodit të përdorur, i caktohet një kod - numri 0 deri në 255.

Karakteret që korrespondojnë me 32 kodet e para janë karaktere kontrolli, dhe pjesa tjetër janë karaktere të ekranit. Karakteret e shfaqura përfshijnë gjithashtu një hapësirë, e cila ka kodin 32.

Shenjat e pikësimit, shenjat e veprimeve aritmetike, numrat, shkronjat latine të mëdha dhe të vogla u korrespondojnë kodeve nga 33 deri në 127. Shkronjat e alfabetit kombëtar korrespondojnë me kodet me numrat 128 e më gjerë.

Në tekstin e programit, një konstante e tipit të karakterit mund të specifikohet duke mbyllur çdo karakter të shfaqur në apostrofa: "5", "B", "*".

Nëse vlera e një ndryshoreje karakteresh lexohet nga tastiera, atëherë ajo duhet të shtypet pa apostrofë.

Për të gjetur kodin e karakterit, përdorni funksionin ord, ku karakteri jepet si parametër.

Për të gjetur një karakter sipas kodit, përdorni funksionin chr, ku kodi i karakterit specifikohet si parametër.

Vlera e një vlere vargu (vargu i tipit) është një sekuencë arbitrare e karaktereve të mbyllura në apostrofa. Në Pascal (si në një gjuhë algoritmike), vargjet mund të bashkohen.

Shembull. Le të shkruajmë një program në Pascal, në të cilin, për një shkronjë të futur nga tastiera, kodi i saj shfaqet në ekran. Më pas në ekran shfaqet një varg, i cili është një sekuencë prej tre shkronjash të tabelës së kodit të përdorur: shkronja që i paraprin asaj origjinale; shkronja fillestare; letër pas origjinalit.


3.3.4, Lloji i të dhënave Boolean

Siç e dini, vlerat boolean marrin vetëm dy vlera; në Pascal është i rremë Dhe e vërtetë. Këto konstante janë të përcaktuara në mënyrë të gabuar< true.

Vlerat Boolean merren si rezultat i kryerjes së operacioneve të krahasimit në shprehjet numerike, karaktere, vargje dhe boolean. Prandaj, në Pascal, një ndryshore boolean mund t'i caktohet rezultati i një operacioni krahasimi.

Shembull. Le të shkruajmë një program që përcakton vërtetësinë e pohimit "Numri n është çift" për një numër të plotë arbitrar n.

Le te jete ansështë një variabël boolean dhe n është një ndryshore numër i plotë. Më pas, si rezultat i ekzekutimit të operatorit të caktimit

ans:=n mod 2 = 0

e ndryshueshme ans do të caktohet vlera e vërtetë për çdo edhe n dhe i rremë ndryshe.

Variablave Boolean mund t'u caktohen vlerat e shprehjeve logjike të ndërtuara duke përdorur funksionet logjike të njohura për ju dhe, ose, jo, të cilat janë shënuar në Pascal në përputhje me rrethanat. dhe, ose, jo.

Shembull. Le të shkruajmë një program që përcakton vërtetësinë e pohimit "Një trekëndësh me gjatësi brinjësh a, b, c është dykëndësh" për numrat e plotë arbitrarë a, b, c.


GJËJA MË E RËNDËSISHME

Gjuha Pascal përdor lloje të dhënash reale, të plota, karaktere, vargje, logjike dhe të tjera. Për to janë përcaktuar operacionet dhe funksionet përkatëse.

Pyetje dhe detyra

1. Njihuni me materialet prezantuese për paragrafin që përmban suplementi elektronik i tekstit shkollor. Përdorni këto materiale kur përgatitni përgjigje për pyetjet dhe përfundoni detyrat.

2. Për një x të caktuar, llogaritni y duke përdorur formulën y \u003d x 3 + 2.5x 2 - x + 1.

ku:

a) funksionimi i ngritjes në fuqi është i ndaluar;
b) në një operator caktimi, mund të përdorni jo më shumë se një operacion aritmetik (mbledhje, shumëzim, zbritje);
c) jo më shumë se pesë operatorë caktimi mund të përdoren në një program.

i shpejtë : transformoni shprehjen në formën e mëposhtme: y \u003d ((x + 2.5) x - 1) x + 1.

3. Sipas koordinatave të dhëna të pikave A dhe. Llogaritni gjatësinë e segmentit AB.

i shpejtë . Distanca d ndërmjet pikave A (x a, y a) dhe B (x b, y b) shprehet me formulën.

4. Dihen gjatësitë e brinjëve të trekëndëshit a, b, c. Shkruani një program për të llogaritur sipërfaqen e këtij trekëndëshi.

5. Dihen koordinatat e kulmeve A, B, C të trekëndëshit. Shkruani një program për të llogaritur sipërfaqen e këtij trekëndëshi.

6. Nëse shuma e taksës llogaritet në rubla dhe kopekë, atëherë shërbimi tatimor e rrumbullakos atë në rubla më të afërt (deri në 50 kopekë - me deficit, mbi 50 kopekë (përfshirë 50) - me një tepricë). Përdorni kompjuterin për të futur shumën e saktë të taksës dhe për të shfaqur sa duhet të paguani.

7. Eksploroni funksionimin e funksionit të rastësishëm duke e ekzekutuar programin shumë herë:

Si mund të merrni një numër të rastësishëm nga intervali (0, x)?

Si mund të merrni një numër të rastësishëm nga intervali (0, x]?

Si mund të merrni një numër të rastësishëm nga intervali (n, x + n)?

8. Një kompani lëshoi ​​bileta llotarie të tre kategorive: për të rinj, për të rritur dhe për pensionistë. Numrat e biletave të çdo kategorie janë brenda:

për të rinjtë - nga 1 në 100;
për të rriturit - nga 101 në 200;
për pensionistët - nga 201 në 250.

Përdorni kompjuterin për të zgjedhur rastësisht një biletë llotarie në secilën kategori.

9. Shkruani një program në Pascal që, për një numër arbitrar natyror dyshifror, përcakton:

a) shuma dhe prodhimi i shifrave të tij;
b) numri i formuar duke ndryshuar shifrat e numrit origjinal.

10. Shkruani një program në Pascal që zbaton algoritmin e arkëtarit që i jep klientit ndryshimin (t) në numrin më të vogël të mundshëm të kartëmonedhave prej 500 (k500), 100 (klOO), 50 (k50) dhe 10 (klO) rubla. .

11. Shkon k- e dyta e ditës. Zhvilloni një program që, sipas të dhënave k-sekonta e ditës përcakton sa orë të plota h dhe minuta të tëra m kaloi që nga fillimi i ditës. Për shembull, nëse k= 13 257 = 3 3600 + 40 60 + 57, pastaj h= 3 dhe m = 40.

Shfaq frazën:

Është ... orë ... minuta

.

Në vend të elipsave, programi duhet të nxjerrë vlerat e zhurmës, duke i ndarë ato nga fjalët me saktësisht një hapësirë.

12. Shkruani një program në Pascal që llogarit shumën e kodeve të shkronjave në fjalën "BYTE".

13. Shkruani një program Pascal që gjeneron dhe shfaq një varg karakteresh, kodet e të cilëve janë 66, 69, 71, 73, 78.

14. Zhvilloni një program që kërkon tre vlera vargu - një mbiemër, emër dhe folje të lidhur - dhe më pas printon të gjitha frazat e mundshme duke përdorur fjalët e futura.

15. Jepen vlerat e variablave të plotë: a = 10, b = 20. Sa do të jetë vlera e ndryshores logjike rez pas operacionit të caktimit?

a) rez:=(a=10) ose (b>10)
b) rez: = (a>5) dhe (b>5) dhe (a<20) and (b<30)
c) rez: = (jo (a<15)) or (b>20)

16. Shkruani një program që prezanton e vërtetë nëse deklarata është e vërtetë, dhe i rremë ndryshe:
a) shuma e shifrave të një numri treshifror Xështë numër çift;
b) një trekëndësh me brinjë a, b, cështë i gjithanshëm.

Llogaritni

Detyra 2 (programi 1_2)

    Është k e dyta e ditës. Përcaktoni sa orë të plota (h) dhe minuta të plota (m) dhe sekonda (s) kanë kaluar nga ky moment.

    Përcaktoni sipërfaqen e një trapezi me bazat a, b, lartësinë h dhe vëllimin e një koni të cunguar, nëse marrim parasysh a, b - zonat e bazave.

3. Përcaktoni koordinatat e qendrës së gravitetit të tri pikave materiale me masa m 1, m 2, m 3 dhe koordinata (x 1, y 1), (x 2, y 2), (x 3, y 3).

4. Llogaritni vëllimin e topit dhe sipërfaqen e rrethit për një rreze të caktuar R, gjeni raportin midis tyre.

5. Njehsoni medianat e trekëndëshit në brinjët e dhëna a, b, c.

6. Njehsoni sipërfaqen dhe vëllimin e konit për rrezet dhe lartësinë e dhënë h.

7. Për një rreze të caktuar, gjeni vëllimin e topit dhe sipërfaqen.

8. Llogarit se sa sekondë e ditës është në pozicionin e akrepave në orë h, m minuta dhe s sekonda, si dhe këndin (në gradë) ndërmjet pozicionit të akrepit të orës në fillim të ditës dhe pozicionit të tij në momentin e caktuar.

9. Futni një numër të plotë dyshifror x<15. Написать программу перевода его в восьмеричную систему счисления.

10. Shkruani koordinatat e dy pikave (x 1, y 1), (x 2, y 2). Gjeni distancën midis tyre.

Laboratori 2

Programimi i algoritmeve të degëzuara. Deklaratat e transferimit të kontrollit

Struktura e deklaratës së transferimit të kontrollit të kushtëzuar:

nëse (<выражение>) <оператор 1> tjetër <оператор 2>;

(nëse) (përndryshe) - fjalë kyçe,

ku<условие>është një shprehje arbitrare logjike që mund të marrë dy vlera: true (TRUE) dhe false (FALSE);

<оператор>- çdo operator i gjuhës C, përfundon me një pikëpresje.

Forma e shkurtër e operatorit të kushtëzuar:

nëse (<выражение>) <оператор>;

Operatori i kërcimit të pakushtëzuar: shkoj <идентификатор-метка>;

Etiketa është një identifikues. Etiketa vendoset përpara deklaratës C/C++ në të cilën po bëhet kërcimi dhe ndahet me dy pika (:).

Shembulli 1. Hartoni një program për llogaritjen e pagës bazë sipas rregullit të mëposhtëm: nëse përvoja e punës së punonjësit është më pak se tre vjet, atëherë paga është 100 dollarë, me përvojë pune nga tre deri në 5 vjet - 150 dollarë, mbi 5 vjet paga rritet çdo vit me 10 dollarë, dhe me përvojë mbi 20 vjet, është 300 dollarë.

Për të programuar zgjidhjen e këtij problemi, ne përcaktojmë formulimin matematikor të problemit:

100 nëse ST< 3;

ZP= 150 nëse 3 ≤ST  5;

150+ (ST -5)*10 nëse 5< ST≤ 20;

300 nëse ST > 20;

#përfshi

#përfshi

void main()

( int ST; //ST- përvojë (bajt (numër i plotë) lloji i panënshkruar)

floatZP; //ZP- paga (lloji lundrues)

printf("\n Fut vjetërsinë");

scanf("%d",&ST);

nëse (ST<3) ZP = 100;

ndryshe nëse (ST<5) ZP = 150;

ndryshe nëse (ST>=20) ZP=300;

tjetër ZP=150+(ST-5)*10;

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

Zgjidhni deklaratën kaloni lejon, në varësi të vlerës së çdo ndryshoreje ose shprehjeje (çelësi përzgjedhës), të ekzekutohen disa operatorë të shënuar me konstantat përkatëse.

Struktura e operatorit:

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

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

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

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

default: <операторы>;

}

ku<выражение>-shprehje (ndryshore) e çdo lloji rendor;

<константа>është një konstante e të njëjtit lloj si<выражение>;

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

Shembulli 2. Shtypni emrin e figurës në varësi të numrit të këndeve (trekëndësh, katërkëndësh, pesëkëndësh, gjashtëkëndësh, shumëkëndësh).

Një variant i zbatimit të detyrës duke përdorur operatorin e përzgjedhjes është paraqitur nga SA (Fig. 2b) dhe programi i mëposhtëm:

#përfshi

#përfshi

void main()

{

int T; // T është numri i qosheve

clrscr(); // fshij ekranin

printf ("Fut numrin e qosheve");

scanf("%d",&T);

çelësi (T)

rasti 1: rasti 2: printf ("Kjo nuk është formë\n"); pushim;

rast 3: printf ("Me %d qoshe - trekëndësh\n ", T); pushim;

rast 4: printf ("Me %d qoshe - katër\n ", T); pushim;

rast 5: printf ("Me %d qoshe - pesëkëndësh\n ", T); pushim;

rast 6: printf ("Me %d qoshe - gjashtëkëndësh\n ", T); pushim;

default : printf ("Me %d kënde - shumëkëndësh\n ", T);

Ushtrimi 1 (programi 2_1)

Llogaritni vlerën e funksionit në varësi të intervalit në të cilin bie argumenti i futur nga tastiera:

1. Fort , a t 2 log t në 1
,

ku a=-0,5,b=2 z = 1 në t<1,

e a t cos b t at t>2,

2. Për x ,
në x2,

ku a=2.3 f=x në 0.3< x  2,

cos(x-a) për x
,

3.Për x , (a+b)/(e x + cosx) në 0  x2.3,

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

e x +sinx në 7
,

4. Për i , a i 4 + b i për i< 10,

ku a=2.2,b=0.3. y = tg(i + 0.5) për i = 10,

e 2i +
për i > 10,

5. Për x , x 2 - 7/x 2 në x<1.3,

ku a=1,5 y = sëpatë 3 + 7
në 1.3  x3,

log (x + 7
) për x
,

6. Fort [-1.4],
në t<0.1,

ku a=2.1,b=0.37. z = në + b në 0,1 t 2,

në t
,

7. Për x , a e sin x +2,5 në x<0.3,

ku a=1.5. y = e cos x + a në 0,3 x<4,

(sin x)/ (a + e x) për x  4,

8. Për x , y = a/x + b x 2 - c në x
,

ku a=1.8,b=-0.5, c=3.5 (a + bx)/
në x>1.2,

9.Për t , t
për t>a,

ku a=2.5 z = t sin a t at t=a,

e-at cos a t at t

10. Për x , e - bx sin b x at x<2.3,

ku a=1,b=3. y= cos bx në 2.3
,

e -ax cos b x at x

11.Për t , a t 2 – b
në t

ku a=1.3,b=6.5 z= a - b për a

a t 2/3 -
për t>b,

12. Për x , |e -2x sinbx| për x > 1,

ku b=-2.9 y = cos bx në x = 1,

e -x cos bx në x< 1,

13. Për x sin (cos a x) për x>1,

ku a=-0,8 z = tg sëpatë në x = 1,

a 2 x në x< 1,

14. Për x , log bx - 1/(bx+1) për x< 1.3,

ku b=1.3. y = bx + 1 në 1,3  x  1,7,

log bx +1/(bx+1) për x > 1.7,

15. Për x [-1,1], sëpatë 2 +bx 2/3 për x<0.1,

ku a=2.5,b=-0.9. z= a x 2 në x=0.1,

b x 2/3 në x>0.1.

16. Fut koordinatat e pikave (x, y). Shtypni në cilin kuadrant ose bosht koordinativ ndodhet kjo pikë.

17. Shkruani rrezet R 1 , R 2 dhe lartësinë. Llogaritni vëllimin e një koni të cunguar:
, ku S është sipërfaqja e bazave. Nëse R 1 = R 2 - vëllimi dhe sipërfaqja e cilindrit, nëse R 1 = 0 ose R 2 = 0 - vëllimi (hπr 2) dhe zona πr(
) të sipërfaqes së konit.

18. Futni një numër nga tastiera. Përcaktoni se cilit sistem numrash mund t'i përkasë.

19. Futni një numër. Përcaktoni nëse pjesëtohet në mënyrë të barabartë me dy, tre ose pesë.

20. Shkruani a, b, h. Nëse h=0, llogaritni sipërfaqen e drejtkëndëshit; për a = b, gjeni sipërfaqen e katrorit; përndryshe, llogaritni sipërfaqen e trapezit.

Detyra 2 (programi 2_2)

1. Përcaktoni pjesën e mbetur të pjesëtimit me tetë të numrit të futur x dhe shkruani shifrën tetëshe me fjalë.

2. Sipas numrit të futur nga tastiera, shtypni emrin e këtij numri.

3. Nga tastiera shkruani numrin k (1..30). Përcaktoni se cilës ditë të javës i përgjigjet nëse numri i parë është i hënë.

4. Shkruani ditën dhe numrin e muajit. Shtypni datën me fjalë.

5. Është k sekondë e ditës. Llogarit sa orë dhe minuta të plota kanë kaluar nga ky moment, duke u koordinuar me kuptimin e fjalës (orë, orë, orë, minutë, minutë, minutë).

6. Në varësi të numrit (N) të llojit të figurës, organizoni futjen e të dhënave të nevojshme dhe llogaritni me N = 1 - sipërfaqen e rrethit, N = 2 - vëllimin e topit (4 / 3πR 3 ), N = 3 - vëllimi i cilindrit, N = 4 - sipërfaqja e sferës është 4πr 2.

7. Futni numrin N (0 ≤ N ≤ 15). Përcaktoni dhe printoni shifrën heksadecimal që i korrespondon.

8. Për një numër të plotë K (1 ... 99), shtypni frazën "Unë jam K vjeç", për vlera të caktuara të K, zëvendësoni fjalën "vite" me fjalën "vit" ose "vit".

9. Në varësi të numrit (N) të llojit të figurës, organizoni futjen e të dhënave të nevojshme dhe llogaritni me N = 1 - sipërfaqen e drejtkëndëshit, me N = 2 - sipërfaqen e paralelogramit, me N = 3 - zona e trapezit 1/2 (a + b) h. Në rastin e fundit, printoni nëse trapezi është paralelogram apo romb.

10. Shndërroni numrin 0 ≤ x ≤ 31 në sistem numrash heksadecimal.

11. Shkruani në kursive pjesën e mbetur të pjesëtimit të çdo numri të plotë me pesë.

12. Sipas numrit të futur, printoni ngjyrën e dëshiruar në ylber.

13. Hartoni një program që tregon se nëse shuma e shifrave të një numri dyshifror është shumëfish i treshit, atëherë vetë numri pjesëtohet me tre pa mbetje.

14. Zhvilloni një program që vërteton se katrori i një numri dyshifror k5 (shifra e fundit është 5) është i barabartë me k * ( k + 1) * 100 + 25 (d.m.th. mund të merret duke shumëzuar shifrën më të lartë k në radhën tjetër dhe shtesa "25"). Për shembull, 35 * 11 = 3 * 4 * 100 + 25.

Për detyrën 2, numri i opsionit përcaktohet nga pjesa e mbetur e pjesëtimit të opsionit individual me numrin 12.

Laboratori 3

Fjalë kyçe:

  • lloji real i të dhënave
  • lloji i të dhënave me numër të plotë
  • lloji i të dhënave të karakterit
  • lloji i të dhënave të vargut
  • lloji i të dhënave boolean

Programet që zbatojnë algoritme lineare janë më të thjeshtat. Të gjitha deklaratat në to ekzekutohen në mënyrë sekuenciale, njëra pas tjetrës.

Kur programojmë algoritme lineare, le të hedhim një vështrim më të afërt në llojet e të dhënave të numrave të plotë, boolean, karaktereve dhe vargjeve.

4.4.1. Llojet e të dhënave numerike

Ju tashmë jeni njohur me llojet bazë të të dhënave numerike, numër i plotë dhe real. Funksionet standarde janë të zbatueshme për to, disa prej të cilave janë dhënë në tabelë. 4.2.

Tabela 4.2
Funksionet standarde të Paskalit


Le të shqyrtojmë funksionimin e funksioneve të rrumbullakët, int dhe frac duke i zbatuar ato në disa x reale. Programi përkatës do të duket kështu:

Ekzekutoni programin disa herë për x=(10.2; 10.8; -10.2; -10.8). Çfarë mund të thoni për llojin e rezultatit të secilit prej këtyre funksioneve?

4.4.2. lloji i të dhënave me numër të plotë

Veprimet e mëposhtme kryhen në numra të plotë në Pascal: mbledhja (+), zbritja (-), shumëzimi (*), marrja e një herësi të plotë (div), marrja e një mbetjeje të numrit të plotë të pjesëtimit (mod) dhe pjesëtimi (/). Rezultatet e pesë operacioneve të para janë numra të plotë. Rezultati i një veprimi të ndarjes mund të jetë një numër real.

Le të shqyrtojmë një shembull të përdorimit të operacioneve div dhe mod, duke shkruar në Pascal një program për gjetjen e shumës së shifrave të një numri të plotë treshifror të futur nga tastiera.

Ne përdorim faktin që një numër treshifror mund të përfaqësohet si shuma e mëposhtme: x \u003d a 100 + b 10 + c, ku a, b, c janë shifrat e numrit.

4.4.3. Llojet e të dhënave të karaktereve dhe vargjeve

Vlera e një vlere karakteri (lloji char) në Pascal është cilido nga karakteret që mund të merret në ekran duke shtypur një nga tastet ose një kombinim të tasteve, si dhe disa karaktere të tjera, duke përfshirë ato të padukshme. Grupi i simboleve të tilla përbëhet nga 256 elementë, secilit prej të cilëve, në përputhje me tabelën e kodit të përdorur, i caktohet një kod - numri 0 deri në 255.

Karakteret që korrespondojnë me 32 kodet e para janë karaktere kontrolli, dhe pjesa tjetër janë karaktere të ekranit. Karakteret e shfaqura përfshijnë gjithashtu një hapësirë, e cila ka kodin 32.

Shenjat e pikësimit, shenjat e veprimeve aritmetike, numrat, shkronjat latine të mëdha dhe të vogla u korrespondojnë kodeve nga 33 deri në 127. Shkronjat e alfabetit kombëtar korrespondojnë me kodet me numrat 128 e më gjerë.

Në tekstin e programit, një konstante e tipit të karakterit mund të specifikohet duke mbyllur çdo karakter të shfaqur në apostrofa: "5", "B", "*".

Nëse vlera e një ndryshoreje karakteresh lexohet nga tastiera, atëherë ajo duhet të shtypet pa apostrofë.

Për të gjetur kodin e karakterit, përdorni funksionin ord, ku karakteri jepet si parametër.

Për të gjetur një karakter sipas kodit, përdorni funksionin chr, ku kodi i karakterit specifikohet si parametër.

Vlera e një vlere vargu (vargu i tipit) është një sekuencë arbitrare e karaktereve të mbyllura në apostrofa. Në Pascal (si në një gjuhë algoritmike), vargjet mund të bashkohen.

Shembull. Le të shkruajmë një program në Pascal, në të cilin, për një shkronjë të futur nga tastiera, kodi i saj shfaqet në ekran. Më pas në ekran shfaqet një varg, i cili është një sekuencë prej tre shkronjash të tabelës së kodit të përdorur: shkronja që i paraprin asaj origjinale; shkronja fillestare; letër pas origjinalit.

4.4.4. lloji i të dhënave boolean

Siç e dini, vlerat boolean marrin vetëm dy vlera; në Pascal është e rreme dhe e vërtetë. Këto konstante janë të përcaktuara në mënyrë të gabuar< true.

Vlerat Boolean merren si rezultat i kryerjes së operacioneve të krahasimit në shprehjet numerike, karaktere, vargje dhe boolean. Prandaj, në Pascal, një ndryshore boolean mund t'i caktohet rezultati i një operacioni krahasimi.

Shembull. Le të shkruajmë një program që përcakton vërtetësinë e pohimit "Numri n është çift" për një numër të plotë arbitrar n.

Le të jetë ans një variabël boolean dhe n një ndryshore numër i plotë. Më pas, si rezultat i ekzekutimit të operatorit të caktimit

ndryshorja ans do të vendoset në true për çdo çift n dhe false ndryshe.


Variablave Boolean mund t'u caktohen vlerat e shprehjeve logjike të ndërtuara duke përdorur funksionet logjike të njohura për ju dhe, ose, jo, të cilat në Pascal shënohen përkatësisht me dhe, ose, jo.

Shembull. Le të shkruajmë një program që përcakton vërtetësinë e pohimit "Një trekëndësh me gjatësi brinjësh a, b, c është dykëndësh" për numrat e plotë arbitrarë a, b, c.

Gjëja më e rëndësishme

Gjuha Pascal përdor lloje të dhënash reale, të plota, karaktere, vargje, logjike dhe të tjera. Për to janë përcaktuar operacionet dhe funksionet përkatëse.

Pyetje dhe detyra


Artikujt kryesorë të lidhur