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

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

Описание

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

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

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

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

Түсінік хат

 

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

Информатика пәні басқа  да пәндермен тығыз байланысты.

«Есеп шығара білу – бұл  практикада қалыптасқан өнер»-деп әдіскер Д. Пойа айтқандай математикалық  есептер  шығару және оның бағдарламасын құру оқушылардың   ой-өрісін,  шығармашылық қабілетін, өз бетінше жұмыс істеу дағдысын  қалыптастырады.

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

Математикалық, физикалық  қиындығы жоғары деңгейдегі есептердің  шешімін табу үшін оқушыларға жан-жақты  жүйелік білім  және  тапқырлық  элементтері  қажет.

Бұл жинақта әр түрлі  есептердің шығарылу жолы мен Паскаль  бағдарламалау тіліндегі бағдарламасы көрсетілген. Информатика пәнінің  мұғалімдеріне  көмекші құрал ретінде ұсынамын.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№1

bn=2 геометриялық прогрессияның n мүшесін табу.

 

program geom_pr;

        var b1,bn,q,n: real;

begin

cls;

b1:=2; q:=3;

writeln('n мэнiн енгiз');

readln(n);

bn:=b1*exp((n-1)*ln(q));

    writeln (bn);

end.

 

 

№2

 

Арифметикалық прогрессияның n-мүшесінің  формуласы an=5n+3  бойынша Sn табу керек.

 

program arif_pr;

        var a1,an,d,n,Sn: real;

begin

cls;

a1:=8; d:=5;

writeln('n мэнiн енгiз');

readln(n);

Sn:=2*a1+(n-1)*d;

    writeln (Sn);

end.

№3

 

1; 7; 31; 127; 511;.... тізбегінің n-мүшесін тап.

 

program tizbek;

        var an,n: real;

begin

cls;

writeln('n мэнiн енгiз');

readln(n);

an:=exp((2*n-1)*ln(2))-1;

    writeln (an);

end.

 

№4

 

Берілген сөздердегі кездесетін әр түрлі әріптер санын  анықтау бағдарламасы.

 

program arip;

        var   s: string;

                r: real;

                I,j,n:integer;

begin

r:=0;

readln(s);

for i=1 to length(s) do begin

n:=0;

for j:=1 to length(s) do begin

      if s[i]=s[j] then inc(n);

end;

    writeln (‘әр турлі әріптер саны =’,r:1:0);

end.

 

№5

 

Берілген сөздегі соңғы  әріпті 1-ші орынға қою бағдарламасы.

 

program pr;

        var   s: string; i,j,n:integer;

begin

readln(s);

s:=s[length(s)]+copy(s,1,length(s)-1);

    writeln (s);

end.

 

№6

 

Берілген натураль санға бөлінетін барлық сандарды шығару бағдарламасы.

 

program san;

        var   a,n,c,d:word;

begin

readln(a);

n:=1;

while (n(=sqrt(a)) do begin

       c:=a mod n;

       d:=a div n;

      if  c=0  then begin

                  writeln (n);

                          if  n<>d  then  writeln (d);

      end;

      inc(n);

end;

end.

 

№7

 

Берілген массив элементтерінің орта мәнін табу бағдарламасы.

 

program massiv;

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

                s:longint;

                i,j: integer;

begin

s:=0; n:=0;

writeln (‘массивтің 10 элементін енгіз:’);

for i=1 to 10  do begin

readln(a[i]);

s:=s+a[i]; inc(n);

      end;

      writeln (‘массивтің элементтерінің орта мәні:’,s/n);

end.

 

 

№8

 

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

 

program massiv;

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

                s:longint;

                i: integer;

begin

writeln (‘массивтің 10 элементін енгіз:’);

s:=0;

 

for i=1 to 10  do begin

readln(a[i]);

s:=s+a[i];

      end;

      writeln (‘массивтің элементтерінің қосындысы:’,s);

end.

 

 

№9

 

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

 

program massiv;

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

                s:longint;

                I,j: integer;

begin

writeln (‘массивтің 20 элементін енгіз:’);

s:=0;

for i=1 to 10  do begin

        for j=1 to 2  do begin

readln(a[i,j]);

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

      end;

end;

      writeln (‘массивтің элементтерінің қосындысы:’,s);

end.

 

№10

 

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

 

program massiv;

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

                max:integer;

                i: integer;

begin

writeln (‘массивтің 10 элементін енгіз:’);

max:=-(MAXINT+1);

for i=1 to 10  do begin

readln(a[i]);

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

      end;

      writeln (‘массив элементтерінің ең үлкені :’,max);

end.

№11

 

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

 

program massiv;

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

                min:integer;

                i: integer;

begin

writeln (‘массивтің 10 элементін енгіз:’);

min:=MAXINT;

for i=1 to 10  do begin

readln(a[i]);

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

      end;

      writeln (‘массив элементтерінің ең кішісі :’,max);

end.

 

№12

 

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

 

program massiv;

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

                c,d:integer;

                i: integer

begin

writeln (‘массивтің 10 элементін енгіз:’);

for i=1 to 10  do readln(a[i]);

writeln (‘cd’);

readln(c,d);

for i=1 to 10  do begin

if (a[i]>=c) and (a[i]<=d)  then writeln(a[i]);

end;

end.

 

№13

 

Берілген бір өлшемді массив элементтерінің 1-ші элементін ең соңғы элементімен алмастыру бағдарламасы.

 

program massiv;

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

                x:integer;

                i: integer;

begin

writeln (‘массивтің 10 элементін енгіз:’);

for i=1 to 10  do readln(a[i]);

x:=a[10];

for i=10 to 2  do begin

a[i]=a[i-1]; 

end;

a[1]=x 

writeln(‘өзгерістен кейін’);

for i=1 to 10  do writeln(a[i]);

end.

 

№14

 

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

 

program massiv;

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

                I,j,m,p,n: integer;

begin

writeln (‘массивтің 10 элементін енгіз:’);

for i=1 to 10  do readln(a[i]);

m:=1; p:=1;

for i=1 to 10  do begin

n:=0;

for i=1 to 10  do begin

         if  a[i]=a[j] then inc(n); 

end;

         if  n>m then begin

         m:=n; p:=I;

end;

end;

writeln(‘ең көп кездесетін элемент:’,a[p]);

end.

 

№15

 

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

 

program massiv;

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

                i,j: integer;

begin

writeln (‘массивтің 10 элементін енгіз:’);

for i=1 to 10  do readln(a[i]);

for i=1 to 9  do begin

        for j=i+1 to 10  do begin

            if  a[i]=a[j] then break; 

end;

         if  i<9 then writeln(‘массивте бірдей элементтер бар’);

                  else writeln(‘Массив элементтері әр түрлі:’);

end.

 

№16

 

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

 

program massiv;

const n=10;

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

                i,j,x: integer;

begin

writeln (‘массивтің 10 элементін енгіз:’);

for i=1 to 10  do readln(a[i]);

for i=1 to n-1  do begin

        for j=i+1 to n  do begin

            if  a[i]>a[j] then begin

                 x:=a[i]; a[i]:=a[j]; a[j]:=x; 

             end;

       end;

end;

       writeln(‘сұрыпталғаннан кейін’);

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

end.

 

 

№17

 

ax2+bx+c=0 теңдеуін шешу бағдарламасы.

 

program esep;

        var   a,b,c,d,x: real;

begin

writeln(‘a,b,c – мәндерін енгіз=’)

readln(a,b,c);

d:=sqr(b)-4*a*c;

if  d<0  then begin

      writeln(‘теңдеудің шешімі жоқ’);

end else if d=0 then begin

     x:=(-b)/2*a;

    writeln (‘теңдеудің шешімі=’,x);

end else begin

    x:=(-b+sqrt(d))/2*a;

    writeln (‘1 - теңдеудің шешімі=’,x);

x:=(-b-sqrt(d))/2*a;

    writeln (‘2 - теңдеудің шешімі=’,x);

     end;

end.

 

№18

 

Ондық жүйедегі сандарды екілік жүйеге аудару бағдарламасы.

 

program esep;

        var   a: longint;

function DEC_BIN(x:longint):string;

const digits:array[0..1] of char = (‘0’,’1’);

Var res, ves,: longint; i,j: byte;

begin

       res:=’’;

       while (x<>0) do begin

       d:=x mod 2; res:= digits[d]+res;

       x:=x div 2;

            end;

DEC_BIN:=res;

end;

begin

     readln(a);

     writeln(DEC_BIN(a));

end.

 

№19

Екілік жүйедегі сандарды ондық  жүйеге аудару бағдарламасы.

program esep;

        var   a: string;

function DEC_BIN(x string:): longint;

const digits:array[0..1] of char = (‘0’,’1’);

begin

       res:=0; ves:=1;

for i:=length(x) downto 1 do begin

      j:=0;

       while (digits [j]<>x[i]) do inc(j);

       res:= res+ves*j;

       ves:=ves*2;

       end;

       DEC_BIN:=res;

end;

begin

     readln(a);

     writeln(DEC_BIN(a));

end.

 

№20

 

Ондық жүйедегі сандарды он алтылық  жүйеге аудару бағдарламасы.

 

program esep;

        var   a: longint;

function DEC_HEX(x: longint): string;

const digits:array[0..15] of char = (‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’A’,’B’,’C’, 

                                                          ’D’,’E’,’F’);

Var res:string; d:0..15;

begin

       res:=’’;

       while (x<>0) do begin

       d:=x mod 16;

       x:=x div 16;

          res:= digits[d]+res;

       end;

       DEC_HEX:=res;

end;

begin

     readln(a);

     writeln(DEC_HEX(a));

end.

 

 

№21

 

Он алтылық жүйедегі сандарды ондық жүйеге аудару бағдарламасы.

 

program esep;

        var   a: string;

function HEX _ DEC (x: string): longint;

const digits:array[0..15] of char = (‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’A’,’B’,’C’, 

                                                          ’D’,’E’,’F’);

Var res, ves,: longint; i,j: byte;

begin

res:=0; ves:=1;

for i:=length(x) downto 1 do begin

      j:=0;

     a[i]:=UpCase(a[i]);

       while (digits [j]<>x[i]) do inc(j);

       res:= res+ves*j;

       ves:=ves*16;

       end;

       HEX _ DEC:=res;

end;

begin

     readln(a);

     writeln(HEX _ DEC (a));

end.

 

№22

 

Екі санның көбейтіндісі (ЕСК- HOD) және ортақ бөлінетін санын (ЕСБ- HOK) табу алгоритмі.

 

program esep;

        var   a,b,: longint;

function NOD(x,y: longint;) longint;

begin

                            if  x<>0  then NOD:=NOD(y modx,x) else NOD:=y;

end;

function NOK(x,y: longint;) longint;

begin

                            NOK:=(x div NOK(x,y)*y;

end;

begin

     readln(a,b);

     writeln(‘берілген сандардың ЕОБ - ’HOD (a,b));

     writeln(‘берілген сандардың ЕСК - ’HOK (a,b));

end.

 

 

№23

 

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

 

program massiv;

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

                n: integer;

procedure QuickSort(L, R: integer);

var I,j,x,y:integer;

begin

i:=L; j:= R;

x:=a[(L+R) div 2];

repeat

     while (a[i]<x) do inc(i);

    while (x<a[j]) do dec(j);

            if  (i<=j) then

           begin

                 y:=a[i]; a[i]:=a[j]; a[j]:=y;

                  inc(i); dec(j); 

             end;

       until (i>j);

      if (i<j) then QuickSort(L, j);

      if (i<R) then QuickSort(I,R);

end;

begin

writeln (‘массивтің 10 элементін енгіз:’);

for n:=1 to 10 do readln(a[n]);

QuickSort(1,10);

       writeln(‘сұрыпталғаннан кейін:’);

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

end.

 

№24

 

Берілген санның дәрежесін есептеу  бағдарламасы.

 

 

1 – түрі

program esep;

        var   x,y: integer;

function Degree(a,b: integer;) longint;

var  r: longint; 

begin

r:=1;

while b>0) do begin

    r:=r*a;

    b:=b-1;

end;

Degree:=r;

end;

begin

writeln (‘Санды енгіз және орын тастап дәрежесін енгіз =’);

readln(x,y);

writeln(Degree(x,y));

end.

 

2 – түрі

 

program esep;

        var   x,y: integer;

function Degree(a,b: integer;) longint;

var  r:  longint; c:integer;

begin

r:=1; c:=a;

while b>0 do begin

if odd(b) then begin

     r:=r*c;

     dec(b);

end else begin

         c:=c*c;

         b:=b div 2;

end;

end;

Degree:=r;

end;

begin

writeln (‘Санды енгіз және орын тастап дәрежесін енгіз=’);

readln(x,y);

writeln(Degree(x,y));

end.

 

№25

 

Берілген сөйлемдегі сөздердің  санын анықтау бағдарламасы.

program esep;

const Alpha: set of char=[‘A’..’Z’,’A’..’П’,’P’..’Я’,’a’..’z’,’a’..’п’,’р’..’я’];

        var  s:string;

        i: integer;

        wc:integer; 

begin

writeln (‘Сөйлемді енгіз =’);

readln(s);

i:=1; wc:=0;

Repeat

          while NOT(s[i] in Alpha) and (i<=Length(s)) do inc(i);

          if (i<= Length(s)) then inc(wc);

           while (s[i] in Alpha) and (i<=Length(s)) do inc(i);

until (i> Length(s));

writeln(‘Сөйлемдегі сөздер саны:’,wc);

end.

 

№26

 

Берілген сөйлемдегі сөздерді анықтау  бағдарламасы.

program esep;

const Alpha: set of char=[‘A’..’Z’,’A’..’П’,’P’..’Я’,’a’..’z’,’a’..’п’,’р’..’я’];

        var  s,t:string;

        i: integer; 

begin

writeln (‘Сөйлемді енгіз =’);

readln(s);

i:=1;

Repeat

          while NOT(s[i] in Alpha) and (i<=Length(s)) do inc(i);

          t:=’’;

          while (s[i] in Alpha) and (i<=Length(s)) do begin

t:=t+s[i];

inc(i);

end;

          if  Length(t)<>0 then writeln(t);

until (i> Length(s));

end.

 

№27

 

Берілген сөйлемдегі сандарды анықтау бағдарламасы.

program esep;

const Digits: set of char=[‘0’..’9’];

        var  s,d:string;

        i: integer; 

begin

writeln (‘Ішінде сандары бар сөйлемді енгіз =’);

readln(s);

writeln (‘сөйлемдегі сандар =’);

i:=1;

Repeat

          while NOT(s[i] in Digits) and (i<=Length(s)) do inc(i);

         d:=’’;

          while (s[i] in Digits) and (i<=Length(s)) do begin

d:=d+s[i];

inc(i);

end;

          if  Length(d)<>0 then writeln(d);

until (i> Length(s));

end.

 

№28

 

Берілген сөйлемдегі үлкен әріптерді  кішкентай әріптерге айналдыру  бағдарламасы.

program esep;

function SmallAlpha(ps:string):string;

        var     i: integer; 

begin

for i:=1 to Length(ps)  do begin

case ps[i] of

          ‘A’..’Z’,’A’..’П’: inc(ps[i],32);

          ’P’..’Я’               : inc(ps[i],80);

end;

end;

SmallAlpha:=ps;

end;

begin

writeln(‘Кез келген сөзді енгіз:’);

readln(s);

writeln(‘Сөз кішкентай әріптермен:’);

writeln(SmallAlpha(s));

end.

 

 

№29

 Үш натурал сан берілген. Олардың арасында тең сандар  болмаса, «жоқ» деп, егер   олардың екеуі бір-біріне     тең болса, «ия» деп, ал үшеуі де бірдей сан болса, бәрі тең деп жазу керек. 

program esep1;

var a,b,c:integer;

begin 

writeln(’үш сан енгіз’); 

read(a,b,c); 

        if (a<>b) and (b<>c) and (a<>c) then writeln(‘жоќ’) else if (a=b) and (b=c) and (a=c)

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