Shprehje logjike.  Tema: Lloji i të dhënave Boolean

Shprehje logjike. Tema: Lloji i të dhënave Boolean

. X i përket segmentit;
x shtrihet jashtë segmentit;
x i përket segmentit ose [-1,1];
x shtrihet jashtë segmentit ose [-1,1].
3.
Shpjegoni strukturën dhe rregullat për ekzekutimin e deklaratave të kushtëzuara.
4.
Shkruani veprimin e specifikuar si një deklaratë të vetme të kushtëzuar:
cos
2
x, në 0x =
1-mëkat
2
x, ndryshe.
5.
z
int z=0, x=1, y=

1;

80 Programimi i algoritmeve lineare në sistem C++ Builder
nëse (x>0) nëse (y>0) z=1; tjetër z=2;
6.
Çfarë vlere do të ketë ndryshorja? z pas ekzekutimit të operatorëve:
int z=0, x=

1, y=1;
nëse (x) (nëse (y>0) z=1;) tjetër z=2;
7.
Çfarë vlere do të ketë ndryshorja? z pas ekzekutimit të operatorëve:
int z=0, x=0, y=1;
nëse (x) (nëse (y>0) z=1;) tjetër z=2;
8.
Çfarë vlere do të ketë ndryshorja? z pas ekzekutimit të operatorëve:
int z=0, x=3, y=1;
nëse (x) (nëse (y) z=1;) tjetër z=2;
9.
Ju lutemi tregoni gabimet në deklaratat e mëposhtme:
nëse (1
tjetër x=0; y+= 1;
10.
int z=0, x=0, y=1;
nëse (!x) (nëse (!(y

1)) z=1;) tjetër z=2;
11.
Çfarë vlere do të ketë ndryshorja z pas ekzekutimit të deklaratave:
int z=0, x=1, y=1;
nëse (!x) (nëse (!(y

1)) z=1;) tjetër z=2;
12.
Gjeni gabimet në fragmentin e programit:
(int n,x; switch (k) case + : x:=x-4 break; case

-

,

*

, x=5;
}
Cilat rregulla u thyen dhe si mund të korrigjohen gabimet?


81
3.4
Detyra individuale për pjesën 3
Çdo nxënës duhet të zgjidhë dy problema të nivelit të parë dhe të dytë të kompleksitetit.
Probleme të nivelit të parë të vështirësisë.
1.
Ju jepet një numër i plotë pozitiv me katër shifra. Shkruani një program që printon e vërtetë ose i rremë në varësi të faktit nëse kushti i specifikuar plotësohet apo jo: shuma e 1 dhe 4 shifrave është e barabartë me prodhimin e 2 dhe 3 shifrave.
2.
Jepen numrat realë x, y. Nëse x dhe y janë negative, atëherë çdo vlerë zëvendësohet me modulin e saj; nëse vetëm njëra prej tyre është negative, atëherë rritni të dyja vlerat me 5.5; në raste të tjera, zvogëloni të dyja vlerat me 10 herë.
3.
Jepen numrat realë x, y. Nëse x dhe y janë pozitive, atëherë zvogëloni secilën vlerë me 5 herë; nëse të dyja vlerat janë në intervalin [-3, 9], atëherë zëvendësoni të dyja vlerat me 0; në raste të tjera, rritni x dhe y me 3.
4.
Jepen numrat realë x, y (xy). Zëvendësoni më të voglin nga këta dy numra me gjysmën e tyre dhe më të madhin me produktin e tyre të dyfishtë.
5.
Nëse shuma e tre numrave realë të dallueshëm në çift x, y, z është më e vogël se 1, atëherë zëvendësojeni më të voglin nga këta tre numra me gjysmën e shumës së dy të tjerëve; përndryshe, zëvendësoni më të voglin e x dhe y me gjysmën e shumës së dy vlerave të mbetura.
6.
Jepen numrat realë a, b, c, d. Nese nje b>c>d, pastaj lini numrat të pandryshuar; përndryshe, zëvendësoni të gjithë numrat me katrorë.
7.
Përcaktoni nëse një numër i plotë gjashtëshifror është me fat. (Një numër quhet me fat nëse shuma e tre shifrave të tij të para është e barabartë me shumën e tre shifrave të fundit.)
8.
e vërtetë ose i rremë varësisht nëse kushti i specifikuar plotësohet apo jo: për numra real arbitrarë a, b, c, përcaktoni nëse ekuacioni bosht
2
+bx+c=0 të paktën një zgjidhje reale.

82 Programimi i algoritmeve lineare në sistem C++ Builder
9.
Për të zgjidhur problemin e mëposhtëm, shkruani një program që printon e vërtetë ose i rremë në varësi të faktit nëse kushti i caktuar plotësohet apo jo: përcaktoni nëse shuma e dy shifrave të para të një numri të caktuar katërshifror është e barabartë me shumën e dy numrave të fundit të tij.
10.
Disa institucione arsimore kanë rregullat e mëposhtme të pranimit. Aplikantët i nënshtrohen dy provimeve, të cilat vlerësohen sipas
100 pikë secila. Nëse një aplikant shënon të paktën 150 pikë, atëherë kjo i jep të drejtën të regjistrohet në departamentin me kohë të plotë, nga 100 në 149 - në departamentin e mbrëmjes; nën 100 pikë do të thotë refuzim i pranimit për të studiuar. Shkruani një program që, në varësi të sasisë së pikëve të fituara, informon aplikantin për të drejtat e tij për pranim.
11.
Shkruani një program duke përdorur operatorin e përzgjedhjes për të marrë një përshkrim verbal të shenjave. (1 - "i keq", 2 -
"i pakënaqshëm", 3 - "i kënaqshëm", 4 - "mirë", 5 -
"Shkëlqyeshëm".)
12.
Për të zgjidhur problemin e mëposhtëm, shkruani një program që printon e vërtetë ose i rremë në varësi të faktit nëse kushti i specifikuar plotësohet apo jo: përcaktoni nëse midis shifrave të një numri të dhënë treshifror ka të njëjtat.
13.
Shkruani një program që printon e vërtetë, nëse data d1, m1 i paraprin (brenda një viti) datës d2, m2 dhe kuptimi i rremë ndryshe.
14.
Shkruani një program duke përdorur një operator përzgjedhës që, bazuar në shkronjën e parë të emrit, shfaq emrin e plotë në ekran
(Ivan, Pjetri, Nikolai, Vladimir, Georgy).
15.
Shkruani një program duke përdorur operatorin e përzgjedhjes, i cili në bazë të shifrës së futur është 0≤ k≤ 5 shtyp emrin e këtij numri në rusisht dhe anglisht.
16.
Jepet një numër i plotë k (1

k

365). Përcaktoni nëse dita e k e vitit do të jetë fundjavë apo ditë pune, nëse 1 janari është e hënë.
17.
Jepet një numër real x. Llogaritni f, Nëse:











mëkat
,
1 0
,
0 5
2 11 2
rastet
pjesa tjetër
V
x
x
x

x
x
x

f

Programimi me vargje njëdimensionale
83 18.
Jepet një numër real x. Shkruani një program për të llogaritur f:












34 5
,
12 3
lg ln
,
3 5
1 3
2 4
rastet
pjesa tjetër
V
x
x
x

x
x
x

f
19.
Shkruani një program duke përdorur një operator përzgjedhës që, bazuar në shkronjën e parë të emrit të qytetit, shfaq emrin e plotë të qytetit (Kursk, Moskë, Tula, Novgorod, Voronezh).
20.
Shkruani një program duke përdorur një operator përzgjedhës që, bazuar në shkronjën e parë të mbiemrit, shfaq mbiemrin e plotë (Ivanov, Petrov, Sidorov, Myshkin, Shishkin).
21.
Janë dhënë koordinatat e qendrës dhe rrezja e rrethit. Përcaktoni nëse një pikë e caktuar me koordinata (x,y) i përket një rrethi.
22.
Shkruani një program duke përdorur një operator përzgjedhës që, bazuar në shkronjën e parë të emrit të kafshës së futur, do të printojë emrin e plotë të kafshës (qen, mace, gjirafë, kalë, majmun).
23.
Jepen tre numra të ndryshëm a,b,c. Renditni këta numra në rend rritës në mënyrë që a i përgjigjej numrit më të vogël b- numri mesatar, c- më e madhe.
24.
Shkruani një program duke përdorur një operator përzgjedhës që shfaq emrin e ditës së javës sipas numrit (nga 1 në 7).
25.
Shkruani një program duke përdorur një operator përzgjedhës që shfaq emrin e muajit të vitit sipas numrit (nga 1 në 12).
26.
Shkruani një program duke përdorur operatorin e përzgjedhjes, i cili, bazuar në shkronjën e parë të futur të emrit të sezonit të vitit, printon emrin e plotë të sezonit të vitit.
27.
Ju jepet një numër i plotë pozitiv pesëshifror. Shkruani një program që printon e vërtetë ose i rremë varësisht nëse kushti i specifikuar plotësohet apo jo: shuma e 1, 3 dhe 5 shifrave është më e madhe se prodhimi i 2 dhe 4 shifrave.
28.
Ju jepet një numër i plotë pozitiv me katër shifra. Shkruani një program që printon e vërtetë ose i rremë varet nga

84 Programimi i algoritmeve lineare në sistem C++ Builder nëse kushti i specifikuar plotësohet apo jo: mesatarja aritmetike 1 dhe
4 shifra janë më të mëdha se shuma e 2 dhe 3 shifrave.
29.
Jepet një shifër dhe një numër treshifror në sistemin e numrave dhjetorë. Nëse shifra përputhet me shifrën më të lartë të numrit, atëherë llogaritni shumën e shifrave të numrit. Nëse shifra përkon me shifrën e mesme të numrit, atëherë llogaritni produktin e shifrave të numrit. Nëse shifra përkon me shifrën më pak të rëndësishme të numrit, atëherë llogaritni mesataren aritmetike të shifrave të numrit. Nëse asnjë nga kushtet nuk plotësohet, atëherë llogaritni mesataren gjeometrike të shifrave të numrit.
30.
Jepet një shifër dhe një numër treshifror në sistemin e numrave dhjetorë. Nëse shifra përkon me shifrën më të lartë të numrit, atëherë llogaritni mesataren aritmetike të shifrave të numrit. Nëse shifra përkon me shifrën e mesme të numrit, atëherë llogaritni mesataren gjeometrike të shifrave të numrit. Nëse shifra përkon me shifrën më pak të rëndësishme të numrit, atëherë llogaritni shumën e shifrave të numrit. Nëse asnjë nga kushtet nuk plotësohet, atëherë llogaritni prodhimin e shifrave të numrit
Probleme të nivelit të dytë të vështirësisë.
1.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave tresh. Shkruani një program që shfaq emrat e shifrave të një numri në Rusisht nëse shifra më e lartë e numrit është më e madhe se ajo më e ulëta, përndryshe
- në Anglisht.
2.
Është dhënë një numër i plotë dyshifror pozitiv në sistemin e numrave pesëshifrorë. Shkruani një program që shfaq emrat e shifrave të një numri në anglisht nëse shifra më e lartë e numrit është më e madhe se ajo më e ulëta, përndryshe
- në rusisht.
3.
Është dhënë një numër i plotë dyshifror pozitiv në sistemin e numrave pesëshifrorë. Shkruani një program që shfaq emrat e shifrave të një numri në anglisht nëse shifra më e lartë e numrit është saktësisht 2 herë më e madhe se ajo më e ulëta, përndryshe
- në rusisht.
4.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave tresh. Shkruani një program që shfaq emrat e shifrave të një numri në Rusisht nëse shifra më e lartë e numrit është më e vogël se ajo më e ulëta, përndryshe
- në Anglisht.

Programimi me vargje njëdimensionale
85 5.
Është dhënë një numër i plotë dyshifror pozitiv në sistemin e numrave pesëshifrorë. Shkruani një program që shfaq emrat e shifrave të një numri në Rusisht.
6.
Jepet një numër i plotë dyshifror pozitiv në sistemin e numrave oktal. Shkruani një program që shfaq emrat e shifrave të një numri në Rusisht.
7.
Jepet një numër i plotë dyshifror pozitiv në sistemin e numrave oktal. Shkruani një program që shfaq, nëse shifra kryesore është më e vogël se gjysma e shifrës së vogël, emrat e shifrave të numrit në anglisht, përndryshe

në rusisht.
8.
Është dhënë një numër i plotë dyshifror pozitiv në sistemin e numrave septal. Shkruani një program që shfaq, nëse numrat janë në rend zbritës, emrat e shifrave të numrit në anglisht, përndryshe

në rusisht.
9.
Në sistemin e numrave dhjetorë jepen dy shifra. Shkruani një program që shfaq emrat në anglisht të shifrave të shumës së këtyre shifrave.
10.
Në sistemin e numrave dhjetorë jepen dy shifra. Shkruani një program që shfaq emrat në rusisht të numrave të produktit të këtyre numrave.
11.
Në sistemin e numrave dhjetorë jepen dy shifra. Shkruani një program që shfaq emrin në rusisht të shifrave të modulit të ndryshimit midis këtyre shifrave.
12.
Në sistemin e numrave dhjetorë jepen dy shifra. Shkruani një program që shfaq emrat e shifrave në anglisht për herësin dhe mbetjen e një pjesëtimi të plotë të këtyre numrave.
13.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave nëntëshifror. Shkruani një program që shfaq, nëse shifra më e lartë është tre herë më e madhe se shifra më e ulët, emrat e shifrave të numrit në anglisht, përndryshe

në rusisht.
14.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave nëntëshifror. Shkruani një program që shfaq emrin e shifrës së një numri që ka një vlerë më të madhe në anglisht dhe emrin e shifrës së një numri që ka një vlerë më të vogël.

në rusisht.

86 Programimi i algoritmeve lineare në sistem C++ Builder
15.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave septal. Shkruani një program që shfaq emrin e shifrës së një numri që ka një vlerë më të madhe në anglisht dhe emrin e shifrës së një numri që ka një vlerë më të vogël.

në rusisht.
16.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave heksadecimal. Shkruani një program që shfaq emrat e shifrave të një numri në anglisht.
17.
Janë dhënë dy numra të plotë dyshifrorë pozitivë në sistemin e numrave tresh. Shkruani një program që shfaq emrat e shifrave të shumës së këtyre numrave në Rusisht.
18.
Janë dhënë dy numra të plotë dyshifrorë pozitivë në sistemin e numrave binar. Shkruani një program që shfaq emrat e shifrave të shumës së këtyre numrave në anglisht.
19.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave pesëshifrorë. Shkruani një program që shfaq, nëse numrat janë renditur në rend rritës, emrat e shifrave të numrit në anglisht dhe ndryshe

në rusisht.
20.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave heksadecimal. Shkruani një program që shfaq, nëse shifra më e lartë është pesë herë më e madhe se shifra më e ulët, emrat e shifrave të numrit në rusisht, përndryshe

në Anglisht.
21.
Në sistemin e numrave oktal jepen dy shifra. Shkruani një program që shfaq emrat në rusisht të shifrave të modulit të ndryshimit midis këtyre shifrave.
22.
Në sistemin e numrave oktal jepen dy shifra. Shkruani një program që shfaq emrat në rusisht të shifrave të shumës së këtyre dy shifrave.
23.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave septal. Shkruani një program që shfaq, nëse shifra më e lartë është tre herë më e madhe se shifra më e ulët, emrat e shifrave të numrit në Rusisht, përndryshe

në Anglisht.
24.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave oktal. Shkruani një program që shfaq emrin e shifrës së një numri që ka një vlerë më të madhe në rusisht, dhe në

Programimi me vargje njëdimensionale
87 është renditja e shifrës së numrit që ka vlerën më të ulët,

në Anglisht.
25.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave septal. Shkruani një program që shfaq emrin e shifrave të një numri që ka një vlerë më të vogël se 4, në Rusisht, dhe emrin e shifrave të një numri që ka një vlerë më të madhe ose të barabartë me 4,

në Anglisht.
26.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave heksadecimal. Shkruani një program që shfaq emrin e shifrave të një numri me një vlerë më të vogël se 3 në Rusisht dhe emrin e shifrave të një numri me një vlerë më të madhe ose të barabartë me 3,

në Anglisht.
27.
Janë dhënë dy shkronjat e para (të pandjeshme, të vogla dhe të mëdha) të emrit të muajit të vitit. Shkruani një program që shfaq emrin e plotë të muajit të vitit në Rusisht.
28.
Janë dhënë dy shkronjat e para (të pandjeshme, të vogla dhe të mëdha) të emrit të ditës së javës. Shkruani një program që shfaq emrin e plotë të ditës së javës në Rusisht.
29.
Kalendari i vjetër japonez miratoi një cikël 60-vjeçar, i përbërë nga pesë nëncikle 12-vjeçare. Nëncikle u caktuan me emra ngjyrash: jeshile, e kuqe, e verdhë, e bardhë dhe e zezë. Brenda çdo nëncikli, vitet u emëruan sipas kafshëve: miu, lopa, tigri, lepuri, dragoi, gjarpri, kali, dele, majmuni, pula, qeni dhe derri (1984 - viti i miut të gjelbër - ishte fillimi i të ardhmes cikli). Shkruani një program që fut numrin e një viti të caktuar të erës sonë dhe shtyp emrin e tij sipas kalendarit të vjetër japonez.
30.
Jepet një numër i plotë pozitiv dyshifror në sistemin e numrave nëntëshifror. Shkruani një program që shfaq emrin e shifrave të një numri me një vlerë më të madhe se 5 në Rusisht dhe emrin e shifrave të një numri me një vlerë më të vogël ose të barabartë me 5,

në Anglisht.

88 Programimi i algoritmeve lineare në sistem C++ Builder
4 CIKLI I PROGRAMIMIT
ALGORITME NË SISTEMIN C++ BUILDER
Ky seksion shqyrton operatorët e ciklit gjuhësor
C++, përvetësimi i aftësive në programimin e algoritmeve ciklike, hyrje
po, përpilimi dhe korrigjimi i programeve.
4.1
Konceptet themelore
Në gjuhë C++ Builder Ekzistojnë tre operatorë loop:
1.
Lak me parakusht ( derisa);
2.
Lak me kusht ( bëj);
3.
Lak me numërues ( për).
Operatori i ciklit me parakusht derisa (Figura 4.1):
derisa(gjendja) (trupi i lakut)
Figura 4.1

Diagrami i algoritmit të operatorit të ciklit derisa
Nëse rezultati i llogaritjes së kushtit është e vërtetë(e vërtetë), atëherë trupi i lakut ekzekutohet dhe kalimi në kontrollimin e gjendjes kryhet përsëri. Nëse rezultati i llogaritjes së kushtit është i rremë(false), më pas cikli del dhe kalon në deklaratën pas operatorit ciklik derisa.
Nëse para ekzekutimit të parë të ciklit vlera e shprehjes ishte i rremë, trupi i ciklit nuk ekzekutohet fare dhe ndodh kalimi në deklaratën tjetër.
gjendja
Trupi i lakut
po
Nr

Programimi me vargje njëdimensionale
89
Shembull:
Llogaritni shumën e numrave tek në rangun nga 1 deri në 10.
( int k=1, s=0; ndërsa (k ( s+=k; k+=2;
}
}
Operator i ciklit me kusht postar bëj (Figura 4.2):
bëj(trupi i lakut) derisa(gjendja); po jo kusht
Trupi i lakut
Figura 4.2

Diagrami i algoritmit të operatorit të ciklit bej Nderkohe
Kushti është një shprehje e një lloji logjik, trupi i lakut është një pohim i thjeshtë ose i përbërë.
Trupi i ciklit të deklaratës

Me mësuesin tuaj, zgjidhni një detyrë për punë të pavarur nga ushtrimet e mëposhtme.

1. Llogaritni vlerat e shprehjes:

a) sqr(x)+sqr(y)<=4 при x=0.3, y=-1.6;

b) k mod 7 = k div5-1 në k=15;

