Новые книги

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

Курс является достаточно подробным введением в язык программирования Perl. Описывается уникальная культура Perl и особенности, отличающие его от других языков программирования и во многом обусловившие его популярность. Рассматриваются основные средства программирования на языке Perl версии 5.8. Разбираются богатые возможности языка для создания самых разных приложений, а также особый стиль программирования на Perl. Курс ориентирован на студентов, начинающих программистов или разработчиков, применяющих другие языки и желающих писать прикладные или системные программы на Perl.
Сколько бы денег мы ни тратили на рекламу магазина, какие бы ни устраивали акции или распродажи, магазин не будет приносить прибыль без четкой и слаженной работы сотрудников. Посетители магазина превратятся в покупателей, только если магазин будет чистым, если продавцы будут встречать клиентов с приятными улыбками, если персонал всегда будет готов помочь и если директор будет грамотно управлять сотрудниками. В своей книге Виктория Ламанова, много лет руководившая розничными магазинами, рассказывает, как заставить ваш магазин работать как часы. Автор делится рекомендациями, основанными на собственном практическом опыте работы в России. Вы узнаете об отточенных в реальной жизни методиках составления регламентов, способствующих повышению эффективности работы сотрудников и увеличению продаж, об анализе деятельности магазина, об оценке работы персонала, мотивации и обучении сотрудников.

5. Стандартные типы данных

5. Стандартные типы данных

   К стандартным относятся целые, действительные, символьный и адресный типы.

   Целые типы  определяют константы,переменные и функции,значения

которых реализуются множеством целых чисел,  допустимых в данной ЭВМ.

 

 тип            диапазон значений       требуемая память

__________________________________________________________

Shortint            -128 .. 127           1 байт

Integer           -32768 .. 32767         2 байта

Longint      -2147483648 .. 2147483647    4 байта

Byte                   0 .. 255           1 байт

Word                   0 .. 65535         2 байта

__________________________________________________________

   

   Над целыми операндами  можно  выполнятьследующие  арифметические

операции: сложение,вычитание, умножение, деление, получение остатка

от деления. Знаки этих операций:

  

        +      -     *     div     mod

   

   Результат арифметической операции над целыми операндами есть вели-

чина целого типа. Результат выполнения операции деления целых величин

есть целая часть частного.Результат выполненияоперации  получения

остатка от деления - остаток от деления целых. Например:

  

        17 div 2 = 8,   3 div 5 = 0.

        17 mod 2 = 1,   3 mod 5 = 3.

  

   Операции отношения,  примененные к целым операндам, дают результат

логического типа TRUE или FALSE ( истинаили  ложь ).

   В языке ПАСКАЛЬ имеются следующие операции отношения: равенство =,

неравенство <>, больше или равно >=,  меньше или равно <=,больше >,

меньше < .

   К аргументам целого типа применимы следующие стандартные (встроен-

ные) функции, результат выполнения которых имеет целый тип:

  

        Abs(X),   Sqr(X),   Succ(X),   Pred(X),

  

и которые определяют соответственно абсолютное значение Х,  Х в квад-

рате, Х+1, Х-1.

   Следующая группа стандартных функций для аргумента целого типа да-

ет действительный результат:

  

        Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X).

  

   Эти функции вычисляют синус,  косинус и арктангенс угла, заданного

в радианах,логарифм натуральный, экспоненту и корень квадратный со-

ответственно.

   Результат выполнения функции проверки целой величины на нечетность

Odd(X) имеет    значение истина,  если аргумент нечетный,  и значение

ложь, если аргумент четный:

  

        X=5    Odd(X)=TRUE ,    X=4    Odd(X)=FALSE.

  

   Для быстрой работы с целыми числами определены процедуры:

  

    Inc(X)     X:=X+1

    Inc(X,N)   X:=X+N

    Dec(X)     X:=X-1

    Dec(X,N)   X:=X-N

 

   Действительные типы  определяет  теданные,   которые реализуются

подмножеством действительных чисел, допустимых в данной ЭВМ.

  

   Тип           Диапазон        Количество цифр     Требуемая

                 значений            мантиссы      память (байт)

---------------------------------------------------------------

Real         2.9e-39 .. 1.7e+38        11                6

Single       1.5e-45 .. 3.4e+38         7                4

Double      5.0e-324 .. 1.7e+308       15                8

Extended   3.4e-4932 .. 1.1e+4932      19               10

Comp        -9.2e+18 .. 9.2e+18        19                8

---------------------------------------------------------------

  

   Тип Real определен в стандартном ПАСКАЛЕ иматематическим  сопро-

цессором не поддерживается.

   Остальные действительные типы определены стандартом IEEE 457 и ре-

ализованы на всех современных компьютерах.

   Для их использования при наличии сопроцессора илипри  работе  на

ЭВМ типа 80486 необходимо компилировать программу с ключом {$ N+},  а

при отсутствии сопроцессора - с ключами {$N-,E+}.

   Тип Comp  хотяи относится к действительным типам,хранит только

длинные целые значения.

   Над действительными операндами можно выполнять следующие арифмети-

ческие операции, дающие действительный результат:

  

    сложение + ,  вычитание - ,умножение * ,деление / .

  

   К величинам действительного типа применимы все операции отношения,

дающие булевский результат.

   Один из операндов, участвующих в этих операциях, может быть целым.

   К действительным аргументам применимы функции, дающие действитель-

ный результат:

   

     Abs(X), Sqr(X), Sin(X), Cos(X),  ArcTan(X),  Ln(X),Exp(X),

Sqrt(X), Frac(X), Int(X), Pi.

   

   Функция Frac(X) возвращает дробную часть X, функция Int(X) - целую

часть X.

   Безаргументная функция  Pi  возвращаетзначение числа Пи действи-

тельного типа.

   К аргументам действительного типа применимы также функции

   

     Trunc(X) и Round(X),

   

дающие целыйрезультат.  Первая из них выделяет целую часть действи-

тельного  аргумента  путемотсечения дробной части, вторая округляет

аргумент до ближайшего целого.

 

   ЛОГИЧЕСКИЙ тип (Boolean)  определяет те данные, которые могут при-

нимать логические значения TRUE и FALSE.

   К булевским операндам применимы следующие логические операции:

   

     not     and      or     xor.

   

   Логический тип определен таким образом, что FALSE < TRUE. Это поз-

воляет применять к булевским операндам все операции отношения.

   В ТУРБО ПАСКАЛЬ введены еще разновидности логического типа:

ByteBool, WordBool и LongBool, которые занимают в памяти ЭВМ один, два

и четыре байта соответственно.

 

   Символьный тип (Char) определяет упорядоченную совокупность симво-

лов, допустимых    в  данной ЭВМ.  Значение символьной переменной или

константы - это один символ из допустимого набора.

   Символьная константа  может  записываться в тексте программы тремя

способами:

    -как один символ, заключенный в апострофы, например:

   

      'A'   'a'   'Ю'  'ю';

   

   -с помощью конструкции вида #K, где K - код соответствущего симво-

ла, при этом значение K должно находиться в пределах 0..255;

   -с помощью конструкции вида ^C, где C - код соответствущего управ-

ляющего  символа, при этом  значениеC должно быть на 64 больше

кода управляющего символа.

   К величинам символьного типа применимы все операции отношения.

   Для величин символьного типа определены две функции преобразования

     

        Ord(C)     Chr(K).

  

   Первая функция определяет порядковый номер символа С в наборе сим-

волов,  вторая  определяет по порядковому номеру К символ, стоящий на

К-ом месте в наборе символов. Порядковый номер имеет целый тип.

   К аргументам символьного типа применяются функции, которые опреде-

ляют предыдущий и последующий символы:

   

      Pred(C)    Succ(C).   Pred('F') = 'E' ; Succ('Y') = 'Z' .

   

   При отсутствии  предыдущего или последующего символов значение со-

ответствующих функций не определено.

   Для литер из интервала 'a'..'z' применима функция UpCase(C), кото-

рая переводит эти литеры в верхний регистр 'A'..'Z'.

   

   Адресный тип (Pointer) определяет переменные, которые могут содер-

жать значенияадресов данных или фрагментов программы.Для хранения

адреса требуются два слова (4 байта), одно из них определяет сегмент,

второе - смещение.

   Работа с адресными переменными  (указателями)   будетрассмотрена

позже, сейчасотметим,  что для получения значения адреса какой-либо

переменной введена унарная операция @.