Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Рнектер. Арифметикалық және логикалық өрнектер
Бү тін шамаларғ а (integer типі) қ олданылатын келесі арифметикалық операциялар анық талғ ан: * (кө бейту), div (бү тін бө лу), mod (бө лудің қ алдығ ын есептеу), +, - (қ осу жә не алу); бұ л операциялар басымдылық реті бойынша келтірілген. Мысалы: 25 div 4 = 6; 25 mod 4=1. кейбір стандартты функциялар бү тін нә тиже қ айтарады (функцияның аргументі жай жақ шаларғ а алынады): abs(x) – бү тін х шаманың абсолют мә ні; sqr(x) - х мә ннің квадраты; trunc(x) – нақ ты х шаманың бү тін бө лігі; round(x) – дө ң гелектендіру ережесі бойынша нақ ты х шамасынан алынғ ан бү тін сан; random(x) – 0-ден х -ке дейінгі аралық тан алынғ ан кездейсоқ сан. Мысалы: trunc(4, 7)=4; round(4.7)=5; sqr(3)=9. byte типті деректер ү шін анық талғ ан операциялар мен функциялар integer типті деректер ү шін анық талғ ан операциялар мен функцияларбірдей. Нақ ты шамаларғ а қ олданылатын келесі операциялар анық талғ ан: *, +, -, /, жә не сонымен қ атар аргументі нақ ты немесе бү тін болатын стандартты функциялар: abs(x), sqr(x), sin(x), cos(x), arctan(x), ln(x), exp(x), sqrt(x) – х-тің тү бір асты, int(x) - х-тің бү тін бө лігі, random - 0-мен 1 аралығ ындағ ы кездейсоқ сан. Кө рсетілген операциялар жә не функциялар нақ ты нә тижені қ айтарады. Логикалық шамаларғ а қ олданылатын келесі операциялар: not - терістеу, and -конъюнкция, оr - дизъюнкция. Логикалық odd(x) функция егер бү тін х сан тақ болса true мә нін қ абылдайды, ал жұ п болса false мә нін қ абылдайды. Барлық символдардың жиыны символдық шамаларды (char типі) қ ұ райды, олар реттелген болып табылады, сонымен қ атар: 'А' < 'В'< 'С <..< 'Z', 'а' < 'b' <...< 'z’, '0' < ‘1’ <..< '9'. Паскаль екі жолдық операндтарды біріктіру ү шін + (конкатенация) операциясын пайдалануғ а мү мкіндік береді. s жә не t жолдық, символдық немесе пакеттелген жолдық типке ие болатын s + t операцияның нә тижесі s пен t - ның конкатенациясы болады. Нә тиже кез келген жолдық типке ү йлесімді болады. Егер нә тижелі жолдың ұ зындығ ы 255 символдан асып кететін болса, онда ол 255 символғ а дейін қ ысқ артылады. Ө рнектер – ол айнымалылардың мә ндерін есептеу ережелерін беретін конструкциялар. Жалпы жағ дайда ө рнектер операциялар мен жақ шаларды қ олдану арқ ылы айнымалылардан, тұ рақ тылардан функциялардан қ ұ рылады. Ө рнектердің бұ л рө лі тілдің негізгі операторында – меншіктеу операторында бейнеленген. Оның тү рі: Идентификатор: = ө рнек; Айнымалының типі жә не ө рнектің типі ү йлесімді болуы тиіс (шамалар бір типке жататын болуы керек). Ерекшелік бар: айнымалының аталуы real типіне, ал ө рнектің мә ні integer типіне жатуы мү мкін. Мысалдар. a: =2*pi*r; p: =(a+b+c)/2; z: =sqrt(sqr(x)+sqr(y)) Ө рнектерді жазғ анда Паскальда қ абылданғ ан есептеу ретін ескеру керек. Ө рнектер операциялар мен операндтардан тұ рады. Операциялардың кө бісі бинарлы болып табылады, яғ ни екі операндты қ амтиды. Қ алғ ан операциялар унарлы жә не жалғ ыз операндты қ амтиды. Бинарлы операцияларда кә дімгі алгебралық бейнелеу пайдаланылады, мысалы: a+b. Унарлық операцияларда операция ә рдайым операндтың алдында болады, мысалы: -b. Кү рделілеу ө рнектерде орындалу реті операциялардың басымдылық тарына сә йкес:
Операциялардың ү лкенділігін (басымдылығ ын) анық тау ү шін негізгі ү ш ереже бар: · басымдылық тары ә ртү рлі болатын екі операциялардың арасындағ ы операнд басымдылығ ы жоғ арылау болатын операциямен байланысады. · басымдылық тары бірдей болатын екі операциялардың арасындағ ы операнд сол жақ та орналасқ ан операциямен байланысады. · жақ шаларғ а алынғ ан ө рнек, орындалудың алдында жеке операнд сияқ ты есептелінеді. Басымдылық тары бірдей болатын операциялар ә детте сол жақ тан оң жақ қ а қ арай орындалады, бырақ кейде компилятор оптималды кодты генерациялау барысында операндтардың ретін ө згертуі мү мкін. Егер not операцияның операнды бү тін типті операнд болып табылса, онда нә тижеде бү тін типті болады. Егер or, and немесе xor операцияларындағ ы операндтардың екеуі де бү тін типті болса, онда нә тиженің типі де осы екі операндтардың типіндей болады. not операциясы унарлы операция болып табылады. Бұ л операциялардың нә тижелері кә дімгі бульдік логикағ а сә йкес. Мысалы, a and b ө рнек ақ ихат (Тruе) болады тек егер екі a жә не b операндтар ақ ихат (Тruе) мә ндерге ие болғ анда ғ ана. i shl j жә не i shr j операциялары i мә нін сол жақ қ а немесе оң жақ қ а j битке жылжытады. Нә тиженің типі i –дің типімен бірдей. 6.3 Стандартты ішкі программалар (кірістірілген функциялар мен процедуралар) Паскаль тілінде типтік операциялардың орындалуын қ амтамасыз ететін қ ұ рамына кірістірілген кө птеген функциялар бар. Pascal ABC жү йесінің стандартты System модуліне шолу. System модулі кез келген программағ а автоматты тү рде қ осылады. Ол стандартты деп аталатын бір қ атар процедураларды, функцияларды, типтерді қ амтиды. · жалпы стандартты процедуралар мен функциялар; · жолдармен жұ мыс жасауғ а арналғ ан стандартты процедуралар мен функциялар; · файлдармен жұ мыс жасауғ а арналғ ан стандартты процедуралар мен функциялар; · жадымен жұ мыс жасауғ а арналғ ан стандартты процедуралар мен функциялар; · жү йелік стандартты процедуралар мен функциялар; · стандартты тұ рақ тылар; · ерекшелеулердің стандартты класстары. Бұ л функциялармен Pascal ABC анық тамалық жү йесінен толығ ырақ танысуғ а болады. Мысалы, жалпы стандартты процедуралар мен функциялардың қ ұ рамы келесі кестеде келтірілген. Кесте 6.1 Жалпы стандартты процедуралар мен функциялар
Кесте 6.2 Файлдармен жұ мыс жасауғ а арналғ ан стандартты процедуралар мен функциялар
Кесте 6.3 Жү йелік процедуралар жә не функциялар
7 лекция Қ ұ рылымды деректер (типтер) Қ ұ рылымды тип қ ұ рылымдау ә дісі жә не ө з компоненттерінің типтері арқ ылы сипатталады, біреуден кө п мә ндерге ие. Егер компонентінің типі қ ұ рылымды болса, онда нә тижеде пайда болатын тип қ ұ рылымдаудың біреуден кө п дең гейіне ие. Қ ұ рылымды типті сипаттаудағ ы packed сө зі компилятордан сақ талатын деректерді тығ ыздауды талап етеді. Паскальда қ ұ рылымды типтің максималды рұ қ сат етілген ө лшемі 65520 байт. Паскальда қ ұ рамына ендірілген реттік жеті типтер бар: integer (бү тін), shortint (қ ысқ а бү тін), longint (ұ зын бү тін), byte (ұ зындығ ы байт), word (ұ зындығ ы сө з), boolean (бульдік) жә не char (символдық). Сонымен қ атар, тұ тынушы анық тайтын реттік типтердің басқ а екі класы бар: санақ тап шығ атын типтер жә не типтердің кесінділері. Реттік типтердің рұ қ сат етілген мә ндері элементтердің шектеулі санынан тұ ратын жиын болып табылады. Бұ л жиында бірінші жә не соң ғ ы элементтер бар. Сонымен қ атар, реттік типтегі ә р элемент оның алдындағ ы жә не одан кейінгі элементтерге ие. Реттік типтегі элементтерді белгілі бір ретпен, мысалы ө суі бойынша орналастырып, нө мірлеп қ оюғ а болады. Ord (...) процедурасы реттік типке ие болатын аргументтің реттік нө мірін есептейді. Реттік типтерге қ арағ анда нақ ты типтер нақ ты сандар (бү тін бө лігімен қ атар бө лшек бө лігі де бар сандар) болып табылады, ал нақ ты сандар жиының нө мірлеу мү мкін емес. Реттік типтер жай типтердің ішкі жиыны болып табылады. Нақ ты типтерден ө згеше барлық жай типтер реттік болып табылады жә не келесі тө рт қ асиеттері бойынша ерекшеленеді: 1. берілген реттік типтің барлық мү мкін болатын мә ндері реттелген жиын болып табылады, жә не мү мкін болатын ә р мә н бү тінсанды мә н болатын реттік нө мірмен байланысқ ан. Бү тінсанды типтің мә ндерінен басқ а кез келген реттік типтің бірінші мә ні реттік 0 нө міріне ие, келесі мә н реттік 1 нө мірге ие жә не ары қ арай ә р мә н ү шін. Бү тінсанды типті мә ннің реттік нө мірі сол мә ннің ө зі болып табылады. Кез келген реттік типте біріншіден басқ а ә р мә ннің алдында басқ а мә н бар жә не соң ғ ысынан басқ а ә р мә ннен кейін типтердің реттелуіне сә йкес басқ а мә н ілеседі. 2. реттік типтің кез келген мә ніне сол мә ннің реттік нө мірін қ айтаратын стандартты Ord функциясын қ олдануғ а болады. 3. реттік типтің кез келген мә ніне сол мә ннің алдындағ ы мә нді қ айтаратын стандартты Pred функциясын қ олдануғ а болады. Егер бұ л функция осы реттік типтегі бірінші мә нге қ олданылатын болса онда қ ателік туралы хабарлама беріледі. 4. реттік типтің кез келген мә ніне сол мә ннен кейінгі мә нді қ айтаратын стандартты Succ функциясын қ олдануғ а болады. Егер бұ л функция осы реттік типтегі соң ғ ы мә нге қ олданылатын болса онда қ ателік туралы хабарлама беріледі. Бү тінсанды типтегі операндтарғ а қ олданылатын арифметикалық амалдар келесі ережелерге сә йкес 8-биттік, 16-биттік жә не 32-биттік дә лділікті кө здейді: · бү тін тұ рақ тының типі осы бү тін тұ рақ тының мә нін қ амтитын қ ұ рамына кірістірілген ең кіші диапазонды бү тінсанды тип болып табылады. · бинарлық операция жағ дайында (екі операндты пайдаланатын операция) оларғ а амал қ олдану алдында операндтардың екеуі де олардың ортақ типіне тү рлендіріледі. Ортақ тип болып екі типтің де барлық мү мкін болатын мә ндерін қ амтығ ан қ ұ рамына кірістірілген ең кіші диапазонды бү тінсанды тип болып табылады. Мысалы, бү тін жә не ұ зындығ ы байт типтердің ортақ типі бү тін, ал бү тін жә не ұ зындығ ы сө з бү тін ү шін ортақ тип ұ зын бү тін болып табылады. Амалдар ортақ типтің дә лділігіне сә йкес орындалады жә не нә тиженің типі ортақ тип болып табылады. · меншіктеу операторының оң жағ ындағ ы ө рнек сол жақ тағ ы айнымалының ө лшеміне тә уелсіз есептеледі. Бір бү тінсанды типтің мә нін екінші бү тінсанды типке типтерді келтіру операциясы арқ ылы айқ ын тү рде тү рлендіруге болады. Кез келген екі жолдық мә ндер арасындағ ы қ атынас сә йкесінше позициялардағ ы символдардың мә ндері арасындағ ы реттік қ атынасқ а сә йкес орнатылады. Мысалы, 'Xs' > 'X'. Нө льдік жолдар басқ а нө льдік жолдарғ а ғ ана тең, жә не олар ең кіші жолдық мә ндер болып табылады. Жолдағ ы символдарғ а массивтің компоненттеріне сияқ ты қ ол жеткізуге болады. Жолдық типтің мә ні ұ зындық атрибуты динамикалық болатын (программаның орындалу барысындағ ы символдардың нақ ты мө лшер санына тә уелді) жә не ө лшем атрибуты 1 ден 255 дейін аралық та тұ рақ ты болатын символдар тізбегі болып табылады. Ұ зындық атрибутының ағ ымдағ ы мә нін стандартты Length функция арқ ылы алуғ а болады.
|