c) tek(trunc(10*p)) në p=0,182;

d) jo tek(n) për n=0;

e) t dhe (p mod 3=0) me t=true, p=101010;

e) (x*y<>0) dhe (y>x) për x=2, y=1;

g) (x*y<>0) ose (y>x) për x=2, y=1;

h) a ose (jo b) kur a=E gabuar, b=E vërtetë;

2. Shkruani një relacion në Pascal që është i vërtetë kur plotësohet kushti i specifikuar dhe i gabuar përndryshe:

a) numri i plotë k është i pjesëtueshëm me 7;

b) ekuacioni nuk ka rrënjë reale;

c) pika (x, y) shtrihet jashtë rrethit të rrezes R me qendër në pikën (1,0);

d) numri natyror N është katrori i numrit natyror;

f) x=max(x,y,z);

dhe) (mos përdorni funksionin jo) g

h) të paktën një nga variablat logjikë a dhe b ka vlerën True;

i) të dy variablat logjikë a dhe b kanë vlerën True.

3. Tregoni rendin e veprimeve kur llogaritni shprehjet:

a) a dhe b ose jo c dhe d;

b) (x>=0) ose jo c dhe d.

4. Llogaritni shprehjet e mëposhtme për a=E vërtetë, b=E gabuar:

a) a ose b dhe jo a;

