Tarkibiy dasturlashning asosiy konstruktsiyalari



Yüklə 0,66 Mb.
səhifə1/6
tarix11.06.2022
ölçüsü0,66 Mb.
#61261
  1   2   3   4   5   6
Takrorlanuvchi shart operatorlari


2.1 Tarkibiy dasturlashning asosiy konstruktsiyalari
DA dasturlash nazariyasihar qanday murakkablikdagi masalani echish uchun dastur faqat uchta tuzilishdan iborat bo'lishi mumkinligi isbotlanganketma-ketlik, tarmoqlanish va pastadir. Ular chaqiriladi asosiy dizaynlartizimli dasturlash.
Keyingi - bu ikki yoki undan ortiq operatorlarning ketma-ket bajarilishi (oddiy yoki aralash).
Dallanish shartning bajarilishiga qarab, u yoki bu operatorning bajarilishini belgilaydi.
Velosiped bayonotning bir nechta bajarilishini belgilaydi.
Asosiy tuzilmalarning xususiyati shundaki, ularning har qandayida faqat bitta kirish va bitta chiqish mavjud, shuning uchun tuzilmalar o'zboshimchalik bilan bir-biriga joylashishi mumkin.
2.1-rasm - Strukturaviy dasturlashning asosiy konstruktsiyalari
Asosiy konstruktsiyalardan foydalanish maqsadi oddiy tuzilishga ega dasturni olishdir. Bunday dasturni o'qish, disk raskadrovka va agar kerak bo'lsa, unga o'zgartirish kiritish oson.
Nuqta-vergul bilan tugaydigan har qanday ifoda, bajarilishi ifodani baholashdan iborat bo'lgan mulohaza sifatida qaraladi.
2.2 Relyatsion va mantiqiy operatsiyalar
Aloqalar bo'yicha operatsiyalar(<, <=, >,\u003e \u003d, \u003d\u003d ,! \u003d) birinchisini solishtiringikkinchisi bilan operand. Operandlar arifmetik tip yoki ko'rsatgichlar bo'lishi mumkin. Amaliyotning natijasi bu qiymatdirto'g'ri yoki noto'g'ri ... Tenglik va tengsizlik uchun taqqoslash operatsiyalari boshqa taqqoslash operatsiyalariga qaraganda past ustunlikka ega. Masalan:x\u003e \u003d 0, y! \u003d 10, z \u003d\u003d 0.
DIQQAT! Tenglik testi o'rtasidagi farqga e'tibor bering (== ), natijasito'g'ri yoki noto'g'ri va tayinlash jarayoni (= ), bu chap operandga berilgan qiymatga olib keladi.
Mantiqiy amallar(&&, ||, ^). Operandlar mantiqiy operatsiyalar VA (&&), OR (|| ), Eksklyuziv yoki (^ ) turga o'tkaziladigan turdagi bo'lishi kerakbool, operandlar bilan bitta operatsiyada har xil bo'lishi mumkin. Amaliyot natijasito'g'ri yoki noto'g'ri.
Operatsion natijasimantiqiy VA to'g'ri faqat ikkala operand ham haqiqiy bo'lsato'g'ri ... Operatsion natijasimantiqiy yoki to'g'ri agar operandlardan kamida bittasi bo'lsato'g'ri ... Operatsion natijasimantiqiy eksklyuziv YOKIhaqiqat agar operandlardan biri bo'lsarost, ikkinchisi yolg'on. Mantiqiy inkor ( !) qiymatga olib keladiagar operand rost bo'lsa, yolg'on, agar operand yolg'on bo'lsa. Operand arifmetik turdagi bo'lishi mumkin. Ushbu holatda,yashirin konversiyabool turi ... Mantiqiy operatsiyalar chapdan o'ngga amalga oshiriladi. Agar birinchi operandning qiymati operatsiya natijasini aniqlash uchun etarli bo'lsa, ikkinchisioperand baholanmaydi.
Amaliyotlar natijalari jadvali VA, YO'Q, eksklyuziv YOKI, YO'Q
(A va B operandlar)







