6-laboratoriya ishi imperative (procedural) dasturlash


Download 22.05 Kb.
Sana02.01.2022
Hajmi22.05 Kb.
#191454
Bog'liq
6-labaratoriya ishi (1)


6-LABORATORIYA ISHI

IMPERATIVE (PROCEDURAL) DASTURLASH

Maqsad: protsessual dasturlash xususiyatlari bilan tanishish. Vazifalarni protsessual uslubda hal qilish. Hisobot tuzish.

Nazariy ma'lumotlar

Dasturning protsessual uslubda bajarilishi xotiraning boshlang'ich holatini o'zgartirish maqsadida bayonotlarni ketma-ket bajarilishiga qisqartiriladi, ya'ni. dastlabki ma'lumotlarning qiymatlari, yakunida, ya'ni. natijalarga. Shunday qilib, dasturchi nuqtai nazaridan, birinchisi ikkinchisining tarkibini ketma-ket yangilab turadigan dastur va xotira mavjud. Protsessual uslub dasturchiga muammoni hal qilishning har bir bosqichini belgilashga imkon beradi. Bunday dasturlash tillarining o'ziga xos xususiyati shundaki, vazifalar bosqichlarga bo'linib, bosqichma-bosqich hal etiladi. Protsessual tildan foydalanib, dasturchi algoritmik qadamlar ketma-ketligini bajarish uchun til konstruktsiyalarini belgilaydi. O'zgaruvchan nom va unga mos keladigan ajratilgan xotira maydonidan iborat. O'zgaruvchini e'lon qilish yoki boshqacha qilib aytganda, direktivalar (kalit so'zlar, konstruktsiyalar) ishlatiladi. O'zgaruvchilarni yaratish turli dasturlash tillarida turlicha.

Funktsiya - bu parametrlarni kirish sifatida qabul qilishi, har xil harakatlarni bajarishi va ish natijalarini mumkin bo'lgan maxsus turdagi uzatishi yetkazadi. Funktsiya chaqiruvi, dasturlash tili nuqtai nazaridan, iboradir, u boshqa iboralarda yoki topshiriqning o'ng tomonida ishlatilishi mumkin.

Protsedura - bu dasturning mustaqil nomlangan qismi bo'lib, u bitta tavsifdan so'ng, ma'lum bir harakatlarni bajarish uchun keyingi dastur qismlaridan bir necha bor ism bilan chaqirilishi mumkin.

chr_var <- "Dunyoga salom!" # Satr turi (belgi) o'zgaruvchisini yarating

(character) num_var <- 24.3 # Haqiqiy turdagi o'zgaruvchini yarating (raqamli)

(numeric) int_var <- 124L # Butun sonli o'zgaruvchini yarating

(integer) cplx_var <- 56 + 4i # Murakkab turdagi o'zgaruvchini yarating

(complex) logi_var <- TRUE # Mantiqiy o'zgaruvchini yarating (mantiqiy)

(logical) assign("name_var", "Какое-то значение") # assign()yordamida o'zgaruvchini yarating

1-rasm - R tilida o'zgaruvchilar yaratish

Vazifalar. Funksiyalar yaratish uchun funktsional so'zlardan foydalaniladi: func, def, function va boshqalar.

Funktsiyalarni yaratish sintaksisi turli dasturlash tillarida farq qiladi.

Kattaroq qiymatni qaytaradigan funktsiyani yaratish

bigger <- function(a, b) { if (a > b) {

return(a)

} else {

return(b)

}

}


bigger(5, 8) # Funktsiyadan to'g'ri foydalanish

bigger(5) # Funktsiyani noto'g'ri ishlatish

bigger(7, 6, 9) # Funktsiyani noto'g'ri ishlatish

Dasturlarni yozish

Dasturlash tillarining rivojlanishi bilan dastur kodini yozishda ishlatiladigan texnologiyalar rivojlandi. Birinchi dasturlar yaxlit matnda yozilgan. Bu buyruqlarning oddiy ketma-ketligi edi. Hammasi shunday edi:

Dasturning boshlanishi

1-Komanda

2-Komanda

...

N-komanda



Dastur tugashi

Dasturlashda ushbu yondashuv bilan juda oz narsa qilish mumkin edi. Bu holda mantiqni yaratish uchun dasturchiga mavjud bo'lgan yagona narsa o'tish edi. O'tish deganda protsessorda ma'lumotlarni qayta ishlash jarayonida rivojlangan ma'lum sharoitlarda buyruqqa o'tish tushuniladi.

1-Komanda

2-Komanda

Agar shart bajarilgan bo'lsa, unda 1-Komanda qayting

3-Komanda

...

N-komanda



Dastur tugashi

Shartsiz dallanma yordamida qurilgan dastur qismining misoli

Shartsiz sakrash (goto, jmp).

Qoidaga ko'ra, shartsiz o’tish bayonoti ikki qismdan iborat: bayonotning o'zi va dasturdagi o’tishning maqsad nuqtasini ko'rsatuvchi yorliq (masalan: goto yorlig'i). Yorliq, til qoidalariga qarab, yoki raqam bo'lishi mumkin (masalan, klassik BASICda), yoki ishlatilgan dasturlash tilining identifikatori. Identifikator yorliqlari uchun yorliq odatda sakrash kerak bo'lgan operator oldiga qo'yiladi va undan ikki nuqta (belgi :) bilan ajratiladi.

Tarmoqlanuvchi operatorining harakati shundan iboratki, uning bajarilishidan so'ng, yorliqdan so'ng (tarmoqlanuvchi yoki siklgacha) darhol matnga ergashgan dastur bayonotlari keyingi qismida bajariladi. Mashina tillari uchun tarmoq buyrug'i protsessor registriga keyingi bajariladigan buyruqning manzilini, yorliq bilan belgilangan buyruqning manzilini o'z ichiga oladi.

1 i=0 1 FOR i=1 TO 100

2 i+=1 2 PRINT i; "squared="; i*i

3 PRINT i; "squared="; i*i 3 NEXT i

4 IF i>100 THEN GOTO 6 4 PRINT "Program Completed."

5 GOTO 2 5 END

6 PRINT "Program Completed."

7 END


a – protsedurali uslub, b – structurali dasturlash

1 dan 100 gacha bo'lgan sonlarni va shu raqamlarning kvadratlarini bosib chiqaradigan dasturlarning misoli

BASIC dasturlash tilidagi turli uslublar

Protsessual yondashuvda ba'zi dastur kodlari alohida bloklarga birlashtirilishi mumkin edi

(protseduralar). Shundan so'ng, bunday buyruqlar blokini dasturning istalgan qismidan chaqirish mumkin.

Jarayonning boshlanishi 1

1-Komanda

2-Komanda

Jarayonning tugashi 1

Dasturning boshlanishi

1-Komanda

2-Komanda

Agar shart bajarilgan bo'lsa, unda 1 protsedura kodini bajaring.

3-Komanda

Dasturning oxiri.

Bu structurali uslubda

- protsessual uslubda bajarilgan dasturning tuzilishi

Amaliy qism

Vazifa 1 - protsessual uslubdagi dasturni yozing. Dastur psevdokod shaklida, blok-diagramma shaklida va yuqori darajadagi tilda (HLL) bajarilishi kerak (bundan keyin, agar boshqacha ko'rsatilmagan bo'lsa, HLL haqida gap ketganda, R tilida kodni bajarish kerak). Blok-sxemani yaratish uchun draw.io resursidan yoki shunga o'xshash dasturdan foydalanish tavsiya etiladi. Blok-sxemani qurish taqdimotda mavjud bo'lgan qoidalarni hisobga olgan holda amalga oshiriladi Imperativ (protsessual) dasturlash.

Variant 1

Uch shaklning maydonini hisoblaydigan dastur yozing: kvadrat, to'rtburchak va doira. Ustida

kirish qismida dastur raqamlar haqidagi ma'lumotlarni kiritishni so'raydi (kvadrat tomoni, aylana radiusi uchun, to'rtburchak - ikki tomon). Chiqish paytida dastur uchta raqamning maydonlarini va umumiy maydonni ko'rsatadi.

Variant 2

Oylik xarajatlaringizni hisoblaydigan dastur yozing. Kirish dasturida

bir nechta moddalar bo'yicha xarajatlar to'g'risidagi ma'lumotlarni so'raydi (xarajatlarning kamida 3 moddasi). Chiqishda dasturda umumiy xarajatlar va maksimal xarajatlar moddasi ko'rsatilgan.

Variant 3

Haftada o'rtacha seanslar sonini hisoblaydigan dastur yozing. Dastur

kuniga mashg'ulotlar soni (haftaning kuni bo'yicha) haqida ma'lumot so'raydi. Chiqish paytida dastur ko'rsatiladi

haftada o'rtacha darslar soni, butun songa yaxlitlanadi.

Vazifa 2 - Taqdim etilgan kodni psevdokod shaklida tavsiflang va savolga javob bering, 7 raqami funktsiyaga o'tkazilganda nima olinadi? Shuningdek, ushbu algoritmni Java-da amalga oshiring.



AT&T sintaksisiga ega yig'ilish tili funktsiyasi:
Download 22.05 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling