«Алгоритмдер, мәліметтер құрылымы және программалау»


-сурет 3. Параметрлі цикл операторына мысалдар



бет6/12
Дата30.06.2016
өлшемі0.74 Mb.
#167015
1   2   3   4   5   6   7   8   9   ...   12

1.8-сурет

3. Параметрлі цикл операторына мысалдар:

Мысал 1. 1-ден 100-ге дейінгі натурал сандардың қосындысын табу керек, яғни мынадай қосындыны анықтау қажет:

S=1+2+…100=i.

Бұл есептің орындалу схемасын 1.9-суретте көрсетілген, оған сәйкес программа мәтіні

Program cymma;

Var i, s: integer;

Begin

s:=0; for i:=0 to 100 do {цикл басы}

s:=s+i; {қайталау операторы}

writeln(‘қосынды=’ s:6)

end.


1.9-сурет

Мысал 2. k функциясының мәндерін оның аргументі х -4-тен +4-ке дейін қадамы 0,2 болып өзгерген кезде табу қажет, мұндағы


y=(x2-2x+2)/(x2+1).

Бұл алгоритмде бізге циклдің неше рет қайталанатынын алдын ала білуіміз керек, сондықтан аргументтің алғашқы, соңғы мәндерін және өзгеру қадамын пайдалана отырып, қайталану санын төмендегі формуламен есептей аламыз:

n=[(xk-x0)/x]+1;

n=(4-(-4))/0,2+1=41рет.

Цикл операторының параметрін 1-ден 41-ге дейін өсіре отырып, алгоритмді 1.10-суреттегідей, ал программаны төмендегіше құруға болады:

Program funksia;

Var k: integer; x, y: real;

Begin


x:=-4; for k:=1 to 41 do

begin


y:=(x*x-2*x+2)/(x*x+1);

writeln('x=', x:5:2, 'y=', y:8:3);

x:=x+0.2

end


end.

FOR операторындағы цикл параметрінің бүтін мәндері қабылдайтынын ескере отырып,

х айнымалысының өзгеру қадамын 0,1 етіп, бұл программаны басқаша жолмен де жасауға болады.

Var k: integer; x, y: real;

Begin 1.10-сурет

for k:=-40 to 40 do

begin

x:=k/10;

y:=(x*x+2*x+2)/(x+1);

writeln('x=', x:5:2, 'y=', y:8:3);

end


end.

Мысал 3. Бүтін сандардың көбейтіндісін өрнектейтін n! мәнін, яғни n!=1*2…n табу қажет. Бұл алгоритмді құру барысында FOR операторының кері қарай есептейтін мүмкіндігін пайдаланайық (1.11-сурет).

Program faktorial;

Var i, n: integer; p:longint;

Begin


Write(‘бүтін n енгізіңіз:’); readln(n);

p:=1; for i:=n downto 2 do p:=p*i;

writeln(n:2, ‘!=’, p:7);

end. 1.11-сурет


V. Енгізілген циклдер құрылымымен алгоритмдерді программалау

Бірінің ішіне бірі кірістірілген циклдер бар болады. Оларды күрделі циклдер деп аталады. Кірістірілген циклдерді қолданған программалар құрғанда ішкі цикл толығымен сыртқы циклдің ішіне орындалатындай болуы керек. Ішкі цикл өз кезегінде өзінің ішіне ішкі цикл орналастыра алады.

Мысалы 1: Nжәне K айнымалыларының барлық мәндеріндегі у айнымалысының мәндерін есептеу керек. N-сыртқы цикл параметрі, K-ішкі цикл параметрі, N, K, y-бүтін типті айнымалылар.

N айнымалысының әрбір мәнінде K айнымалысы 2, 4, 6, 8 мәндерін қабылдасын. Бұл 3 рет қайталанады, себебі N айнымалысының қабылдайтын мәндері үшеу. N=1, 2, 3, K=2, 4, 6, 8, y=2K+N. Сыртқы цикл – for арқылы, ал ішкі цикл while арқылы орындалады.

Program M1 (input, output);

Var

M, K, y: integer;

Begin

For N:=1 to 3 do

Begin

While K<8 do

Begin

y:=2*K+N;

Writeln(N:4, K:4, y:4);

K:=K+2;

End;

End;

End.

Мысалы 2: F, J, K айнымалыларының барлық мәндеріндегі z айнымалысының мәндерін есептеу керек. F=1, 2, 3, 4, 5, J=2, 4, 6, 8, 10, 12, K=7, 9, 11, z=2F+2J+K.

F, J - сыртқы цикл параметрі;

K – ішкі цикл параметрі.

Program M2 (input, output);

Var

F, J, K, z: integer;

Begin

For F:=1 to 5 do

For J:=2 to 12 do

Begin

While K<11 do

Begin

Z:=2*F+2*J+K;

Writeln(‘F=’, F, ‘J=’, J, ‘K=’, K, ‘z=’, z);

K:=K+1;

End; End; End.



Өзін тексеру сұрақтар

  1. Циклдық алгоритм дегеніміз не?


Әдебиет: (1) бет. 71-80


8 апта



Дәріс №8. Ішкі программалар.

Ішкі программа ұғымы. Процедуралар және Функциялар.

ТР-да ішкі программаның 2 түрін бөліп көрсетуге болады: процедуалар және функциялар.

Программада қолданылатын стандартты функциялар мен процедуралар бар, мысалы, процедуралар:

Writeln(…)

Write(…)

Readln(…)

Read(…)

функциялар:

Sin(…)


Cos(…)

Odd(…)


Sqr(…)

Sqrt(…)


Программист өз есептерін шешу үшін өз процедурасы мен функциясын құра алады. Процедура және функциялар құрылымы негізгі программанікі сияқты.
Процедура құрылымы, оның сипатталуы және шақыру операторы

. Процедуралар

Процедура мәтіні procedure бөлімінде орналасқан.



Процедура сипаты мынадай түрде болады:

procedure <аты>(< формальды параметрлер тізімі>);

uses

label


const

type


var

procedure

function

begin


<операторлар>;

end;


Формальды және фактылы параметрлер, олардың сәйкестік ережесі. Функциялар

Формальды параметрлер типі көрсетілген, бір бірінен «;» арқылы бөлінген айнымалылар тізімінен тұрады. Процедура параметрі 3 түрлі:

  1. Параметрлер-мәндер (енгізу параметрлер).

  2. Параметрлер-айнымалылар(шығару параметрлер).

  3. Параметрлер-процедуралар.

Параметрлер-мәндер былайша сиптатталады:

<айнымалылар тізімі_1>:<тип_1>; <айнымалылар тізімі_2>:<тип_2>;…

Параметрлер-айнымалылар былайша сипатталады:

var < айнымалылар тізімі _1>:<тип_1>; < айнымалылар тізімі _2>:<тип_2>;…



Процедураны шақыру негізгі программада былай іске асырылады:

<процедура аты>(<фактілі параметрлер>);

Фактілі параметрлер үтір арқылы типін көрсетпей-ақ тізіліп жазылады.



Формальды және фактілі параметрлер арасында саны бойынша, мәліметтер типі бойынша сәйкестік болу керек. Сәйкес параметрлерінің аты әртүрлі немесе бірдей болу керек.

Процедураға жіберілетін фактілі параметрлер константа, айнымалы, өрнек болуы мүмкін.

Процедурадан мән алатын фактілі параметрлер тек қана айнымалы болады.

Параметр-мәндер арқылы ақпаратты программадан процедураға жіберуге болады, бірақ кері қайтарылмайды. Ал параметр-айнымалы арқылы ақпаратты программадан процедураға жіберуге болады, жәнеде кері де жіберуге болады.



Функциялар

Функция мәтіні мына бөлімде орналасқан: function.



Функцияның сипаты:

function <аты>(<формальды параметрлер тізімі>):<тип>;

uses

label


const

type


var

procedure

function

begin


<операторлар>;

<имя>:= <нәтиже>;

end;
Өзін-өзі тексеру сұрақтары немесе тестер

{Өзін-өзі тексеру сұрақтар тізімі немесе тестер}


  1. Процедураның құрылымы қандай? Процедура қандай бөлімде сипатталады?

  2. Негізгі программада процедураны қалай шақыруға болады?

  3. Формальды және фактілік параметрлер деген не?

  4. Формальды мәндер - параметрлер және формальды айнымалы – параметрлер деген не? Негізгі программадан параметрлердің берілуі қалай орындаладыжәне керсінше мәндер - параметрлер мен айнымалы – параметрлер пайдаланған жағдайда?

Әдебиет: (1) бет. 80-92



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




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

    Басты бет