Нөхцөлт оператор уу? Процедуруудыг ашиглан програмын код бичих нь мэдэгдлийг гүйцэтгэсний үр дүн юм.

Гэр / Асахгүй байна

Оператортодорхойлсон хэлний элемент юм бүрэн тайлбархийх үйлдэл. Оператор бүр нь програмчлалын хэлний бүрэн хэллэг бөгөөд өгөгдөл боловсруулах зарим бүрэн дууссан үе шатыг тодорхойлдог. Операторуудад функцийн үг, өгөгдөл, илэрхийлэл болон бусад операторууд багтаж болно. IN АнглиЭнэ ойлголтыг "мэдэгдэл" гэсэн үгээр тэмдэглэсэн бөгөөд энэ нь "санал" гэсэн утгатай.

Аливаа програмчлалын хэл дээрх оператор бүр өөрийн гэсэн онцлогтой синтаксТэгээд семантик. Доод синтаксОператор гэдэг нь цагаан толгойн элементүүдийг ашиглан түүний бичлэгийг тодорхойлдог дүрмийн систем (дүрэм) гэж ойлгогддог. энэ хэлнээс, үүнд янз бүрийн тэмдгүүдийн хамт, жишээлбэл, функциональ үгс орно. Доод семантикоператор түүний утгыг ойлгодог, өөрөөр хэлбэл. тухайн операторын бүртгэлтэй тохирч буй үйлдлүүд. Жишээлбэл, бичлэг хийх i:= i + 1синтаксийн зөв тэмдэглэгээний жишээ юм томилох операторВ Паскаль хэл, семантик нь хэнийх вэ энэ тохиолдолддараах байдалтай байна: i хувьсагчтай харгалзах санах ойн нүдний утгыг гаргаж аваад нэгээр нэмж үр дүнг санах ойн ижил нүдэнд бичнэ.

Процедурын програмчлалын ихэнх хэлэнд операторуудын багц нь бараг ижил байх ба хуваарилалтын оператор, сонгон шалгаруулах оператор, давталтын оператор, процедур дуудлагын оператор, үсрэх оператор зэргээс бүрдэнэ. Заримдаа хоосон (үйлдэлгүй) болон нийлмэл операторууд бас ялгагдана. Олон операторууд нь тодорхой алгоритмын бүтцийг илэрхийлэх арга юм ("-г үзнэ үү" Алгоритм дизайн” ) програмчлалын хэл дээр. Паскаль хэлний синтакс ашиглан операторын бүлгүүдийг илүү дэлгэрэнгүй авч үзье.

Даалгаврын оператор

Даалгавар гэдэг нь компьютерийн үйлдэл бөгөөд үүний үр дүнд хувьсагч нь тооцоолсон илэрхийллийн утгыг хүлээн авдаг (үүнийг хувьсагчтай тохирох санах ойн нүдэнд байрлуулсан). Ийм үйлдлийг програмчлалын хэлээр тайлбарлахын тулд байдаг томилох оператор.

Ерөнхийдөө даалгаварын операторыг дараах байдлаар бичнэ.

<переменная> <знак присваивания> <выражение>

Жишээлбэл, Паскаль хэлэнд тэмдгийн хослолыг даалгаварын тэмдэг болгон ашигладаг: =. Бусад олон хэлэнд энэ нь тэнцүү гэсэн тэмдэг юм.

Даалгаврын операторыг гүйцэтгэсний үр дүн нь өгөгдлийн төлөвийн өөрчлөлт юм: бусад бүх хувьсагчид. хувьсагч, даалгаврын операторын зүүн талд байрлах, тэдгээрийн утгыг өөрчлөхгүй, харин заасан хувьсагчүнэ цэнийг авдаг илэрхийллүүд, хуваарилалтын операторын баруун талд гарч ирнэ. Ихэнх тохиолдолд энэ төрлийн шаардлагатай байдаг илэрхийллүүдтөрөлд тохирсон хувьсагч. Хэрэв тийм биш бол операторыг синтаксийн хувьд буруу гэж үзнэ, эсвэл илэрхийллийн төрлийг хувьсагчийн төрөл болгон хувиргана ("-г үзнэ үү" Өгөгдлийн төрлүүд” ).

Сонгох операторууд

Эдгээр операторуудыг өөр өөрөөр нэрлэдэг нөхцөлт мэдэгдэл. Нөхцөлт мэдэгдлүүд нь салаалсан алгоритмын бүтцийг агуулсан алгоритмуудыг програмчлахад ашиглагддаг.

Хэд хэдэн төрлийн програмчлалын хэлүүд байдаг нөхцөлт мэдэгдэл. Бүрэн нөхцөлт мэдэгдэл нь бүрэн салаалсан алгоритмын бүтэцтэй тохирч байна.

Програмчлалын хэлэнд харгалзах нөхцөлт оператор нь дараах хэлбэртэй байна.

хэрэв Б тэгээд S1 өөр S2

Хэрэв илэрхийлэл бол Б, болзолт мэдэгдлийн гүйцэтгэлийн эхэнд тооцоолсон "үнэн" гэсэн утгатай байвал мэдэгдлийг гүйцэтгэнэ. S1, В өөрөөр- оператор S2. Операторууд S1Тэгээд S2нийлмэл байж болно.

Бүрэн бус салбарлалтын алгоритмын бүтцийг бүрэн бус нөхцөлт оператор ашиглан хэрэгжүүлдэг бөгөөд энэ нь дараах хэлбэртэй байна.

хэрэв Б тэгээдС

Энд Бнь логик илэрхийлэл бөгөөд С- дурын оператор. Оператор С B илэрхийлэл үнэн бол биелэгдэх болно.

Хэрэв нөхцөлт оператор зөвхөн хоёр сонголтын салбарыг ("тийм" ба "үгүй") хэрэгжүүлдэг бол ашиглана хувилбар оператор (хэрэг-оператор) та олон салбар бүтцийг програмчилж болно. Хувилбарын оператор дараах байдалтай байна.

хэрэг Е -ийн

Энэ операторыг дараах байдлаар гүйцэтгэнэ: илэрхийллийн утга Эоператорын бүртгэлд жагсаасан утгуудын дунд хайсан V1, V2, …, Vn, хэрэв ийм утга олдвол харгалзах операторыг гүйцэтгэнэ S1, S2, …, Sn.

IN өөр өөр хэлЖагсаалтад орсон операторуудын програмчлал, синтакс, тэр ч байтугай семантик нь ялгаатай байж болох ч програмистуудад ийм бүтээцээр өгөх боломжууд нь ойролцоогоор ижил байдаг.

Жишээ 1.Нийтлэлд " Алгоритм дизайн”2 салбарласан байгууламж ашиглан ерөнхийжүүлсэн квадрат тэгшитгэлийг шийдвэрлэх алгоритм бичих жишээг өгөв. Паскаль хэл дээрх ижил алгоритмыг хэрэгжүүлдэг програмын фрагмент энд байна.

хэрэв a = 0 тэгээд

хэрэв b = 0 тэгээд

хэрэв c = 0 бол тэгээд writeln("x - дурын")

өөр writeln("үндэс байхгүй")

өөр writeln(-c/b)

өөрөөр эхэлнэ

D:= b*b - 4*a*c;

хэрэвД< 0 тэгээд writeln("үндэс байхгүй")

өөрөөр эхэлнэ

x1:= -b + sqrt(D);

x2:= -b - sqrt(D);

writeln(x1:0:2,""", x2:0:2)

Давталтын мэдэгдлүүд

Давталтын операторууд нь олон удаа давтагдах үйлдлүүдэд ашиглагддаг циклийн алгоритмын бүтцийг хэрэгжүүлдэг; Програмчлалын олон хэлэнд "урьдчилсан нөхцөлтэй", "дараах нөхцөлтэй", "параметртэй" гэсэн гурван төрлийн давталтын оператор байдаг.

Програмчлалын гогцоонд шаардлагатай бөгөөд хангалттай алгоритмын бүтэц нь "урьдчилсан нөхцөлтэй" давталт тул үүнийг гогцооны үндсэн төрөл гэж нэрлэж болно. Урьдчилсан нөхцөл бүхий давталтын оператор дараах байдалтай байна.

байхад Б хийхС

Оператор С, үүний тулд давтагдах давталт бий болсон гэж нэрлэдэг гогцооны бие. Логик илэрхийллийн утга хүртэл давталтын операторын гүйцэтгэл нь давталтын биеийг давтан гүйцэтгэх хүртэл буурдаг. Бүнэн (худал болох хүртэл). Үнэн хэрэгтээ ижил төстэй давталтын мэдэгдлүүд нь нөхцөлт мэдэгдлийн давталтыг гүйцэтгэдэг хэрэвБ тэгээд S, нөхцөл үнэн байхад Б.

Жишээ 2. Натурал тооны цифрүүдийн нийлбэрийг тооцоолохын тулд ийм давталтын оператор ашиглах талаар авч үзье. Н:

байхад N>0 эхэл

S:=S+N мод 10;

Н:= Н div 10

Дараах нөхцөлтэй гогцоонд гогцооны бие нь В болзолын өмнө байна. Урьдчилсан нөхцөлтэй давтахаас ялгаатай нь энд В нь давталтыг дуусгах нөхцөл юм. Паскаль хэл дээрх дараах нөхцөлтэй давталтын оператор нь дараах хэлбэртэй байна.

давтан С хүртэлБ

Энэ мөчлөгийн зохион байгуулалтаар мөчлөгийн бие Сдор хаяж нэг удаа гүйцэтгэх ёстой.

Бараг бүх процедурын хэлэнд байдаг параметртэй давталтын оператор. Үүнийг схемийн дагуу дараах байдлаар илэрхийлж болно.

төлөө< хувьсагч > E1 руу E2 алхам E3 хийхС

Утга нь энд байна хувьсагч(мөчлөгийн параметр) нь E1 илэрхийллийн утгаас E3-ийн алхамаар E2 болж өөрчлөгдөнө. Давталтын параметрийн ийм утга болгонд S операторыг гүйцэтгэнэ. Паскаль хэлэнд энэ операторын тайлбарт алхам гэсэн ойлголт байхгүй бөгөөд бүхэл тоон давталтын параметрийн алхам өөрөө 1 эсвэл тэнцүү байж болно. –1. “Параметртэй гогцоо” оператор нь тодорхой тооны давталттай давталтуудыг програмчлахад ашиглагддаг. Энэ нь давтагдах гогцоог програмчлахад тохиромжгүй (давталтын тоо нь урьдчилан тодорхойгүй).

Процедурын дуудлагын оператор

Нийтлэлд " Дэд программууд” нь процедур гэх мэт энэ төрлийн дэд программуудыг дэлгэрэнгүй тайлбарласан. Ердийн номын санд багтсан стандарт програмчлалын хэлний горимууд, мөн энэ блок дотор тайлбарласан хэрэглэгчийн горимуудыг оператор ашиглан дууддаг. процедурын дуудлага:

<имя процедуры>(E1,E2,…,En)

Энд E1,E2,…,En нь хувьсагч эсвэл илэрхийлэл юм бодит параметрүүджурамд хандах. Хамгийн түгээмэл хэрэглэгддэг стандарт журамМэдээллийн оролт, гаралтын процедурууд (Паскаль хэлээр унших, бичих).

Процедурыг дуудах нь зарим хувьсагчийн анхны утгуудыг (утга параметрүүд) оруулах эсвэл зарим хувьсагчийн нэрийг (хувьсагчийн параметрүүд) сольсны дараа процедурын үндсэн хэсэг гэж тодорхойлсон блокыг гүйцэтгэхтэй утгын хувьд тэнцүү юм. процедурыг дуудах үед тодорхойлсон бодит хувьсагч.

Жишээ 3. abc процедурыг тайлбарлая:

abc(a,b:бүхэл тоо); varв: бүхэл тоо);

Энэ процедурыг abc(2,3,x) гэж нэрлэх нь үйлдлийн блоктой тэнцүү байна:

Үсрэлтийн операторууд

Энэ бүлгийн операторуудын хамгийн алдартай оператор бол болзолгүй үсрэх оператор юм явах. Хэрэв та одоо байгаа програмын мэдэгдлүүдийг бүгдийг эсвэл заримыг нь нэмбэл шошго, дараа нь програмд ​​дараах хэлбэрийн шилжилтийн операторыг ашиглах боломжтой болно.

явах<метка>

Энэ тохиолдолд шошго нь програмын гүйцэтгэлийг үргэлжлүүлэх мэдэгдлийн эхлэлтэй тохирч байна. Энэ оператор нь дур зоргоороо нийлмэл бүтэцтэй алгоритмуудыг програмчлалын хэлээр бичих боломжийг олгодог. Гэхдээ ихэнхдээ болзолгүй шилжилтийг ашиглах нь үндэслэлгүй байдаг, учир нь төөрөгдөлд хүргэдэг, муу унших боломжтой програм. Операторын бараг цорын ганц утга учиртай хэрэглээ явахнь хэд хэдэн үүрлэсэн гогцооноос нэг дор гарах, жишээлбэл, хоёр хэмжээст массивыг боловсруулах үед.

Жишээ 4.Хоёр хэмжээст a массив нь 0-тэй тэнцүү элемент агуулсан эсэхийг тодорхойлох шаардлагатай гэж бодъё:

төлөөби:= 1 рууН хийх

j:= 1-ийн хувьд рууН хийх

хэрэв a = 0 бол тэгээд эхэл

1: хэрэвб тэгээдбичих("бол") өөрбичих("үгүй");

Бүтцийн програмчлалын дүрмийн дагуу боловсруулсан програм нь болзолгүй үсрэх операторуудыг агуулж болохгүй. Дээрх програмыг оператор ашиглахгүйгээр явахдараах байдлаар дахин бичиж болно.

үгүй байхдааб болон(и< N) эхэл

үгүй байхдааб болон(ж< N) эхэл

хэрэв a = 0 тэгээд b:= үнэн;

хэрэвб тэгээдбичих("бол") өөрбичих("үгүй");

Энэ тохиолдолд бүтэцлэгдсэн програм нь программтай харьцуулахад бага харагдах болно явах.

Бусад үсрэх операторуудыг програмчлалын хэлээр тодорхойлж болно. Жишээлбэл, Паскаль хэл дээр: завсарлага(гогцоог эрт таслах, давталт дууссаны дараа гүйцэтгэх ёстой мэдэгдэл рүү шилжих), үргэлжлүүл(одоогийн давталтын давталтыг эрт дуусгаж, дараагийнх руу шилжих), гарах(дэд программыг эрт таслах, түүнээс гарах), зогсох(хөтөлбөрийн эрт тасалдал, түүний төгсгөлд шилжих). Үүнтэй төстэй операторууд C, C++, Java хэл дээр байдаг.

Нийлмэл оператор

Нийлмэл өгүүлбэр нь оператор хаалтанд орсон хэллэгүүдийн бүлэг юм (Паскаль хэлээр - эхлэхтөгсгөл; C, C++ хэл дээр - (...)).

Хэлний бүтцийн тайлбарыг хөнгөвчлөхийн тулд нийлмэл операторыг програмчлалын хэлэнд нэвтрүүлсэн. Жишээлбэл, Паскал хэл дээр блок бүрийн гүйцэтгэх хэсэг (програм, процедур, функц) нь нэг нийлмэл хэллэг юм. Яг үүнтэй адил ямар ч давталтын операторын бие нь зөвхөн нэг оператороос бүрддэг, магадгүй нийлмэл оператор байдаг. Нийлмэл операторын өөр хувилбар нь тодорхой операторын төгсгөлийг харуулсан функц үг байж болно, жишээлбэл, Төгсгөл болҮндсэн хэлээр.

"Програмчлалын хэлний операторууд" сэдвийг ихэвчлэн зөвхөн тодорхой програмчлалын хэлний хүрээнд судалдаг. Үүнийг авч үзэхдээ алгоритмын үндсэн бүтэц ба операторуудын хоорондын холбоог харуулах нь чухал юм: алгоритмын бүтцийг холбогдох операторуудыг ашиглан програмчлалын хэлээр бичдэг. Үл хамаарах зүйл бол үйл ажиллагааны шугаман дарааллыг тодорхойлдог дараалсан загвар юм. Үйлдлүүд нь хатуу шугаман програмнь зөвхөн хуваарилалтын операторууд болон процедур дуудлагын операторуудаар хэрэгждэг.

Програмчлалд суралцах эхний шатанд сургуулийн сурагчид олон асуудалтай тулгардаг. Тэдний даван туулах ёстой хамгийн эхний сэтгэл зүйн саад бэрхшээл бол томилолтын операторыг сурах явдал юм. Оюутнуудтайгаа хамт шийдэх ёстой гол ажлуудын нэг бол хоёр хувьсагчийн утгыг солих явдал юм. Та сургуулийн сурагчдаас хоёр шүүгээ, жишээлбэл, ширээг хэрхэн солих тухай асуудлыг оюун ухаанаараа шийдэхийг хүсч болно. Ихэвчлэн хэлэлцүүлгийн энэ үе шатанд оюутнууд асуудлыг шийдвэрлэхийн тулд гурав дахь хайрцаг (хувьсагч) хэрэгтэйг ойлгодог. Гэсэн хэдий ч, энэ алгоритмыг бичихдээ тэд тодорхой хувьсагч томилох операторын аль хэсэгт (зүүн эсвэл баруун) харагдах ёстойг эргэлздэг.

Арифметик бичих алдаа ба логик илэрхийллүүдилэрхийлэлд хэрэглэгддэг үйлдлүүдийн тэргүүлэх чиглэлийг үл тоомсорлосны улмаас үүсдэг. Үүний зэрэгцээ үйлдлүүд нь зөвхөн арифметик төдийгүй харьцуулах үйлдлүүд, логик холболтуудыг хэлдэг бөгөөд Си хэлэнд даалгавар гүйцэтгэх үйлдлийг хэлдэг бөгөөд энэ нь сургуулийн сурагчдад маш ер бусын байдаг. Өөр өөр програмчлалын хэл дээр ижил үйлдлүүд харьцангуй өөр өөр тэргүүлэх чиглэлтэй байдаг тул нөхцөл байдал төвөгтэй байдаг. Та мөн хувьсагчийн төрлүүд болон хуваарилалтын операторын зүүн ба баруун талд байгаа илэрхийллийн хоорондох захидал харилцаанд анхаарлаа хандуулах хэрэгтэй ("-г үзнэ үү" Өгөгдлийн төрлүүд”).

Сонгон шалгаруулалтын операторуудыг эзэмшихдээ оюутнууд нөхцөлт хэллэгүүдийн хослол болон сонголтын операторыг ашиглан олон салаа бүтэц агуулсан алгоритмыг програмчлах нь ашигтай байдаг.

Жишээ.Бүхэл тоон хувьсагч руу НТухайн хүний ​​насыг жилээр оруулна уу. " гэсэн хэллэгийг бичнэ үү Би К настай” гэсэн үгийг сольж байна жилдээр жилэсвэл жилтооноос хамаарна К. Энэ асуудлыг шийдэх хоёр шийдэл энд байна:

хэрэвмод 100) in

тэгээд writeln("Би ",k," настай")

хэрэгк мод 10 -ийн

0,5..9:writeln("Би ",k," настай");

1:writeln("Би ",k," настай");

2..4:writeln("Би ",k," настай");

var k, n: бүхэл тоо;

readln(k); n:= k mod 10;

хэрэвмод 100) in

тэгээд writeln("Би ",к," настай") өөр

хэрэв n=1 тэгээд writeln("Би ",k," настай")

хэрэв(n>=) болон(n<= 4)

тэгээд writeln("Би ",k," настай")

өөр writeln("Би ",k," настай")

Давталтын операторуудыг авч үзэхдээ нэг даалгаврыг гурван давталтын оператор ашиглан гурван өөр аргаар програмчлахыг санал болгох, харин эсрэгээр асуудлын нөхцөл дээр үндэслэн тодорхой тохиолдолд аль давталтын оператор хамгийн тохиромжтой болохыг тодорхойлж сурах нь ашигтай.

Процедурын дуудлагын оператор нь эхлээд харахад энгийн юм. Процедур, функцэд параметр дамжуулах дүрэм, хувьсагчийн параметр ба утгын параметрүүдийн ялгааг тайлбарлах нь чухал юм (сүүлийн тохиолдолд бид зөвхөн хувьсагчийн нэрийг төдийгүй тогтмол эсвэл бүр харгалзах илэрхийлэлийг дамжуулж болно. төрөл). Албан ёсны болон бодит параметрүүд нь нэрээр нь биш харин төрлөөр нь тохирох ёстой бөгөөд энэ нь оюутнуудад ойлгомжтой биш юм.

Нөхцөл ба ялангуяа нийлмэл өгүүлбэрийг судлах нь оюутнуудтай програм бичих хэв маягийн талаар ярилцах сайхан боломж юм. Паскаль хэл дээр бүтэцлэгдсэн программ бичих хэд хэдэн нийтлэг аргууд байдаг ч тэдгээр нь бүгд үүрлэсэн бүтцийг байрлуулах догол мөрийг агуулдаг. Хөтөлбөр болон сэтгэгдлийг бичихэд чухал.

"Хуванцар карт хэвлэх принтер" - Нэг хуванцар картанд хоёр дахин их мэдээлэл байрлуулах чадвар. Үнэ. Хуванцар карт хэвлэх принтер. ZEBRA P110i/ P120i. Загварын хүрээг тоймлох. Хуванцар карт хэвлэх хэмнэлттэй өнгөт принтер. Өндөр хүчин чадалтай нэмэлт кодчилолын төхөөрөмжүүдийн өргөн сонголт.

"Компьютерийн нэмэлт төхөөрөмжүүд" - Захын төхөөрөмжүүд. Принтерүүд. Бичлэг. Дижитал камерууд. Холболтын хэрэгслүүдийн шатлал. Видео адаптерууд. PU-ийн ангилал. Бүх нийтийн цуваа автобус. CD-R. Сонгох сонголтууд. Баригдсан флаш. Анхдагчид. Байгаль. Модем. Видео терминал. Сканнерууд. PC-ийн нэмэлт төхөөрөмжүүд. Хулгана хэлбэрийн ангилал.

"Мэдээлэл оруулах, гаргах хэрэгсэл" - Сканнер. Плоттер. CRT. Принтерүүд. Гар. Дижитал камер, камер. Функцүүд. Бүх нийтийн оролтын төхөөрөмж. Мэдээлэл оруулах, гаргах төхөөрөмж. График таблет. Хулгана.

"Мэдээллийн гаралтын төхөөрөмж" - Компьютерийн төхөөрөмж. Дэлгэцийн нягтрал өндөр байх тусам зургийн чанар өндөр болно. Бэхэн принтерийн сул тал: Бэхний хэрэглээ өндөр; Дахин дүүргэх өндөр зардал. Хавтгай дэлгэцтэй шингэн болор (LCD) дэлгэц нь авсаархан бөгөөд утаа ялгаруулдаггүй. Мэдээлэл гаргах төхөөрөмж. Монитор нь бүх нийтийн мэдээллийн гаралтын төхөөрөмж юм.

"Хэвлэгч" - Орон нутгийн. Термоблок, зуух, хайлуулагч - хорыг цаас болгон шатаасан төхөөрөмж. Лазер. Матриц (зүү хэлбэртэй). Цаг хугацаа өнгөрөхөд тэд шинж чанараа алдаж, мэргэжилтэн байнга сольж байх ёстой. Тийрэлтэт. Сүлжээ. Хэрэглэгч өөрчилсөн. Принтерийн шинж чанар. Хөгжүүлэгч, зөөвөрлөгч, хөгжүүлэгч - гэрэл зургийн өнхрөхөд хор дамжуулдаг хамгийн жижиг металл хэсгүүд.

"Оролт гаралтын дэд систем" - Таслах цэг. Хүснэгтүүд. Тасралтгүй байршуулах. Атрибут. Файлын зөвшөөрөл. Холбоотой индексүүдийн жагсаалт. Өгөгдөл. Биеийн зохион байгуулалт. Санах ойд шууд нэвтрэх. Индексжүүлсэн дараалсан файл. Суурилуулалт. Тасалдлаар удирддаг I/O. Лавлах хандалтын зөвшөөрөл. Зэрэгцээ ажлын зохион байгуулалт.

Энэ сэдвээр нийт 27 илтгэл тавигдсан

Програмын кодыг Зураг дээр үзүүлэв. 4.3-9.

Option Strict On Option Explicit On Imports System.Math Public Class Form1 "TextBox-д цэгийн координатыг оруулах функц vvod(ByVal T As TextBox) Single Return хэлбэрээр CSng(Val(T.Text)) Төгсгөлийн функц "Procedure for үр дүнг TextBox-д гаргах Sub vivod (ByVal Z Single, ByVal T As TextBox) T.Text = CStr(Z) Төгсгөлийн Дэд "Хоёр цэгийн координатаас сегментийн уртыг тооцоолох функц Public Function Segment Length(ByVal) x1 Single, _ ByVal y1 As Single, ByVal x2 As Single, _ ByVal y2 As Single) As Single Return CSng(Sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2)) Төгсгөлийн функц "Procedure for гурвалжны периметр ба талбайг тооцоолох Дэд PS(ByVal x1 Single, ByVal y1 As Single, _ ByVal x2 Single, ByVal y2 As Single, _ ByVal x3 As Single, ByVal y3 As Single, _ ByRef P As Single , ByRef S Single) Dim A, B, C, Pp As Single A = Segment Length(x1 , y1, x2, y2)"Сөрөг хэсгийн уртыг тооцоолох функцийг дуудаж байна. B = Сегментийн урт (x2, y2, x3, y3) C = Сегментийн урт (x3, y3, x1, y1) P = (A + B + C) : Pp = P / 2 S = CSng(Sqrt(Pp * (Pp - A)) * (Pp - B) * (Pp - C))) Төгсгөл Дэд "Товчлуур дээр товших үйл явдлыг боловсруулах журам Button1 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Бариул Button1.Click Dim x1 Single, x2 As Single, x3 As Single Dim y1 As Single, y2 As Single, y3 Single Dim Per Assingle, Plo As Single x1 = vvod(TextBox1) : x2 = vvod(TextBox2) : x3 = vvod(TextBox3) ) y1 = vvod(TextBox6) : y2 = vvod(TextBox7) : y3 = vvod(TextBox8) PS(x1, y1, x2, y2, x3, y3, Per, Plo) vivod(Plo, TextBox4) : vivod(Plo, TextBox5) End Sub Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Товчлуур2.Click End End Sub End Class

Аппликейшнийг ажиллуулж, үр дүнд хүрч байна

Үр дүнг Зураг дээр үзүүлэв. 4.3-10.

Үр дүнгийн зөв байдлын баталгаа

A=
= 2.82843 B =
= 2

C = = 2 P = A + B + C = 6.828427; Рр = Р/2 = 3.414213 S= = 2


Сэдвийн аюулгүй байдлын асуултууд

“VB программ, модуль, журмын бүтэц.

Шугаман бүтцийн алгоритмын програмчлалын хэрэгслүүд"

1. Математик загвар гэж юу вэ?

2. Компьютер дээрх асуудлыг шийдвэрлэх үндсэн үе шатууд юу вэ?

3. Компьютерийн оролцоогүйгээр компьютерийн асуудлыг шийдвэрлэх ямар үе шатууд явагддаг вэ?

4. Аливаа объект, үзэгдлийн математик загвар гэж юу вэ?

5. Хөтөлбөрийг боловсруулах явцад дараалсан алхамууд юу вэ?

6. Алгоритм гэж юу вэ?

7. Алгоритм ямар үндсэн шинж чанартай байх ёстой вэ?

8. Алгоритмуудыг дүрслэх ямар арга байдаг вэ?

9. Алгоритм диаграммд ихэвчлэн ямар график тэмдгийг дүрсэлсэн байдаг вэ?

10. Орчуулагч хэрхэн ажилладаг вэ?

11. Хөрвүүлэгч хэрхэн ажилладаг вэ?

12. Аль алгоритмыг шугаман гэж нэрлэдэг вэ?

13. Аль алгоритмыг цикл гэж нэрлэдэг вэ?

14. Аль алгоритмыг салаалсан гэж нэрлэдэг вэ?

15. Функц болон процедурын үр дүнг дамжуулах хоёрын ялгаа юу вэ?

16. Боломжит үр дүнд хүрсэн нь програм зөв гэдгийг баталж байна уу?

17. Хэрэв та програмыг шалгахгүй (харах, гүйлгэх) байхгүй бол ямар алдаа илрээгүй байж болох вэ?

18. Програмыг турших нь дибаг хийхээс юугаараа ялгаатай вэ?

19. Тест ашиглан програмын зөв эсэхийг батлах боломжтой юу?

20. Хөтөлбөрийн аль үе шатанд лавлагаа тестийн үр дүнг тооцдог вэ?

21. Туршилтын үндсэн үе шатуудыг жагсаана уу.

22. Синтаксийн алдаа ба семантик алдааны хооронд ямар ялгаа байдаг вэ?

23. Машинд синтакс алдааны мэдэгдэл байхгүй байгаа нь юуг харуулж байна вэ?

24. Орчуулагч ямар төрлийн алдааг илрүүлж чадахгүй байна вэ?

25. Ямар хөтөлбөр вэ?

26. Програмын алдааг хайх, арилгах ажил ямар шатанд явагддаг вэ?

27. Програмчлалын систем гэж юу вэ?

28. Ямар журамтай вэ?

29. Процедуртай хөтөлбөр нь ямар давуу талтай вэ?

30. VB-д ямар процедурын програмчлалын хэрэгслүүд байдаг вэ?

31. Програмын бие даасан горимуудын хооронд өгөгдөл хэрхэн солилцдог вэ?

32. Бодит болон албан ёсны параметрүүд юу вэ?

33. Хэрхэн параметр болгон дамжуулах вэ: тогтмол, хувьсагч, илэрхийлэл?

34. Глобал хувьсагчдыг хэрхэн ашигладаг вэ?

35. Орон нутгийн хувьсагчдыг хэрхэн ашигладаг вэ?

36. Албан ёсны параметрүүд гэж юу вэ?

37. Бодит үзүүлэлтүүд юу вэ?

38. Процедурыг дуудах үед юу болох вэ?

39. Процедурт параметрүүдийг хэрхэн дамжуулах вэ?

40. Ямар параметрүүдийг утгаар дамжуулдаг вэ?

41. Хаяг руу ямар параметрүүдийг дамжуулдаг вэ?

42. Процедурын програмчлалын хэрэгсэл гэж юу вэ?

43. Функцийг гүйцэтгэсний үр дүн юу вэ?

44. Хувьсагчдыг функц дотор локал байхын тулд хэрхэн зарлах ёстой вэ?

45. Функцээс эрт гарахын тулд аль мэдэгдлийг ашигладаг вэ?

46. Функц, процедурыг дуудах үед юу хянагддаг вэ?

47. Хувьсагчийн параметрийг утгаараа дамжуулахын тулд албан ёсны параметрүүдийг хэрхэн зарлах ёстой вэ?

48. Хувьсагчийн параметрийг хаяг руу дамжуулахын тулд албан ёсны параметрүүдийг хэрхэн зарлах ёстой вэ?

49. Дуудлагын програмаас функцийн процедурыг хэрхэн дууддаг вэ?

50. Процедурын үр дүн юу байж болох вэ?

51. Процедураас эрт гарахын тулд аль мэдэгдлийг ашигладаг вэ?

52. Чиг үүрэг, журмын тайлбарыг хаана байрлуулж болох вэ?

53. Нийтийн оператор ашиглан зарласан хувьсагч хаана байх вэ?

54. Хувийн оператор хаана байрлаж болох вэ?

55. Сэтгэгдэл гэж юу вэ, түүнийг бичих дүрэм?

56. Програмын эхэнд байгаа хувьсагчдын утгууд юу вэ?

57. Процедурууд болон функцуудыг яагаад тайлбарласан (тодорхойлсон) вэ?

58. Процедурыг хэрхэн нэрлэдэг вэ?

59. Функцуудыг хэрхэн дууддаг вэ?


Холбогдох мэдээлэл.


Эхний операнд - "илэрхийлэл1" нь үр дүн нь bool төрлийн утга болох аливаа илэрхийлэл байж болно. Хэрэв үр дүн гарвалүнэн , дараа нь хоёр дахь операндоор заасан оператор, өөрөөр хэлбэл "илэрхийлэл2" ажиллана.

Хэрэв эхний операнд нь тэнцүү болхудлаа , дараа нь гурав дахь операнд ажиллана - "илэрхийлэл3". Хоёр ба гурав дахь операндууд, өөрөөр хэлбэл "илэрхийлэл2" ба "илэрхийлэл3" нь ижил төрлийн утгыг буцаах ёстой бөгөөд void төрлийн байж болохгүй. Нөхцөлт хэллэгийг гүйцэтгэх үр дүн нь "илэрхийлэл2"-ийн үр дүн эсвэл "илэрхийлэл1"-ийн үр дүнгээс хамааран "илэрхийлэл3"-ын үр дүн юм.

Операторын ашиглалтын хязгаарлалт

"Илэрхийлэл1"-ийн утгад суурилсан оператор нь "илэрхийлэл2" эсвэл "илэрхийлэл3" гэсэн хоёр утгын аль нэгийг буцаах ёстой. Эдгээр илэрхийлэлд хэд хэдэн хязгаарлалт байдаг:

  1. Та хэрэглэгчийн тодорхойлсон төрлийг энгийн төрөл эсвэл тоололтой хольж болохгүй. Заагчийг NULL ашиглахыг зөвшөөрнө.
  2. Хэрэв утгын төрлүүд нь энгийн бол операторын төрөл нь хамгийн дээд төрөл байх болно (Албадах төрлийг үзнэ үү).
  3. Хэрэв утгуудын аль нэг нь тооллын төрөл, хоёр дахь нь тоон төрөл байвал тооллогыг int-ээр сольж, хоёр дахь дүрмийг баримтална.
  4. Хэрэв хоёр утга нь тооллын утга байвал тэдгээрийн төрлүүд ижил байх ёстой бөгөөд операторын төрөл нь тоолол болно.

Захиалгат төрлүүдийн хязгаарлалт (анги эсвэл бүтэц):

  1. төрлүүд нь ижил байх эсвэл нэг нь нөгөөгөөсөө өвлөгдөх ёстой.
  2. хэрэв төрлүүд нь ижил биш (өв залгамжлал) бол хүүхдийг эцэг эх рүү далд шилжүүлдэг, өөрөөр хэлбэл операторын төрөл нь эцэг эхийн төрөл байх болно.
  3. Та объект болон заагчийг хольж болохгүй - аль аль нь илэрхийлэл нь объект эсвэл заагч юм. Заагчийг NULL ашиглахыг зөвшөөрнө.

Анхаарна уу

Хэт ачаалалтай функцийн аргумент болгон нөхцөлт операторыг ашиглахдаа болгоомжтой байгаарай, учир нь нөхцөлт операторын үр дүнгийн төрлийг програмыг эмхэтгэх үед тодорхойлдог. Мөн энэ төрлийг "илэрхийлэл2" ба "илэрхийлэл3" төрлүүдийн том төрөл гэж тодорхойлдог.

Жишээ:

хүчингүй функц(давхар d) (Хэвлэх ("давхар аргумент: " ,d); )
void func(string s) (Хэвлэх ("string аргумент: " ,s); )

bool илэрхийлэл1=үнэн;
давхар илэрхийлэл2=M_PI;
string Expression3= "3.1415926" ;

OnStart () хүчингүй
{
func(Илэрхийлэл2);
func(илэрхийлэл3);

func(Илэрхийлэл1? Илэрхийлэл2: Илэрхийлэл3);
func(! Илэрхийлэл1? Илэрхийлэл2: Илэрхийлэл3);// тэмдэгт мөрийн төрөлд шууд дамжуулах тухай хөрвүүлэгчийн сэрэмжлүүлэг авах
}

// Үр дүн:
// давхар аргумент: 3.141592653589793

// мөрийн аргумент: 3.141592653589793
// мөрийн аргумент: 3.1415926

Өмнөх догол мөрөнд бид Паскаль хэл дээрх программын бүтэцтэй танилцаж, өгөгдлийг хэрхэн дүрслэх талаар сурч, даалгавар өгөх операторыг үзсэн. Энэ нь өгөгдөл хувиргах програм бичихэд хангалттай. Гэвч эдгээр өөрчлөлтүүдийн үр дүн бидэнд харагдахгүй.

RAM-аас мониторын дэлгэц рүү өгөгдөл гаргахын тулд бичих гаралтын операторыг ашиглана:

Энд, хаалтанд гаралтын жагсаалтыг байрлуулсан - утгууд нь хэвлэгдсэн илэрхийллийн жагсаалт. Эдгээр нь тоон, бэлгэдлийн болон логик илэрхийллүүд байж болно, үүнд хувьсагч ба тогтмолууд орно.

Апостроф дотор орсон дурын олонлог тэмдэгтийг мөрийн тогтмол гэж үзнэ. Мөрний тогтмол нь гар дээр бичсэн ямар ч тэмдэгтийг агуулж болно.

Жишээ. Бичих ("s=" , s) хэллэгийг дараах байдлаар гүйцэтгэнэ.

  1. Дэлгэц дээр таслах тэмдэгт тэмдэгтүүд гарч ирнэ: s=
  2. s нэртэй RAM нүдэнд хадгалагдсан хувьсагчийн утгыг дэлгэцэн дээр харуулна.

Хэрэв s хувьсагчийн утга 15 бөгөөд бүхэл тоон төрлийн байвал дэлгэцэн дээр: s=15 гарч ирнэ.

Хэрэв s хувьсагчийн утга 15 боловч бодит төрлийн байвал дэлгэцэн дээр s=l.5E+01 гарч ирнэ.

Гаралтын мэдэгдлийг гүйцэтгэх үед гаралтын жагсаалтын бүх элементүүд бие биенийхээ араас шууд хэвлэгддэг. Ийнхүү бичих (1, 20, 300) операторын үр дүнд дэлгэцэн дээр 120300 тоонуудын дараалал гарч ирэх бөгөөд энэ нь бидний хувьд гурван тусдаа тоон тогтмол биш харин 120300 тоо гэж ойлгогдоно. Та гаралтын өгөгдлийг янз бүрийн аргаар ойлголтод илүү хүртээмжтэй болгож болно.

Гаралтын форматнь хоёр цэгийн дараа заасан бүхэл тоо бөгөөд дэлгэцэн дээр гарч буй утга хэдэн байрлалд байх ёстойг тодорхойлдог. Хэрэв тоонд дэлгэцэн дээр хадгалагдсан байрлалаас цөөн цифр байгаа бол чөлөөт байрлалыг дугаарын зүүн талд хоосон зайгаар нэмнэ. Хэрэв хоёр цэгийн дараах гаралтын форматад заасан тоо шаардлагатай хэмжээнээс бага байвал автоматаар шаардлагатай хамгийн бага хэмжээнд хүртэл нэмэгдэнэ.

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

  1. тоонд хуваарилагдсан ажлын байрны нийт тоо;
  2. тооны бутархай хэсгийн байрлалын тоо.

Шинэ бичих командыг гүйцэтгэх үед гаралт нь нэг мөрөнд үргэлжилнэ. Шинэ мөрөнд шилжихийн тулд writeln операторыг ашиглана уу. Бичих болон бичих мэдэгдлийн хооронд өөр ялгаа байхгүй.

4.2.2. Паскаль хэл дээрх анхны програм

Дээр дурдсан операторуудыг ашиглан бид 5.4 см радиустай тойргийн тойрог ба талбайг тооцоолох програмыг бий болгоно.

Энэ асуудлын анхны өгөгдөл нь радиус юм: r - 5.4 см Програмын үр дүн нь C - тойрог ба S - тойргийн талбай байх ёстой. C, S ба r нь бодит төрлийн хэмжигдэхүүн юм.

Анхны өгөгдөл, үр дүн нь математикийн хичээлээс мэдэгдэж буй хамаарлаар холбогддог: C = 2πr, S = πr +. Эдгээр томъёог ашиглан тооцооллыг хэрэгжүүлдэг програм нь дараах байдалтай байна.

Энэ програм нь зөв бөгөөд асуудлыг шийддэг. Үүнийг ажиллуулсны дараа та дараах үр дүнг авах болно.

Гэсэн хэдий ч бидний эмхэтгэсэн програм нь мэдэгдэхүйц сул талтай: нэг радиус (5.4 см) -ийн хувьд тойргийн тойрог ба талбайг олдог.

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

4.2.3. Гарын оролт

RAM-д хувьсагчийн утгыг оруулахын тулд унших оролтын операторыг ашиглана уу.

Унших командыг гүйцэтгэх үед компьютер өгөгдөл хүлээх горимд ордог: хэрэглэгч гарнаас өгөгдөл оруулах ёстой бөгөөд Enter товчийг дарна. Тоон төрлийн хувьсагчийн олон утгыг зай эсвэл таслалаар тусгаарлан оруулж болно. Тэмдэгтийн хувьсагчийг оруулахдаа зай, таслалыг тэмдэгт гэж үздэг тул оруулах боломжгүй.

Хэрэглэгчийн оруулсан анхны хувьсагчийн утгыг санах ойн байршилд байрлуулна, түүний нэр нь оролтын жагсаалтад эхний байрлана гэх мэт. Тиймээс оролтын утгын төрлүүд (оролтын урсгал) нь хувьсагчид заасан хувьсагчийн төрлүүдтэй тохирч байх ёстой. тайлбар хэсэг.

Жишээ. Болъё

var i, j: бүхэл тоо; x: бодит; а: тэмдэгт;

i, j, x хувьсагч, 1, 0, 2.5, "A" утгуудыг оноож үзье. Үүнийг хийхийн тулд бид read (i, j, x, a) операторыг ашиглан оролтын урсгалыг дараах аргуудын аль нэгээр зохион байгуулна.

Энд бид янз бүрийн хязгаарлагч (зай, таслал) ашиглаад зогсохгүй оролтын урсгалыг нэг, хоёр, дөрвөн мөр болгон төлөөлсөн.

Мөн readln операторыг ашиглан гарнаас өгөгдөл оруулах боломжтой бөгөөд энэ нь уншсан оператороос зөвхөн гүйцэтгэсний дараа курсор шинэ мөрөнд шилждэгээрээ л ялгаатай.

n_1 программыг унших оператор ашиглан өгөгдөл оруулах ажлыг зохион байгуулъя. Хэрэглэгч програм нь юунд зориулагдсан болохыг мэдэж, компьютер түүнээс ямар үйлдэл хүлээж байгааг ойлгохын тулд бид writeln операторыг ашиглан холбогдох текст мессежийг харуулах болно.

Сайжруулсан хөтөлбөрийн үр дүн:

Одоо манай программ r-ийн дурын утгын хувьд тойргийн тойрог ба талбайг тооцоолж болно. Өөрөөр хэлбэл, нэг асуудал биш, бүхэл бүтэн ангиллын асуудлыг шийддэг. Нэмж дурдахад програм нь анхны өгөгдөл оруулах, олж авсан үр дүнгийн гаралтыг тодорхой бөгөөд тохиромжтой байдлаар зохион байгуулдаг. Энэ нь хэрэглэгчийн ээлтэй интерфэйсийг баталгаажуулдаг.

Хамгийн чухал нь

RAM-д хувьсагчийн утгыг оруулахын тулд read болон readln оролтын операторуудыг ашигладаг.

RAM-аас мониторын дэлгэц рүү өгөгдөл гаргахын тулд бичих, бичих гаралтын операторуудыг ашигладаг.

Эхний өгөгдлийг оруулах, үр дүнг гаргахад ойлгомжтой, тохиромжтой байдлаар зохион байгуулах; Энэ нь хэрэглэгчийн ээлтэй интерфэйсийг баталгаажуулдаг.

Асуулт, даалгавар

  1. Програм ажиллаж байх үед нийлбэр хувьсагчийн утгыг оруулах хэллэг бич.
  2. i, y, k бүхэл тоон хувьсагчдад 10, 20, 30 гэсэн утгыг өгөх шаардлагатай.
      a) 20 10 30
      б) 30 20 10
      в) 10 30 20
  3. Гурвалжны талбайг гурван тал дээр үндэслэн тооцоолоход шаардлагатай хувьсагчдыг тодорхойлж, шаардлагатай оролтын өгөгдлийг агуулсан мэдэгдлийг бичнэ үү.
  4. Уг мэдэгдлийг хэрэгжүүлснээр ямар үр дүн гарах вэ?
      a) бичих (a)
      б) бичих (1 a ")
      в) бичих (1 a=1, a)
  5. Write (f) командыг гүйцэтгэсний дараа дэлгэцэн дээр дараах тоо гарч ирсэн бол f хувьсагч ямар төрөл вэ?
      a) 125
      b) 1.25E+2
  6. Би бодит тоог тогтмол цэг хэлбэрээр хэрхэн харуулах вэ?
  7. Хоёр тоо оруулж, урвуу дарааллаар гаргах операторуудыг бич.
  8. Хөтөлбөрийн хэсэг энд байна:

    унших(a); унших(б); c:=a+b; бичих(a, b); бичих (в)

    Оролтын болон гаралтын мэдэгдлийн тоог багасгах замаар үүнийг хялбарчлах.

  9. Хөтөлбөрийн хэсэг энд байна:

    a:=10; b:=a+l: a:=b-a; бичих (a, b)

    Компьютерийн дэлгэц дээр ямар тоо гарч ирэх вэ?

  10. Тэгш өнцөгтийн талбай ба периметрийг хоёр талд нь үндэслэн тооцдог програм бич.

© 2024 ermake.ru -- Компьютер засварын тухай - Мэдээллийн портал