b) (a ose b) dhe jo a;

c) jo a dhe b;

d) jo (a dhe b)

5. Shkruani një shprehje në Pascal që është e vërtetë kur plotësohet kushti i specifikuar dhe false përndryshe:

a) x i përket segmentit;

b) x shtrihet jashtë segmentit;

c)* x i përket segmentit ose [-1, 1];

d)* x shtrihet jashtë segmenteve dhe [-1, 1];

e) secili nga numrat x, y, z është pozitiv;

g) asnjë nga numrat x, y, z nuk është pozitiv;

h) vetëm njëri nga numrat x, y, z është pozitiv;

i) ndryshorja logjike a ka vlerën True, ndryshorja logjike b ka vlerën False;

j)* një vit me numër serik y është një vit i brishtë (një vit i brishtë nëse numri i tij është shumëfish i 4, por nga shumëfishat e 100, vetëm shumëfishat e 400 janë vite të brishtë, për shembull, 1700, 1800 dhe 1900 janë vite jo të brishtë, viti 2000 është vit i brishtë).

6. Vizatoni në rrafshin (x, y) zonën në të cilën dhe vetëm në të cilën shprehja e treguar është e vërtetë:

a)* (y>=x) dhe (y+x>=0) dhe (y<=1);

b) (sqr(x)+sqr(y)<1) or (y>0) dhe (abs(x)<=1);

c) (trunc(y)=0 dhe (rrumbullakët(x)=0);

d)* (abs(x)<=1)>(abs(y)>=1);

d) (sqr(x)+sqr(y)<=4)=(y<=x).

7) Ekziston një operator i kushtëzuar:

Shkruaj ('ngut!')

shkruar ('keq...')

A është e mundur të zëvendësohet me deklaratat e mëposhtme:

a) nëse d=10 b) nëse jo (d=10)

writeln ('ngatërr!') writeln ('hurra!')

writeln ('keq...'); writeln ('keq...');

c) nëse jo (d=10) d) nëse jo (d<>10)

writeln ('keq...') writeln ('keq...')

writeln (' shpejt! '); writeln (' shpejt! ');

8) Cilat do të jenë vlerat e variablave j, k pas ekzekutimit të deklaratës së kushtëzuar:

nëse vlerat fillestare të variablave janë të barabarta:

shënim. Si rezultat i ekzekutimit të operatorit dec (k,2), vlera e ndryshores k zvogëlohet me 2.

Variablat e tipit Boolean përshkruhen duke përdorur një identifikues Boolean . Ato mund të marrin vetëm dy kuptime - I rremë (gënjeshtër) Dhe E vërtetë (e vertete). Ato gjithashtu përshkruhen në seksionin e përshkrimit të variablave. Var<имя>:Boolean;

Shprehjet logjike mund të përfshijnë:

n vlera logjike,

n operacionet e lidhjes (<- меньше, >- me shume,<=- меньше или равно, >=- më e madhe ose e barabartë me,<>- jo e barabartë, =- e barabartë).

n operacione logjike Dhe, Ose, Jo

n dhjetor. veprimet dhe funksionet


Turbo Pascal ka operacione logjike që zbatohen për variablat e tipit logjik. Këto janë operacionet jo, dhe, ose dhe xor.

Operacioni jo(jo) ka një operand dhe formon mohimin e tij logjik. Rezultati i operacionit jo është False nëse operandi është i vërtetë dhe True nëse operandi është i gabuar. Pra, jo e vërtetë E rreme (e pavërteta është gënjeshtër) jo e rreme E vërtetë (jo gënjeshtra është e vërtetë).

Rezultati i operacionit dhe(dhe) është e vërtetë vetëm nëse të dy operandët e tij janë true, dhe false në të gjitha rastet e tjera (shumëzimi logjik).

Rezultati i operacionit ose(ose) është e vërtetë nëse njëri prej operandëve të tij është i vërtetë, dhe i gabuar vetëm nëse të dy operandët janë false (shtimi logjik).

Operacionet logjike, operacionet relacionale dhe operacionet aritmetike shpesh shfaqen në të njëjtën shprehje. Në këtë rast, marrëdhëniet majtas dhe djathtas të shenjës së veprimit logjik duhet të mbyllen në kllapa, pasi veprimet logjike kanë prioritet më të lartë. Në përgjithësi, prioriteti i mëposhtëm i operacioneve pranohet:

