ОҚу -әдістемелік кешені 5В0070400


Модуль (unit) келесі бөліктерден тұрады



бет6/39
Дата08.06.2018
өлшемі0,84 Mb.
#41429
1   2   3   4   5   6   7   8   9   ...   39

Модуль (unit) келесі бөліктерден тұрады:


  • аты немесе тақырыбы (мысалы, unit Мy_Мodyl);

  • интерфейс немесе хабарламалар бөлімі (Interfase);

  • орындаушы бөлігі немесе іске асыру бөлімі (Implementation);

Бұнда көрсетілген модуль бөлімдерінің тізбегі міндетті болып табылады, дегенмен осы бөлімді құрайтын блоктар (немес тек денелері) жарым-жартылай немесе толығымен болмауы мүмкін (бұрынғыдай осындай элементтерді сипаттағанда тік жақшалар пайдаланылады). Одан кейін модуль ішіндегі бөлімдерін сипаттаймыз.
Модуль тақырыбы

Модуль тақырыбы unit түйінді сөзінен және бірегей атаудан (модуль ішінде қайталанбауы керек) тұрады, оның кез-келеген атау сияқты 64-ке дейін белгісі бола алады.


Модуль интерфейсі

Interface {бұл бөлімнің Uses-тен басқа барлық объектілері, мәліметтер сегментінде орналасады}

[Uses … {Берілген модуль пайдаланатын, модульдердің ататры түгенделеді}]

[Cons … {Осы модуль қосқан программаға немесе басқа модульдерге, рұқсат етілуі тиіс тұрақтылар сипатталады}]

[Var … {Программада көрінетін немесе басқа модульдерде қолданатын айнымалылар сипатталады}]

[Procedure…{Формальды параметрлер сипаттамасымен толық процедураның атауы келтіріледі}]

…{Осы моудьді іске қосқан программа немесе басқа модуьдерден қол жеткізе алатын барлық басқа процедуралар мен модульдер функцияларының толық тақырыптары сипатталады}

Модульдің орындаушы бөлігі

[Uses … {Берілген орындау бөлігінде пайдаланылған және интерфейс көрсетілмеген модуьдер атауы көрсетіледу}]

[Lаbel… {Берілген модуль бөліміндегі, ішкі программаларда пайдаланылған таңбалар аттары көрсетіледі}]

[Сonst… {Берілген модуль бөліміндегі ішкі программаларда пайдаланылған және интерфейс аталмаған тұрақтылар сипатталады}]

[Var … {Берілген модуль бөліміндегі ішкі программаларда пайдаланылған және интерфейсте аталмаған айнымалылар сиптталады}]

[Procedure…{Interface-те сипатталған процедураның қысқаша немесе толық аты келтіріледі}]

{Процедура денесі}

[Function{Interface-те сипатталған функцияның қысқаша немесе толық аты келтіріледі}]

{Функция денесі}

Көріп отырғаныңыздай, бұл бөлімде интерфейсте сипатталған модульдің барлық ішкі программаларын сипаттау берілген. Онда сонымен қатар, модульдің берілген бөлімнің ішкі программаларында пайдаланылатын және интерфейсте сипатталмаған типтер мен айнымалылар сипатталуы мүмкін, онда пайдаланылатын, жергілікті таңбалар тізімі болуы мүмкін. Implementation бөлімінде сонымен қатар, интерфейсте сипатталған процедуралар мен функциялардың жұмысына қатынасушы, бірақ өздері онда сипатталмаған іщкі программалар сипатталуы мүмкін. Программада қосушы модуль олар ашуға болмайтын программаларға жатады (олар программада көрінбейді). Бұл бөлімде сипатталған модульдер, таңбалар, тұрақтылар, типтер және айнымалылар программа үшін жабық. Бұл объектілерде барлығы, соns-дан басқасы стек сегментінде орналасқан. Тұрақтылар мәні мәліметтер сегментінде болады бірақ та олар көрінбейді.

10.5 Инициализация бөлімі

Бұл бөлім, Assign процедурасының көмегімен сол немесе басқа файлдардың байланысын іске асыруды қамтамасыз етеді, қандай да бір айнымалылар байланысын (мысалы, S:=0; Р:=1; қою), тұрақты-айнымалылар (типті тұрақтылар), әрқашан программаның басында орындалатын қандай да бір реттік әрекетті орындау, мысалы, Writeln("Салем!") процедурасының көмегімен экранда хабарды басу.

Бөлім Веgin сөзімен басталып, одан кейін атқарушы операторлар тұрауы мүмкін, ал соңы end. (нүктемен) сөзімен аяқталады.

Егер программада да және оның модулінде де айнымалы бір атпен сипатталатын болса, онда модульдегі ондай айнымалы


программада көрінбейді. Оған программада қатынауды, осындай айнымалының алдына нүкте арқылы ажыратылып жазылатын квалификатордың көмегімен жүзеге асуруға болады. Квалификатор ретінде модуль атауын алуға болады. Мысалы, программа денесінде My_Model модулімен операторлар болуы мүмкін.

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

Сонымен қатар, квалификатор көмегімен ішкі программалардың ауқымды айнымалыларын Көрінетін етуге болады. Аттас айнымалылы ішкі программалар, программасы..

Егер сіздің программаңызға модуль қосылған, ал интерфейсте басқа модуль хабарланған болса, онда модульдің барлық объектілері программада қамтамасыз ету үшін, олардың барлық атауларын тікелей uses компилятор нұсқауында сипаттау керек.




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

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

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

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

5. P натурал сан болғанда, ap өрнегін есептейтін программа құрыңдар (программаны while, repeat, for операторларының әрқайсысын пайдаланып, шығаруға тырысыңдар)

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



a)      

ә)    

б)      

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

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

Массивтер

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Мысал:


Берілгені:

N=10


M=7

25 85 1 6 9 23 41 2 6 10

Нәтиже: 151

Процедуралар мен функциялар

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

Z=(an+bm)cr-dk


Сөз тіркестері

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

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

1. 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) then writeln(‘бәрі тең’)

                                                                else writeln(‘екеуі тең’);                                    

end.

   


2. 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.


    

3. 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.

   


4. 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.

       


5. 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

     begin

           i:=i+1;

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

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

      end;

end.


6. 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.

7. 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.


8. program bakterialar;

var a,S:real;

begin

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



readln(a);

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

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

end.


           Массивтер

9. 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.

 

10. 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.


11. 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.


 

12. 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],' ');

1:end.

 

13. 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]

      write(min:8);

 end.


14. 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.

 

15. 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.
16. 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.


 

17. 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.


 

18. 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.

 

19. 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

      write(S:8);

 end.


 

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.

 

21. 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.

 

22. 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.

 

Процедуралар мен функциялар



 

23. 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.

 

          Сөз тіркестері



 

24.  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,' soz');

 END.


        

25. 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.


3 Зертханалық сабақтар
1 ëàáîðàòорÿëûº æ½ìûñ

«Ñûçûºòûº º½ðûëûìäû àëãîðèòìäåðäi ïðîãðàììàëàó»

ƽìûñòû» ìàºñàòû; ìèêðîÝÅÌ-» æ½ìûñ ïðèíöèïòåðií ¾éðåíó, ºàðàïàéûì ïðîãðàììàëàðäû Ïàñêàëü òiëiíäå æàçûï, ºàòåëåðií ò¾çåòó.

Ñûçûºòû àëãîðèòìäi åñåïòåðäi øåøó ïðîãðàììàñû ºàðàïàéûì àðèôìåòèêàëûº ¼ðíåêòåðäåí ò½ðàäû æ¸íå åðåæå áîéûíøà ò½ðàºòûëûëàðäû, àéíûìàëûëàðäû, îïåðàòîðëàðäû ñèïàòòàó á¼ëiìäåðiíå á¼ëiíåäi.



Ò½ðàºòûëàðäû ñèïàòòàó á¼ëiìi. ̽íäà ò½ðàºòûëàð àòòàðû æ¸íå îëàð ºàáûëäàéòûí ì¸íäåð ê¼ðñåòiëåäi. Ïðîãðàììàäà á½ë àòòàð êîíñòàíòàëàðäû» ñàíäûº ì¸íäåðiíi» îðíûíà ºîëäàíûëàäû.

Ìûñàëû, ñûçûºòû àëãîðèòìäi åñåïòåðäi øåøó ïðîãðàììàñûíäà åêi ò½ðàºòû ºîëäàíûëàäû: 3,5 æ¸íå 2.

Ò½ðàºòûëàðäû ñèïàòòàó á¼ëiìiíäå áiðiíøi êîíñòàíòà¹à Í, åêiíøiñiíå À àòòàðûí áåðåìiç. Æàçûëóû ìûíà ò¾ðäå áîëàäû:

CONST


H=3.5;

A=2;


Áið ò½ðàºòûíû» ì¸íi åêiíøiñiíåí “ ; ” á¼ëãiøiìåí àæûðàòûëàäû.

Àéíûìàëûëàðäû ñèïàòòàó á¼ëiìi. ̽íäà ïðîãðàììàäà ºîëàíûëàòûí áàðëûº àéíûìàëûëàð, îëàðäû» òèïòåði ºîëäàíûëàäû. Ìûñàëû, ïðîãðàììàäà íàºòû òèïòåãi áåñ àéíûìàëû ºîëäàíûëàäû. Æàçûëóû:



VAR A, B, C, P, S:REAL;

Îïåðàòîðëàð á¼ëiìi. Á½ë á¼ëiì BEGIN ºûçìåòòiê ñ¼çiìåí áàñòàëûï, END ñ¼çiìåí àÿºòàëàäû äà, ìiíäåòòi ò¾ðäå îäàí êåéií í¾êòå ºîûéëàäû. Á½ë ºûçìåòòiê ñ¼çäåð æ½áû «îïåðàòîðëûº æàºøàëàð» äåï àòàëàäû. Åãåð BEGIN æ¸íå END ñ¼çäåði ïðîãðàììà iøiíäå êåçäåññå, îíäà îíäà¹û îïåðàòîðëàðìåí áiðãå º½ðàìà îïåðàòîðëàðäû º½ðàéäû.

²àðàïàéûì ïðîãðàììàëàðäû º½ðó ¾øií åíãiçó, øû¹àðó æ¸íå åñåïòåó îïåðàòîðëàðû æàòàäû.

Åíãiçó îïåðàòîðëàðû. Êåç-êåëãåí åñåïòi øåøó ¾øií ìiíäåòòi ò¾ðäå àë¹àøºû áåðiëãåíäåðäi åíãiçó ºàæåò. Áåðiëãåíäåðäi åíãiçó áiðíåøå ¸äiñòåðìåí æ¾ðãiçiëåäi.

READ, READLN åíãiçó îïåðàòîðëàðûí ºîëäàíó. Îïåðàòîðëàðäû» æàëïû æàçûëó ôîðìàñû.



READ (åíãiçiëåòií àéíûìàëûëàð òiçiìi);

READLN (åíãiçiëåòií àéíûìàëûëàð òiçiìi);

Òiçiìäå ê¼ðñåòiëãåí àéíûìàëûëàð ¾òiðìåí àæûðàòûëàäû. Àéíûìàëûëàðäû» ñàíäûº ì¸íäåði ïðîãðàììà æ¾êòåëãåííåí ñî» åíãiçiëåäi.

READ, READLN îïåðàòîðëàðûíû» áið-áiðiíåí àéûðìàøûëû¹û. READ îïåðàòîðûí ºîëäàí¹àíäà àéíûìàëûëûàðäû» ñàíäûº áåðiëãåíäåðiíi» ì¸íäåðií æîë áîéûíøà æàë¹àñòûðàäû.

READ (А,Н);

READLN (V,R);

А, Н, V, R àéíûìàëûëàðûíû» ì¸íäåði ïðîãðàììà æ¾êòåëãåííåí êåéií áið æîëäà ¾òið íåìåñå ïðîáåëìåí æàë¹àñàäû.

READLN åíãiçó îïåðàòîðûí ºîëäàí¹àíäà àéíûìàëûëàð áiðiíåí êåéií áiði æà»à æîëìåí æàçûëàäû.

READLN (А,Н);

READ (V,R);

Øû¹àðó îïåðàòîðëàðû. Äèñïëåé ýêðàíûíà àðàëûº, ñû åñåïòåó í¸òèæåëåðií æ¸íå ò¾ñiíäiðìå òåêñòi øû¹àðó ¾øií øû¹àðó îïåðàòîðû ºîëäàíûëàäû. Îïåðàòîðäû» æàëïû æàçûëó ôîðìàñû:

WRITE (åíãiçiëåòií àéíûìàëûëûð òiçiìi,ò¾ñiíäiðìå òåêñò’);

WRITELN (åíãiçiëåòií àéíûìàëûëûð òiçiìi,ò¾ñiíäiðìå òåêñò’);

Òiçiìäåãi àéíûìàëûëàð ¾òið àðºûëû àæûðàòûëàäû. Òiçiìíi» êåç-êåëãåí æåðiíå ò¾ñiíäiðìå òåêñò åíãiçóãå áîëàäû. Òåêñò àïîñòðîôòàð¹à àëûíûï, ¾òiðìåí àæûðàòûëàäû. Îïåðàòîðëàð ñàíû ìåí îðíàëàñóû øåêòåëìåéäi.

WRITE æ¸íå WRITELN øû¹àðó îïåðàòîðëàðûíû» àéûðìàøûëû¹û ìûíàäà. WRITE îïåðàòîðûí ºîäàí¹àíäà ì¸ëiìåòòi øû¹àðó (åíãiçó) ñîë æîëäà æàë¹àñàäû. WRITELN îïåðàòîðûí ºîëäàí¹àíäà æà»à æîëäû» êåëåñi ïîçèöèÿñûíûí æàçûëàäû.

1.1. ìûñàë. ¶øá½ðûøòû» áèiêòiãií åñåïòåó ïðîãðàììàñûí º½ðû»ûç. а,b, c æàºòàðûíû» ½çûíäûºòàðû áåëãiëi.

Áåëãiëåóëåð åíãiçåéiê: LA – а æà¹ûíû» ½çûíäû¹û; LB –b æà¹ûíû» ½çûíäû¹û, LC – с æà¹ûíû» ½çûíäû¹û; Р – ¾øá½ðûøòû» æàðòûëàé ïåðèìåòði; S – ¾øá½ðûø àóäàíû., НА – à æàºòà¹û ½çûíäûº áèiêòiãi. ¶øá½ðûø áèiêòiãií åñåïòåãåíäå àëòû àéíûìàëûíû ºîëäàíàìûç. Îëàðäû» ¾øåói LA, LB, LC åñåïòi» áàñûíàí áåëãiëi. ²àë¹àíäàðû Р, S , НА åñåïòi øåøó áàðûñûíäà åñåïòåëåäi.

Ïàñàêàëü òiëiíäåãi ïðîãðàììàíû» æàçûëóû:



Program p1;

VAR LA,LB,LC,P,S,HA:REAL;

BEGIN

WRITELN (‘ВВОДИТЕ LA,LB,LC’)

READLN (LA,LB,LC);

P:=(LA+LB+LC)/2;

S:=SQRT(P*(P-LB)*(P-LC));

HA:=2*S/LA;

WRITELN (‘ВЫСОТА HA=’,HA);

END.

ÏÐÎÃÐÀÌÌÀ±À Ò¶ÑiÍiÊÒÅÌÅ. Áiðiíøi øû¹àðó îïåðàòîðû ýêðàí¹à ВВОДИТЕ LA=4, LB=7, LC=5 ò¾ñiíäiðìå òåêñòií øû¹àðàäû. Êëàâèàòóðàäà ì¸íäåð READLN (LA,LB,LC) îïåðàòîðûíû» ê¼ìåãiìåí åíãiçiëåäi. Êåëåñi îïåðàòîð WRITELN ò¾ñiíäiðìå òåêñòi æ¸íå ÍÀ àéíûìàëûñûíû» ì¸íií øû¹àðàäû.



´çäiê æ½ìûñ òàïñûðìàëàðû:

  • ëàáîðàòîðèÿëûº æ½ìûñ ñèïàòòàìàëàðûìåí òàíûñû»ûç;

  • ëàáîðàòîðèÿëûº æ½ìûñ åñåáií æ¸íå åñåïòiê òàïñûðìàëàðäû, ò¼ìåíäåãi ñ½ðàºòàð¹à æàóàï áåðå îòûðûï º½ðàñòûðû»ûç.

Åñåïòiê òàïñûðìàëàð:

  1. х=3 áîë¹àíäà у=(7х+4)(2х-2) åñåïòå»iç.

  2. ¶øá½ðûøòû» àóäàíûí Ãåðîí ôîðìóëàñû áîéûíøà åñåïòå»iç. LA,LB,LC áåëãiëi äåï åñåïòå»iç..

  3. Ïàðàáîëàíû» ò¼áåëåðiíi» êîîðäèíàòòàðûí åñåïòå»iç у=ах2+вх+с(а0). а,в,с коэффициентòåði áåðiëãåí (х=(-в)/2а)

  4. Ïèðàìèäàíû» ê¼ëåìií åñåïòåó ïðîãðàììàñûí º½ðû»ûç. Áèiêòiãi h=3,5 см, а=2см. (V=h*s/3; S=a2)

Баºûëàó ñ½ðàºòàðû

  1. Ïðîãðàìма á¼ëiìäåðií æ¸íå îëàð¹à æàòàòûí ºûçìåòòiê ñ¼çäåðäi àòà»ûç.

  2. Êîììåíòàðèé äåãåíiìiç íå?

  3. WRITE æ¸íå WRITELN, READ æ¸íå READLN îïåðàòîðëàðûíû» æ½ìûñûíäà ºàíäàé àéûðìàøûëûº áàð?





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   39




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет