Турбо паскаль

Автор работы: Пользователь скрыл имя, 16 Декабря 2012 в 13:13, задача

Описание

Информатиканы оқыту процесінің мақсаты - жеке оқушының есеп шығаруын дамыту, шығарылған есептің бағдарламасын құру мектептегі білім сапасын арттыру болып табылады.

Работа состоит из  1 файл

Жеміс Есептер жинағы_0.doc

— 157.00 Кб (Скачать документ)

                                     then writeln(‘бәрі тең’) else writeln(‘екеуі тең’);                                 

end.

№30

Екі үшбұрыш қабырғалары a, b, c және d, e, f  берілген. Қайсы үшбұрыштың ауданы үлкен екенін аңықтау   қажет.    

program esep2;

var a,b,c,d,e,f,p1,p2,S1,S2:real;

begin

writeln(’1-ші үшбұрыш қабырғаларын енгіз:’);

readln(a,b,c);

writeln(’2-ші үшбұрыш қабырғаларын  енгіз:’);

readln(d,e,f);

p1:=(a+b+c)/2;

p2:=(d+e+f)/2;

S1:=sqrt(p1*(p1-a)*(p1-b)*(p1-c));

S2:= sqrt(p2*(p2-d)*(p2-e)*(p2-f));

if S1>S2 then writeln(‘үлкені 1-үшбұрыш, ауданы =’, S1:8:2)            

        else writeln(‘үлкені 2-үшбұрыш, ауданы =’, S2:8:2)

end.    

 

№31

 a, b, c және d төрт түзу сызығының ұзындықтары берілген. Осылар квадраттың немесе тікбүрышты      төртбұрыштың қабырғалары бола алады ма? Соны тексеріңдер.

 

program esep3;

var a,b,c,d:integer;

begin

writeln(’үзындықтарды енгіз:’);

write(’a=’); read(a);

write(’b=’); read(b);

write(’c=’); read(c);

write(’d=’); read(d);

if (a=b) and (a=c) and (a=d) and (b=c) and (b=d) and (c=d)       

then writeln(‘Квадрат қабырғалары бола алады’);

if (a=c) and (b=d) then writeln(‘Тікбұрышты төртбұрыштың қабырғалары бола алады’)      

else writeln(‘Тікбұрышты төртбұрыштыњ  да, квадраттың да қабырѓалары  бола алмайды’)

end.    

 

№32

 Үшбұрыштың қабырғалары x, y және z берілген. Осы үшбұрыштың тікбұрышты үшбұрыш екенін анақтау  керек. Егер солай болып шықса, онда оның қай қабырғасы гепотенуза болатынын табыңдар.       

program ushburish; 

uses crt; 

var x, y, z:real;

begin       

clrscr;       

writeln;       

writeln('үшбұрыш қабырғаларын енгіз:');       

write('x='); readln(x);       

 write('y='); readln(y);       

 write('z='); readln(z);       

if (z<>sqrt(sqr(x)+sqr(y))) and (x<>sqrt(sqr(z)+sqr(y))) and (y<>sqrt(sqr(x)+sqr(z)))       

then writeln('тік бұрышты үшбұрыш бола алмайды');        

if (z=sqrt(sqr(x)+sqr(y)))       

then writeln('тік бұрышты үшбұрыш бола алады, гипотенузасы z=',z:6:2);       

if (x=sqrt(sqr(z)+sqr(y)))       

then writeln('тік бұрышты үшбұрыш бола алады, гипотенузасы x=',x:6:2);  

      if (y=sqrt(sqr(x)+sqr(z)))       

then writeln('тік бұрышты үшбұрыш бола алады, гипотенузасы y=',y:6:2);   

end.    

   

№33

 

 P натурал сан болғанда, a p өрнегін есептейтін бағдарлама құрыңдар

 

 

             for to do

 

program esep;

var i,n:integer; 

     p,a,S:real; 

begin    

writeln('шекарасын көрсет: ');    

readln(n);    

a:=5;    

S:=1; p:=1;    

for i:=1 to n do    

begin          

S:=S*exp(p*ln(a));          

writeln('a= ',a:8:2,'   p= ',i:5, ' S =',S:8:2);      

end;

end.      

   

  While do

 

program esep; 

var i,n:integer;   

   p,a,S:real;

begin    

writeln('шекарасын көрсет: ');    

readln(n);    

a:=5;    

S:=1; p:=1;    

while i<n do    

begin          

i:=i+1;  

         S:=S*exp(p*ln(a));          

writeln('a= ',a:8:2,'   p= ',i:5, '  S =',S:8:2);     

end;

end.

№34

 Төмендегі өрнектің мәнің  табу қажет:



 

a)  program esep;   

  var  i,n:integer;         

    S: real;  

