Турбо - Паскал алгоритмик тили

Замонавий компьютерларда турли дастурлаш тиллари кенг кулланилади. Бу дастурлар иктисодиёт, бошкариш, хизмат курсатиш ва айникса саноат ва ишлаб чикаришнинг турли сохаларида мухим ахамиятга молик масалаларни хал килишда баъзан ягона омилга айланмокда. Бу эса уз навбатида мухандислик ва бошкариш сохаси ходимлари учун компьютерлардан унумли ва окилона фойдаланишни такоза этади.

Компьютерда бирор муаммони хал килиш бир неча боскичларга булинади. Аввалам бор тахлил килинаётган жараён еки иншоотнинг зарур жихатларини узида мумкин кадар тула акслантирган математик инъикоси (модели) тузиб олинади.

Математик модел формула ва тенгламалар тизими        куринишида ифодаланади. Хосил булган масалани ечиш учун энг макбул хисоблаш алгоритми тузилади.

Аникланган алгоритмга хос хисоблаш усули танлаб олинади ва бу усулни компьютер ва фойдаланувчи тушунадиган тилда хотирага жойлаштирилади.

Бирор алгоритмик тил асосида тузилган дастур буйича олинган натижалар тахлил килинади ва улар асосида урганилаётган жараён учун хос булган умумий конуниятлар аникланади.

Алгоритм - бирор масаланинг ечилиши учун зарур булган буйрукларнинг тартибланган кетма-кетлиги булиб одатда блок-схема шаклида берилади. Блок-схемалар куйидаги элементлардан иборат булади:

- алгоритм бошланиши ва тугаши

-бошлангич маълумотларни киритиш

-арифметик ва мантикий ифодаларни хисоблаш

-бошкаришни шарт асосида узгартириш

-кайтарилиш жараёни

- кичик дастурларга мурожаат килиш

НЕ нашли? Не то? Что вы ищете?

-натижаларни ташки курилмаларга чикариш

Кайд этилган блок-схемалардан фойдаланиб ихтиёрий масалани ечиш учун алгоритмлар тузиш мумкин, бунда алгоритмларнинг намунали куринишларидан фойдаланиш максадга мувофик булади.

Намунавий блок-схемалардан фойдаланиб ихтиёрий масала учун алгоритм тузиб, бирор алгоритмик тилда дастур яратиш мумкин. Хозирги пайтга келиб, фойдаланувчилар орасида кенг таркалган ва мухандислик масалаларини ечишга мылжалланган алгоритмик тиллардан бири 1969 йили швейцариялик олим Н. Вирт томонидан яратилган былиб, буюк француз олими Блез Паскал номи билан юритилади. 1981 йили Паскал тилининг хал=аро стандарти таклиф этилди. Шахсий компьютерларда Borland фирмасининг Турбо Паскал диалекти кенг кулланилади.

Хозирги пайтда мазкур тилнинг 7 венрсияси фойдаланувчилар учун таклиф килинган. Турбо Паскал дастурлар мажмуаси одатда каттик дискда ТР каталогида жойлаштирилган былади ва ыз ичига =уйидаги функцияларни олади:

- TURBO. EXE - дастурлар хосил =илиш учун мылжалланган файл

- TURBO. HLP - дастур учун зарур операторлар жамланмаси

- TURBO. TP - тизимни конфигурациялаш файли

- TURBO. TPL - Турбо Паскалнинг =ышимча модуллари

- GRAPH. TPU - тасвирн дастурлари ишлаши учун зарур файл

- EGAVGA. BGI - видео тизимларни мослаштирувчи драйверлар

Мазкур каталогда TURBO. EXE файлига мурожаат =илингандан сынг экранда Турбо Паскал мухитининг ыз меню сатрига эга былган тахрир =илиш сахифаси очилади. Меню сатрида алохида вазифаларига эга былган былимлар мавжуд.

Паскал тили алфавити

Танлаб олинган алгоритм асосида =ыйилган масалани компьютерда ечиш учун =андай алгоритмик тилнинг ыз алифбоси, буйру=лар мажмуаси ва махсус дастурлар жамланган кутубхонаси былиши зарур. Паскал тили алифбосини уч =исмга былиш мумкин,

- A дан  Z гача былган лотин алифбоси харфлари ва быш жойни аникловчи белги

- 0 дан 9 гача былган ра=амлар

- махсус белгилар

Махсус белгиларни ыз навбатида уч турга былинади.

1) +, -, *, / - арифметик амаллар, =ышиш, айириш, кыпайтириш ва былиш

2) Солиштириш амаллари белгилари

Паскал белгиси

Математик кыриниши

Маъноси

=

=

Тенг

< >

Тенг эмас

<

<

Кичик

<=

Кичик ёки тенг

>

>

Катта

>=

Катта ёки тенг



3) Тиниш  ёки ажратиш белгилари

, | . | ; | : | ( | ) | [ | ] | { | } | ` | := |

Фойдаланувчи томонидан бажэарилиши лозим былган маълум харакатни электрон хисоблаш

машиналарига махсус сызлардан ташкил топган операторлар `рдамида етказиб амалга ошириш мумкин. Демак, компьютер учун оператор бажарилиши сызсиз шарт былган буйру=дир.

Операторлар алгоритмик тилларда асосий  тушунча былиб, ыз навбатида икки гурухга былинади: оддий ва мураккаб операторлар.

Оддий операторлар жумласига begin, end, Uses, const, label каби операторлар киритилиши мумкин.

Мураккаб операторлар бир неча асосий операторларни ыз ичига олади.

Паскал тилида ызгарувчиларни тавсифлаш

Маълумки, хар кандай =иймат ёки белги билан иш кыриш учун энг аввало уларга хотирада жой ажратиш зурур былади. Бунинг учун ишлатилиши зарур былган ызгарувчи ёки ызгармаслар Паскал тилида эълон =илиниши керак. Кыпчилик холларда дастурларда ызгармас =ийматлар билан иш кыришга ты\ри келади. Масалан, n=20, e=2.71  каби сонлар Паскал тилида =уйидагича эълон =илинади.

Const pi=3.14; n=20; e=2.71;

Умумий холда ызгарувчилар var (variable) оператори ор=али =абул =илиши мумкин былган =ийматига =араб турларга былинади. Бутун сонлар ишлатилиши чегарасига =араб хар хил эълон =илиниши мумкин

- byte  0 дан 255 гача былган бутун сонлар

- shortint  -128 дан 127 гача былган бутун сонлар

- word  0 дан 65535 гача былган бутун сонлар

- integer  -32768 дан 32767 гача былган бутун сонлар

- longint  -2147483648 дан 2147483648 гача былган бутун сонларни =абул килади.

var  i, j : integer;

Ха=и=ий сонлар учун =ыйилган масалада ечимнинг ани=лик даражасига =араб =уйидаги операторлар ёрдамида идентификаторлар эълон =илинади:


Идентификатор тури

+ийматлар орали\и

Ани=лик даражаси

Эгаллаган щажми

Real

2.9e –39 .. 1.7e38

11 – 12

6 байт

Single

1.5e –45 .. 3.4e38

7 – 8

4 байт

Double

5.0e –324.. 1.7e308

15 – 16

8 байт

Extended

3.4e –4932 ..1.1e4932

19 – 20

10 байт


var  x, y:real;

Манти=ий ызгарувчилар эса Boolean  оператори ёрдамида эълон =илинади. Бу типдаги ызгарувчи фа=ат  рост - true  ёки ёл\он - false =ийматларини =абул =илади.

var a: boolean;

Белгилар Char оператори ёрдамида        узунликка эга булган сатрлар эса string оператори ёрдамиджа аникланади.

var  s: char;

  d: string;

begin

end.

Паскал алгоритмик тилида тузилаётган хар =андай дастур маълум бир структурага эга былади ва бу тилдаги энг кичик дастур =уйидаги кыринишда былади.

begin

(Дастурнинг асосий танаси)

end.

Компьютерда бирор масалани ечиш учун бош=а дастурларга, таш=и =урилмаларга мурожаат =илиш мумкин, ызгармас ёки янги ызгарувчиларнинг кыринишини эълон =илиш мумкин ва хакозо.

