Tajriba mashg’uloti № 16
Paskal tilida protsedura va funksiyalarga doir programma tuzish
Mashg’ulotning maqsadi: talabalarda protsedura va funksiyalarga doir dasturlar tuzish malaka va ko‘nikmalarini hosil qilish.
Nazariy ma’lumotlar ma’ruza darslarida keltirilgan.
18– masala uchun programma
|
program proc18;
{$APPTYPE CONSOLE}
uses
SysUtils;
type oy=1..12;
var
m:oy; y:word;
function IsLeapYear(y:word):boolean;
var t:boolean;
begin
t:=false;
if (y mod 4=0)then t:=true;
if (y>400)and (y mod 100=0)and(y mod 100<>0)then t:=false;
IsLeapYear:=t;
end;
function MonthDasy(m:oy;y:word):word;
var
d:1..31;
begin
case m of
1,3,5,7,8,10,12:d:=31;
2:if IsLeapYear(y)then d:=29
else d:=28;
4,6,9,11:d:=30;
end;
MonthDasy:=d;
end;
begin
read(m,y);
writeln(MonthDasy(m,y));
read(m,y);
writeln(MonthDasy(m,y));
readln;
readln;
end.
|
#pragma proc18
#include
typedef unsigned short int naturol;
naturol m,y;
bool IsLeapYear(naturol y);
short int MonthDasy(naturol m,naturol y);
int main(int argc, char **argv)
{
cin>>m>>y;
cout<
cin>>m>>y;
cout<
cin>>"\n";
return 0;
}
bool IsLeapYear(naturol y)
{ bool t;
t=false;
if (y % 4==0) t=true;
if ((y>400)&&(y % 100==0)&&(y%100!=0)) t=false;
return t;
}
short int MonthDasy(naturol m,naturol y)
{
naturol d;
switch (m)
{
case 1,3,5,7,8,10,12:d=31;
break;
case 2:if (IsLeapYear(y)) d=29;
else d=28;
break;
case 4,6,9,11:d=30;
break;
}
return d;
}
|
Topshiriqlar:
1. ab=eblna dan foydalanib a sonining b – darajasini hisoblovchi haqiqiy tipli Power1(a,b) funksiyasi tasvirlansin. (a va b - haqiqiy) a ning qiymati 0 yoki manfiy bo‘lsa funksiya 0 qiymatni qaytarsin. Bu funksiyadan foydalanib, p, a, b, c sonlari berilganda ap, bp, cp darajalari hisoblansin.
2. n butun soni va a haqiqiy son berilganda an ni
a0=1
(n marta) agar n>0
(|n| marta) agar n<0
formula asosida hisoblaydigan butun tipli Power2(a,n) funksiyasi tasvirlansin. Bu funksiyadan foydalanib, a, k, l, m sonlari berilganda ak, al, am larning qiymati hisoblansin.
3. Power 1 va Power 2 funksiyalaridan foydalanib agar b manfiy bo‘lsa Power 2 ni chaqirib, boshqa hollarda Power 1 dan foydalanib ishlaydigan ab ni hisoblovchi haqiqiy tipli Power3(a,b) funksiyasi tasvirlansin. Bu funksiyadan foydalanib p, a, b, c lar berilganda ap, bp, cp lar hisoblansin.
4. ex funksiyani
formula asosida taqribiy hisoblovchi haqiqiy tipli Exp1(x,е) (x va е haqiqiy sonlar) funksiyasi tasvirlansin. Bu funksiyadan foydalanib berilgan x uchun е (е>0) ning 3 ta turli qiymatlarida ex ning qiymatlari hisoblansin.
1
0.6
0.4
0.2
|
2.5
2.66
2.707
|
5. sin(x) ning qiymatini formula asosida taqribiy hisoblovchi haqiqiy tipli sin1(x,е) (x,е(е>0)) haqiqiy sonlar) funksiyasi tasvirlansin. Bu funksiyadan foydalanib berilgan x uchun е ning 6 ta turli qiymatlarida sin(x) ning qiymati hisoblansin.
6. cos(x) ning qiymatini
formula asosida taqribiy hisoblovchi haqiqiy tipli cos1(x,е) (x,е(е>0)) haqiqiy sonlar) funksiyasi tasvirlansin. Bu funksiyadan foydalanib berilgan x uchun е ning 6 ta turli qiymatlarida cos(x) ning qiymati hisoblansin.
7. ln(x)ning qiymatini
formula asosida taqribiy hisoblovchi haqiqiy tipli ln1(x,е) (x,е(е>0)) haqiqiy sonlar) funksiyasi tasvirlansin. Bu funksiyadan foydalanib berilgan ln1 uchun е ning 6 ta turli qiymatlarida ln(1+x) ning qiymati hisoblansin.
8. arctg(x) ning qiymatini
formula asosida taqribiy hisoblovchi haqiqiy tipli arctg1 (x,е(е>0)) haqiqiy sonlar) funksiyasi tasvirlansin. Bu funksiyadan foydalanib berilgan x uchun е ning 6 ta turli qiymatlarida arctg(x) ning qiymati hisoblansin.
9. (1+x)a ning qiymatini
yordamida hisoblovchi haqiqiy tipli Power4(x, a, е ) funksiyasi tasvirlansin.
Bu funksiyadan foydalanib berilgan x va a ning qiymatlari uchun е ning 6 ta turli qiymatlarida (1+x)a ning qiymati hisoblansin.
10. Evklid algoritmidan foydalanib 2 ta a va b musbat butun sonlari uchun eng katta umumiy bo‘luvchini topadigan (EKUB) NOD2(a,b) funksiyasi tasvirlansin. NOD(a,b)=NOD(b,a mod b), agar b≠0; NOD(a,0)=a. Bu funksiyadan foydalanib a, b, c, d lar berilgan (a,b), a,c), (a,d) juftliklarning umumiy bo‘luvchilari topilsin.
11. NOD2 funksiyasidan foydalanib qisharmaydigan ko‘rinishdagi oddiy kasrni hosil qiluvchi Frac1(a,b,p,q) prosedurasi tasvirlansin. (proseduraning barcha parametrlari butun tipli, a va b-kiruvchi, p va q chiquvchi). Bu protseduradan foydalanib a, b, c, d, e, f, g, h lar berilganda ifodalar uchun qisharmaydigan kasrlar topilsin.
1 2 3 4 5 6 7 8
|
5 4
4 3
11 8
|
12. a va b sonlarining eng kichik umumiy karralisini formula asosida hisoblaydigan butun tipli NOK2(a,b) funksiyasi tasvirlansin. a,b,c,d lar berilganda bu funksiyadan foydalanib (a,b), (a,c), (a,d) juftliklar uchun EKUKlar topilsin.
13. 46 misoldagi NOD2 funksiyasidan foydalanib berilgan 3 ta butun musbat sonning EKUBini topuvchi butun tipli NOD3(a,b,c) funksiyasi tasvirlansin. Bu funksiyadan foydalanib a,b,c,d butun musbat sonlari berilgan da (a,b,c), (a,c,d), (b,c,d) uchliklar uchun EKUB lar hisoblansin.
14. Berilgan t sekundni (h,m,s) soat, minut, sekund formatiga o‘tkazuvchi (t barcha parametrli butun tipli, t-kiruvchi, h, m va s-chiquvchi parametrlar) TimeToHMS(t,h,m,s) prosedurasi tasvirlansin. Bu proseduradan foydalanib t ning berilgan 3 ta har xil qiymatlari uchun soat, minut, sekundlar hisoblansin.
61 3800 7600
|
0 1 1
1 3 20
2 6 40
|
15. Berilgan (h,m,s) soat, minut, sekund formatidagi vaqtni “t” sekundga oshiradigan (h, m, s - kiruvchi va chiquvchi, t kiruvchi parametr, barcha parametrlar butun musbat sonlar) IncTime(h,m,s,t) prosedurasi tasvirlansin. Bu proseduradan foydalanib berilgan h, m, s formatidagi vaqt t sekundga oshirilsin va hosil bo‘lgan natija chiqarilsin.
16. t berilgan yil kabisa bo‘lsa true aks holda false qiymat qaytaruvchi mantiqiy tipli IsleapYear(y) funksiyasi tasvirlansin. Bu funksiyadan foydalanib berilgan 2 ta turli butun musbat qiymatlarda funksiyaning qaytaradigan qiymatlari chop etilsin.
17. Berilgan yilning m-oyi uchun IsLeapYear funksiyasidan foydalanib kunlar sonini hisoblovchi butun tipli MonthDays(m,y) funksiyasi tasvirlansin. Bu funksiyadan foydalanib berilgan 2 ta turli butun musbat qiymatlar uchun funksiyaning qaytaradigan qiymati chop etilsin.
18. ▲ MonthDays(m,y) funksiyasidan foydalanib berilgan, to‘g‘ri (d,m,y) kun, oy, yil formatdagi sanadan oldingi kun sanasini hisoblovchi PrevDate(d,m,y) prosedurasi tasvirlansin. Prosedurani qo‘llab berilgan 3 ta sanadan oldingi sanalar topilsin.
1 3 2004
1 1 2007
1 9 2008
|
29 2 2004
31 12 2006
31 8 2008
|
19. MonthDays(m,y) funksiyasidan foydalanib berilgan, to‘g‘ri (d,m,y) kun, oy, yil formatdagi sanadan keyingi kun sanasini hisoblovchi NextDate(d,m,y) prosedurasi tasvirlansin. Prosedurani qo‘llab, berilgan 3 ta sanadan keyingi sanalar topilsin.
31 12 2005
28 2 2001
28 2 2004
|
1 1 2006
1 3 2001
29 2 2004
|
20. Oxirlarining koordinatalari berilgan kesma uzunligini hisoblovchi haqiqiy tipli leng(xa, ya, xb, yb) funksiyasi tasvirlansin. Bu funksiyadan foydalanib A, B, C, D nuqtalar koordinatalari berilganda AB, AC, AD kesmalar uzunliklari topilsin.
21. Leng funksiyasidan foydalanib uchburchakning uchlarining koordinatalari berilganda, uning perimetrini hisoblaydigan haqiqiy tipli Perim(xa,ya,xb,yb,xc,yc) funksiyasi tasvirlansin. Bu funksiyadan foydalanib A, B, C, D nuqtalarning koordinatalari berilgan ABC, ABD, ACD uchburchaklarning perimetrlari hisoblansin.
0 0 0 1 1 0 0 -1
|
3.4 0 3.4
|
22. Leng va Perim funksiyalaridan foydalanib uchburchakning uchlarining koordinatalari berilganda uning yuzasini hisoblovchi haqiqiy tipli Area(xa,ya,xb,yb,xc,yc) funksiyasi tasvirlansin. Bu funksiyadan foydalanib A,B,C,D nuqtalarning koordinatalari berilganda ABC, ABD, ACD uchburchaklarning yuzalari hisoblansin.
0 0 0 1 1 0 0 -1
|
0.5 0 0.5
|
23. Leng va Area funksiyalaridan foydalanib uchlarining koordinatalari berilgan kesmadan unda yotmaydigan nuqtagacha bo‘lgan masofani hisoblaydigan haqiqiy tipli Disp(xp,yp,xa,ya,xb,yb) funksiyasi tasvirlansin. xp, yp nuqta koordinatalari, xa, ya, xb, yb kesma oxirlarining koordinatalari. Bu funksiyadan foydalanib P, A, B, C, D nuqtalar berilganda P nuqtadan AB, CD, BC kesmalargacha bo‘lgan masofalar topilsin.
0 0 1 1 -1 1 -1 -1 1 -1
|
1 1 1
|
24. Dist funksiyasidan foydalanib uchlarining koordinatalari berilgan uchburchakning tomonlariga tushurilgan balandliklarini hisoblovchi Heights(xa,ya,xb,yb,xc,yc,ha,hb,hc) prosedurasi tasvirlansin. Bu prosedura yordamida A, B, C, D nuqtalar koordinatalari bilan berilgan bo‘lsa ABC, ABD, ACD uchburchaklarning barcha balandliklari hisoblansin.
1 1 -1 1 -1 -1 1 -1
|
2 1.4 2
1.4 2 2
2 2 1.4
|
Do'stlaringiz bilan baham: |