A && B

A || B

A ^ B












































































Bilan ifodalarga misollar mantiqiy operatsiyalar:
x\u003e 0 && y<=10
(a< -1 && b > 0) || c! \u003d 100
Shartli operatsiya(? :). Bu bittaC ++ uchlamchi operatsiya (uchta operandga ega), uning formati:
operand_1? operand_2: operand_3
Operandlar chapdan o'ngga hisoblanadi. Birinchi operandni baholash natijasi turga o'tkaziladigan turdagi bo'lishi kerakbool ... Agar natija bo'lsato'g'ri , keyin butun shartli operatsiyani bajarish natijasi ikkinchi operandning qiymati bo'ladi, aks holda - uchinchi operandning. Ularning turlari har xil bo'lishi mumkin.
Misol: agar uning qiymati oshmasa, ba'zi bir butun sonning qiymati 1 ga ko'paytirilishi talab etilsinn , aks holda u 1 qiymatini oldi. Buni bitta satr kod bilan yozish mumkin:
i \u003d (i< n) ? i + 1: 1;

2.3 Filial operatorlari. Shartli if


Shartli ifhisoblash jarayonini ikki yo'nalishga ajratish uchun ishlatiladi.Algoritm diagrammasi operator 2.1-rasmda ko'rsatilgan. Operator formati:
if (ifoda) operator_1; [else bayonoti_2;]
Birinchidan, arifmetik yoki ko'rsatgich turidagi bo'lishi mumkin bo'lgan ifoda baholanadi. Agar u nolga teng bo'lmasa, ya'ni. teng darajadato'g'ri , keyin birinchi bayonot bajariladi, aks holda ikkinchisi. Shundan so'ng, boshqaruv shartli operatorga o'tkaziladi. Filiallardan biri etishmayotgan bo'lishi mumkin.
Agar filialda bir nechta so'zlarni bajarish kerak bo'lsa, ular blokga kiritilishi kerak. Blokda har qanday bayonotlar, shu jumladan tavsif va boshqa shartli bayonotlar bo'lishi mumkin.
Misollar:



agar (a< 0) b = 1;






agar (a< b && (a >d || a \u003d\u003d 0))
B ++;
boshqa
(b * \u003d a; a \u003d 0;)






agar (a< b)
agar (a< c )
M \u003d a;
boshqa
M \u003d c;
boshqa
Agar (b< c )
M \u003d b;
boshqa
m \u003d c;

1-misol filial yo'qolganboshqa ... Bunday qurilish "operator o'tish" deb nomlanadi, chunkitopshiriq yoki shartga qarab bajariladi yoki o'tkazib yuboriladi.
Agar siz bir nechta shartlarni tekshirishingiz kerak bo'lsa, ular belgilar bilan birlashtiriladimantiqiy operatsiyalar... Masalan, ifodamisol 2 sharti a bo'lsa to'g'ri bo'ladi< b и одно из условий в скобках. Если опустить внутренние скобки, будет выполнено сначала логическое И, а потом – ИЛИ.
3-misoldagi operator uchta o'zgaruvchining eng kichik qiymatini hisoblab chiqadi.
Operator sintaksisiga ko'raagar uning filiallarida birdan ortiq operator bo'lmasligi kerak. Agar ular ko'proq bo'lsa, ularni blok yordamida birlashtirish kerakjingalak qavslar yoki bilan vergul operatsiyalari (,).
Misol. Ko'rsatilgan nishonga o'q otiladi 3.2-rasm. Ballar sonini aniqlang.

