Category Archives: Dasturlash tillari

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.