begin       

writeln('n-ді енгіз:');       

readln(n);       

S:=0;       

for i:=1 to n do       

S:=S+1/i;       

write(S:8:4) 

end.

 

ә)  program esep;  

   var  i,n:integer;         

S:real;  

   begin        

readln(n);       

S:=0;        

for i:=2 to n do       

S:=S+1/((i-1)*i);       

write(S:8:4) 

   end.

 

б) program esep;   

  var  i,n:integer;         

         S:real;  

  begin        

readln(n);       

S:=0;        

for i:=1 to n do        

if i mod 2=0 then S:=S+(-1)/i else S:=S+1/i;         

write(S:8:4); 

   end.  

 

в)  program esep;    

  var  i,n:integer;          

      S:real;   

  begin        

readln(n);    

    S:=1;        

for i:=1 to n do        

S:=S*(1+1/(sqr(i)));        

write(S:8:4); 

end.

 

г)  program esep;   

  var  i,n:integer;            

  S:real;   

  begin        

readln(n);       

  S:=0;        

for i:=0 to n do        

S:=S+(1/(sqr((2*i)+1)));        

write(S:8:4); 

  end.

 

№35

 

1-ден 100-ге дейінгі  тақ сандардың жєне жұп сандардың  қосындыларын табатын программа  құрыңдар.

 

 

    program esep;

var i, k, t,n,S1,S2 :integer;

begin

writeln('n-ді енгіз:');

readln(n);

t:=0; k:=0;

for i:=1 to n do

if i mod 2=1 then begin t:=i; S1:=S1+i; end else begin k:=i; S2:=S2+i; end;

write('1-ден ', n, ' -ге дейінгі  тақ сандардың қосындысы ', S1:6, ' жұп сандардың қосындысы', S2:6);

end.

№36

Әрбір бактерия бір минутта екіге бөлінеді. Басында бір бактерия берілген деп, 5, 7, 9, ... 15 минуттан           кейін неше бактерия пайда болатынын табыңдар. Жаңа пайда болған бактериялар да минут сайын         көбейіп отырады.        

    program bakterialar;

var a,S:real;

begin

writeln('минут санын енгіз:');

readln(a);

S:=exp(a*ln(2));

writeln(a:6:2,'-минуттан кейін  бактериялардың саны ',S:6:2, ' болады' );

end.       

№37

Бірөлшемді массивтің  ішіндегі индексі жұп болатын  ең кіші элементті анықтау.    

  program massiv;

var a,b:array[1..10] of integer;   

i:integer;   

min:integer;

begin   

for i:=1 to 10 do   

read(a[i]);   

for i:=1 to 10 do   

min:=a[1];   

for i:=2 to 10 do   

if (i mod 2 =0) and (a[i] < min) then  min:=a[i];    

write(min:8);

end.  

 

№38

Бірөлшемді массивтің  ішіндегі ең үлкен элементті анықтау.

program massiv;

var a:array[1..10] of integer;   

i:integer;   

max:integer;

begin   

for i:=1 to 10 do   

read(a[i]);   

for i:=1 to 10 do   

max:=a[1];   

for i:=2 to 10 do   

if a[i] > max then  max:=a[i];   

write(max:8);

end. 

 

№39

Бірөлшемді массивтің  элементтерін өсу реті бойынша сұрыптау.

 

program suriptau;

const n=10;

var z:array[1..n] of integer;   

i,j,k:integer; 

begin    

for i:=1 to n do read(z[i]);    

for j:=1 to n-1 do                       

begin                             

for i:=1 to n-1 do                             

if z[i]>z[i+1] then begin k:=z[i];                                 

                                z[i]:=z[i+1];                                                       

          z[i+1]:=k;                                                     

  end;                       

end;     

for i:=1 to n do write(z[i],' '); 

end.

 

№40

Бірөлшемді массивтің  ішіндегі ең үлкен элементті алып тастау.

program massiv;

label 1;

const n=5;

var a,b:array[1..5] of integer;   

i,k:integer;   

max:integer;

begin   

for i:=1 to 5 do   

read(a[i]);   

for i:=1 to 5 do   

max:=a[1]; k:=1;  

  for i:=2 to 5 do   

if a[i] > max then  begin max:=a[i]; k:=i; end;   

if k=1 then  begin for i:=2 to n do  write(a[i],' '); goto 1; end;   

for i:=1 to k-1 do   

write(a[i],' ');   

for i:=k+1 to 5 do   

write(a[i],' ');

end. 

 

№41

 Екіөлшемді 5х4 массив  берілген. Екінші жолдың бойынан  ең кіші элементті анықтау.

program matrica; 

var a:array[1..5,1..4] of integer;    

min:integer;    

i,j:integer; 

begin     

for i:=1 to 5 do     

for j:=1 to 4 do     

read(a[i,j]);     

min:=a[2,1];     

for j:=2 to 4 do     

if a[2,j]<min then min:=a[2,j];     

write(min:8); 

end. 

 

№42

Екіөлшемді 5х4 массив берілген. Төртінші бағанда орналасқан элементтердің көбейтіндісін анықтау

program matrica; 

var a:array[1..5,1..4] of integer;    

 p:integer;    

i,j:integer; 

begin     

for i:=1 to 5 do     

for j:=1 to 4 do     

read(a[i,j]);     

p:=1;     

for i:=1 to 5 do     

p:=p*a[i,4];     

write(p:8); 

end.

 

№43

 

 Екіөлшемді 3х3 массив  берілген. Осы массивтің индекстерінің  қосындысы тақ болатын элементтердғ  экранға шығару.

 

program matrica;

var a:array[1..3,1..3] of integer;    

 p:integer;    

i,j:integer; 

begin     

for i:=1 to 3 do     

for j:=1 to 3 do     

read(a[i,j]);     

for i:=1 to 3 do                     

begin     

                  for j:=1 to 3 do   

                    if (i+j) mod 2=1 then                                         

      write(a[i,j],' ');                      

writeln;                     

end;  

end.

 

№44

Екіөлшемді 4х5 массив берілген. Осы массивтің жұп элементтерін 0-ге, тақ элементтерін 1-ге айналдыру    қажет.

program matrica;

var a:array[1..4,1..5] of integer;    

p:integer;    

i,j:integer; 

begin     

for i:=1 to 4 do     

for j:=1 to 5 do     

read(a[i,j]);      

for i:=1 to 4 do  begin     

for j:=1 to 5 do     

if a[i,j] mod 2=1 then a[i,j]:=1 else a[i,j]:=0;                           

   end;     

for i:=1 to 4 do begin     

for j:=1 to 5 do     

write(a[i,j],' ');     

writeln;                      

end; 

end. 

 

 

№45

 Екіөлшемді 5х5 матрица берілген. Осы массивтің негізгі диагональ элементтерінің қосындысын табу.  

program matrica;

var a:array[1..5,1..5] of integer;    

S:integer;    

i,j:integer; 

begin     

for i:=1 to 4 do     

for j:=1 to 4 do     

read(a[i,j]);     

S:=0;     

for i:=1 to 4 do     

for j:=1 to 4 do     

if i=j then  S:=S+a[i,j];     

write(S:8);  

end.

 

№46

 

Екіөлшемді 4х4 матрица берілген. Осы массивтің кері диагоналінің астыңғы бөлігіндегі теріс элементтердің         санын табу.

program matrica; 

const n=4; 

var a:array[1..n,1..n] of integer;    

S:integer;    

i,j:integer; 

begin     

for i:=1 to n do     

for j:=1 to n do     

read(a[i,j]);     

S:=0;     

for i:=1 to n do     

for j:=1 to n do     

if ((i+j)>(n+1)) and (a[i,j]<0) then  S:=S+1;     

write(S:8);  

end. 

 

№47

 Екіөлшемді 5х5 матрица берілген. Осы массивтің негізгі диагоналінің үстіңгі  бөлігіндегі нөлдердің санын          анықтау.

program matrica;

const n=5; 

var a:array[1..n,1..n] of integer;    

S:integer;    

i,j:integer; 

begin     

for i:=1 to n do     

for j:=1 to n do     

read(a[i,j]);     

S:=0;     

for i:=1 to n do     

for j:=1 to n do     

if (i<j) and (a[i,j]=0) then  S:=S+1;     

write(S:8); 

end.

 

№48

20 элементтен тұратын бүтін сандар массиві берілген. Осы массивтің әрбір төртінші орында тұрған элементтерін нөлге айналдыру.

program auistiru;

const n=20; 

var a:array[1..n] of integer;     

  i:integer; 

begin 

for i:=1 to n do 

read(a[i]); 

for i:=1 to n do 

if i mod 4=0 then  a[i]:=0; 

for i:=1 to n do write(a[i],' '); 

end.  

 

№49

4х5 матрица берілген. Матрицаның әрбір жолын өсу  реті бойынша сұрыптаңыз.

program suriptau;

const n=4; m=5; 

var a:array[1..n,1..m] of integer;    

i,j,s,k:integer; 

BEGIN

for i:=1 to n do 

for j:=1 to m do 

read(a[i,j]); 

for i:=1 to n do begin 

for j:=1 to n do  begin 

for s:=1 to n do                  

if a[i,s]>a[i,s+1] then                                      

begin                                           

k:=a[i,s];                                           

a[i,s]:=a[i,s+1];                                           

