Турбо - Паскал алгоритмик тили
Замонавий компьютерларда турли дастурлаш тиллари кенг кулланилади. Бу дастурлар иктисодиёт, бошкариш, хизмат курсатиш ва айникса саноат ва ишлаб чикаришнинг турли сохаларида мухим ахамиятга молик масалаларни хал килишда баъзан ягона омилга айланмокда. Бу эса уз навбатида мухандислик ва бошкариш сохаси ходимлари учун компьютерлардан унумли ва окилона фойдаланишни такоза этади.
Компьютерда бирор муаммони хал килиш бир неча боскичларга булинади. Аввалам бор тахлил килинаётган жараён еки иншоотнинг зарур жихатларини узида мумкин кадар тула акслантирган математик инъикоси (модели) тузиб олинади.
Математик модел формула ва тенгламалар тизими куринишида ифодаланади. Хосил булган масалани ечиш учун энг макбул хисоблаш алгоритми тузилади.
Аникланган алгоритмга хос хисоблаш усули танлаб олинади ва бу усулни компьютер ва фойдаланувчи тушунадиган тилда хотирага жойлаштирилади.
Бирор алгоритмик тил асосида тузилган дастур буйича олинган натижалар тахлил килинади ва улар асосида урганилаётган жараён учун хос булган умумий конуниятлар аникланади.
Алгоритм - бирор масаланинг ечилиши учун зарур булган буйрукларнинг тартибланган кетма-кетлиги булиб одатда блок-схема шаклида берилади. Блок-схемалар куйидаги элементлардан иборат булади:
- алгоритм бошланиши ва тугаши
-бошлангич маълумотларни киритиш
-арифметик ва мантикий ифодаларни хисоблаш
-бошкаришни шарт асосида узгартириш
-кайтарилиш жараёни
- кичик дастурларга мурожаат килиш
-натижаларни ташки курилмаларга чикариш
Кайд этилган блок-схемалардан фойдаланиб ихтиёрий масалани ечиш учун алгоритмлар тузиш мумкин, бунда алгоритмларнинг намунали куринишларидан фойдаланиш максадга мувофик булади.
Намунавий блок-схемалардан фойдаланиб ихтиёрий масала учун алгоритм тузиб, бирор алгоритмик тилда дастур яратиш мумкин. Хозирги пайтга келиб, фойдаланувчилар орасида кенг таркалган ва мухандислик масалаларини ечишга мылжалланган алгоритмик тиллардан бири 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 <шарт>;
Бу оператор шарт бажарилмаса цикл давом этади, бажарилган пайтда цикл тугайди.