2. dhe, *, /, div, mod

3. ose, +, -

4. operacionet e marrëdhënieve (<- меньше, >- me shume,<=- меньше или равно, >=- më e madhe ose e barabartë me,<>- jo e barabartë, =- e barabartë).

Përveç kësaj, rendi i veprimeve mund të ndryshohet me kllapa. Për shembull, në një shprehje logjike ne do të rregullojmë rendin e veprimeve:

AorBandnot (AorB)


Operacioni ose i mbyllur në kllapa kryhet i pari, i ndjekur nga operacionet jo, dhe, ose. Nëse zëvendësojmë vlerat True dhe False në vend të variablave A dhe B, atëherë, duke përdorur procedurën e diskutuar tashmë, marrim vlerën e të gjithë shprehjes së barabartë me True.

Ushtrimi 5: . Shkruani në fletore dhe llogaritni kuptimet e shprehjeve

me a=10, b=20, c=e vërtetë, d=e gabuar: A)(a>5) dhe (b>5) dhe (a<20) and (b<30);

b) jo (a<15) or not (b<30);

c) c ose d dhe (b=20).

Kujdes ! Në Pascal, nuk ka asnjë mënyrë për të futur të dhëna Boolean duke përdorur operatorin e leximit. Sidoqoftë, është e mundur të nxirren vlerat e variablave të tipit Boolean duke përdorur operatorin e shkrimit. Për shembull, pas ekzekutimit të deklaratës write (5>2), në ekran do të shfaqet True.

Pyetjet dhe detyrat e detyrave të shtëpisë:

1. Si përshkruhet një variabël logjik dhe çfarë vlerash mund të marrë?

2. Çfarë mund të përfshihet në shprehjet logjike. Jepni shembuj të shprehjeve të thjeshta logjike.

3. Na tregoni për veprimet logjike në Pascal. Jepni shembuj të shprehjeve të përbëra logjike.

4. Cili është prioriteti i operacioneve të ndryshme në Pascal. Jep një shembull.


Detyrat:

№19.

A. numri i plotë k është i pjesëtueshëm me 7;

B. Të paktën një nga numrat e plotë x, y është çift;

G. x=max(x,y,z), pra x është më i madhi nga tre numrat x,y,z;

D. (mos përdorni funksionin jo)

E. të paktën një nga variablat logjike a dhe b ka vlerën True;

G. të dy variablat logjikë a dhe b kanë vlerën True.

№20. Specifikoni rendin e veprimeve kur vlerësoni shprehjet:

A) a dhe b ose jo c dhe d; b) (x>=0) ose jo c dhe d.

№21. Vlerësoni shprehjet e mëposhtme kur a=E vërtetë, b=E gabuar:

A) a ose b dhe jo a; b)(a ose b) dhe jo a; V) jo a dhe b; G) jo (a dhe b)

№22. Krijoni një program: Në provimet pranuese, aplikanti mori pjesë në fizikë, shkenca kompjuterike dhe ese. Një aplikant do të pranohet nëse merr notën 5 në shkencat kompjuterike dhe shënon të paktën 13 pikë për tre provime.

§ 8. Zgjidhja e problemave me temën “Programet lineare. Vlerat logjike”.

p.sh. 7 . Llogaritni vlerat e shprehjes:

a) sqr(x)+sqr(y)<=4 при x=0.3, y=-1.6;

b) k mod 7 = k div5-1 në k=15;

c) tek(trunc(10*p)) në p=0,182;

d) jo tek(n) për n=0;

e) t dhe (p mod 3=0) me t=true, p=101010;

e) (x*y<>0) dhe (y>x) për x=2, y=1;

g) (x*y<>0) ose (y>x) për x=2, y=1;

h) a ose (jo b) kur a=E gabuar, b=E vërtetë;

p.sh. 8. Shkruani një shprehje në Pascal që është e vërtetë nëse plotësohet kushti i specifikuar dhe false ndryshe:

a) x i përket segmentit;

b) x shtrihet jashtë segmentit;

c)* x i përket segmentit ose [-1, 1];

d)* x shtrihet jashtë segmenteve dhe [-1, 1];

e) secili nga numrat x, y, z është pozitiv;

g) asnjë nga numrat x, y, z nuk është pozitiv;

h) vetëm njëri nga numrat x, y, z është pozitiv;

i) ndryshorja logjike a ka vlerën True, ndryshorja logjike b ka vlerën False;


j)* një vit me numër serik y është një vit i brishtë (një vit i brishtë nëse numri i tij është shumëfish i 4, por nga shumëfishat e 100, vetëm shumëfishat e 400 janë vite të brishtë, për shembull, 1700, 1800 dhe 1900 janë vite jo të brishtë, viti 2000 është vit i brishtë).

p.sh. 9 . Vizatoni në rrafshin (x, y) një rajon në të cilin dhe vetëm në të cilin shprehja e treguar është e vërtetë:

a)* (y>=x) dhe (y+x>=0) dhe (y<=1);

b) (sqr(x)+sqr(y)<1) or (y>0) dhe (abs(x)<=1);

c) (trunc(y)=0 dhe (rrumbullakët(x)=0);

d)* (abs(x)<=1)>(abs(y)>=1);

d) (sqr(x)+sqr(y)<=4)=(y<=x).

p.sh. 10 ..Libri kushton X rubla. Blerësi ka kartëmonedha në prerje prej 50, 10, 5, 1 rubla. Sa dhe çfarë lloj faturash duhet të merrni për të paguar një libër me numrin minimal të faturave?

Variablat Boolean zakonisht i marrin vlerat e tyre duke kryer krahasime dhe operacione matematikore (të diskutuara në mësimin e mëparshëm), si dhe duke përdorur operacione specifike Boolean.

Turbo Pascal ka operacione logjike që zbatohen për variablat e tipit logjik. Këto janë operacionet jo, dhe, ose dhe xor. Në këtë temë do të shikoni tre operacione logjike. Emërtimet dhe rezultatet e këtyre operacioneve janë dhënë në tabelë. Konsideroni atë.

Operacioni jo(jo) ka një operand dhe formon mohimin logjik të tij. Rezultati i operacionit jo është False nëse operandi është i vërtetë dhe True nëse operandi është i rremë. Kështu që,

jo e vërtetë E rreme (e pavërteta është gënjeshtër)

jo e rreme E vertete (nuk eshte e vertete nje genjeshter)

Rezultati i operacionit dhe(dhe) është e vërtetë vetëm nëse të dy operandët e tij janë true, dhe false në të gjitha rastet e tjera.

Rezultati i operacionit ose(ose) është true nëse njëri prej operandëve të tij është i vërtetë dhe false vetëm nëse të dy operandët janë false.

Ushtrimi . Mundohuni të përcaktoni kuptimin e operacioneve Boolean për deklaratat:

  1. Një nxënës shkolle qëndron në shtëpi gjatë pushimeve dimërore ose shkon me pushime diku.
  2. Philip Kirkorov është një këngëtar dhe operator i kombinatit.
  3. Nxënësit e shkollës janë djem dhe vajza..

Operacionet logjike, operacionet relacionale dhe operacionet aritmetike shpesh shfaqen në të njëjtën shprehje. Në këtë rast, marrëdhëniet majtas dhe djathtas të shenjës së veprimit logjik duhet të mbyllen në kllapa, pasi veprimet logjike kanë përparësi më të madhe. Në përgjithësi, prioriteti i mëposhtëm i operacioneve pranohet:

  • dhe, *, /, div, mod
  • ose, +, -
  • operacionet e marrëdhënieve..

. Veprimi logjik dhe quhet gjithashtu shumëzim logjik, dhe operacioni logjik ose quhet gjithashtu mbledhje logjike.

Përveç kësaj, rendi i veprimeve mund të ndryshohet me kllapa. Për shembull, në një shprehje logjike do të rregullojmë rendin e veprimeve

A ose B dhe jo (A ose B)

Operacioni ose i mbyllur në kllapa kryhet i pari, i ndjekur nga operacionet jo, dhe, ose. Nëse zëvendësojmë vlerat True dhe False në vend të variablave A dhe B, atëherë, duke përdorur procedurën e diskutuar tashmë, marrim vlerën e të gjithë shprehjes së barabartë me True.

Ushtrimi . Shkruani në fletoren tuaj dhe llogaritni vlerat e shprehjeve për a=10, b=20, c=true, d=false:

  • (a>5) dhe (b>5) dhe (a<20) and (b<30);
  • jo (a<15) or not (b<30);
  • c ose d dhe (b=20);

Kujdes! Në Pascal, nuk ka asnjë mënyrë për të futur të dhëna Boolean duke përdorur operatorin e leximit. Sidoqoftë, është e mundur të nxirren vlerat e variablave të tipit Boolean duke përdorur operatorin e shkrimit.

Për shembull, pas ekzekutimit të deklaratës write (5>2), True do të shfaqet në ekran.

Punë e pavarur

Me mësuesin tuaj, zgjidhni një detyrë për punë të pavarur nga ushtrimet e mëposhtme.

  1. Llogaritni vlerat e shprehjes:

    a) sqr(x)+sqr(y)<=4 при x=0.3, y=-1.6;

    b) k mod 7 = k div5-1 në k=15;

    c) tek(trunc(10*p)) në p=0,182;

    d) jo tek(n) për n=0;

    e) t dhe (p mod 3=0) me t=true, p=101010;

    e) (x*y<>0) dhe (y>x) për x=2, y=1;

    g) (x*y<>0) ose (y>x) për x=2, y=1;

    h) a ose (jo b) kur a=E gabuar, b=E vërtetë;

  2. Shkruani një relacion në Pascal që është i vërtetë nëse plotësohet kushti i specifikuar dhe i gabuar ndryshe:

    a) numri i plotë k është i pjesëtueshëm me 7;

    b) pika (x, y) shtrihet jashtë rrethit të rrezes R me qendër në pikën (1,0);

    c) numri natyror N është katrori i numrit natyror;

    d) 0

    e) x=max(x,y,z);

    e) të paktën një nga variablat logjike a dhe b ka vlerën True;

    g) të dy variablat logjikë a dhe b kanë vlerën True.

  3. Specifikoni rendin e veprimeve kur vlerësoni shprehjet:

    a) a dhe b ose jo c dhe d;

    b) (x>=0) ose jo c dhe d.

  4. Vlerësoni shprehjet e mëposhtme kur a=E vërtetë, b=E gabuar:

    a) a ose b dhe jo a;

    b) (a ose b) dhe jo a;

    c) jo a dhe b;

    d) jo (a dhe b)

  5. Shkruani një shprehje në Pascal që është e vërtetë nëse plotësohet kushti i specifikuar dhe false ndryshe:

    a) x i përket segmentit;

    b) x shtrihet jashtë segmentit;

    c)* x i përket segmentit ose [-1, 1];

    d)* x shtrihet jashtë segmenteve dhe [-1, 1];

    e) secili nga numrat x, y, z është pozitiv;

    g) asnjë nga numrat x, y, z nuk është pozitiv;

    h) vetëm njëri nga numrat x, y, z është pozitiv;

    i) ndryshorja logjike a ka vlerën True, ndryshorja logjike b ka vlerën False;

    j)* një vit me numër serik y është një vit i brishtë (një vit i brishtë nëse numri i tij është shumëfish i 4, por nga shumëfishat e 100, vetëm shumëfishat e 400 janë vite të brishtë, për shembull, 1700, 1800 dhe 1900 janë vite jo të brishtë, viti 2000 është vit i brishtë).

  6. Vizatoni në rrafshin (x, y) një rajon në të cilin dhe vetëm në të cilin shprehja e treguar është e vërtetë:

    a)* (y>=x) dhe (y+x>=0) dhe (y<=1);

    b) (sqr(x)+sqr(y)<1) or (y>0) dhe (abs(x)<=1);

    c) (trunc(y)=0 dhe (rrumbullakët(x)=0);

    d)* (abs(x)<=1)>(abs(y)>=1);

    d) (sqr(x)+sqr(y)<=4)=(y<=x).

  7. Ekziston një operator i kushtëzuar:
    nëse d<>10
    pastaj
    Shkruaj ('ngut!')
    tjetër
    writeln ('keq...');

    A është e mundur të zëvendësohet me deklaratat e mëposhtme:

  8. Cilat do të jenë vlerat e variablave j, k pas ekzekutimit të deklaratës së kushtëzuar:
    nëse j>k
    pastaj
    j:=k-2
    tjetër
    dec(k,2);
    nëse vlerat fillestare të variablave janë të barabarta:
    a) j=3, k=5;
    b) j=3, k=3;
    c) j=3, k=2.

shënim . Si rezultat i ekzekutimit të operatorit dec (k,2), vlera e ndryshores k zvogëlohet me 2.