Паскаль программалау тілінде калькулятор құру

Мазмұны

 

Кіріспе....................................................................................................................

  3

1. Паскаль программалау тілінің негіздері.....................................................

  5

1. 1 Паскаль тілінің құрылымы.............................................................................

 5

1. 2 Паскаль тілінің операторлары.......................................................................

2. Паскаль тілінде программа құруда бүтін сандармен жұмыс істеудің әдістері....................................................................................................................

2. 1 Паскаль программалау  тіліндегі стандартты функция……………………

6

 

14

14

2. 2 Графиктік режимде жұмыс............................................................................

17

2. 3 Паскаль программалау тілінде калькулятор құру........................................

20

Қорытынды...........................................................................................................

26

Қолданылған әдебиеттер....................................................................................

28


 

 

Кіріспе

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

Программалау жүйелері деп  компьютердегі есептерді программалауды автоматтандыруға арналған программалар жиынтығы аталады. Программалау жүйесі пайдаланушыны немесе программистті  өзінің мәселелерін оған қолайсыз машиналық  командалар тілінде жазу қажеттілігінен босатады және оларға жоғары дәрежелі арнайы тілдерді пайдалану мүмкіндігін  береді. Кіріспе немесе бастапқы деп  аталатын осындай тілдердің әрқайсысы  үшін, программалау жүйесінің, программа  мәтінін кіру тілінен машина тіліне автоматты түрде аударатын (трансляция) программасы бар.

Әдетте программалау жүйесінде:

  • қолданылатын программалау тілдерінің сипаттамалары;
  • тілді жүзеге асыру құралдарын сипаттау – бұл осы тілдерден аударғыш программалар;
  • стандартты бағыныңқы программалар кітапханасы бар.

Программалау тілдері  мен тілді жүзеге асыру құралдарын айыру қажет.

Программалау тілі – бұл  программаны құрайтын жазбалар жүйесін, пайдаланылатын грамматикалық құрылыс  синтаксисі мен семантикасын анықтайтын ережелер жинағы.

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

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

Курстық жұмыстың мақсаты - Турбо Паскаль программалау тілінде калькулятор программасын құру және оны зерттеу. Осы мақсатқа сәйкес келесі міндеттер қойылды:

  • Есептің математикалық қойылымын  (математикалық моделін)

жасау ;

  • Есепті шешу алгоритмін жазу және оның құрылымы мен программалық әрекеттесуін зерттеу;
  • Алгоритмге сәйкес программа құруды және жазу;
  • Программа нәтижесін алу;
  • Программаның қатесін тексеру.

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

Паскаль тіліндегі программа  жолдардан тұрады. Программа мәтінін  енгізу немесе теру Турбо Паскаль  программалау жүйесінің кірістірілген  мәтіндік редакторының көмегімен жүзеге асырылады. Бұл жағдайда программа  жүзеге асырылғаннан кейін бас менюде компиляцияланады және орындалады. Жолдар сол жақ шеттен түрлі қашықтықта басталуы мүмкін. Жолдағы операторлар  саны еркін түрде алынады. Оператор дегеніміз – берілген нұсқаулардың немесе алгоритмдердің машиналық тілде  жазылуы, яғни берілген есепті шешу мақсатында орындалатын іс-әрекеттердің түсінікті  түрде жазылуы.

 

 

  1. Паскаль программалау тілінің негіздері
  2. 1 Паскаль тілінің құрылымы

 

Компьютерге түсінікті командалар тізбегі арқылы жазылған алгоритм – программа деп, ал программа құру процесі программалау деп аталады.

Программалау тілі – ЭЕМ-де шешілетін әртүрлі есептердің программасын компьютерге түсінікті формада  жазу тәсілі болып табылады.

Программалау тілдері  жоғарғы және төменгі деңгейлі тілдер болып бөлінеді. Қолданбалы мазмұнды есептерді шешеуге бағытталған, командалардың мол жиынтығынан  тұратын табиғи тілге ұқсас программалау тілі – жоғары деңгейлі программалау тілі деп аталады. Қазіргі кезде  олардың бірнеше түрі бар. Жоғары деңгейлі программалау тілдерінің бірі – Паскаль тілі. Оның алғашқы  нұсқасын 1971 жылы Швейцария ғалымы Никлаус Вирт жарыққа шығарған болатын. Автор атақты француз математигі Блез Паскаль (1623-1662ж) құрметіне жаңа программалау тіліне оның атын берді. Паскаль тілі оқып үйренуге жеңіл, алгоритм құрылымы сақталған, қолданушыға ыңғайлы тіл болып қана қойған жоқ, сонымен қатар күрделі есептерді шешу үшін қолданылатын қуатты программалау тілі болып табылады.

Паскаль тілінің бірнеше  баламалары бар. Қазіргі кезде кең  қолданылатыны – Турбо Паскаль 7.0 баламасы. Кез келген Паскаль программа  жеке атынан және .pas кеңейтілуінен  тұратын мәтіндік файл болып табылады. Пскаль тілінде құрылған программаны мәтинелік түрде аудару үшін компилятор қолданылады. Турбо Паскаль жүйесі TP бумасында жазылады. Программаны жүктеу файлы: turbo.exe, ол әдетте BIN ішкі бумасында орналасады (мысал: C:/TP/BIN/turbo.exe).

Барлық программалау тілдерінің өз алфавиті болады. Алфавит – программада  пайдаланылатын түрлі символдар (әріптер, цифрлар, таңбалар, белгілер).

Паскаль тілінің алфавиті:

1. Латын алфавитінің бас (A-Z) және кіші (a-z) әріптері және _ астын сызу белгісі.

2. Араб цифрлары: 0-9

3. Арнайы символдар:

а) арифметикалық операция белгілері: +, -,

б) қатынас операцияларының  белгілері: =, <> (тең емес), >, >=, <, <=

в) тыныс белгілері: ; : . , ..

г) қосарлы символдар: {}, [], (), (**), (. .)

д) меншіктеу белгісі: :=

е) символдар: @, $, #, ^

4.Қызметші сөздер: and, begin, if, then, else, end …

Паскальдағы кез-келген деректер, яғни айнымалылар, тұрақтылар, фуекция  мәндері және өрнектер, өздерінің  типтері арқылы сипатталады. Тип  аталған обьектінің қабылдайтын  мәндерінің жиынын және деректердің  компьютер жадысында ішкі өрнектелу  форматын анықтайды. Паскаль тілінде  деректердің төмендегідей типтері бар: 1. Стандарт жай тип: бүтін (integer), нақты (real), логикалық (boolean),процедуралық, символдық (char, string).

2. Стандарт емес жай тип: санақты және шектеулі типтер

3. Құрылымдық тип: массив, жазу, жиын, файл.

Бүтін және нақты сандардың integer және real-дан басқа бірнеше  типтері қолданылады. Олар төмендегі  кестеде көрсетілген:

Кесте 1.

Паскаль тілінде деректер типтері

 

Типтің аты

Сан аралығы

Форматы (байт)

     

1. Өрнектердің бүтін типтері

Shorting(қысқа бүтін)

-128..127

 

1

Integer(бүтін)

-32768..32767

2

Longint(ұзын бүтін)

-2147483648..2147483647

4

Byte(байт)

0..255

1

Word(сөз)

0..65535

2

2. Деректердің нақты типтері

Real

2.9e-39..1.7e38

6

Single

1.5e-45..3.4e38

4

Double

5.0e-324.. 1.7e3.8

8

Extended

3.4e-4932..1.1e4932

10

Comp

-9.2e18..9.2e18

8


 

Char - мәні символ болатын айнымалы типі, жадыдан 1 байт орын алады. String - символдар жолы, жадыдан мах+1 орын алады. Мұндағы мах- жолдағы символдардың ең көп саны.

Boolean - логикалық тип, falce(жалған) немесе true(ақиқат) екі мәннің біреуін қабылдайды, жадыдан 1 байт орын алады

 

1. 2 Паскаль тілінің операторлары

 

Паскаль тілінің меншіктеу  операторының жалпы түрі:

Айнымалы:=өрнек

Енгізу операторының жазылу үлгісі:

Read(айнымалылар тізімі);

Енгізілетін мәндер бос орын арқылы теріледі. Read операторының соңына ln жалғауы қосылып жазылуы мүмкін: readln (readline-жолды оқу). Бұл жағдайда курсор келесі жолдың басына көшіріледі де, мәліметтер бірінің астына бірі жаңа жолға енгізіледі.

Мәтінді экранға шығару үшін паскаль тілінде төмендегі оператор қолданылады.

Write (параметрлер тізімі)

Writeln болып жазылса (Writeline - жолды жазу) курсор жаңа жолға көшіріліп, мәліметтер бірінің астына бірі шығады.

Write(x:n:m) - нақты типті х айнымалысының мәнін экранға көрсетілген үлгіде шығарады.

Мұндағы

N - экранға шығатын барлық символ саны.

M - бөлшек бөліктің цифрлар саны (0≤m≤n)

Меншіктеу, енгізу, шығару операторларын  қолданып құрылған сызықтық программа  қарастырайық:

Үш қабырғасы берілген үшбұрыштың аудынын табу программасын құру керек.

Program Geron;

Var a,b,c:integer;

P,s:real;

Begin

Write(‘ushburishkabirfalarinengiz’);

Read(a,b,c);

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

S:=sqrt(p*(p-a)*(p-b)*(p-c));

Writeln(‘Ushburishaudani =’,S);

End.

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

1. IF шарт THEN 1-оператор ELSE 2-оператор;

2. IF шарт ТHEN оператор.

1-жағдай шартты оператордың  жазылуының толық түрі, 2-жағдай қысқа түрі деп аталады.

Кейде then, else қызметші сөздерінен кейін бір емес, бірнеше оператор енгізуі мүмкін. Паскальда осы  сияқты 1 серияда орындалатын операторлар  тізбегі бір оператор түрінде  қарастырылады да, оны құрама оператор деп атайды. Құрамы оператор begin, end оператоорлық жақшаға алынады.

Егер шарттың саны біреуден артық болса, онда ол құрама шарт деп  аталады. Құрама шарттар арасында and (және), or (немесе), not (емес) қызметші сөздері жазылады және жай шартты жақша «( )» алынып жазылады.

0<x≤5 Шарты Паскальда былайша жазылады: (x>0) and (x<=5).

Таңдау операторы.

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

Таңдау операторының құрылымы:

Case сұрыптаушы of таңдау тізімі else оператор end;

Немесе

Case өрнек of

1-тұрақты: 1-оператор;

1-тұрақты: 2-оператор;

...

n-тұрақты:m-оператор;

else оператор

end;

case- жағдай, of- бойынша қызметші сөздерді.

Бұл оператор былайша жұмыс  істейді:

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

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

Турбо Паскаль тілінде  программаның қайталанатын бөлігін  программалау үшін әртүрлі 3 оператор қолданылады.

Олар: 1) параметрлі цикл (немесе үшін циклі)

2) Әзір циклі

3) Дейін циклі

1. Параметрлі циклдің  құрылымы:

For цикл параметрі:=бастапқы мән To соңғы мән Do цикл денесі; Мұндағы for (үшін), to (дейін), do (орындау) – қызметші сөздер. Бұл циклже цикл параметрі integer типті бүтін сан, цикл қадамы 1-ге ғана тең. Қадамның басқа мәндерінде әзір немесе дейін циклі қолданылады.

Қадам 1-ге тең болған параметрі  цикл төмендегіше жазылады:

For цикл параметрі := бастапқы мән DownTo соңғы мән Do

Цикл денесі құрама оператордан  тұратын болса, онда олар операторлық  жақшаға алынады.

2. Әзір немесе шартты алдын-ала тексеру циклі.

Оның құрылымы:

While шарт Do

Цикл денесі:

While (әзір), Do (орындау) - қызметші сөздер.

Шарт - логикалық типті өрнек. Егер шарттың мәні ақиқат (true) болса, цикл денесі орындалады және содан соң шарт қайта тексеріледі. Ал шарттың мәні жалған (false) мәнге тең болса, цикл денесі орындалмайды, басқару while циклінен кейін тұрған бірнеше операторға беріледі.

3. Дейін немесе шартты соңынан тексеру циклі.

Дейін циклінің құрылымы:

Repeat

Цикл денесі

Until шарт

Repeat (қайталау), Until (дейін) - қызметші сөздер. Олар операторлық жақшалар ролін де орындайды. Until-дің алдындағы оператордан соң нуктелі үтір қойылмауы тиіс. Дейін циклінде цикл денесінің операторы ең болмағанда бір рет орындалады, шарт ақиқат болғанда цикл аяқталады. Әзір циклінен айырмашылығы бұл циклде кері шарт жазылады.

Break және continue операторлары

Паскаль тілінде циклді басқару  үшін 2 оператор қолданылады. Олар циклді қолдану мүмкіндігін кеңейтіп, программа  құрылымын жақсартады.

Break - циклді тоқтатуды жүзеге асырады; басқару циклден кейін тұрған операторға беріледі.

Continue - циклдің кезекті қадамының орындалуын мерзімінен бұрын аяқтауды жүзеге асырады; басқару циклдің келесі мәніне беріледі.

Практика 1:n бүтін сан берілген. Олардың көбейтіндісін есептеңдер. Егер сан 0-ге тең болса, циклден шығу үшін break операторын қолданады.

Var I,n,x:integer;

Begin

Read(n) {санның нешеу екенін  енгізу}

For i:=1 to n do

Begin readln(x) {әрбір санды енгізу}

If (x=0) then break; P:=p*x; End;

Writeln(‘p=’,p);

End.

Практика 2:n бүтін сан енгізіп, олардың ішінен оң сандардың қосындысын және санын есептеңдер.

Var I,n,x,k,s:integer;

Begin

Readln(n);

For i:=1 to n do begin readln(x);

If x<0 then continue;

S:=s+x; k:=k+1; end;

Writeln(s,k);

End.

Программа құру кезінде кейде  басқаруды келесі оператордан басқа  операторға беруге тура келеді. Ол үшін басқару берілетін оператор арнайы таңба бойынша белгіленіп қойылуы  тиіс. Қолданылған таңба программаның Label таңбалар бөлімінде сипатталуы қажет. Басқаруды оператоға беру үшін Goto өту операторы қолданылады.

Оның жалпы түрі: goto таңба

Практика ax^2+bx+c=0 квадрат  теңдеуінің шешімін табыңдар.

Var a,b,c,d:integer;

x1,x2,xL:real;

Label 10;

Begin

Readln(a,b,c);

D:=b*b-4*a*c;

If D>0 then begin x1=(-b+sqrt(D))/(2*a); x2:=(-b-sqrt(D))/(2*a);

Writeln(‘x1=’,x1,’x2=’,x2);

Goto 10; end;

If D<0 then writeln(‘SheshimiJok’) else begin x=-b/(2*a);

Writeln(‘x1=x2’,x); end;

10:end.

Бұл программада D>0 шартының ақиқат жағдайында Goto10, яғни 10- жолға  өту операторын қоймаған жағдайда экранға x1, x2 мәндерімен қатар, басқару else қызметші сөзінен кейін операторға беріліп, D=0 болғандығы x-тің мәні де шыққан болар  еді. Ал мұндай жағдай программаның қате орындалуына әкеліп соғады.

Паскаль тілінде 0 мен 1 аралығындағы кездейсоқ бүтін санды шығару үшін Random (1) функциясы қолданылады. Ал берілген [a,b] аралығындағы кездейсоқ бүтін санды шыңару үшін функция былайша жазылады:

Random(b-a)+a

Әрбір орындатқанда уақытқа  байланысты әртүрлі кездейсоқ сандар алу үшін Randomize кездейсоқ сандар генераторын іске қосу қажет.

Практика: Кездейсоқ шыққан бүтін санның неше әрекеттен кейін  «бақытты жетілік» болатынын анықтайтын программа құрыңдар.

Program bakitti777;

Var a,b,c:integer; n:integer;

Begin

Randomize;

20:=n:=n+1;

A:=random(7)+1;

B:=random(7)+1;

C:=random(7)+1;

Writeln(a,b,c);

If (a=7) end (b=7) and (c=7) then

Begin Writeln(‘BakittiJetilik’);

Writeln(‘Areketsani’,n) Goto 10;

End;

Goto 20;

10:end.

 

Паскаль тілінде программа  құруда бүтін сандармен жұмыс істеудің арнайы әдістері

 

Паскаль программалау тілінің  артықшылығы кең көлемде берілгендердің әр түрлі типтермен жұмыс жасай  алу мүмкіндігінде. Типтердің ішінде есеп шығаруда көп қолданылатыны - бүтін сан. Бүтін типті тұрақты-ондық жүйедегі кез-келген үтірсіз жазылған сан. Паскаль тілінде бүтін типті санды INTEGER типті деп атайды. Олар: 10, -357,0,5974 сандарының типі бүтін тип (INTEGER).

Бүтін типті берілгендермен жұмыс істеу барысында келесі операциялар мен функцияларды орындауға  болады.

-+(қосу); -(алу); *(көбейту);

-IV – бүтін сандарды бір-біріне бөлгендегі бүтін бөлігін алу;

-MOD - бүтін сандарды бір-біріне бөлгендегі қалдық бөлігін алу;

Сондай-ақ, нәтижесі бүтін  сан болып келетін функиялар:

-TRUNC(x)- x нақты санның бүтін  бөлігін береді.

-ROUND(x)- x нақты санын дөңгелектейді.

-INC(x,n)- x бүтін мәнін n бірлікке  арттырады.

-DEC(x,n)- x бүтін мәнін n бірлікке  азайтады.

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

Практика 1. Санның бөлгіштігін, жұптылығын анықтау.

Есеп: Берілген N бүтін санының  жұп не тақ екендігін анықтау  қажет болсын.

Бұл есепті шешу үшін математикалық тұрғыдан қарағанда: Егер сан 2-ге қалдықсыз бөлінсе - жұп сан, яғни N/2= TRUNC(N/2) логикалық өрнегінің мәні TRUE (ақиқат) болуы қажет, сонда:

Программа 1.

Program tak_ne_jup;

Var N:integer; K:char;

Begin

Read(N); If n/2=trunk(n/2) then k:=’jup’ else k:=’takh’;

Write(N,’sani’,K);

End.

Бұл программада логикалық  өрнекті Nmod 2=0 түрінде де жазуға болады. (Паскаль тілінде санның тақтылығын анықтайтын, мәні бульдік тип болатын арнайы ODD(x) функциясы бар).

Практика 2. Берілген санның цифрларымен жұмыс.

Есеп: Натурал N санының цифрларының  қосындысын және санын есептеу керек  болсын.

Бұл есепті шешу үшін N бүтін  санын кіші разрядынан бастап цифрларын  бөліп алу керек те, S айнымалыға меншіктеп отыру керек. Оң жақтағы соңғы цифрды бөлектеп алу үшін мына әдісті (формуланы пайдаланамыз: N-TRUNC(N/10)*10 немесе N-(N DIV 10)*10, ал келесі санды бөліп алу үшін жаңа сан N=TRUNC(N/10)-ды қарастырылады да жоғарыдағы әдісті қайталанады. Бұл процесте алатын жаңа сан 0-ге тең болғанша жалғаса береді (теріс санның цифрларын бөлектеп алу үшін алдын ала N=ABC(N) түрін алу керек).

Программа 2.

Program C2;

VarN,S,K:integer;

Begin

Readln(N); N:=ABC(N); S:=0; K:=0;

While N>0 do begin S:=S+(N-TRUNC(N/10)*10);

K:=k+1N:=N div 10; end;

Writeln(‘Berilgensanda’,K,’Cifr bar’); Writeln(‘cifrlarininkosindisi’,S);

End.

Программа орындалғанда енгізілген саны өзгеріп кетеді. Қажет болғанда алдын-ала N1=N деп меншіктеп қоюға  болады.

Практика 3.Санды разрядқа жіктеу.

Кейбір есептерге программа  құру барысында санды разрядты қосылғыштарға  жіктеу, яғни бірлік, ондық, жүздік ... разряд бірліктерін бөліп алу тиімді болады. Үш таңбалы санды жіктей кетсек:

P=A*100+2*10+C; (Мұндағы А- жүздік, В- ондық, С- бірлік разрядтар).

Сонда разряд өсімшелерін  кірісе циклге алып отырса жеткілікті.

Есеп: Үш таңбалы сандар ішінен санды теріс оқығанда жұп сан  шығатын және ол сан сегізге қалдықсыз  бөлінетін барлық сандарды басып  шығаратын программа құр.

Программа 3.

Program C3;

Var A,B,C,P:integer;

Begin

For A:=1 to 9 do For B:=0 to 9 do For C:=1 to 9 do

begin

P1:=A*100)D*10+C; P2:=C*100+B*10+A;

If(P2/2=Trunc(p2/2)) and (P2 mod 9 = 0) then

Write(P1,’->’P2)  end;

End.

Практика 4. Санның бөлгіштерін табыңдар.

Есеп: Бүтін N санының 1-ден  бастап барлық бөлгіштерін басып  шығаратын программа құру.

Алгоритмі: А-ның В бөлгіші  болып табылады, егер А саны В-ға қалдықсыз бөлінсе. 1 саны кез-келген санның бөлгіші болғандықтан N санан 2-ден бастап [N/2]-ге дейінгі сандардың бөлгіші екендігін тексеріледі. Әрбір табылған бөлгішті баспаға беріліп отырады. Тексеру циклді түрде қайталанады.

Программа 4.

Program C4;

VarI,C:integer;

Begin

Readln(N); X:=TRUNC(n/2); Writeln(N,’Sanninbolgishteri’);

Write(I:3);

For I:=2 to N do If /I=Trunc(N/I) Then write(I:3)

Write(N:3)

End.

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

Практика 5. Жай сандарды табу.

Есеп: 1-ден бастап М санына дейінгі барлық жай сандарды тауып, басып шығаратын программа құру.

Алгоритмі: Эротосфен торы (елегі) әдісін пайдалануға болады. Ол үшін 1-ден М-ге дейінгі сандардың тізбегін алып, мұнан алдымен 2-ден бастап (2-нің өзінен басқа) әрбір екінші санды сызып тастаймыз (программада 0-мен айыстырамыз). Одан соң сан тізбегінен бастаған саннан кейінгі 0-ге тең емес санды табамыз. Яғни бұл і саны болады. Енді үшінші санды (3-тен басқа) сызып тастап (0-мен ауыстырып) отырамыз. Осылайша жалғастыра береміз. Нәтижесінде 1-ден М-ге дейінгі жай сандар ғана қалады.

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

Программа 5.

Program C5;

Label 1;

Var M, I, L, C:integer;

A:array [1..8000] of integer;

Begin Writeln(‘M saninengiz’); Readln(M);

If I:=1 To M Do A[I]=I;

Writeln(M,’-gedeingi jai sandar’);

For I:=2 to M Do

Begin If F[I]=0 Then Goto 2;

Write A[I]; C:=I+I; J:=C;

While C<=M Do

Begin A[J]:=0; J:=J+I

End; 2:end

END.

 

2. Паскаль тіліндепрограмма құруда бүтін сандармен жұмыс істеудің әдістері

2. 1 Паскаль программалау  тіліндегі стандартты функция

 

Өрнектер мәндері компьютердің арнайы программалары арқылы автоматты  түрде есептелетін функциялар - стандарт функциялар деп аталады. Паскаль тілінің стандарт функциялары келесі кестеде көрсетілген.

Кесте 2.

Паскаль тілінің стандарт функциялары

Математикалық функияның  жазылуы

Паскаль тілінде жазылуы

Аргумент типі

Нәтиженің типі

Ескеру

|x|

Abs(x)

real,integer

Real,integer

 

Sinx

Sin(x)

Real

Real

x-радиан

Cosx

Cos(x)

Real

Real

x-радиан

Arctgx

Arctan(x)

Real

Real

x-радиан

Ex

Exp(x)

Real

Real

E=8.718..

Lnx

Ln(x)

Real

Real

x>0

 

Pi

Real

Real

=371415922653…

X2

Sqr(x)

Real

Real

 
 

Sqrt(x)

Real

Real

X=>0

x-санының бүтін бөлігі

Int(x)

Real

Integer

5.76→5

x-санының бүтін бөлігі

Trunc(x)

Real

Integer

5.76→5

х-санының бөлшек бөлігі

Frac(x)

Real

Real

5.76→0.76

Х-санының бүтінге дейін  дөңгелектеу

Round(x)

Real

Integer

5.76→6

Кездейсоқ сан

Random

 

Real

(0,1) аралығындағы кездейсоқ сандар

Кездейсоқ сан

Random(x)

Integer

Integer

(0,x-1) аралығындағы кездейсоқ сандар

Кездейсоқ сандар генераторы

Randomize

   

Кездейсоқ сандар генераторын  іске қосу

Паскаль программалау тілінде калькулятор құру