Шундай =илиб Паскал тилидаги дастур структураси =уйидаги кыринишда былади

Program  Программа мавзусини бериш

Uses  Ишлатилаётган кутубхона былимлари (модуллари)

Label  Дастурнинг асосий =исмида ишлатилаётган белги (метка) ларни эълон =илиш

Const  Ызгармасларни эълон =илиш

Type  Янги ызгарувчиларнинг турини муомалага киритиш

Var  Асосий дастурда муомалада быладиган ызгарувчиларни эълон =илиш

  Процедураларни эълон =илиш

Begin 

       Дастурнинг асосий =исми

End.

Демак, хар =андай дастур ю=орида берилган асосий тузилманинг хусусий холи былиши мумкин ва улар ыз навбатида Паскал тилига хос былган асосий тушунчалар асосида хосил =илинади.

ПРОЦЕДУРАЛАР.


  Одатда кыплаб масалаларни ечиш  жараёнида олдиндан масалани =андай =ийматлар (ызгарувчилар) учун берилишини билиб былмaйди. Лекин уни ечиш учун шартли равишда турли ызгарувчилар киритилади ва шу ызгарувчилар учун =ыйилган масалани тыла ечишнинг =онун - =оидалари (алгоритми) яратилади. Ыйлаб топилган ызгарувчилар формал  ызгарувчилар дейилади. Кейин шу синфга  таалу=ли  былган конкрет масалани олинади. Бу  масалада  одатда  щамма ызгарувчилар ани= кырсатиб =ыйилади ва бу ызгарувчилар жорий ызгарувчилар деб аталади. Энди  масалани ечиш учун яратилган щамма =онун-=оидаларни формал ызгарувчиларнинг ырнига масала шартида берилган жорий ызгарувчиларни =ыйиб бажарилади.

       Маълумки, ты\ри тыртбурчак юзи S=A*B формула  билан топилади. Бу ерда A-тыртбурчак быйини, B-эса энини ифодалайди.

Масала: Быйи N, эни M былган ты\ри туртбурчак юзини топинг. 

Ечиш: \ояси: Ты\ри тыртбурчакнинг юзи  быйи  билан  энининг кыпайтмасига тенг эканлиги ю=орида aйтилган эди. Уни =ыллаб юза топилади: S=N*M. Бу мисолда A ва B формал ызгарувчи, N ва M эса жорий ызгарувчи щисобланади.  Формал ызгарувчи билан жорий ызгарувчи устма-уст тушиши хам мумкин.

       Айрим бир масалаларни ечиш жараёнида битта масалани бир нечта кичик масалаларга былиб ечиш анчагина =улай щисоблана-ди. Агар хосил былган  масалалар  битта  синфга тегишли былса яна хам яхши. Бу щолда бир синфга тегишли былган щар бир масалага алохида  дастурлар ёзиш  ырнига улардан биттаси учун формал ызгарувчилар ыйлаб топилади ва масалани шу ызгарув-чилар учун ечиш буйру=лари кетма-кетлиги ташкил =илинади. Ана шу буйру=лар кетма-кетлиги процедура щисобланади. Щар бир процедура учун берилaдиган (асосий дастурдан ытадиган) ызгарувчилар рыйхати щамда процедурада щисоблaниши талаб =илинадиган ызгарувчилар рыйхати ани=лаб олинади. Зарур былганда ундаги формал ызгарувчилар ырнига жорий ызгарувчи-ларни =ыйиб, (руйxaтдаги 1-нормал ызгарувчи ырнига 1-жорий ызгарувчи, 2-формал ызгарувчи ырнига 2-жорий ызгарувчини =ыйиб ва хоказо) процедураларга мурожаат =илиш мумкин. Процедуралар  ишини ташкил килувчи дастурни асосий дастур дейилади. Процедурага асосий дастурдан туриб мурожаат =илинади. Бунинг учун процедура номи кырсатилади, сынг =авслар ичида жорий ызгарувчилар рыйхати берилади. Щар галги мурожаат =илишда асосий дастурдан процедурага тушадиган ва процедурадан асосий дастурга =айтиб чи=иб кетадиган  ызгарувчилар рыйхати кырсатилади. Асосий дастурдан процедурага мурожаат  =илинганда, асосий дастурнинг бажарилиш жараёни тыхтайди ва ЭЩМ процедурани бажара бошлайди. Процедурадаги барча буйру=лар жорий ызгарувчилар  учун  тыла  бажарилгандан сынг ЭЩМ яна асосий дастурнинг келган еридан бошлаб навбатда турган буйру=ларни бажаришда давом этади. Процедуралар

умумий кыринишда =уйидагича ёзилади :

  procedure  пр_номи ( var ruyxat1 ; var ruyxat2 ) ;

  var  ruyxat3 ;

  begin 

  процедура  буйру=лари кетма-кетлиги ;

  end;

Бу ерда ruyxat1-асосий дастурдан процедурага ытадиган формал ызгарувчилар ва уларнинг типлари; ruyxat2-процедурадан  асосий 

дастурга чи=иб кетадиган формал ызгарувчилар ва уларнинг типлари; ruyxat3 – орали= ызгарувчилар ва уларнинг типлари.

  Масала шартида кырсатилмаган, лекин  масалани  ечиш учун щисобланиши зарур былган ызгарувчиларни орали= ызгарувчилар дейилади. Орали= ызгарувчилар одатда  фа=ат битта процедура учун таалу=ли былади. Шунинг учун уларни локал (махаллий) ызгарувчилар деб хам  юритилади. Фараз =илайлик, квадрат тенгламани ечиш учун процедура ташкил =илинган былсин. Бу процедура учун  дискриминантни ифодаловчи ызгарувчи локал ызгарувчи щисобланади. Процедурада =атнашaётган барча локал ызгарувчилар процедуранинг биринчи begin хизматчи сызидан аввал эълон =илиниши шарт. Процедурада локал ызгарувчилар-нинг =атнашмаслиги хам мумкин. 

  Глобал  ызгарувчилар деб бир ва=тнинг ызида хам асосий дастурга, хам процедураларга таалу=ли былган ызгарувчиларга aйтилади. Вазирлар махкамасининг =арорларини глобал десак, вилоят хокимининг карорларини локал деб =араш мумкин.

  Битта дастурда бир нечта  процедуралар =атнашиши  хам мумкин. Процедуралар битта дастурда  бир марта ани=ланади, лекин эщтиёжга =араб бир неча марта фойдаланиш мумкин. Процедураларни асосий дастурда ызгарувчилар типлари кырсатилгандан сынг, биринчи BEGIN хизматчи сызидан аввал ташкил =илинади. Процедуралар =атнашган  дастурнинг умумий кыриниши =уйидагича:

program  дастурнинг номи ;

  label  там\aлар рыйхати ;

  const  ызгармаслар рыйхати ;

  type  янги типларни ани=лаш ;

  var  асосий дастурда =атнашaдиган ызгарувчилар;

procedure проц_номи(var формал узг:тип; var натижалар: тип);

  var  локал ызгарувчилар : тип ;

begin

  процедура буйру=лари кетма-кетлиги ;

end ;

  begin

  асосий дастур буйру=лари кетма – кетлиги ;

  end.

Агар процедура эълон =илинган былса, ундан дастурнинг кейинги =исмларида фойдаланиш мумкин.  Бунинг  учун  аввал процедура

  Агар exit ёки halt операторлари процедура  амаллари таркибида учраб =олса, бу процедуранинг exit ёки halt операторларидан кейинги кырсатилган буйру=лари  бажарилмай, бош=арув навбатдаги блоккa (процедурага  мурожаат =илинган жойга) ытади.

ПРОЦЕДУРА-ФУНКЦИЯ.


  Турли ифодаларнинг  =ийматларини щисоблашда =андайдир функцияларнинг =ийматларидан фойдаланишга ты\ри  келaди. Масалан, y=5*sin X+3  ифоданинг =ийматини щисоблaганда аввал sinX ырнига унинг =ийматини топиб =ыйилади ва 3 га =ышилади. Агар sinX функциясининг ырнида мураккаб функция ёки узундан-узун арифметик ифода турсачи?. Бундай холларда дастурчининг ишини бир мунча соддалаштириш учун Турбопаскалда процедура-функциялар ёки фойдаланувчи функциясини тузиш имконият-лари яратилган. Процедура-функциялар одатда мураккаб ифода-ларни, узун арифметик  ифодаларни ёки бирoр ифода =ийматини  аргументларнинг турли =ийматлари учун щисоблашга ты\ри келган холларда ташкил =илиниши мумкин. Функциялар дастурнинг =исми былиб, умумий  кыринишда =уйидагича ани=ланади:

function функция номи (формал ызгарувчилар) :тип ;

const ызгармаслар rуйхати ;

type  янги типлар ;

var  локал ызгарувчилар ;

begin

  процедура-функция буйру=лари кетма-кетлиги ;

end ;

  Процедура – функциялар ёки функциялар процедуралар каби асосий дастур таркибида, ызгарувчиларнинг типлари ани=лангандан  сынг асосий  дастурнинг  биринчи  BEGIN хизматчи сызидан аввал кырсатилади. Процедурадан функция =уйидаги томонлари билан фар= =илади :

Функция номини ифодалaётган ызгарувчига албатта =иймат

берилиши керак.

2) Функция номини ифодалаётган ызгарувчи типини кырсатилади.

3) Процедура бир нечта ызгарувчи =ийматларини щисоблаш учун мылжалланади, функцияда эса унинг номини ифодалаётган ызгарувчининг =ийматини топилади.

       Процедуралардан фойдаланиш учун алощида буйру= ёзилса, функцияни бирон бир ифоданинг таркибида ча=ирилади. Бунинг учун унинг номи кырсатилади ва =авслар ичида жорий ызгарувчилар рыйхати кырсатилади. Шуnдан сынг  функция ана шу жорий ызгарувчиларни формал  ызгарувчилар  ырнига =ыйиб (1-формал ызгарувчи ырнига 1-жорий  ызгарувчи, 2-формал ызгарувчи ырнига 2-жорий ызгарувчи ва хоказо), функциядаги амаллар кетма-кетлигини бажарилади ва функция номи билан аталган ызгарувчининг =ийматини щисобланади. Бу =иймат функцияни ча=ираётган ёзув билан алмаштирилади ва ифода =ийматини щисоблашнинг кейинги амалларига ытилади.

       Агар функция номи процедура-функцияда бир неча марта =иймат oлса, унинг энг охирги олган =иймати асосий дастурга =айтади. Агар функция номи бирор марта хам =иймат олмaган былса, у щолда процедура-функция ани=ланмaган щисобланади.

Агар exit ёки halt буйру=лари функция амаллари таркибида учраб =олса, бу функциянинг exit ёки halt дан кейинги кырсатилган буйру=лари бажарилмай, бош=арув навбатдаги блокка (функцияга мурожаат =илинган жойга)  ытади.

Турбо-Паскал дастурлар мажмуаси одатда =атти= дискда ТР каталогида жойлаштирилган былади ва ыз ичига =уйидаги функцияларни олади:

-TURBO. EXE-дастурлар щосил =илиш учун мылжалланган файл;

-TURBO. HLP-дастур учун зарур операторлар жамланмаси;

-TURBO. TP-тизимни конфигурациялаш файли;

-TURBO. TPL - Турбо-Паскалнинг =ышимча модуллари;

-GRAPH. TPU-тасвир дастурлари ишлатилиши учун зарур файл;

-EGAVGA. BGI-видеотизимларни мослаштирувчи драйверлар;

Мазкур каталогда TURBO. EXE файлига мурожат =илингандан сынг экранда Турбо-Паскал мущитининг ыз меню сатрига эга былган тащрир =илиш сащифаси очилади. Меню сатрида алощида вазифаларга эга былган ушбу былимлар мавжуд.

File, Edit, Search, Run, Comple, Debug, Options, Windows, Help.

Эндиги асосий вазифа Пачскал тилининг асосий имкониятларидан фойдаланиб мущандислик масалаларини компьютерда ечишдан иборат.

ПАС КАЛ ТИЛИ АЛФАВИТИ.

