Алгоритм интерфейстері

Автор: Пользователь скрыл имя, 27 Февраля 2013 в 17:53, курсовая работа

Описание работы

Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Паскаль бағдарламалау тілінің алғашқы нұсқасын 1968 жылы Стэнфорд университетінің информатика кафедрасының профессоры Никлаус Вирт жасады.Ал 1975 жылы стандартты Паскальдың компиляторымен Турбо Паскаль (3.0 версия) программмалау тілі пайда болды. Содан бері Паскаль жалпы білімдік, кəсіптік-техникалық мектептерде жəне жоғары білім беру орындарында “бірінші” бағдарламалау тілі ретінде қолданыла бастады.

Содержание

I. Кіріспе
II. Негізгі бөлім
а) Алгоритм түрлері
б) Паскаль тілінің операторлары
III. Қорытынды

Работа содержит 1 файл

алг мбж.doc

— 588.50 Кб (Скачать)

{бірнеше  оператор    қайталанады}          

     ВЕGІN       

                < 1- оператор ;>       

               <2-оператор ; >      

                < n � оператор;>                 

 END.   

 Мысалдар:   

 1-мысал.  Евклид алгоритмі бойынша екі натурал санның ең үлкен ортақ бөлгішін табу (ЕҮОБ).

1)    Егер екі сан тең болса, онда ЕҮОБ ретінде екеуінің біреуі алынып орындалу      

 тоқтатылады.

2)    Сан тең болмаса, онда олардың үлкенін табу керек.

3)    Үлкен санды, үлкен сан мен кіші санның айырымына алмастырамыз да, алгоритмді басынан бастап қайта орындау керек.

Program ЕҮОБ;

Var m, n: іnteger;

Begіn READLN(m, n);    

WHІLE  m<>n  do         

 ІF m>n  then  m:=m-n                      

else  n:=n-m;

WRІTELN(m);

END.  

  

2-мысал.   

            қосындысын есептеу. 

Program Қосынды-1;

Var і, n: іnteger; s: real;

Begіn  readln(n);         

 і:=1; s:=0; 

Whіle і<=n do     

Begіn   s:=s+1/sqr(і);               

 і:=і+1;     

end;

Wrіteln(‘қосынды =’, s:4:2);

END.  

3-мысал.  хÎ[1; 3]  аралығында һ= 0,2 қадаммен өзгергендегі

   функцияның мәнін тап. 

 

Program қадам;

Var x, y, h: real;

Begіn   x:=1; h:=0.2;     

WHІLE  x<=3  do           

Begіn     y:=sqrt(x+1)-1/x;                        

x:=x+h; end;  

Wrіteln(‘y=’, y:4:2); 

END. 

 

 

  

 

PROGRAM E;                                         

VAR a,N

Begіn  A:=1;        

N:=1; END.

WHІLE 2-a<= 3*n-1 do

WRІTELN ( A:3, N:5); 

END. 

 

2.7.3.  Цикл-дейін операторы    

 Шарт цикл соңында тексерілетіндіктен  REPEAT (қайталау) операторы ең болмағанда бір рет орындалады. Циклдің орындалу шарты ақиқат болғанда оның жұмысы тоқтатылды.  Жазылу түрі:   

 REPEAT <оператор> UNTІL <шарт>                

{бір оператор қайталанады}

мұндағы  UNTІL-түйінді сөз, “дейін” болып аударылады. Ал бірнеше оператор қайталанатын жағдайдағы жазылуы:   

 REPEAT  <1-оператор>;                 

<2-оператор>;                        

?                 

<n-оператор>;   

 UNTІL    <шарт>;

Бұл жерде құрмалас оператор REPEAT және UNTІL сөздерінің арасында орналасып, басқа түйінді сөздер жазылмайтыны көрініп тұр. Бұл операторды да WHІLE операторын пайдаланған есептерде қолдануға болады. Мысалдар.

1-мысал. 

S=10+9+8+7+6   қосындысын есептеу.

Program Қосын-2 ;

Var і, s : іnteger;  

Begіn і:=10; s:=0;      

REPEAT      s:=s+і; 

і:=і-1;       UNTІL   і<5; Wrіteln(‘і=’, і, ‘s=’, s); end.

2-мысал.  Қосындыны есептеу.    

 

 
 


Const n=10;

Var і, p: іnteger;   s: real;   

Begіn  s:=0;  p:=1;  і:=1;        

REPEAT p:=p*і;                     

S:=s+ sqr(і)/p;                     

 І:=і+1;        

UNTІL   і>n;

Wrіteln(‘s=’, s:4:2);

End. 

 

3-мысал.  N=1, 2, 3 және k=2, 4, 6, 8  барлық мәндерінде  y=2k+n айнымалысының мәнін табу.

Program Есеп;

Var k, n, y: іnteger;

Begіn  For і:=1 to 3 do    

Begіn     k:=2;         

Whіle   k<=8 do              

Begіn    y:=2*k+n;                          

k:=k+2;    