a[i,s+1]:=k;                                      

end;                   

end;                  

end;  

for i:=1 to n do begin                      

for j:=1 to m do                       

write(a[i,j],' ');                       

writeln;                 

end;      

 END.  

 

№50

 

 Алмаста N алма бар.  Сыныптағы M бала одан әрқайсысы 1 алма беруден сұрады. Алмасқа әр алманың салмағы қанша грамм екені белгілі. M баланың әрқайсысына бір алмадан бере отырып, Алмас өзінде қалған алмалардың (N-M) жалпы салмағы максимум болуын басты назарда үстауы керек.

Мысал:   Берілгені:  N=10   M=7

25 85 1 6 9 23 41 2 6 10

Нәтиже: 151

 

program almalar; 

const n1=100; 

var a:array[1..n1] of integer;    

i,j,k,m,n:integer;    

f1,f2:text;    

S:integer; 

BEGIN     

 Writeln('Алмалардың санын енгіз:');     

Readln(n);    

Writeln('балалардың санын санын енгіз:');     

readln(m);

if (m>n) or (m=n) then writeln('балалардың саны алмалардың санынан аспауы немесе тең болмауы керек');     

 for i:=1 to n do  read(a[i]);     

for j:=1 to n-1 do     

begin     

for i:=1 to n-1 do     

if a[i]>a[i+1] then     

begin        

k:=a[i];        

a[i]:=a[i+1];        

a[i+1]:=k;     

end;     

end;     

S:=0;     

for i:=m+1 to  n do S:=S+a[i];     

writeln(S:8); 

END.  

№51

 

 Төмендегі өрнекті есептеу:

Z=(a n+b m)c r-d k

 

program darezhesepteu; 

var a,b,c,d,n,m,r,k,Z,f1,f2,f3,f4:real; 

procedure darezhe(s,t:real; var q:real);

begin      

q:=exp(t*ln(s));

end;

BEGIN      

read(a,n,b,m,c,r,d,k);      

darezhe(a,n,f1);      

darezhe(b,m,f2);      

darezhe(c,r,f3);      

darezhe(d,k,f4);      

Z:=(f1+f2)*f3-f4;      

write(Z:8:2); 

END.       

 

№52

Берілген жолдың ішіндегі сөздердің санын анықтау.     

program sozder; 

var S:string;    

 k,i:integer; 

BEGIN      

read(S);      

k:=0;      

for i:=1 to length(S) do      

if S[i]=' ' then k:=k+1;      

write(k+1:8,' сөз'); 

END.      

 

№53

 Берілген жолдың ішіндегі 3 символдан тұратын сөздерді экранға шығару.

program esep;

var s:string; i,k:integer;

begin      

read(S); k:=0; i:=1;      

while i<=length(S) do        

begin     

if s[i]<>' ' then begin     

k:=k+1;    

i:=i+1;      

end           

else begin      

if k=3 then begin         

writeln(copy(S,i-k,k));          

k:=0; i:=i+1;          

end  

         else begin           

k:=0;           

i:=i+1;           

end;         

end;

end;      

if k=3 then writeln(copy(S,i-k,k));    

end. 

 

№54

 

Кері  оқылатын сөздерді «аударылады», ал басқа сөздерді «аударылмайды» деп шығаратын бағдарлама.Мысалы: казак сөзін аударылады деп, ал кітап  сөзі – аударылмайды деп шығару керек.

 

program arip;

        var   s1,s2: string;

                i:integer;

begin

readln(s1); s2:=’’;

for i=length(s1) downto 1 do begin

s2:=s2+s1[i];

end;

      if s1=s2 then writeln (s1,‘аударылады’);

                    else writeln (s1,‘аударылмайды’);

end.

Қолданылған әдебиеттер және басқа да ақпарат көздері:

1.Ван Тассел Д. Стиль, «Разработка, эффективность, отладка и испытание программ» - Москва       «Мир», 1981г.

 

2.Информатика. Задачник-практикум в 2 т. / Под ред. И.Г. Семакина, Е.К. Хеннера: Том 2. — Москва. Лаборатория Базовых Знаний, 1999г

 

3.С.А.Абрамова, Е.В.Зима. «Начала  программирования на языке Паскаль»-

-Москва «Наука»,1987г

 

4. http://infcd.metodist.ru/

5. Окулов. С.М., Основы программирования. – 3-е изд. – Mосква: БИНОМ. Лаборатория знаний, 2006.

6. Тен А.С., Кабдулов  Г. С. Практические задания  по Паскль, Алматы, 2005г

7. Мұхамбетжанова С. Т. Паскаль  бағдарламалау тілі, Алматы-2007 жыл.

8. Интернеттен алынған материалдар.

 

 



Информация о работе Турбо паскаль