Shakl 3.2 - Maqsad
# shu jumladan
int main ()
float x, y;
int kol;
Printf ("\\ n Kadr koordinatalarini kiriting ");
Scanf ("% f", & x);
Scanf ("% f", & y);
Agar (x * x + y * y< 1)
Kol \u003d 2;
Boshqa
Agar (x * x + y * y< 4)
kol \u003d 1;
boshqa
kol \u003d 0;
printf ("\\ n ball:% d", kol);
2.4 Filial operatorlari. Ko'p tanlov operatorialmashtirish
Switch bayonotihisoblash jarayonini bir necha yo'nalishlarga ajratish uchun mo'ljallangan. Operator formati:
almashtirish (ifoda)
Case constant_expression_1: operatorlar1;
Case constant_expression_2: bayonotlar 2;
...
Case constant_expression_n: bayonotlar n;
Bayonotni bajarish bilan boshlanadiifodani baholash(u tamsayı bo'lishi kerak) ), keyin esa boshqaruv uzatiladiish -bola - doimiy ifoda bilan belgilangan operatorlarga, qiymati hisoblanganga to'g'ri keladi, shundan so'ng boshqa barcha filiallar ketma-ket bajariladihech qanday kalit aniq ko'rsatilmagan.
Barcha doimiy iboralar bo'lishi kerak turli xil ma'nolarlekin bir xil bo'lingtamsayı turi... Bir nechta yorliqlar ketma-ket ketma-ket ketishi mumkin. Agar mos kelmasa, so'zdan keyingi so'zlarsukut bo'yicha (va u yo'q bo'lganda, boshqaruv boshqasiga o'tkaziladialmashtirish bayonoti).
Agar biron birida bo'lsaish - yorliqlar yo'qolgan operatortanaffus , keyin keyingi operatorlarish -bir joyda operator topilmaguncha va hokazotanaffus.
Misol (dastur 4 ta harakat uchun eng oddiy kalkulyatorni amalga oshiradi):
# shu jumladan
int main ()
int a, b, res;
char op;
printf ("\\ n 1-operandni kiriting: ");
scanf ("% d", & a);
printf ("\\ n Operatsion belgisini kiriting: ");
scanf ("% c", & op);
printf ("\\ n 2-operandni kiriting: ");
scanf ("% d", & b);
bool f \u003d rost;
Kommutatsiya (op)
"+" Holati: res \u003d a + b; tanaffus;
"-" holati: res \u003d a - b; tanaffus;
"*" Holati: res \u003d a * b; tanaffus;
Case "/": res \u003d a / b; tanaffus;
standart: printf ("\\ n Noma'lum operatsiya"); f \u003d yolg'on;
agar (f)
printf ("\\ n Natija:% d", res);
Kalitdan chiqing odatda operatorlar bilan amalga oshiriladisindirish yoki qaytish.
2.5 ko'chadan bayonotlar
Loop operatorlari takroriy hisob-kitoblarni tashkil qilish uchun ishlatiladi.
Loopni tashkil qilish uchun o'zgaruvchi deb nomlanadipastadir parametri yoki pastadir nazorati o'zgaruvchisi... Har qanday tsikl quyidagilardan iborat:

  • dastlabki sozlamalar yoki loop parametrlarini ishga tushirish bloki;

  • pastadir tanalari , ya'ni bir necha bor bajarilgan bayonotlar;

  • tsikl parametrlarini o'zgartirish bloki;

  • chiqish holatini tekshiring ilgari ham joylashtirilishi mumkin bo'lgan tsikldanpastadir tanalari (keyin tsikl haqida gapiringold shart bilan), yoki ilmoq tanasidan keyin (postkonditsionli tsikl).


Shakl 3.3 - Ikkala turdagi tsikllar
Loopning bitta o'tishi deyiladitakrorlash ... Har birida butun son bilan o'zgarib turadigan butun sonli tsikl parametrlaritakrorlash deyiladi tsikl hisoblagichlari.
Siz boshqaruvni tashqaridan tsiklning ichki qismiga o'tkaza olmaysiz. Chiqish sharti bajarilganda ham, operatorlar tomonidan ham ko'chadan chiqish mumkinsindirish, qaytish yoki shartsiz sakrashbordi.
2.6 Old shart bilan ilmoq (while)
Old shart bilan ilmoqalgoritm sxemasini amalga oshiradi
while (ifoda) operatori;
Masalan:
Ifoda takrorlash shartini belgilaydipastadir tanalari oddiy yoki murakkab operator tomonidan ifodalanadi. Agar ifoda 0 (rost) bo'lmasa, tsikl operatori bajariladi, so'ngra ifoda yana baholanadi. Agar birinchi tekshiruvda ifoda 0 (noto'g'ri) bo'lsa, tsikl bir marta ham bajarilmaydi. Ifoda turi arifmetik yoki konvertatsiya qilinishi kerak.
funktsiya qiymatlariy \u003d x 2 +1 kiritilgan diapazonda):
# shu jumladan
int main ()
float Xn, Xk, Dx;
suzmoq X \u003d Xn; // tsiklning dastlabki sozlamalari
Esa (X<= Xk) //проверка условия выхода
Printf ("\\ n% 5.2f% 5.2f", X, X * X + 1); //tanasi
X + \u003d Dx; // o'zgartirish
2.7 Postkonditsiyali ilmoq (do while)
Postkonditsion bilan ilmoqalgoritm sxemasini amalga oshiradi quyida berilgan va quyidagicha ko'rinadi:
ifoda qilish paytida bayon qilish;
Oddiy yokiaralash operatortsiklning tanasini tuzadigan va keyin ifoda baholanadi. Agar u 0 ga (rost) teng bo'lmasa, tsiklning tanasi yana va hokazo, ifoda nolga (false) teng bo'lguncha yoki tsiklning tanasida bir nechta bajariladi.uzatish operatori... Ifoda turi arifmetik yoki konvertatsiya qilinishi kerak.
Misol (dastur kirishni tekshiradi):
# shu jumladan
int main ()
char javob;
printf ("\\ n Fil sotib oling!");
scanf ("% c", & javob);
while (javob! \u003d "y");
2.8 for loop
Loop uchun quyida keltirilgan algoritm sxemasini amalga oshiradi va quyidagi shaklga ega:
uchun (ishga tushirish bloki; holatni tekshirish bloki; o'zgartirish bloki)
Loop tanasi;
Misol:
Boshlash blokitsiklda ishlatiladigan qiymatlarni e'lon qilish va boshlash uchun ishlatiladi. Ushbu qismda siz bir nechta operatorlarni vergul bilan ajratib yozishingiz mumkin.
Ahvolni tekshirish blokitsiklning bajarilish shartini belgilaydi: agar u 0 ga teng bo'lmasa (rost), tsikl bajariladi.
O'zgartirish blokihar biridan keyin amalga oshiriladitakrorlash tsikl va odatda tsikl parametrlarini o'zgartirishga xizmat qiladi. O'zgartirishlar qismida siz vergul bilan ajratilgan bir nechta operatorlarni yozishingiz mumkin.
Oddiy yoki aralashoperator o'zida aks ettiradihalqa tanasi ... Operatorning istalgan qismiuchun chiqarib tashlanishi mumkin (lekin nuqta-vergulni joyida qoldiring!). Istalgan qismda "vergul" (ketma-ket hisoblash) operatsiyasidan foydalanishingiz mumkin, masalan:
uchun (int i \u003d 1, s \u003d 0; i<= 100; i++)
S + \u003d i; // 1 dan 100 gacha bo'lgan sonlar yig'indisi
Misol (dastur jadvalni bosib chiqaradifunktsiya qiymatlariy \u003d x 2 Kiritilgan diapazonda +1):
# shu jumladan
int main ()
float Xn, Xk, Dx;
printf ("Argumentni o'zgartirish doirasini va qadamini kiriting:");
scanf ("% f% f% f", & Xn, & Xk, & Dx);
Uchun (float X \u003d Xn; X<= Xk; X += Dx)
Printf ("\\ n% 5.2f% 5.2f", X, X * X + 1);
2.9 Ichki ko'chadan
Loop operatorlarining har biri istalgan tartibda boshqa istalgan joyda joylashtirilishi mumkin. Ichaklarning uyalash chuqurligi cheklanmagan. U faqat echilayotgan masalaning algoritmi bilan aniqlanadi.
Quyida ichki ko'chadan namunalar keltirilganuchun
Ushbu dastur parchasi quyidagicha ishlaydi. Tashqi pastadir parametrining bitta qiymati uchuni (masalan, i \u003d 1 ) ichki tsiklning parametrij minimaldan maksimal qiymatgacha (1dan - gacha) o'zgaradiM ). Shundan keyingina parametrmen bittaga ko'payadi. Shunday qilib, tsiklning tanasi bajariladiN * M marta.
Ichki halqalarning boshqa variantlari xuddi shu tarzda ishlaydi: tashqi tsiklning parametri sekin o'zgaradi, ichki esa tezda o'zgaradi. Ularni o'zingiz o'rganishingiz tavsiya etiladi. Buni amalga oshirish uchun ichki tsikl algoritmi bloki o'rniga butun tanani joylashtiring.
2.10 Boshqarish uzatish operatorlari
C ++ da hisoblashning tabiiy tartibini o'zgartiradigan beshta operator mavjud:

  • pastadir chiqish bayonoti vauzilish tugmasi;

  • sakrash operatorikeyingi tsiklga takrorlashni davom ettiring;

  • funktsiyani qaytarish bayonotiqaytish;

  • operator shartsiz sakrashbor;

  • otish operatoriotish.

Tanaffus bayonoti darhol tugatish uchun ishlatiladiloop yoki switch bayonoti ... Ijro to'ldirilganidan keyin keyingi bayonotga o'tkaziladi.
Keling, uning ishlatilishini misol bilan ko'rib chiqayliktakroriy pastadirni ochinguchun ... Masalan, 1 dan 100 gacha bo'lgan sonlar yig'indisini hisoblash.
int i \u003d 1, sum \u003d 0;
uchun (;;)
Agar (i\u003e 100) tanaffus;
sum + \u003d i;
i ++;
Keyingi iteratsiya o'tish operatoripastadir davom eting qolgan barcha bayonotlarni o'tkazib yuboradipastadir tanalari , va tsikl parametrlarini o'zgartirish uchun boshqaruvni uzatadi (tsikl bo'lsa)uchun ) va keyingi boshlanishitakrorlash.
Uning ishlatilishini 1 / summani hisoblash misolida ko'rib chiqamiz.x bo'lsa x oralig'ida o'zgarib turadi [-5, 5].
# shu jumladan
int main ()
float X, Sum \u003d 0;
uchun (X \u003d -5; X<= 5; X++)
Agar (X \u003d\u003d 0)
Davom eting;
Sum \u003d Sum + 1 / X;
Printf ("\\ n Sum \u003d% f", sum);
Funktsiyani qaytarish operatoriqaytish funktsiyani tugatadi va boshqaruvni chaqirilgan nuqtaga o'tkazadi. Biz uni tegishli mavzudagi xususiyatlar bilan birgalikda ko'rib chiqamiz.
Shartsiz sakrash operatorigoto quyidagi formatga ega:
goto yorlig'i;
Xuddi shu funktsiya tanasi shaklning to'liq bitta konstruktsiyasini o'z ichiga olishi kerak:
yorliq: operator;
Izohga boring boshqaruvni belgilangan operatorga o'tkazadi.Yorliq Doimiy identifikator,qamrov doirasi qaysi tanadagi funktsiya sodir bo'ladi.
Foydalanish shartsiz sakrash operatoriikki holatda oqlanadi:

  • dastur matnidan bir nechtasidan majburan chiqib ketishichki ko'chadanyoki kalitlarga;

  • funktsiyalarning bir nechta joylaridan biriga o'tish (masalan, funktsiyadan chiqishdan oldin har doim ba'zi bir harakatlarni bajarish kerak bo'lsa).

Boshqa hollarda, har qanday algoritmni yozib olish uchun ko'proq mos vositalar mavjud.
Istisno holat(yoki faqat istisno ) yoki operator yordamida dasturchi tomonidan yaratiladiotish yoki ish vaqti o'zi. Bu dasturni bajarish paytida har qanday xatolar yuz berganda yuz beradi, masalan, nolga bo'linish yokitoshib ketish. Mexanizm istisno bilan ishlashamalga oshirildiC ++ , bunday xatolarga munosabat bildirish va shu bilan dasturning g'ayritabiiy tugashiga yo'l qo'ymaslik imkonini beradi. Bu boshqa mavzuda ko'rib chiqiladi.

Sizni qiziqtirishi mumkin bo'lgan boshqa shunga o'xshash asarlar

2784.




Vaziyat va tanlov operatorlari

16 KB




Agar shart operatori bo'lsa. Shuning uchun siz allaqachon quyidagi topshiriqlarni yozishingiz mumkin: Koren: \u003d Sqrtxy; Modul: \u003d bsxy. Paskal tilida bunday shartli sakrashlarni amalga oshirish uchun If va Else operatorlari va so'zsiz sakrash operatori Goto ishlatiladi. If iborasini ko'rib chiqing.




2750.




Hisobotlarni yozing va yozing