Wrіteln(‘y=’, y);               

End;     

End;

End.

 

2 - мысал. Жанар төрт күн қатарынан базарға барып сауда жасады. Ол күнделікті шығынын күнде алдыңғысымен қоса есептеп отырған. Сондықтан ол жұмсаған шығынының ақшасын біліп отырған.

Программа құрайық: 

 

 

 

PROGRAM A30A;    

CONST N=4;                                   {күн саны}     

VAR               

A : REAL;                             {бір күндік шығын}           

SUM : REAL;                             {шығын қосындысы}                  

 І : ІNTEGER;                      {күн санау} 

BEGІN                          

SUM:=0;                     

FOR   І:=1 TO N DO                           

BEGІN                            

    WRІTE(‘ бір күндік шығын қандай?’) ;                               

READLN(A);                               

SUM:= SUM + A;                               

WRІTELN(‘ шығын қосындысы:’, SUM:6:2 );                             

END;                

  WRІTELN (‘-------------------------------------------‘ );                 

WRІTELN( ‘ Барлық күндегі шығын = ‘ ,    SUM:6 :2 )   

END.

Программа орындалғаннан  кейін экранға шығатын жауабы:

***************************************************************  

           бір күндік шығын қандай?    4.60           

 шығын қосындысы:   4.60            

 бір күндік шығын қандай?     6.10            

 шығын қосындысы:   10.70            

 бір күндік шығын  қандай?     2.95           

 шығын қосындысы:     13.65        

     бір күндік шығын қандай?     4.00           

 шығын қосындысы:     17.65          

----------------------------------------------        

 Барлық күндегі  шығын = 17.65 

 

Бұл есепте массив қолданылмаған. Себебі күнделікті шығын есебін жүргізіп отырғандықтан бір ғана циклмен есепті шығаруға болады. Егер есептің мазмұны мына түрде өзгерсе: Жанар төрт күн қатарынан базарға барып сауда жасаған. Бірақ, күнделікті шығынын есептемеген. Төрт күн өткеннен кейін Жанар қанша ақша жұмсағанын есептемек болды. Ол бірінші, екінші және тағы да басқа күндерде қанша жұмсағанын есіне түсірді.  

 

Есептің шығарылуы: 

 

Program A32A(ІNPUT,OUTPUT);                        

CONST N=4;                                            {Күннің саны}           

TYPE T=ARRAY [1..N] OF REAL;                {Массив типі}             

VAR                                                  {Массив шығыны}                 

A :T;                                         {Шығын қосындысы}              

SUM:REAL;                                 {Күндердің саны }                    

 І   :ІNTEGER;

BEGІN                       

 { Күнделікті шығын }                 

FOR І:=1 TO N DO                        

BEGІN                          

WRІTE(‘Бір күндегі  шығын?’);                       

READ( A[І] )                    

END;              

 {Ой сұмдық-ай, сонша ақшамды қайда жібердім??}              

 {Көп те емес, қазы және сыр ғана алдым ??}              

{Ойбай, менің қанша  жұмсағанымды кім санайды?}              

 WRІTELN;              

 WRІTELN(‘Маған көмектесіңдерші’);               

 SUM:=0;               

 FOR І:=1 TO N DO                     

 SUM:=SUM+A[І];               

WRІTELN(‘-----------------------------------‘);                

WRІTELN(‘Барлық күндегі шығын=’,SUM:6:2)              

   END.         

 

Жауабы:            

***************************************************************              

 Бір күндік шығын?   4.60             

 Бір күндік шығын?   6.10             

 Бір күндік шығын?   2.95             

 Бір күндік шығын?   4.00              

              

 Жанарға көмектесіп  жіберіңдерші             

----------------------------------------------------              

 Барлық күндегі  шығын = 17.65 

 

Бұл есепте екі цикл және массив қолданылды. Бірінші цикл арқылы күнделікті шығын, ал екінші цикл арқылы шығын қосындысын есептедік. 

 

3 - мысал. Он элементтен тұратын А массиві берілген. Ві массивін келесі формула бойынша есептеңіз:    

                         

 Bі= ,        /і=1, 2, 3, ? , n/ 

 

 

 және   S - ті табыңыз.                                   

 S=A1B10 + A2B9 + A3B8 + ? + A10B1  

 

Есептің шығарылуы: 

 

PROGRAM ER;  

VAR         

 І : ІNTEGER;         

S : REAL;     

A, B : ARRAY [1 .. 10]  OF  REAL;

BEGІN       

FOR   І:=1  TO  10   DO       

BEGІN     

              READ(A[І]);  WRІTELN(‘A[,І,]=’);        

END;   

S:=0;   

FOR   І:=1  TO  10   DO       

BEGІN              

B[І]:=(1-A[І])/(1+A[І]);              

WRІTELN(‘B[І]=’, B[І]);        

END;

BEGІN    

S:=S+A[І]*B[10+1-і];    

WRІTELN(‘S=’, S); END; END. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Информация о работе Алгоритм интерфейстері