Логик илэрхийллүүд.  Сэдэв: Булийн өгөгдлийн төрөл

Логик илэрхийллүүд. Сэдэв: Булийн өгөгдлийн төрөл

. Xсегментэд хамаарах;
x сегментээс гадуур байрладаг;
x сегмент буюу [-1,1]-д хамаарах;
x сегментийн гадна байрладаг буюу [-1,1].
3.
Нөхцөлт хэллэгийг гүйцэтгэх бүтэц, дүрмийг тайлбарла.
4.
Заасан үйлдлийг нэг нөхцөлт мэдэгдэл болгон бичнэ үү:
cos
2
x, 0x үед цагт =
1-нүгэл
2
x, өөрөөр.
5.
z
int z=0, x=1, y=

1;

80 Систем дэх шугаман алгоритмуудыг програмчлах C++ Builder
хэрэв (x>0) бол (y>0) z=1; өөр z=2;
6.
Хувьсагч ямар утгатай байх вэ? zоператоруудыг ажиллуулсны дараа:
int z=0, x=

1, y=1;
if (x) ( if (y>0) z=1;) else z=2;
7.
Хувьсагч ямар утгатай байх вэ? zоператоруудыг ажиллуулсны дараа:
int z=0, x=0, y=1;
if (x) ( if (y>0) z=1;) else z=2;
8.
Хувьсагч ямар утгатай байх вэ? zоператоруудыг ажиллуулсны дараа:
int z=0, x=3, y=1;
хэрэв (x) (хэрэв (y) z=1;) өөрөөр z=2;
9.
Дараах мэдэгдлийн алдааг зааж өгнө үү.
хэрэв (1
өөр x=0; y+= 1;
10.
int z=0, x=0, y=1;
хэрэв (!x) ( хэрэв (!(y

1)) z=1;) өөр z=2;
11.
Тайлбаруудыг гүйцэтгэсний дараа z хувьсагч ямар утгатай байх вэ:
int z=0, x=1, y=1;
хэрэв (!x) ( хэрэв (!(y

1)) z=1;) өөр z=2;
12.
Програмын хэсэг дэх алдааг олох:
(int n,x; switch (k) case + : x:=x-4 break; case

-

,

*

, x=5;
}
Ямар дүрэм зөрчсөн, алдааг хэрхэн засах вэ?


81
3.4
3-р хэсгийн бие даасан даалгавар
Оюутан бүр нарийн төвөгтэй байдлын эхний болон хоёрдугаар түвшний хоёр асуудлыг шийдвэрлэх шаардлагатай.
Эхний түвшний бэрхшээлүүд.
1.
Танд дөрвөн оронтой эерэг бүхэл тоо өгөгдсөн. Хэвлэх програм бичнэ үү үнэнэсвэл худлаазаасан нөхцөл хангагдсан эсэхээс хамаарч: 1 ба 4 цифрийн нийлбэр нь 2 ба 3 оронтой тооны үржвэртэй тэнцүү байна.
2.
Өгөгдсөн бодит тоо x, y. Хэрэв x ба у сөрөг байвал утга бүрийг модулиар нь солино; хэрэв тэдгээрийн зөвхөн нэг нь сөрөг байвал хоёр утгыг 5.5-аар нэмэгдүүлнэ; бусад тохиолдолд хоёр утгыг 10 дахин бууруулна.
3.
Өгөгдсөн бодит тоо x, y. Хэрэв x ба y эерэг байвал утга бүрийг 5 дахин бууруулна; хэрэв хоёр утга нь [-3, 9] мужид байгаа бол хоёр утгыг 0-ээр солино; бусад тохиолдолд x ба у-г 3-аар нэмэгдүүлнэ.
4.
Өгөгдсөн бодит тоо x, y (xy). Эдгээр хоёр тооны жижиг тоог хагас нийлбэрээр, томыг давхар үржвэрээр солино.
5.
Хэрэв x, y, z гэсэн хос хосолсон гурван бодит тооны нийлбэр нь 1-ээс бага бол эдгээр гурван тооны хамгийн багыг нөгөө хоёрын хагасын нийлбэрээр солино; Үгүй бол x ба y-ийн жижиг хэсгийг үлдсэн хоёр утгын хагасын нийлбэрээр солино.
6.
Өгөгдсөн бодит тоонууд a, b, c, d. Хэрвээ b>c>d, дараа нь тоог хэвээр үлдээнэ үү; Үгүй бол бүх тоог квадратаар солино.
7.
Зургаан оронтой бүхэл тоо азтай эсэхийг тодорхойл. (Эхний гурван оронгийн нийлбэр нь сүүлийн гурван орны нийлбэртэй тэнцүү бол тухайн тоог азтай гэж нэрлэдэг.)
8.
үнэнэсвэл худлаазаасан нөхцөл хангагдсан эсэхээс хамаарч: дурын бодит тоонуудын хувьд a, b, c тэгшитгэл ax эсэхийг тодорхойлно.
2
+bx+c=0 ядаж нэг бодит шийдэл.

82 Систем дэх шугаман алгоритмуудыг програмчлах C++ Builder
9.
Дараах асуудлыг шийдэхийн тулд хэвлэдэг програм бичнэ үү үнэнэсвэл худлаазаасан нөхцөл хангагдсан эсэхээс хамаарч: өгөгдсөн дөрвөн оронтой тооны эхний хоёр орны нийлбэр нь сүүлийн хоёр тооны нийлбэртэй тэнцүү эсэхийг тодорхойлно.
10.
Зарим боловсролын байгууллагууд дараахь элсэлтийн дүрэмтэй байдаг. Өргөдөл гаргагчид хоёр шалгалт өгөх бөгөөд шалгалтын дагуу үнэлгээ өгдөг
тус бүр 100 оноо. Хэрэв өргөдөл гаргагч дор хаяж 150 оноо авсан бол энэ нь өдрийн тэнхимд, 100-аас 149 хүртэл - оройн тэнхимд элсэх эрхийг олгоно; 100 онооноос доош бол суралцахаас татгалзсан гэсэн үг. Авсан онооноос хамааран өргөдөл гаргагчид элсэх эрхийн талаар мэдээлэх хөтөлбөр бичнэ үү.
11.
Сонгох операторыг ашиглан тэмдэгтүүдийн аман тайлбарыг авах програм бич. (1 - "муу", ​​2 -
"хангалтгүй", 3 - "хангалттай", 4 - "сайн", 5 -
"Агуу их".)
12.
Дараах асуудлыг шийдэхийн тулд хэвлэдэг програм бичнэ үү үнэнэсвэл худлаазаасан нөхцөл хангагдсан эсэхээс хамаарч: өгөгдсөн гурван оронтой тооны цифрүүдийн дунд ижил цифр байгаа эсэхийг тодорхойлно.
13.
Хэвлэх програм бичнэ үү үнэн, хэрэв огноо d1, m1огнооны өмнө (нэг жилийн дотор). d2, м2мөн утга худлааөөрөөр.
14.
Нэрийн эхний үсэг дээр үндэслэн дэлгэцэн дээр бүтэн нэрийг харуулах сонгон шалгаруулах оператор ашиглан програм бич.
(Иван, Петр, Николай, Владимир, Георгий).
15.
Оруулсан цифр дээр үндэслэн 0≤ сонгох операторыг ашиглан програм бич k≤ 5 нь энэ тооны нэрийг орос, англи хэл дээр хэвлэнэ.
16.
Бүхэл тоо өгөгдсөн k (1

к

365). Хэрэв 1-р сарын 1-ний өдөр даваа гараг бол жилийн k дэх өдөр амралтын өдөр эсвэл ажлын өдөр байх уу гэдгийг тодорхойл.
17.
Бодит тоо өгсөн x. Тооцоол е, Хэрэв:











нүгэл
,
1 0
,
0 5
2 11 2
тохиолдлууд
бусад
В
x
x
x
цагт
x
x
x
цагт
е

Нэг хэмжээст массиваар програмчлах
83 18.
Бодит тоо өгсөн x. Тооцоолох програм бичнэ үү е:












34 5
,
12 3
lg ln
,
3 5
1 3
2 4
тохиолдлууд
бусад
В
x
x
x
цагт
x
x
x
цагт
е
19.
Сонгох оператор ашиглан хотын нэрний эхний үсгийг үндэслэн хотын бүтэн нэрийг (Курск, Москва, Тула, Новгород, Воронеж) харуулсан програм бич.
20.
Сонгох операторыг ашиглан овог нэрийн эхний үсэг дээр үндэслэн бүтэн овог (Иванов, Петров, Сидоров, Мышкин, Шишкин) харуулах програм бич.
21.
Төвийн координат ба тойргийн радиусыг өгөв. (x,y) координаттай тодорхой цэг тойрогт хамаарах эсэхийг тодорхойл.
22.
Оруулсан амьтны нэрний эхний үсгийг үндэслэн тухайн амьтны нэрийг (нохой, муур, анааш, морь, сармагчин) бүтэн хэвлэх программыг сонгох оператор ашиглан бич.
23.
Гурван өөр тоо өгсөн a,b,c. Эдгээр тоонуудыг өсөх дарааллаар эрэмбэл ахамгийн бага тоотой тохирч байна б- дундаж тоо, в- хамгийн агуу.
24.
Долоо хоногийн өдрийн нэрийг тоогоор (1-ээс 7 хүртэл) харуулах сонгон шалгаруулах оператор ашиглан програм бич.
25.
Тухайн жилийн сарын нэрийг тоогоор (1-ээс 12 хүртэл) харуулсан сонгон шалгаруулах оператор ашиглан програм бич.
26.
Сонгох операторыг ашиглан тухайн жилийн нэрний эхний үсгийг үндэслэн тухайн жилийн улирлын нэрийг бүтэн хэвлэдэг програм бич.
27.
Танд таван оронтой эерэг бүхэл тоо өгөгдсөн. Хэвлэх програм бичнэ үү үнэнэсвэл худлаазаасан нөхцөл хангагдсан эсэхээс хамаарч: 1, 3, 5 цифрийн нийлбэр нь 2 ба 4 оронтой үржвэрээс их байна.
28.
Танд дөрвөн оронтой эерэг бүхэл тоо өгөгдсөн. Хэвлэх програм бичнэ үү үнэнэсвэл худлаахамааран

84 Систем дэх шугаман алгоритмуудыг програмчлах C++ Builder заасан нөхцөл хангагдсан эсэх: арифметик дундаж 1 ба
4 цифр нь 2 ба 3 цифрийн нийлбэрээс их байна.
29.
Аравтын бутархай тооллын системд цифр болон гурван оронтой тоо өгөгдсөн. Хэрэв цифр нь тухайн тооны хамгийн өндөр оронтой таарч байвал тухайн тооны цифрүүдийн нийлбэрийг тооцоол. Хэрэв цифр нь тухайн тооны дундах цифртэй давхцаж байвал тухайн тооны цифрүүдийн үржвэрийг тооцоол. Хэрэв цифр нь тухайн тооны хамгийн бага чухал оронтой давхцаж байвал тухайн тооны цифрүүдийн арифметик дундажийг тооцоол. Хэрэв нөхцөлүүдийн аль нь ч хангагдаагүй бол тухайн тооны цифрүүдийн геометрийн дундажийг тооцоол.
30.
Аравтын бутархай тооллын системд цифр болон гурван оронтой тоо өгөгдсөн. Хэрэв цифр нь тухайн тооны хамгийн өндөр оронтой давхцаж байвал тухайн тооны цифрүүдийн арифметик дундажийг тооцоол. Хэрэв цифр нь тухайн тооны дундах оронтой давхцаж байвал тухайн тооны цифрүүдийн геометрийн дундажийг тооцоол. Хэрэв цифр нь тухайн тооны хамгийн бага чухал оронтой давхцаж байвал тухайн тооны цифрүүдийн нийлбэрийг тооцоол. Хэрэв нөхцөлүүдийн аль нь ч хангагдаагүй бол тухайн тооны цифрүүдийн үржвэрийг тооцоол
Хоёр дахь түвшний бэрхшээлүүд.
1.
Гурвалсан тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Хэрэв тухайн тооны дээд цифр нь хамгийн бага цифрээс их байвал тухайн тооны цифрүүдийн нэрийг орос хэлээр харуулах программ бичнэ үү.
- Англи хэлэнд.
2.
Таван оронтой тооллын системд бүхэл тоо бүхий хоёр оронтой эерэг тоог өгөв. Хэрэв тухайн тооны дээд цифр нь хамгийн багааас их байвал тухайн тооны цифрүүдийн нэрийг англи хэлээр харуулах програм бич.
- орос хэл дээр.
3.
Таван оронтой тооллын системд бүхэл тоо бүхий хоёр оронтой эерэг тоог өгөв. Хэрэв тухайн тооны хамгийн дээд цифр нь хамгийн багааас яг 2 дахин их байвал тухайн тооны цифрүүдийн нэрийг англи хэлээр харуулах програм бич.
- орос хэл дээр.
4.
Гурвалсан тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Хэрэв тухайн тооны дээд цифр нь хамгийн багааас бага байвал тухайн тооны цифрүүдийн нэрийг орос хэлээр харуулах программ бичнэ үү.
- Англи хэлэнд.

Нэг хэмжээст массиваар програмчлах
85 5.
Таван оронтой тооллын системд бүхэл тоо бүхий хоёр оронтой эерэг тоог өгөв. Тооны цифрүүдийн нэрийг орос хэлээр харуулах програм бич.
6.
Найман тооллын системд бүхэл тооны хоёр оронтой эерэг тоо өгөгдсөн. Тооны цифрүүдийн нэрийг орос хэлээр харуулах програм бич.
7.
Найман тооллын системд бүхэл тооны хоёр оронтой эерэг тоо өгөгдсөн. Хэрэв том цифр нь жижиг цифрийн талаас бага бол тухайн тооны цифрүүдийн нэрийг англи хэлээр, үгүй ​​бол харуулах програм бич.

орос хэл дээр.
8.
Тасалгааны тооллын системд бүхэл тоон хоёр оронтой эерэг тоог өгөв. Хэрэв тоонууд буурах дарааллаар байвал тухайн тооны цифрүүдийн нэрийг англи хэл дээр харуулах програм бичнэ үү.

орос хэл дээр.
9.
Аравтын бутархай тооллын системд хоёр оронтой тоо өгөгдсөн. Эдгээр цифрүүдийн нийлбэрийн цифрүүдийн нэрийг англи хэлээр харуулах програм бич.
10.
Аравтын бутархай тооллын системд хоёр оронтой тоо өгөгдсөн. Эдгээр тоонуудын үржвэрийн тооны нэрийг орос хэл дээр харуулсан програм бич.
11.
Аравтын бутархай тооллын системд хоёр оронтой тоо өгөгдсөн. Эдгээр цифрүүдийн зөрүүний модулийн цифрүүдийн нэрийг орос хэл дээр харуулах програм бич.
12.
Аравтын бутархай тооллын системд хоёр оронтой тоо өгөгдсөн. Эдгээр тоонуудын бүхэл тоон хуваагдлын хуваалт болон үлдэгдлийг тоонуудын нэрийг англи хэлээр харуулах програм бич.
13.
Есөн оронтой тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Хэрэв хамгийн дээд цифр нь доод цифрээс гурав дахин их байвал тухайн тооны цифрүүдийн нэрийг англи хэлээр, үгүй ​​бол харуулах програм бич.

орос хэл дээр.
14.
Есөн оронтой тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Илүү их утгатай тооны цифрийн нэрийг англи хэлээр, бага утгатай тооны цифрийн нэрийг харуулах програм бич.

орос хэл дээр.

86 Систем дэх шугаман алгоритмуудыг програмчлах C++ Builder
15.
Тасалгааны тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Илүү их утгатай тооны цифрийн нэрийг англи хэлээр, бага утгатай тооны цифрийн нэрийг харуулах програм бич.

орос хэл дээр.
16.
Арван аравтын тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Тооны цифрүүдийн нэрийг англи хэлээр харуулах програм бич.
17.
Гурвалсан тооллын системд хоёр оронтой бүхэл тоо өгөгдсөн. Эдгээр тоонуудын нийлбэрийн цифрүүдийн нэрийг орос хэлээр харуулах програм бич.
18.
Хоёртын тооллын системд хоёр бүхэл хоёр оронтой эерэг тоо өгөгдсөн. Эдгээр тоонуудын нийлбэрийн цифрүүдийн нэрийг англи хэлээр харуулах програм бич.
19.
Таван оронтой тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Тоонууд өсөх дарааллаар байрласан бол тухайн тооны цифрүүдийн нэрсийг англи хэл дээр харуулах програм бичнэ үү.

орос хэл дээр.
20.
Арван аравтын тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Хэрэв хамгийн их цифр нь доод цифрээс тав дахин их байвал тухайн тооны цифрүүдийн нэрийг орос хэл дээр, үгүй ​​бол харуулах програм бич.

Англи хэлэнд.
21.
Найман тооллын системд хоёр оронтой тоо өгөгдсөн. Эдгээр цифрүүдийн зөрүүний модулийн цифрүүдийн нэрийг орос хэл дээр харуулах програм бич.
22.
Найман тооллын системд хоёр оронтой тоо өгөгдсөн. Энэ хоёр цифрийн нийлбэрийн цифрүүдийн нэрийг орос хэл дээр харуулах програм бич.
23.
Тасалгааны тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Хэрэв хамгийн дээд цифр нь доод цифрээс гурав дахин их байвал тухайн тооны цифрүүдийн нэрийг орос хэл дээр, үгүй ​​бол харуулах програм бич.

Англи хэлэнд.
24.
Найман тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. Илүү их утгатай тооны цифрийн нэрийг орос хэл дээр харуулах програм бич.

Нэг хэмжээст массиваар програмчлах
87 нь хамгийн бага утгатай тооны цифрийн зэрэглэл,

Англи хэлэнд.
25.
Тасалгааны тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. 4-өөс бага утгатай тооны цифрүүдийн нэрийг орос хэлээр, 4-өөс их буюу тэнцүү утгатай тооны цифрүүдийн нэрийг харуулах программ бичнэ үү.

Англи хэлэнд.
26.
Арван аравтын тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. 3-аас бага утгатай тооны цифрүүдийн нэрийг орос хэлээр, 3-аас их буюу тэнцүү утгатай тооны цифрүүдийн нэрийг харуулах программ бичнэ үү.

Англи хэлэнд.
27.
Жилийн сарын нэрний эхний хоёр үсгийг (том үсгээр, жижиг, том үсгээр бичнэ). Орос хэл дээр тухайн оны сарын нэрийг бүтэн бичсэн программ бичнэ үү.
28.
Долоо хоногийн өдрийн нэрний эхний хоёр үсгийг (том үсгээр, жижиг, том үсгээр бичнэ). Орос хэл дээр долоо хоногийн өдрийн бүтэн нэрийг харуулсан програм бич.
29.
Хуучин Японы хуанли нь 12 жилийн таван дэд мөчлөгөөс бүрдэх 60 жилийн мөчлөгийг баталсан. Дэд циклүүдийг өнгөний нэрээр тодорхойлсон: ногоон, улаан, шар, цагаан, хар. Дэд мөчлөг бүрт харх, үхэр, бар, туулай, луу, могой, морь, хонь, сармагчин, тахиа, нохой, гахай гэсэн амьтдын нэрээр он жилүүдийг нэрлэсэн (1984 - ногоон харх жил - дараагийн жилийн эхлэл байсан). мөчлөг). МЭ-ийн тодорхой жилийн тоог оруулж, хуучин японы хуанлийн дагуу нэрийг нь хэвлэсэн програм бич.
30.
Есөн оронтой тооллын системд хоёр оронтой эерэг бүхэл тоо өгөгдсөн. 5-аас их утгатай тооны цифрүүдийн нэрийг орос хэлээр, 5-аас бага буюу тэнцүү утгатай тооны цифрүүдийн нэрийг харуулах программ бичнэ үү.

Англи хэлэнд.

88 Систем дэх шугаман алгоритмуудыг програмчлах C++ Builder
4 ЦИКЛИЙН ХӨТӨЛБӨРЧИЛГЭЭ
C++ Builder СИСТЕМ ДАХЬ АЛГОРИТМ
Энэ хэсэгт хэлний давталтын операторуудыг шалгана
C++, циклийн алгоритмуудыг програмчлах ур чадвар эзэмших, танилцуулга
тийм ээ, эмхэтгэх, дибаг хийх програмууд.
4.1
Үндсэн ойлголтууд
Хэл дээр C++ Builder Гурван давталтын оператор байдаг:
1.
Урьдчилсан нөхцөлтэй давталт ( байхад);
2.
Дараах нөхцөлтэй давталт ( хийх);
3.
Тоолууртай гогцоо ( төлөө).
Урьдчилсан нөхцөл бүхий давталтын оператор байхад (Зураг 4.1):
байхад(нөхцөл) (гогцооны бие)
Зураг 4.1

Давталтын операторын алгоритм диаграм байхад
Хэрэв нөхцөлийг тооцоолох үр дүн бол үнэн(үнэн), дараа нь гогцооны биеийг гүйцэтгэж, нөхцөлийг шалгах шилжилтийг дахин хийнэ. Хэрэв нөхцөлийг тооцоолох үр дүн бол худлаа(худал), дараа нь давталт гарч, мөчлөгийн операторын дараах мэдэгдэл рүү шилжинэ байхад.
Хэрэв давталтын эхний гүйцэтгэлээс өмнө илэрхийллийн утга байсан бол худлаа, гогцооны бие огт гүйцэтгэгдэхгүй бөгөөд дараагийн хэллэг рүү шилжинэ.
Нөхцөл байдал
Гогцооны бие
Тиймээ
Үгүй

Нэг хэмжээст массиваар програмчлах
89
Жишээ:
1-ээс 10 хүртэлх сондгой тоонуудын нийлбэрийг тооцоол.
( int k=1, s=0; while (k ( s+=k; k+=2;
}
}
Дараах нөхцөл бүхий давталтын оператор хийх (Зураг 4.2):
хийх(гогцооны бие) байхад(нөхцөл байдал); тиймээ нөхцөл байхгүй
Гогцооны бие
Зураг 4.2

Давталтын операторын алгоритм диаграм хийх зуур
Нөхцөл нь логик хэлбэрийн илэрхийлэл, давталтын бие нь нэг энгийн эсвэл нийлмэл хэллэг юм.
Мэдэгдлийн давталтын бие

Багштайгаа хамт доорх дасгалуудаас бие даан ажиллах даалгавраа сонго.

1. Илэрхийллийн утгыг тооцоол:

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

b) k mod 7 = k div5-1 at k=15;

в) сондгой(trunc(10*p)) p=0.182;

d) n=0 хувьд сондгой биш(n);

д) t ба (p mod 3=0) t=true, p=101010;

д) (x*y<>0) ба (y>x) нь x=2, y=1;

g) (x*y<>0) эсвэл (y>x) бол x=2, y=1;

h) a эсвэл (б биш) үед a=Худал, b=Үнэн;

2. Заасан нөхцөл хангагдсан үед үнэн, өөр тохиолдолд худал байх харьцааг Паскаль хэлээр бичнэ үү.

a) k бүхэл тоо 7-д хуваагддаг;

б) тэгшитгэл нь бодит үндэсгүй;

в) (x, y) цэг нь төв нь (1,0) цэгтэй R радиустай тойргийн гадна байрладаг;

г) натурал тоо N нь натурал тооны квадрат;

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

ба) (not үйлдлийг бүү ашигла)g

h) a ба b логик хувьсагчийн дор хаяж нэг нь Үнэн утгатай байна;

i) a ба b логик хувьсагч хоёулаа Үнэн утгатай байна.

3. Илэрхийллийг тооцоолохдоо үйлдлийн дарааллыг заана уу.

a) a ба b эсвэл биш c ба d;

b) (x>=0) эсвэл биш c ба d.

4. a=True, b=False гэж дараах илэрхийллийг тооцоол.

a) a эсвэл b, a биш;

b) (a эсвэл b) ба a биш;

в) а ба б биш;

d) биш (а ба б)

5. Заасан нөхцөл хангагдсан тохиолдолд үнэн, бусад тохиолдолд худал илэрхийлэлийг Паскаль хэлээр бичнэ үү.

a) x сегментэд хамаарах;

б) х сегментийн гадна байрладаг;

в)* х нь сегментэд хамаарах буюу [-1, 1];

d)* x сегментүүдийн гадна байрладаг ба [-1, 1];

e) x, y, z тоо тус бүр эерэг;

g) x, y, z тоонуудын аль нь ч эерэг биш;

h) x, y, z тоонуудын зөвхөн нэг нь эерэг;

i) логик хувьсагч a нь Үнэн утгатай, b логик хувьсагч нь Худал утгатай;

j)* серийн дугаар y-тэй жил нь үсрэлт жил (хэрэв түүний тоо 4-ийн үржвэр, гэхдээ 100-ын үржвэрийн үржвэрээс зөвхөн 400-ийн үржвэрүүд нь үсрэлт жил, жишээлбэл, 1700, 1800, 1900 нь өндөр жил юм. үсрэнгүй жил, 2000 он бол үсрэнгүй жил).

6. Заасан илэрхийлэл үнэн байх талбайг (x, y) хавтгай дээр зур.

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

б) (sqr(x)+sqr(y)<1) or (y>0) ба (abs(x)<=1);

в) (trunc(y)=0 ба (round(x)=0);

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

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

7) Нөхцөлт оператор байдаг:

writeln ('хуррай!')

writeln ('муу...')

Үүнийг дараах мэдэгдлээр солих боломжтой юу.

a) d=10 бол b) үгүй ​​бол (d=10)

writeln ('хуррай!') writeln ('хуррай!')

writeln('муу...'); writeln('муу...');

в) үгүй ​​бол (d=10) d) үгүй ​​бол (d<>10)

writeln ('муу...') writeln ('муу...')

writeln('хуррай!'); writeln('хуррай!');

8) Нөхцөлт мэдэгдлийг гүйцэтгэсний дараа j, k хувьсагчдын утгууд хэд байх вэ:

Хэрэв хувьсагчдын анхны утгууд тэнцүү бол:

Анхаарна уу. dec (k,2) операторыг гүйцэтгэсний үр дүнд k хувьсагчийн утга 2-оор буурна.

Булийн төрлийн хувьсагчдыг танигч ашиглан тайлбарладаг Булийн . Тэд зөвхөн хоёр утгыг авч болно - Худлаа (худлаа)Тэгээд Үнэн (үнэн). Тэдгээрийг мөн хувьсагчийн тайлбар хэсэгт тайлбарласан болно. Var<имя>: Boolean;

Логик илэрхийллүүд багтаж болно:

n логик утга,

n харилцааны үйлдлүүд (<- меньше, >- илүү,<=- меньше или равно, >=- их буюу тэнцүү,<>- тэнцүү биш, =- тэнцүү).

n логик үйлдлүүд And, Or, Not

12-р сар. үйлдэл ба функцууд


Турбо Паскаль нь логик төрлийн хувьсагчдад хамаарах логик үйлдлүүдтэй. Эдгээр нь not, and, or and xor үйлдлүүд юм.

Үйл ажиллагаа үгүй(биш) нэг операндтай бөгөөд түүний логик үгүйсгэлийг бүрдүүлдэг. Not үйлдлийн үр дүн нь хэрэв операнд үнэн бол Худал, худал бол үнэн болно. Тэгэхээр Үнэн худал биш (үнэн бол худал) Худал биш Үнэн (худал биш бол үнэн).

Үйл ажиллагааны үр дүн болон(ба) нь зөвхөн түүний операнд хоёулаа үнэн, бусад тохиолдолд худал (логик үржүүлэх) тохиолдолд л үнэн болно.

Үйл ажиллагааны үр дүн эсвэл(эсвэл) хэрэв түүний операндуудын аль нэг нь үнэн бол үнэн, хэрэв хоёр операнд нь худал бол худал (логик нэмэх).

Логик үйлдлүүд, харилцааны үйлдэл, арифметик үйлдлүүд ихэвчлэн ижил илэрхийлэлд гарч ирдэг. Энэ тохиолдолд логик үйлдлийн тэмдгийн зүүн ба баруун талын харилцааг хаалтанд оруулах ёстой. илүү өндөр ач холбогдол. Ерөнхийдөө дараахь үйл ажиллагааны тэргүүлэх чиглэлийг хүлээн зөвшөөрдөг.

2. ба, *, /, div, mod

3. эсвэл, +, -

4. харилцааны үйлдлүүд (<- меньше, >- илүү,<=- меньше или равно, >=- их буюу тэнцүү,<>- тэнцүү биш, =- тэнцүү).

Үүнээс гадна үйлдлүүдийн дарааллыг хашилтаар өөрчилж болно. Жишээлбэл, логик илэрхийлэлд бид үйлдлийн дарааллыг цэгцлэнэ.

AorBandnot(AorB)


Эхлээд хаалтанд орсон буюу үйлдлийг гүйцэтгэнэ, дараа нь not, болон, эсвэл үйлдлүүд орно. Хэрэв бид A ба B хувьсагчийн оронд True, False утгыг орлуулах юм бол аль хэдийн хэлэлцсэн процедурыг ашиглан бид бүх илэрхийллийн утгыг Үнэнтэй тэнцүү болгоно.

Дасгал 5: . Тэмдэглэлийн дэвтэртээ бичиж, илэрхийллийн утгыг тооцоол

a=10, b=20, c=true, d=худал: A)(a>5) ба (b>5) ба (а<20) and (b<30);

б)үгүй (а<15) or not (b<30);

в) c эсвэл d ба (b=20).

Анхаар ! Паскаль хэлэнд унших операторыг ашиглан Булийн өгөгдлийг оруулах ямар ч арга байхгүй. Гэсэн хэдий ч бичих операторыг ашиглан Boolean төрлийн хувьсагчдын утгыг гаргах боломжтой. Жишээлбэл, бичих (5>2) командыг гүйцэтгэсний дараа дэлгэц дээр True гарч ирнэ.

Гэрийн даалгавар, асуултууд:

1. Логик хувьсагчийг хэрхэн дүрсэлсэн, ямар утгыг авч болох вэ?

2. Логик илэрхийлэлд юу багтаж болох вэ. Энгийн логик илэрхийллийн жишээг өг.

3. Паскаль хэлний логик үйлдлүүдийн талаар бидэнд ярина уу. Нийлмэл логик илэрхийллийн жишээг өг.

4. Паскаль хэл дээрх төрөл бүрийн үйлдлүүдийн тэргүүлэх ач холбогдол юу вэ. Жишээ хэлье.


Даалгаварууд:

№19.

A. k бүхэл тоо 7-д хуваагддаг;

B. x, y бүхэл тоонуудын ядаж нэг нь тэгш байна;

G. x=max(x,y,z), өөрөөр хэлбэл x нь x,y,z гурван тооны хамгийн том нь;

Д. (not үйлдлийг бүү ашигла)

E. a ба b логик хувьсагчийн ядаж нэг нь Үнэн утгатай байна;

G. a ба b логик хувьсагч хоёулаа Үнэн утгатай байна.

№20. Илэрхийллийг үнэлэхдээ үйлдлийн дарааллыг зааж өгнө үү:

A) a ба b эсвэл биш c ба d; б) (x>=0) эсвэл үгүй ​​c ба d.

№21. a=True, b=False үед дараах илэрхийллийг үнэл.

A) a эсвэл b, a биш; б)(a эсвэл b) ба a биш; V) a ба b биш; G)биш (a ба b)

№22. Хөтөлбөр үүсгэх: Элсэлтийн шалгалтанд өргөдөл гаргагч нь физик, компьютерийн шинжлэх ухаан, эссэ авсан. Өргөдөл гаргагч нь компьютерийн шинжлэх ухааны чиглэлээр 5 оноо авч, гурван шалгалтанд 13-аас доошгүй оноо авсан тохиолдолд элсэх болно.

§ 8. “Шугаман программ” сэдвээр бодлого шийдвэрлэх. Логик утгууд."

Жишээ нь. 7 . Илэрхийллийн утгыг тооцоолно уу:

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

b) k mod 7 = k div5-1 at k=15;

в) сондгой(trunc(10*p)) p=0.182;

d) n=0 хувьд сондгой биш(n);

д) t ба (p mod 3=0) t=true, p=101010;

д) (x*y<>0) ба (y>x) нь x=2, y=1;

g) (x*y<>0) эсвэл (y>x) бол x=2, y=1;

h) a эсвэл (б биш) үед a=Худал, b=Үнэн;

Жишээ нь. 8. Заасан нөхцөл хангагдсан тохиолдолд үнэн, өөр тохиолдолд худал илэрхийлэлийг Паскаль хэлээр бичнэ үү.

a) x сегментэд хамаарах;

б) х сегментийн гадна байрладаг;

в)* х нь сегментэд хамаарах буюу [-1, 1];

d)* x сегментүүдийн гадна байрладаг ба [-1, 1];

e) x, y, z тоо тус бүр эерэг;

g) x, y, z тоонуудын аль нь ч эерэг биш;

h) x, y, z тоонуудын зөвхөн нэг нь эерэг;

i) логик хувьсагч a нь Үнэн утгатай, b логик хувьсагч нь Худал утгатай;


j)* серийн дугаар y-тэй жил нь үсрэлт жил (хэрэв түүний тоо 4-ийн үржвэр, гэхдээ 100-ын үржвэрийн үржвэрээс зөвхөн 400-ийн үржвэрүүд нь үсрэлт жил, жишээлбэл, 1700, 1800, 1900 нь өндөр жил юм. үсрэнгүй жил, 2000 он бол үсрэнгүй жил).

Жишээ нь. 9 . Заасан илэрхийлэл үнэн байх мужийг (x, y) хавтгай дээр зур.

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

б) (sqr(x)+sqr(y)<1) or (y>0) ба (abs(x)<=1);

в) (trunc(y)=0 ба (round(x)=0);

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

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

Жишээ нь. 10 ..Ном нь X рублийн үнэтэй. Худалдан авагч нь 50, 10, 5, 1 рублийн мөнгөн дэвсгэрттэй. Хамгийн бага тооцоотой номыг төлөхийн тулд хэдэн, ямар төрлийн тооцоо хийх шаардлагатай вэ?

Булийн хувьсагч нь ихэвчлэн харьцуулалт, математик үйлдлүүд (өмнөх хичээл дээр хэлэлцсэн), мөн тодорхой Булийн үйлдлүүдийг ашиглан утгыг олж авдаг.

Турбо Паскаль нь логик төрлийн хувьсагчдад хамаарах логик үйлдлүүдтэй. Эдгээр нь not, and, or and xor үйлдлүүд юм. Энэ сэдвээр та гурван логик үйлдлийг авч үзэх болно. Эдгээр үйл ажиллагааны тэмдэглэгээ, үр дүнг хүснэгтэд үзүүлэв. Үүнийг анхаарч үзээрэй.

Үйл ажиллагаа үгүй(биш) нэг операндтай бөгөөд түүний логик үгүйсгэлийг бүрдүүлдэг. Not үйлдлийн үр дүн нь хэрэв операнд үнэн бол Худал, худал бол үнэн болно. Тэгэхээр,

Үнэн биш Худал (үнэн бол худал)

Худал биш Үнэн (худлаа үнэн биш)

Үйл ажиллагааны үр дүн болон(ба) нь зөвхөн түүний операнд хоёулаа үнэн, бусад тохиолдолд худал байвал үнэн болно.

Үйл ажиллагааны үр дүн эсвэл(эсвэл) хэрэв операндуудын аль нэг нь үнэн бол үнэн, хоёр операнд нь худал бол худал байна.

Дасгал хийх . Мэдэгдэлд зориулсан Boolean үйлдлийн утгыг тодорхойлохыг хичээ:

  1. Сургуулийн хүүхэд өвлийн амралтаараа гэртээ үлддэг, эсвэл хаа нэгтээ амралтаараа явдаг.
  2. Филипп Киркоров бол дуучин, комбайнч.
  3. Сургуулийн хүүхдүүд бол охид, хөвгүүд юм.

Логик үйлдлүүд, харилцааны үйлдэл, арифметик үйлдлүүд ихэвчлэн ижил илэрхийлэлд гарч ирдэг. Энэ тохиолдолд логик үйлдлүүд нь илүү чухал ач холбогдолтой тул логик үйлдлийн тэмдгийн зүүн ба баруун талын харилцааг хаалтанд оруулах ёстой. Ерөнхийдөө дараахь үйл ажиллагааны тэргүүлэх чиглэлийг хүлээн зөвшөөрдөг.

  • болон, *, /, div, mod
  • эсвэл, +, -
  • харилцааны үйл ажиллагаа..

. Логик үйлдлийг логик үржүүлэх гэж нэрлэдэг ба логик үйлдлийг логик нэмэх гэж нэрлэдэг.

Үүнээс гадна үйлдлүүдийн дарааллыг хашилтаар өөрчилж болно. Жишээлбэл, логик илэрхийлэлд бид үйлдлийн дарааллыг цэгцлэх болно

A эсвэл B биш (A эсвэл B)

Эхлээд хаалтанд орсон буюу үйлдлийг гүйцэтгэнэ, дараа нь not, болон, эсвэл үйлдлүүд орно. Хэрэв бид A ба B хувьсагчийн оронд True, False утгыг орлуулах юм бол аль хэдийн хэлэлцсэн процедурыг ашиглан бид бүх илэрхийллийн утгыг Үнэнтэй тэнцүү болгоно.

Дасгал хийх . Дэвтэртээ бичээд a=10, b=20, c=true, d=false гэсэн илэрхийллүүдийн утгыг тооцоол.

  • (a>5) ба (b>5) ба (а<20) and (b<30);
  • үгүй (а<15) or not (b<30);
  • c эсвэл d ба (b=20);

Анхаар! Паскаль хэлэнд унших операторыг ашиглан Булийн өгөгдлийг оруулах ямар ч арга байхгүй. Гэсэн хэдий ч бичих операторыг ашиглан Boolean төрлийн хувьсагчдын утгыг гаргах боломжтой.

Жишээ нь бичих (5>2) командыг гүйцэтгэсний дараа дэлгэц дээр True гарч ирнэ.

Бие даасан ажил

Багштайгаа хамт доорх дасгалуудаас бие даан ажиллах даалгавраа сонго.

  1. Илэрхийллийн утгыг тооцоолно уу:

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

    b) k mod 7 = k div5-1 at k=15;

    в) сондгой(trunc(10*p)) p=0.182;

    d) n=0 хувьд сондгой биш(n);

    д) t ба (p mod 3=0) t=true, p=101010;

    д) (x*y<>0) ба (y>x) нь x=2, y=1;

    g) (x*y<>0) эсвэл (y>x) бол x=2, y=1;

    h) a эсвэл (б биш) үед a=Худал, b=Үнэн;

  2. Заасан нөхцөл хангагдсан тохиолдолд үнэн, өөр тохиолдолд худал байх харьцааг Паскаль хэлээр бичнэ үү.

    a) k бүхэл тоо 7-д хуваагддаг;

    б) (x, y) цэг нь төв нь (1,0) цэгтэй R радиустай тойргийн гадна байрладаг;

    в) натурал тоо N нь натурал тооны квадрат;

    d) 0

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

    e) a ба b логик хувьсагчийн дор хаяж нэг нь Үнэн утгатай байна;

    g) a ба b логик хувьсагч хоёулаа Үнэн утгатай байна.

  3. Илэрхийллийг үнэлэхдээ үйлдлийн дарааллыг зааж өгнө үү:

    a) a ба b эсвэл биш c ба d;

    b) (x>=0) эсвэл биш c ба d.

  4. a=True, b=False үед дараах илэрхийллийг үнэл.

    a) a эсвэл b, a биш;

    b) (a эсвэл b) ба a биш;

    в) а ба б биш;

    d) биш (а ба б)

  5. Заасан нөхцөл хангагдсан тохиолдолд үнэн, өөр тохиолдолд худал илэрхийлэлийг Паскаль хэлээр бичнэ үү.

    a) x сегментэд хамаарах;

    б) х сегментийн гадна байрладаг;

    в)* х нь сегментэд хамаарах буюу [-1, 1];

    d)* x сегментүүдийн гадна байрладаг ба [-1, 1];

    e) x, y, z тоо тус бүр эерэг;

    g) x, y, z тоонуудын аль нь ч эерэг биш;

    h) x, y, z тоонуудын зөвхөн нэг нь эерэг;

    i) логик хувьсагч a нь Үнэн утгатай, b логик хувьсагч нь Худал утгатай;

    j)* серийн дугаар y-тэй жил бол үсрэлт жил (хэрэв түүний тоо 4-ийн үржвэр, гэхдээ 100-ын үржвэрийн үржвэрийн 400-ийн үржвэр нь зөвхөн өндөр жил, жишээ нь 1700, 1800, 1900 бол үсрэлт жил юм. Үсрэлтгүй жил, 2000 он бол үсрэнгүй жил).

  6. Заасан илэрхийлэл үнэн байх мужийг (x, y) хавтгай дээр зур.

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

    б) (sqr(x)+sqr(y)<1) or (y>0) ба (abs(x)<=1);

    в) (trunc(y)=0 ба (round(x)=0);

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

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

  7. Нөхцөлт оператор байдаг:
    хэрэв d<>10
    тэгээд
    writeln ('хуррай!')
    өөр
    writeln('муу...');

    Үүнийг дараах мэдэгдлээр солих боломжтой юу.

  8. Нөхцөлт мэдэгдлийг гүйцэтгэсний дараа j, k хувьсагчдын утгууд ямар байх вэ:
    хэрэв j>k
    тэгээд
    j:=k-2
    өөр
    dec(k,2);
    Хэрэв хувьсагчдын анхны утгууд тэнцүү бол:
    a) j=3, k=5;
    b) j=3, k=3;
    в) j=3, k=2.

Анхаарна уу . dec (k,2) операторыг гүйцэтгэсний үр дүнд k хувьсагчийн утга 2-оор буурна.