Танлаб олинган алгоритм асосида =ыйилган масалани компьютерда ечиш учун щар =андай алгоритмик тилнинг ыз алифбоси, буру=лар мажмуаси ва мащсус дастурлар жамланган кутубхонаси былиши зарур. Паскал тили алифбосини 3 =исмга былиш мумкин:

-А дан Z гача быган лотин щарфлари ва бы жойни ани=ловчи белги;

-0 дан 9 гача былган араб ра=амлари;

-32 кирилл щарфлари;

-масус белгилар.

Мащсус белгиларни  ыз навбатида уч турга былинади.

+  , -, * , / - арифметик амаллар: =ышиш, айириш, кыпайтириш, ва былиш амаллари белгиси; солиштириш амаллари белгилари:

Паскал белгиси

Математик кыриниш

Маъноси

=

<>

<

<=

>

>=

=

=

<

>


Тенг

Тенг эмас

Кичик

Кичик ёки тенг

Катта

Катта ёки тенг


Тиниш ёки ажратиш белгилари;

. , ; :  (  )    :=

Фойдаланувчи томонидан бажарилиши лозим былган маълум щаракатни элэктрон щисоблаш машиналарига мащсус сызлардан ташкил топган операторлар ёрдамида етказилиб амалга оширилиши мумкин. Демак, компьютер учун оператор бажрилиши сызсиз шарт былган буйру=лардир. 

Операторлар алгоритмик тилларда асосий тушунча былиб ыз навбатида икки гурущга былинади: оддий ва мураккаб операторлар.

Оддий операторлар жумласига Begin, end, Uses, Const, Label  киритилиши мумкин. Мураккаб операторлар бирнеча операторларни  ыз ичига олиши мумкин.

Паскал тилида сыз деб бирнечта белгилар кетма-кетлиги тушунилади. Щизматчи сыз деб Паскал итилидаги стандарт ном тушунилади. Бу ном мащсус маънони англатади ва уни маълумотлага бериб былмайди.

Па  кал тилидаги маълумотларнинг элементлари былиб, ызгарувчилар, ызгармаслар щизмат =илади.

-Ызгарувчилар деб щисоблаш жараёнида ыз =айматини ызгартирадиган катталикларга айтилади. Ызгарувчиларнинг номлари (идентфикаторлар) Щарфлардан ёки Щарф ва ра=амлардан иборат былади. Белгилар сони 8 тадан ошмаслиги керак.

Ызгармаслар (const) деб щисоблаш жараёнида ыз =ийматини ызгартирмайдиган катталикларга айтилади. Буларга щам ызгарувчилар каби ном берилади.

Изощлар-дастурнинг маълум =исмини тавсифлаш учун ишлатилади ва бу =аторда щеч =андай амал бажарилмайди, яъни дастурнинг бирор блокини яхширо= тушунишга щизмат =илади.

МАЪЛУМОТЛАР ТУРЛАРИ

Паскал тилида маълумотларнинг тоифаларининг икки хил кыриниши мавжуд.

1) ОДДИЙ-СКАЛЯР

2) МУРАККАБ.

Скаляр тоифа ыз навбатида ызгарувчи ва стандарт тоифаларга былинади. Ызгаручи тоифага =айд =илинган ва чегараланган тоифалар киради.

Стандарт тоифаларга =уйидагилар киради:

INTEGER-бутун

REAL-ща=и=ий

BOLEAN-манти=ий

CHAR-символ.

INTEGER-Бутун тоифадаги маълумотлар фа=ат бутун сонларни =аъбул =илади. Бутун сонлар =уйидагилар щисобланади:

-7, 4, 54, 1, 100, 62, 12000, ...ва щоказолар.

REAL-ща=и=ий тоифадаги маълумотларни ыз ичига олди. Ща=и=ий тоифадаги маълумотлар икки турга былинади, булар =уйидагилар:

А) +ыз\алмас ну=тали ща=и=ий сонлар.

В) +ыз\алувчи ну=тали ща=и=ий сонлар.

BOLEAN-манти=ий тоифадаги маълумотларни ыз доирасига олади. Бу ном инглиз математиги Жорж Буль шарафига =ыйилган. BOLEAN типидаги ызгарувчилар фа=ат иккита =иймат =абул =илади. Булар =уйидагилардир:

  TRUE-рост

  FALSE-ёл\он

CHAR-белги (символ) тоифадаги маълумотлар =иймат сифатида ASII кодлар жадвалидаги белгиларнинг биттасини=абул =илади. Бу маълумотлар апастроф белгиси ичига олиб ёзилади.

STRING (N)- =атор, бу ерда N =атордаги символлар сони(кырсатилмаган былса, у 256 та тенглаштирилади).Бу турдаги маълумотларбитта ёки бир нечта белгилар кема-кетлигиданташкил топиб, апастроф белгиси ичида берилади.

Бундан таш=ари Турбо Паскалда =атор STRING тури киритилган. Мураккаб тоифаларга эса маълумотларнинг мунтазам (массив), тыплам, аралаш(ёзувлар), мурожаат ва файлли тоифалар киради.

Стандарт функциялар

Паскаль  тилида  =уйидаги  стандарт  функциялар  ани=ланган :

Функциянинг Паскаль тилидаги  ифодаси

Функциянинг математик  ифодаси

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

Функция  тури

Функциянинг Паскалдаги  ифодаси 

Функциянинг математик  ифодаси

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

Функция  тури

Abs(x)

/x/

Real

Real

Sqr(x)

X2

Real

Real

integer

integer

integer

integer

Sqrt (x)

Real

Real

Exp(x)

ex

Real

Real

integer

integer

integer

integer

ln(x)

lnx

Real

Real

Sin(x)

Sinx

Real

Real

integer

real

integer

Real

Cos(x)

Cosx

Real integer

Real Real

Arctan(x)

Arctgx

Real integer

Real Real

Round(x)

X ни  яхлитлаш

Real

integer

trunc(x)

x нинг  бутун  =исмини  олиш

Real

integer



ИФОДАЛАР.

Паскал алгаритмик тилида тилида арифметик, манти=ий ва белгили ифодалар ани=ланган.

Арифметик ифодалар ызгарувчилар, ызгармаслар, арифметик амал белгилари =авс ва стандарт функциялардан функциялардан ташкил топади. Арифметик ифодада =атнашаётган амаллар устворлигига =араб бажарилади. амаллар =уйидаги устиворликка эга:

1.+авс  ичидаги  амаллар  ва стандарт  функцияларни  щисоблаш

2.Кыпайтириш  , былиш, DIV, MOD  амаллари

3. +ышиш ва айириш амаллари

  ДАСТУР ТУЗИЛИШИ

Пасмкал тилида тузилаётган щар =андай дастур маълум =онуниятларга асосланган былади ва бву тилдаги энг кичик дастур =уйидагича былади:

Begin

End.

Бу дастур щеч =андай вазифа бажармайди, лекин комптер учун бу нарсакнинг ащамияти йы=,  энг мущими дастурнинг бошланиши ва тугашни ани=ловчи операторлар берилган. Демак бу операторлар орасида фойдаланувчи учун зарур былган ифодаларни бажарувчи бош=а щар =андай операторларни жойлаштириш мумкин:

Begin

Дастурнинг асосий =исми

End.

Компютерда бирор масалани ечиш учун бош=а дастурлар, таш=и =урилмаларга мурожаат =илиш мумкин, ызгармас ёки янги ызгарувчиларнинг кыринишларини эълон =илиш мумкин ва що казолар. Бу амаллар щамма ва=т асосий дастурдан олдин эълон =илинади.

Шундай =илиб Пасксл дастурлаш тилидаги дастур тузилиши =уйидаги кыринишга эга:

Uses  Ишлатилаётган кутубхона былимлар (модуллари)

Label  Дастурнинг асосий =исмида ишлатилаётган белгиларни эълон =илиш

Const  Ызгармасларни эълон =илиш

Type  Янги ызгарувчиларнинг турини муомалага киритиш

Var  Асосий дастурда муомалада былган ызгарувчиларни эълон =илиш;

ПРОЦЕДУРАЛАРНИ ЭЪЛОН +ИЛИШ.

Begin

  Дастурнинг асосий =исми

End.

Демак щар =андай дастур ю=орида бериган асосий тузилманинг щусусий щоли былиши мумкин ва улар ыз навбатида Паскал тилига хос былган асосий тушунчалар асосида щосил =илинади.

Паскал тлида махсус ва элементар функцияларнинг берилиши

abs(x)  - |x|

sqrt(x) - 

sqr(x)  -

sin(x)  - sin x

cos(x)  - cos x

ln(x)  - ln x

exp(x)  -

arctan(x) - arctg x

Round(x) – х ни яхлитлаш

trunc(x) – х нинг бутун =исми

Cимволлар учун =уйидаги функциялар ишлатилади:

Chr(n) - n тартиб номерига мос келувчи белгини аниклайди

Ord(x) - х белгининг тартиб номерини аниклайди

Pred(x) - х дан олдинги белгининг тартиб номерини ани=лайди

Succ(x) - х дан кейинги белгининг тартиб номерини ани=лайди

Келтирилган функциялар Паскал тилида махсус функциялар деб аталади.

Асосий операторлар

Фойдаланувчи томонидан таклиф этилган алгоритм асосида =ыйилган масалани компьютерда ечиш учун Паскал тилининг бош=арувчи операторларини ишлатиш зарур былади.

Ызлаштириш оператори:  x:=a;

Бу ерда

х - ызлаштирувчи идентификатор;

a - ихтиёрий ифода;

:=- ызлаштириш белгиси;

Киритиш оператори:  Read(a);

Чи=ариш оператори: Write(a);

       Мисол: Учбурчакнинг томонлари а, в, с лар берилган былса, унинг баландликларини щисобловчи дастур тузамиз.

       Маълумки, баландликлар =уйидаги муносабатлар ёрдамида ифодаланади:

       

       

       бунда,

       Хисоблаш жараёнига мос блок-схемани тузамиз:

       

  Энди берилган топшири= хисоблаш жараёнига мос Паскал тилидаги дастурини тузамиз:

        Program Balandlik;

       Var a, b, c, ha, hb, hc, p, s :real;

       Begin

       Read(a, b, c); {учбурчак томонларини киритиш}

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

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

       ha:=2*s/a;

       hb:=2*s/b;

       hc:=2*s/c;

       writeln( ‘ha=’,ha, ‘hb=’, hb, ‘hc=’,hc); {Натижани чи=ариш}

       end.

Шартсиз ытиш оператори: Goto m;

       Бу ерда m - дастурда label оператори ёрдамида эълон =илинувчи нишонни ани=лайди. Масалан,

       Label m1, nk;

       ............

       goto m1;

       ......

       goto nk;

....

       m1: .....

       nk: ....

       Шартли ытиш оператори

       If <шарт> then <оператор>1 else <оператор>;

       Бу операторнинг ишлаш принцпи =уйидагича: Агар <шарт> бажарилса, <оператор1> ни, <шарт> бажарилмаса, <оператор2> ни ишга туширади.

       Мисол: 

If abs(x)< 1 then y:=sqr(x)

                else y:=1;

Вариант оператори

       Бу оператордан дастурда 3 ва ундан орти= шартлар асосида ишлашга ты\ри келганда фойдаланилади.

       Мисол:

       Case A of

               1: A1;

               2: A2;

               3: A3;

               4: A4;

       end;

       Бу операторнинг маъноси A нинг =иймати 1 га тенг былганда, А1 операторни, 2 га тенг былганда А2 операторнинг ва щ. к. операторларнинг ишга туширади.

Цикл оператори

       1. Параметрли цикл оператори

       For i:=n1 to n2 do <операторлар>;

       Бу такрорланиш оператори n1<n2 былганда ишлайди. n2>n1 былса, for i:=n1 downto n2 do <операторлар>; кыринишига эга былади.

       2. Шарти бошида бериладиган цикл оператори

       while <шарт> do <операторлар>;

       Бу оператор шарт бажарилса такрорланади. Бажарилмаган щолда цикл тухтайди.

       3. Шарти охирида бериладиган цикл оператори.

       Repeat <операторлар> until <шарт>;

       Бу оператор шарт бажарилмаса цикл давом этади, бажарилган пайтда цикл тугайди.