Category Archives: Dasturlash tillari
C# 2-dars
C# 1-dars
Informatika OLIMPIADA masalalari
12 xil bo’yash usulini namoyish etuvchi 40×40 o’lchamli 12 ta kvadrat chizing.
uses wincrt, graph, crt; var i,gd,gm,x1,x2,y1,y2: integer; begin gd:=0; clrscr; initgraph(gd,gm,»);
x1:=1; x2:=40; y1:=1; y2:=40; for i:=1 to 12 do begin setfillstyle(i,i+3); bar(x1,y1,x2,y2); x1:=x1+42; x2:=x2+42; end; readln; closegraph; end.
Hafta kunlarining nomlarini kiritib, ularni «HAFTA.TXT» faylida saqlab qo’yadigan dastur tuzing.
uses crt; var kun: string; f: text; i: integer;begin clrscr; assign(f,’hafta.txt’); rewrite(f);
for i:=1 to 7 do begin write(i,’-kun nomini kiriting=’);readln(kun); writeln(f,kun);
end; close(f); readln; end.
Ekran o’rtasidan bo’luvchi gorizontal chiziq chizuvchi dastur tuzing.
Uses graph; Var gd,gm,i,marx,:integer;y:char; Begin gd:=0; InitGraph(gd,gm,»); marx:=trunc(getmaxx/2); line(1,marx,getmaxy,marx); readln; closegraph; end.
Random funksiyasidan foydalanib, turli rangli nuqtalarni hosil qiling.
Uses wincrt, crt; graph; Var Gd,gm,x,y: integer; Begin Gd:=0; InitGraph(gd,gm,’’); Randomize;
Repeat X:=round(random(15)); y:=round(random(15)); Putpixel(50*x,50*y, x); Until x=y+1;
Readln; Closegraph; End.
Random funksiyasidan foydalanib, «yulduzli osmon» manzarasini hosil qiling.
uses graph; var gd,gm,x,y,k,i: integer; begin gd:=0; initgraph(gd,gm,»); randomize; repeat
for i:=1 to 15 do begin x:=25*k*round(random(15)); y:=20*k*round(random(15));
putpixel(x,y,i); end; k:=k+1; until k>10; readln;closegraph; end.
Uchta sondan kattasini topish dasturini tuzing. Buning uchun ikkita sondan kattasini topish funksiyasini tuzib, undan foydalaning.
uses crt; var i,max,a,b,c: integer;
function IKT(a,b:integer):integer; var c:integer;
begin if a>b then c:=a else c:=b; IKT:=c; end;
begin write(‘1-sonni kiriting=’); readln(a);
write(‘2-sonni kiriting=’); readln(b); write(‘3-sonni kiriting=’); readln(c); a:=IKT(a,b); b:=c;
max:=IKT(a,b); writeln(‘Kattasi=’,max); readln; end.
a,b,c sonlar berilgan. Ularning eng kattasi max(a,b,c) ni toping.
var a,b,c,nax: real; begin write(‘a sonni kiriting: ‘) readln(a); write(‘b sonni kiriting: ‘) readln(b); write(‘c sonni kiriting: ‘) readln(c); if a>b then max:=a else max:=b if c>max then max:=c writeln(‘Berilgan uchta sondan kattasi = ‘,max); readln; end.
Ekranning to’rtta burchagida sariq rangli nuqta hosil qiluvchi dastur tuzing.
Uses graph; Var gd,gm: integer; Begin gd:=0; InitGraph(gd,gm,»); PutPixel(1,1,14); PutPixel(1,getmaxY,14); PutPixel(getmaxX,1,14);PutPixel(getmaxX,getmaxY,14); readln;
closegraph; end.
Uchburchakning berilgan tomonlari bo’yicha uning balandliklarini aniqlovchi dastur tuzing.
Var a,b,c,ha,hb,hc:real; function h_ub(a,b,c:real); var yp,s:real; begin yp:=(a+b+c)/2;
s:=sqrt(yp*(yp-a)*(yp-b)*(yp-c)); H_UB:=2*s/a; end; begin write(‘Uchburchak tomonlari (a,b,c) kiriting: ‘); readln(a,b,c); ha:=h_ub(a,b,c); hb:=h_ub(b,a,c); hc:=h_ub(c,b,a); writeln(‘uchburchakning balandliklari: ‘); writeln(‘ha=’,ha,’hb=’,hb,’hc=’,hc); readln; end.
y=sin2x funksiyasining [-π;π] oraliqdagi qiymatlarini 0,01 qadam bilan hisoblang. Natijalarni «sinus.out» faylida saqlab qo’ying.
uses crt; var ism: string; f: text; i: integer; begin clrscr; assign(f,’c:sinf.txt’); rewrite(f);
for i:=1 to 7 do begin write(i,’-oquvchining familiyasini va ismini kiriting=’); readln(ism); writeln(f,ism); end; close(f); readln; end.
Ekranning o’rtasida radiusi 100 ga teng sariq rangli aylana chizing.
Uses wincrt, graph; label 1; Var gd,gm,i: integer; y: char; Begin gd:=0; InitGraph(gd,gm,»);
Setcolor(14); Circle(500,350,100); readln; closegraph; end.
Istagan butun sonni 17 ga qoldiqsiz bo’linishi yoki bo’linmasligini aniqlovchi dastur tuzing.
Uses crt; Var a: integer; Begin ClrScr; Write(‘a sonnni kiriting=’); readln(a); If trunc(a/17)*17=a then writeln(‘bo`linadi.’) else writeln(‘bo`linmaydi.’);Readln; End.
Kvadratlari berilgan natural N sondan katta bo’lmagan natural sonlarni chiqaruvchi dastur tuzing.
1-usul
Uses crt; Var I,N: integer; Begin ClrScr; Write(‘N ning qiymatini kiriting=’); readln(N); I:=1;
While I*I<=N do Begin writeln(I); I:=I+1; end; Readln; End.
2-usul
uses crt; var n,_n:real; begin textcolor(14); textbackground(1); clrscr; write(‘N sonini kiritng:’); readln(n); _n:=1; while n>sqr(_n) do begin _n:=_n+1; writeln(_n-1); end; readln; end.
Berilgan N natural sonning raqamlari yig’indisini topish dasturini tuzing.
1-usul
var n,raqam,len,i,c,natija: integer; _n,_raqam:string; begin write(‘Natural sonni kiriting:‘);readln(n);
str(n,_n); len:=length(_n); natija:=0; for:=1 to len do begin _raqam:=copy(n,i,1); val(_raqam,raqam,c); natija:=natija+raqam; end; writeln(n,’ sonining raqamlari yig’indisi=’,natija); readln; end.
2-usul
uses crt; var a,len,s,b,n:real; begin clrscr; readln(a); n:=0; while exp(n*ln(10))<a do n:=n+1; repeat
len:=exp((n-1)*ln(10)); b:=trunc(a/len); s:=s+b; a:=a-b*len; n:=n-1; until a<9; write(‘Raqamlari yig`indisi: ‘,s+a:1:0); readln; end.
A(N) butun qiymatli massiv elementlari ichida eng ko’p takrorlanadigan elementlar sonini va o’sha elementni chop etuvchi dastur tuzing.
uses crt; const n1=100; var a:array[1..n1] of integer; max,maxn,sum:integer; I,j,n: integer; begin
writeln(‘Massiv elementlari sonini kiriting: ‘); readln(n); write(‘massiv elementlarini kiriting: ‘);
for i:=1 to n do begin write(‘a(‘,i,’)=’); readln(a[i]); end; max:=1; maxn:=1; for i:=1 to n-1 do begin sum:=0; for j:=i+1 to n do begin if a[i]=a[j] then inc(sum); end; if sum>max then
begin max:=sum; maxn:=i; end; end; writeln; writeln(‘a(‘,maxn,’)=’,a[maxn],’ elementi eng ko`p takrorlanadi’); writeln(max+1,’ marta ‘); readln; end.
Berilgan kesmalardan uchburchakni hosil qilish mumkinligini tekshirish dasturini tuzing.
uses crt; label 1; var a,b,c:real; begin write(‘1-kesma uzunligini kiriting: ‘); readln(a);
write(‘2-kesma uzunligini kiriting: ‘); readln(b);write(‘3-kesma uzunligini kiriting: ‘); readln(c);
if (a+b>c) and (a+c>b) and (b+c>a) then begin writeln(‘Berilgan kesmalardan uchburchak hosil qilish mumkin’); goto 1; end else writeln(‘Berilgan kesmalardan uchburchak hosil qilib bo`lmaydi’);
1: readln; end.
Kvadrat tenglamaning yechilishi dasturini tuzing.
uses crt; label 1; var a,b,c,x1,x2,d:real; begin ClrScr; write(‘Bosh koeffitsentni kiriting а= ‘); readln(a); write(‘Ikkinchi koeffitsentni kiriting b= ‘); readln(b); write(‘Ozod hadni kiriting c= ‘); read(c); d:=sqr(b)-4*a*c; if d<0 then begin writeln(‘Haqiqiy ildizlari yo`q.’); goto 1; end;
if d=0 then begin writeln(‘x1=x2= ‘,-b/2*a); goto 1; end; x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); writeln(‘x1=’,x1); writeln(‘x2=’,x2); 1: readln; end.
Berilgan besh raqamli sonning polindram bo’lganligini aniqlang.
uses crt; var a1,b:string; i,a,len:longint; begin clrscr; write(‘Sonni kiriting: ‘); readln(a);
str(a,a1); len:=length(a1); for i:=1 to len do b:=a1[i]+b; if a1=b then write(‘bo`ladi’)
else write(‘bo`lmaydi’); readln; end.
Berilgan natural sonni teskari tartibda yozish dasturini tuzing.
uses crt; var a,i,len:integer; b,c,teskari:string; begin write(‘Sonni kiriting: ‘); readln(a); str(a,c); len:=length(c); for i:=1 to len do begin b:=copy(c,i,1); teskari:=b+teskari; end; write(teskari); readln; ;end.
N natural sonni barcha bo’luvchilarini topuvchi dastur tuzing.
1-usul
var i,n:real; begin write(‘n=’); readln(n); writeln(n,’ sonining bo`luvchilari: ‘);
i:=0; repeat i:=i+1; if trunc(n/i)*i=n then writeln(i); until i>n; readln; end.
2-usul
uses crt; var i,n:longint; begin textcolor(14); textbackground(1); clrscr; write(‘n=’); readln(n); writeln(n,’ sonining bo`luvchilari: ‘); for i:=1 to n do begin if trunc(n/i)*i=n then writeln(i); end; readln; end.
Hafta kunlari raqamlar bilan kiritilsa, so’zlar orqali natijaga chiqarish dasturi tuzilsin.
uses crt; label 1; var a:real; b:string; begin write(‘Raqamni kiriting: ‘); readln(a); if not((a=1) or (a=2) or(a=3) or(a=4)or(a=5)or(a=6)or(a=7)) then begin write(‘XATO’); goto 1; end; if a=1 then writeln(‘Dushanba’) else if a=2 then writeln(‘Seshanba’)else if a=3 then writeln(‘Chorshanba’) else if a=4 then writeln(‘Payshanba’) else if a=5 then writeln(‘Juma’)else if a=6 then writeln(‘Shanba’) else if a=7 then writeln(‘Yakshanba’); 1: readln; end.
A[1..15] massiv berilgan. Massivning toq indeksli elementlarining yig’indisidan juft elementlarini ayirib chiqaruvchi dastur tuzing.
program dars34_mashq7; uses crt; var a:array[1..15] of real; toq,juft,s:real; i:integer; begin textcolor(14); textbackground(1); clrscr; for i:=1 to 15 do begin write(i,’-elementni kiriting:’); readln(a[i]); end; for i:=1 to 15 do begin if odd(i) then toq:=toq+a[i] else juft:=juft+a[i]; end; s:=toq-juft; write(‘Ayirma: ‘,s); readln; end.
yig’indining hisoblash dasturini tuzing.
program dars34_mashq4; uses crt; var s:real; i:integer; begin for i:=7 to 2007 do if (i mod 10)=7 then s:=s+i/(i+4);writeln(‘Yig`indi: ‘,s); readln; end.
y=x*sin x funksiyaning qiymatlarini [ ] oraliqda 0,3 qadam bilan sonlarni chiqaruvchi dastur tuzing.
uses crt; var x,y:real; begin x:=-pi; while x<=pi do begin y:=x*sin(x);writeln(‘x=’,x:1:2,’ bo`lganda y=’,y:1:2); x:=x+0.3; end; readln; end.
Ikki xonali natural sonlar ichida raqamlari yig’indisi juft bo’lgan sonlarni chiqaruvchi dastur tuzing.
1-usul
uses crt; var k,k1,k10,s:integer; begin k:=10; while k<=99 do begin k1:= k mod 10; k10:=k div 10; s:=k1+k10; if not(odd(s)) then writeln(k);k:=k+1; end; readln; end.
2-usul
uses crt; var k,k1,k10,s:integer; begin k:=10; repeat k1:= k mod 10; k10:=k div 10; s:=k1+k10; if not(odd(s)) then writeln(k);k:=k+1; until k>=99; end.
Berilgan butun N son musbat 6 ga karrali bo’lsa, shu sonning kvadrat ildizini, aks holda kvadratini hisoblash dasturini tuzing.
uses crt; var n:integer; begin write(‘N sonni kiriting: ‘); readln(n); if trunc(n/6)*6=n then write(sqrt(n)) else write(sqr(n)); readln; end.
A(N) sonlar massivi elementlarini yangi B(N) massivga teskari tartibda ko’chiring. (b1=an, b2=an-1 … bn=a1)
uses crt; const n1=100; var a,b:array[1..n1] of real; n,i:integer;
begin clrscr; write(‘n ni kiriting: ‘); readln(n); for i:=1 to n do
begin write(‘a(‘,i,’)=’); readln(a[i]); end; for i:=1 to n do begin
b[i]:=a[n+1-i]; writeln(‘b(‘,i,’)=’,b[i]); end; readln; end.
Ikkita x,y sonlar berilgan (x≠y). Ular ichida eng kichik sonni bu ikki son yig’indisining yarmi bilan almashtiruvchi, eng kattasini esa bu sonlarning ko’paytmasi bilan almashtiring.
var x,y:real; begin write(‘x=’); readln(x); write(‘y=’); readln(y);
if x>y then begin x:=x*y; y:=(x+y)/2; end; else begin y:=x*y; x:=(x+y)/2; end; writeln(‘x=’,x,’ y=’,y); readln; end.
N natural son berilgan. ko’paytmani toping
var n,i:integer; p:real; begin write(‘n=’); readln(n); p:=1; i:=-1;
repeat i:=i+2; p:=p*i/(2*i); until i=n+2; writeln(‘p=’,p); readln; end.
1 dan 1000 gacha bo’lgan sonlardan 2 ga karralilarini yig’indisini hisoblash dasturini tuzing.
uses crt; var i,s:integer; begin clrscr;s:=0; for i:=1 to 1000 do beginif not(odd(i)) then s:=s+i; end; write(‘Yig`indi:’,s);readln; end.
Butun sonli to’rtburchakli A(1:N;1:K) jadval berilgan. Bu jadvalning hamma elementlarining ishorasini teskarisiga o’zgartirish dasturini tuzing.
uses crt; const n1=100; k1=100; var a,b:array[1..n1,1..k1] of real;
k,n,i,j:integer;begin clrscr; write(‘n ni kiriting: ‘); readln(n);
write(‘k ni kiriting: ‘); readln(k); for i:=1 to n do begin
for j:=1 to k do begin write(‘a(‘,i,’,’,j,’)=’); readln(a[i,j]); end; end;clrscr; for i:=1 to n do begin for j:=1 to k do begin
b[i,j]:=-a[i,j]; writeln(‘b(‘,i,’,’,j,’)=’,b[i,j]); end; end; end.
Kvadrat tomonlariga urunuvchi aylana chizish dasturini tuzing.
uses graph; var gd,gm,a,r,x,y:integer; begin
gd:=0; write(‘Aylanani radiusini kiriting:’); readln(r); a:=2*r; x:=320; y:=240; initgraph(gd,gm,’’); circle(x,y,r);
rectangle(x-r,y-r,x+r,y+r); readln; closegraph; end;
Berilgan N ta so’zda ishtirok etadigan harflar yordamida berilgan so’zni hosil qilish mumkinligini aniqlovchi dasturni tuzing. Agar hosil qilib bo’lmasa, bu haqda ma’lumot berilsin.
uses crt; var suzs:array[1..100] of string; suz:string; i,j,n:integer; ch:char; bor:Boolean; begin textcolor(14); textbackground(1); clrscr; write(‘So`zlar sonini kiriting: ‘); readln(n);write(‘So`zlarni kiriting:’);for i:=1 to n do begin write(i,’-so`z:’); readln(suz[i]); end;write(‘Hosil qilmoqchi bo`lgan so`zni kiriting:’); readln(suz);i:=0;repeatinc(i); j:=0; bor:=false; ch:=suz[i]; repeatinc(j); if pos(ch,suzs[j])>0 then bor:=true;
until bor or(j=n);if not(bor) and (j<n) then i:=length(suz);
until i=length(suz); if bor then Writeln(‘Berilgan so`zlardan ‘,suz,’ so`zini hosil qilib bo`ladi’) else write(‘Berilgan so`zlardan ‘,suz,’ so`zini hosil qilib bo`lmaydi’); end.
ax+b=0 chiziqli tenglamani yechish dasturini tuzing.
uses crt; label 5; var a,b,x: real; begin write(‘a ni kiriting=’); readln(a); write(‘b ni kiriting=’); readln(b); if (a=0) and (b=0) then begin writeln(’ x – istalgan son.’); goto 5; end; if a=0 then begin writeln(’yechimga ega emas’); goto 5; end; writeln(‘x=’,b/a); 5: readln; end.
Tug’ilganingizdan beri necha kun yashaganingizni aniqiang.
Uses crt; Var a,b,c,a1,b1,c1,s,s1,s2: integer; Begin
ClrScr; Write(‘Tug`ilgan yilingizni kiriting=’); readln(a);
Write(‘Tug`ilgan oyingizning tartib raqamini kiriting=’); readln(b);
Write(‘Tug`ilgan kuningizni kiriting=’); readln(c); Write(‘Joriy yilini kiriting=’); readln(a1); Write(‘Joriy oyning tartib raqamini kiriting=’); readln(b1); Write(‘Joriy kunni kiriting=’); readln(c1);
S:=a1-a; s:=s*365; S1:=b1-b; s:=s+30*s1; s2:=c1-c; s:=s+s2;
Writein(s,’ kun’ ); Readln; End.
a 1 , a 2 , …, a N butun sonlar ketma-ketligi berilgan. Ularni ketma-ket qo’shib borib, yig’indi berilgan N butun sondan ortishi bilan ekranga chiqaruvchi dastur tuzing. Agar barcha sonlar yig’indisi N dan ortmasa, bu haqda xabar chiqaring.
Uses crt; Var i, S: integer; A:array[1..10] of integer; Const N=10;
Begin ClrScr; For i:=1 to N do begin Write(i,‘-hadni kiriting=’); readln(a[i]); end; S:=0; I:=1; While S<=N do Begin S:=S+a[i]; I:=I+1; end; Writeln(‘S=’,S); Readln; End.
Quyidagi yig’indining qiymati berilgan M natural sondan ortiq bo`lguncha hisoblash dasturini tuzing:
uses crt; var n: integer; m,y: real; begin clrscr; write(‘M ning qiymatini kiriting = ‘); readln(m); n:=1; repeat begin if n/2=int(n/2) then y:=y-(1/(n*(2*n+1))) else y:=y+(1/(n*(2*n+1))); n:=n+1;end;
until y>m; write(‘y=’,y); readln; end.
Sinfdoshlaringizning familiya va ismlaridan tashkil topgan «SINF.TXT» nomli matnli fayl hosil qiluvchi dastur tuzing.
uses crt; var ism: string; f: text; i: integer; begin clrscr; assign(f,’c:sinf.txt’); rewrite(f); for i:=1 to 7 do begin
write(i,’-oquvchining familiyasini va ismini kiriting=’); readln(ism);
writeln(f,ism); end; close(f); readln; end.
«massiv.in» fayli 12 ta satrdan iborat. Uning har bir satrida 9 tadan son o’zaro probel bilan ajratib yozilgan. A(12;9) – ikki o’lchamli massiv elementlarining qiymatlarini «massiv.in» faylidan o’qib oluvchi dastur tuzing.
Uses crt; Var i,j,x,y,k: integer; f: text; s: string; a: array [0..12,0..9] of string; Begin clrscr; k:=1; assign(f,’c:\massiv.in’); reset(f); j:=1;
repeat k:=1; readln(f,s); for i:=2 to length(s) do if s[i]=’ ‘ then begin a[j,k]:=copy(s,1,i-1); delete(s,1,i-1); k:=k+1;end; a[j,k]:=s; j:=j+1; until eof(f); close(f); for i:=1 to 12 do begin for j:=1 to 9 do write(a[i,j],’ ‘); writeln; end; readln; end.
Tekislikda uchta nuqta berilgan. Ulardan qaysi biri koordinatalar boshiga yaqinroq joylashganligini aniqlovchi dastur tuzing.
Uses Crt; Var xA, yA, xB, yB, xC, yC, mA, mB, mC : Real;
BEGIN ClrScr; WriteLn(‘A nuqtaning koordinatalarini kiriting:’);
Write(‘x = ‘); ReadLn(xA); Write(‘y = ‘); ReadLn(yA); WriteLn(‘B nuqtaning koordinatalarini kiriting:’); Write(‘x = ‘); ReadLn(xB); Write(‘y = ‘); ReadLn(yB); WriteLn(‘C nuqtaning koordinatalarini kiriting:’); Write(‘x = ‘); ReadLn(xC); Write(‘y = ‘); ReadLn(yC);
mA := sqrt(sqr(xA) + sqr(yA)); mB := sqrt(sqr(xB) + sqr(yB));
mC := sqrt(sqr(xC) + sqr(yC)); WriteLn; Write(‘Javob: ‘);
If (mA < mB) and (mA < mC) then WriteLn( ‘A nuqta.’) else
If (mB < mC) then WriteLn(‘B nuqta.’) else WriteLn(‘C nuqta.’);
ReadLn; END.
Berilgan matndagi so`zlar sonini aniqlang.
uses crt; var matn: string; i,n: integer; m: boolean; belgi: char;
begin clrscr; writeln(‘matnni kiriting:’); readln(matn);
n:=0; m:=true; for i:=1 to length(matn) do begin
belgi:=matn[i]; if (belgi<>’ ‘) and m then n:=n+1; m:=(belgi=’ ‘) end; writeln;writeln(‘javob:matndai so`zlar soni: ‘,n); readln; end.
A[1..10] sonli massiv elementlarini o`sish tartibida saralovchi dastur tuzing.
uses crt; Label 5,10; var i,k,m:integer; b,c:real; a:array[1..10] of real; begin clrscr; for i:=1 to 10 do begin writeln(i,’-elementni kiriting=> ‘); readln(a[i]);end; 5: m:=0; for i:=1 to 9 do
if a[i]>a[i+1] then begin b:=a[i]; a[i]:=a[i+1]; a[i+1]:=b; m:=1; end; if m=1 then goto 5; for i:=1 to 10 do writeln(a[i]:3:0);
readln; end.
9-sinf Informatika 48 va 49-darslar
48-49-dars.
1. Tomonining uzunligi a gat eng kvadrat va unga ichki chizilgan aylana chizish dasturi tuzilsin. a ning qiymati klaviaturadan kiritilsin.
uses graph; var gd,gm:integer; a:integer; r:real;
begin
write(‘Kvadratning tomoni: ‘); readln(a);
r:=a/2;
gd:=0; initgraph(gd,gm,»);
setcolor(14);
rectangle(0,0,a,a);
circle(trunc(a/2), trunc(a/2),trunc(r));
readln; closegraph; end.
2. Radiusi R ga teng aylana va unga tashqi chizilgan kvadrat chizish dasturi tuzilsin. R ning qiymati klaviaturadan kiritilsin.
uses graph; var gd,gm:integer; a,r:integer;
begin
write(‘Aylana radiusini kiriting: ‘); readln(r);
a:=2*r;
gd:=0; initgraph(gd,gm,»);
setbkcolor(1);{fon rangi} setcolor(14); {chiziq rangi}
circle(r,r,r);
rectangle(0,0,a,a);
readln; closegraph; end.
3. Tomonlarining uzunligi a va b bo’lgan to’g’ri to’rtburchak va unga ichki chizilgan ellips chizish dasturi tuzilsin. a va b ning qiymati klaviaturadan kiritilsin.
uses graph; var gd,gm:integer; a,b:integer;
begin
write(‘a=’); readln(a);
write(‘b=’); readln(b);
gd:=0; initgraph(gd,gm,»);
setbkcolor(1); setcolor(14);
rectangle(0,0,a,b);
ellipse(trunc(a/2),trunc(b/2),0,360,trunc(a/2),trunc(b/2));
readln; closegraph; end.
4. Ko’k fonli ekranni oralig’i 20 piksel bo’lgan vertikal oq chiziqlar bilan to’ldiring.
uses graph;
var gd,gm,x:integer;
begin
gd:=0; initgraph(gd,gm,»);
setbkcolor(1);
setcolor(15);
repeat line(x,1,x,getmaxy); x:=x+20;
until x>getmaxx;
readln; closegraph; end.
5. Har xil rangli 15 ta doira chizing
uses graph;
var gd,gm:integer; I:integer;
begin
gd:=0; initgraph(gd,gm,»);
for i:=1 to 15 do begin setcolor(i);
setfillstyle(1,i); fillellipse(i*35,100,15,15); end;
readln; closegraph; end.
6. Stol rasmini chizing
uses graph;
var gd,gm:integer;
begin gd:=0; initgraph(gd,gm,»);
setcolor(15);
rectangle(43, 204, 395, 219); rectangle(74, 220, 89, 283);
rectangle(326, 220, 341, 292); line(44, 204, 136, 158);
line(136, 158, 470, 158); line(470, 158, 395, 203);
line(395, 219, 470, 173); line(470, 173, 470, 158);
line(450, 186, 450, 249); line(450, 249, 437, 249);
line(437, 249, 437, 195); rectangle(142,220,157,252);
readln; closegraph; end.
7. Uy rasmini chizing.
program uy_1;
uses crt,graph;
var gd,gm:integer; x,x2,y,y2,n:word;
begin gd:=0; initgraph(gd,gm,»);
x2:=getmaxX div 2; y2:=getmaxY div 2; x:=getmaxX; y:=getmaxY;
setbkcolor(9); setcolor(8); line(0,y-50,x,y-50); setfillstyle(1,6);
floodfill(5,y-40,8); setfillstyle(1,14); setcolor(14);
pieslice(0,0,270,360,70); setfillstyle(1,5);
setcolor(6); rectangle(x2,y-50-150,x2+90,y-51); floodfill(x2+5,y-60,6); setfillstyle(1,4); line(x2,y-50-151,x2+45,y-50-151-50); line(x2+45,y-251,x2+90,y-199);
floodfill(x2+45,y-249,6); setfillstyle(1,13); rectangle(x2+45-20,y-160,x2+45+20,y-100);
line(x2+45,y-130-30,x2+45,y-130+30); line(x2+45-20,y-130,x2+45+20,y-130);
floodfill(x2+45-15,y-155,6); floodfill(x2+45+15,y-155,6); floodfill(x2+45-15,y-105,6); floodfill(x2+45+15,y-105,6); setfillstyle(1,10); setcolor(3); arc(50,y-51-100,0,360,45); floodfill(50,y-150,3); setcolor(6); line(50,y-51,50,y-51-100); setfillstyle(1,10); setcolor(3); arc(170,y-51-100,0,360,45); floodfill(170,y-150,3); setcolor(6);
line(170,y-51,170,y-51-100); setfillstyle(1,10); setcolor(3); arc(x-140,y-51-100,0,360,45);
floodfill(x-140,y-150,3); setcolor(6); line(x-140,y-51,x-140,y-51-100);
setbkcolor(8); randomize; for n:=1 to 300 do begin putpixel(random(x),random(150),14);
end; readkey; closegraph;
end.
program uy_2;
uses graph;
var gd,gm:integer;
begin gd:=0; initgraph(gd,gm,»);
setcolor(15); rectangle(143, 191, 432, 438);
line(143, 191, 279, 34); line(279, 34, 432, 192);
line(354, 93, 354, 111); line(367, 124, 367, 94);
line(367, 94, 355, 94); line(310, 323, 310, 437);
line(310, 324, 346, 324); line(346, 324, 346, 434);
line(346, 430, 346, 439); line(335, 380, 335, 396);
rectangle(181, 268, 243, 322); line(209, 268, 209, 323);
line(181, 297, 243, 297); setfillstyle(8,15);
bar(6, 440, 660, 481);
readln; closegraph; end.
9-sinf Informatika 47-dars
47-dars.
1. Berilgan matndagi ‘a’ belgini ‘g’ belgiga, ‘m’ belgini ‘s’ belgiga, ‘f’ belgini ‘h’ belgiga almashtiruvchi dasturni protsedura yordamida tuzing.
var a:string;
procedure almash(a:string);
var len,i:integer;
begin
len:=length(a);
for i:=1 to len do
if a[i]=’a’ then begin delete(a,i,1); insert(‘g’,a,i); end;
for i:=1 to len do
if a[i]=’m’ then begin delete(a,i,1); insert(‘s’,a,i); end;
for i:=1 to len do
if a[i]=’f’ then begin delete(a,i,1); insert(‘h’,a,i); end;
write(a);
end;
begin
write(‘Matnni kiriting:’); readln(a);
almash(a); readln; end.
2. y=x5+3x funksiya qiymatini x ning -9, -5, -2, 2,5,7 qiymatlarida hisoblash dasturini tuzing. Darajani ko’paytirish orqali hisoblash uchun funksiya tuzib oling.
var x,y:longint;
function dy(x:longint):longint;
begin y:=x*x*x*x*x+3*x; write(y);
end; begin
write(‘x=’); readln(x); y:=dy(x); readln; end.
3. Protsedura yordamida ekranning o’rtasida ichma-ich joylashgan har xil rangli 15 ta aylana chizuvchi dastur tuzing.
uses graph;
var gd,gm:integer; r:integer;
procedure nom(r:integer);
var i,ox,oy:integer;
begin
ox:=trunc(getmaxx/2); oy:=trunc(getmaxy/2);
for i:=1 to 15 do begin
setcolor(i); circle(ox,oy,r); r:=r+10; end; end;
begin gd:=0; initgraph(gd,gm,»);
write(‘radiusni kiriting:’); readln(r);
nom(r);
readln; closegraph; end.
9-sinf Informatika 46-dars
46-dars.
1. Uchta to’g’ri to’rtburchakning har birining bittadan diagonali uchlarining koordinatalari berilgan: 1) 20,20 va 80,200; 2) 200,97 va 500,156; 3) 300,120 va 400,420. Shu to’g’ri to’rtburchaklarni mos ravishda qizil, sariq va yashil ranglarda chizish dasturini tuzing.
uses graph; var gd,gm:integer;
procedure nom(x1,y1,x2,y2,rang:integer);
begin setcolor(rang);
rectangle(x1,y1,x2,y2); end;
begin
gd:=0; initgraph(gd,gm,»);
nom(20,20,80,200,4);
nom(200,97,500,156,14);
nom(300,120,400,420,2);
readln; closegraph; end.
2. Berilgan n natural son uchun S=1∙5+2∙6+3∙7+…+n∙(n+4) yig’indini hisoblash dasturini protsedura yordamida tuzing.
var n,i:integer; s:longint;
procedure daraja(n:integer);
begin
for i:=1 to n do s:=s+i*(i+4); write(‘Yig`indi:’,s); end;
begin
write(‘n=’); readln(n); daraja(n);
readln;
end.
3. Uchta sondan kattasini topish dasturini tuzing. Buning uchun ikkita sondan kattasini topish funksiyasini tuzib, undan foydalaning.
var i,a,b,c,max:integer;
function katta(a,b:integer):integer;
var c:integer;
begin if a>b then c:=a else c:=b; katta:=c; end;
begin
write(‘a=’); readln(a);
write(‘b=’); readln(b);
write(‘c=’); readln(c);
a:=katta(a,b); b:=c;
max:=katta(a,b);
writeln(‘Eng kattasi: ‘,max); readln; end.
9-sinf Informatika 45-dars
45-dars
1. Sinfdoshlaringizning familiya va ismlaridan tashkil topgan “SINF.TXT” nomli faylni hosil qiluvchi dastur tuzing.
var sinf:text; nom:string; i,n:integer;
begin
assign(sinf,’sinf.txt’); rewrite(sinf);
write(‘O`quvchilar sonini kiriting: ‘); readln(n);
for i:=1 to n do begin
write(i,’-o`quvchining familyasi va ismi:’); readln(nom);
writeln(sinf,nom); end;
close(sinf); end.
2. “sinf.txt” fayida berilgan 9-sinf o’quvchilarning familiyalari ichidan “M” harfi bilan boshlanadiganlarini ekranga chiqaruvchi dastur tuzing.
var sinf:text; nom:string;
begin
assign(sinf,’sinf.txt’); reset(sinf);
while not(eof(sinf)) do begin
readln(sinf,nom); if (nom[1]=’M’)or(nom[1]=’m’) then
write(nom); end; readln; close(sinf); end.
3. “sinf.txt” faylida berilgan 9-sinf o’quvchilarining familyalari ichidan “B” harfi bilan boshlanadiganlarini ajratib olib, ulardan “bsinf.txt” faylini hosil qilivchi dastur tuzing.
var sinf,bsinf:text; fam:string; i: integer;
begin
assign(sinf,’sinf.txt’); reset(sinf);
assign(bsinf,’bsinf.txt’); rewrite(bsinf);
while not(eof(sinf)) do begin
readln(sinf,fam);
if fam[1]=’B’ then writeln(bsinf,fam); end;
close(sinf); close(bsinf); readln;
end.
4. y=sin2x funksiyasining [-π, π] oraliqdagi qiymatlarini 0,01 qadam bilan hisoblan. Natijalarni “sinus.out” faylida saqlab qo’ying.
var sinus:text; natija:string; x,y:real;
begin
assign(sinus,’sinus.out’); rewrite(sinus);
x:=-pi;
while x<=pi do begin
y:=sqr(sin(x));
writeln(sinus,’x=’,x,’ bo`lganda y=’,y,’bo`ladi’);
x:=x+0.01;
end; close(sinus); end.