12,34 KB




Ingliz tilida yozing. WriteLn operatori xuddi shu amalni bajaradi, lekin u ham ingliz tilida tugaydigan Ln qatoriga ega. Umumiy ko'rinish: iboralar ro'yxatini yozing WriteLn iboralar ro'yxati Write va WriteLn protseduralari nafaqat natijani ko'rsatish uchun, balki turli xil xabarlarni yoki so'rovlarni ko'rsatish uchun ham qo'llaniladi.




6706.




Tuzilmaviy so'rovlar tili - SQL: tarixi, standartlari, asosiy til operatorlari

12,1 KB




SQLning tuzilgan so'rovlar tili o'zgaruvchan strelka bilan relyatsion hisob-kitobga asoslangan. SQL tili jadvallar bo'yicha operatsiyalarni bajarish, tuzish, yo'q qilish, tuzilishini o'zgartirish va jadvallar ma'lumotlari, tanlash, o'zgartirish, qo'shish va o'chirish hamda shu bilan bog'liq ba'zi operatsiyalarni bajarish uchun mo'ljallangan. SQL protsessual bo'lmagan tildir va kirish / chiqish tartiblarini va boshqalarni tashkil qilishni boshqarish uchun bayonotlarni o'z ichiga olmaydi.




Eng oddiy dasturda bayonotlar ketma-ket bajariladi, ya'ni. to'liq bir marta va tartibda, ular dastur matnida qanday ko'rinsa. Biroq, haqiqiy dasturlarda bayonotlarni faqat ma'lum sharoitlarda takrorlash yoki bajarish mumkin. Lineer bo'lmagan tuzilishga ega dasturlarni yaratish uchun boshqaruv operatorlari ishlatiladi.
Boshqarish operatorlariga quyidagi operatorlar kiradi:
Filial operatorlari:
shartli operator - agar bo'lmasa - ALTERNATIVE va CHOICE algoritmik tuzilmalarini amalga oshiradi (1-ilovaga qarang);
tanlov operatori - switch - qisman SELECT algoritmik tuzilishini amalga oshiradi (1-ilovaga qarang);
Loop operatorlari:

      • old shartga ega bo'lgan tsikl - while - PRESCRIPTION BILAN VAQTNING algoritmik tuzilishini amalga oshiradi (1-ilovaga qarang);

post-shartli tsikl - do while - algoritmik tuzilishini amalga oshiradi POST POST SHARTLI (1-ilovaga qarang);
parametri bo'lgan tsikl PARAMETRIC CYCLE algoritmik tuzilishini amalga oshiradi (1-ilovaga qarang).

Yüklə 0,66 Mb.

Dostları ilə paylaş:
  1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin