36584

Стандартные типы данных, операции, выражения

Контрольная

Информатика, кибернетика и программирование

Целые числа типа integer это числа диапазона 32768 . Константы типа integer обычные целые числа возможно со знаком. Синтаксическое определение целых чисел имеет вид: целое число ::= [ ] { цифра } В отличие от целых чисел вещественные числа типа rel представляются в памяти компьютера приближенно. Константы типа rel числа возможно с дробной частью отделяемой от целой части точкой.

Русский

2013-09-22

48.5 KB

5 чел.

Стандартные типы данных, операции, выражения.

Хотя в Турбо Паскале имеется много различных стандартных типов, для простых программ (с которых мы начинаем изучение конструкций Турбо Паскаля) будет достаточно знание лишь 5 стандартных типов:

integer - целые числа;

real - вещественные числа;

char - символьный (литерный) тип;

string - строковый тип;

boolean - булевский (логический) тип.

Целые числа типа integer - это числа диапазона -32768 .. 32767, над которыми допустимы обычные операции арифметики: сложения (+), вычитания (-), умножения (*). Для целочисленного деления предусмотрена операция div, а для получения остатка от деления (остатка по модулю) - операция mod. Примеры: 42 div 8 даёт результат 5, а операция 42 mod 8 даёт результат 2. Константы типа integer - обычные целые числа возможно со знаком. В этих числах недопустимы точка или запятая.

Синтаксическое определение целых чисел имеет вид:

< целое число > ::= [ -| + ] { < цифра > } 

В отличие от целых чисел вещественные числа типа real представляются в памяти компьютера приближенно. Константы типа real - числа, возможно с дробной частью (отделяемой от целой части точкой). Дробная часть у этих чисел может и отсутствовать. Например:

1.072359001E -0018 { число, соответствующее 1.072359001*10-18 }

Операции сложения, вычитания, умножения для типа real обозначаются теми же символами, что и для чисел типа integer. Операция деления обозначается символом / и является делением с остатком (результатом является также число типа real).

Типы real и integer - это существенно различные типы чисел. Однако имеются и операции, которые преобразуют типы данных, такие как round(x) - округление вещественного числа x до ближайшего целого, trunc(x) - отбрасывание у вещественного числа x дробной части.

Для типов integer и real допустима также операция возведения в квадрат sqr, и извлечения квадратного корня sqrt (результатом этой операции всегда является число типа real, если этот результат существует).

Символьный тип имеет своими значениями (константами) символы кодовой таблицы ASCII (всего 256 символов). Некоторые из этих символов имеют привычное изображение и могут использоваться как элементы различных текстов (например, буквы, цифры, разделительные символы). Это - информационные символы. Однако в кодовой таблице есть и управляющие символы - неотображаемые при печати текстов (например, символ конца страницы, конца строки, табуляции и др.). Константы информационных символов представляются как символы, заключенные в апострофы. Например: 'G', 'П', 'k', 'л', '4'. Заметим, что '4' не является числом 4, это - символ 4. Важнейшие функции над символами: это ord - преобразование символа в код (номер символа в кодовой таблице) и chr - преобразование кода в символ. Вместо функции chr можно также использовать операцию, обозначаемую знаком #. Например #9 - табуляция, #12 - прогон страницы, #68 - символ 'D'. Таким образом, операция # даёт более универсальный способ представления символов кодовой таблицы.

Строковый тип имеет своими значениями (константами) последовательности символов кодовой таблицы (в том числе и одиночные символы). Строковые константы, как и символьные константы, заключаются в апострофы. Тип string включает все строки длиной до 255 символов, в том числе пустую строку, обозначаемую как ''. В строковом типе можно указывать максимальную длину строки, меньшую 255 в форме string[<длина>], где <длина> - целое число без знака, не превышающее 255. Основная операция над строками - операция сцепления (конкатенация), обозначаемая символом +. Она присоединяет к концу первой строки вторую строку. Например: 'Турбо' +' Паскаль' дает результатом строку 'Турбо Паскаль'.

Замечание Символ апостроф ' в строке символов представляется парой апострофов. Например: 'Это есть '' - апостроф'.

Булевский (логический) тип Boolean содержит всего лишь два значения - true и false, обозначающие соответственно истинное и ложное значение. Значение типа Boolean часто используется для результата бинарных отношений между числами (типов integer или real), символами или строками. Это уже упоминаемые выше 6 отношений: <, <=, >, >=, =, <>.

Для чисел смысл этих отношений очевиден, при этом следует проявлять осторожность при использовании отношения = для сравнения чисел типа real, представляемых, как уже указывалось, приближенно.

Для символов - это отношения между кодами символов как целыми числами. Для строк - отношения для лексикографического порядка на строках. Лексикографический порядок строк - упорядоченность строк в соответствии с порядком кодов символов при сравнении строк посимвольно слева направо (короткая строка выравнивается до длинной строки добавлением пробелов справа).

Например: 'Турбо' < 'Турбо Паскаль' даёт результатом true, а 'F'>'G' - false.

Для данных типа Boolean допустимы булевские операции and, or, xor, not , представляющие связки "И", "ИЛИ", "ИСКЛЮЧИТЕЛЬНО ИЛИ", "НЕ" в соответствии с таблицей:

Таблица 1. Таблица истинности булевских операций.

x1

x2

x1 and x2

x1 or x2

x1 xor x2

 not x1

True

true

true

true

false

false

True

false

false

true

true

false

False

true

false

true

true

true

False

false

false

false

 false

true

 

Эти операции позволяют представлять более сложные отношения, в частности цепочки бинарных отношений. Например: (4<7) and (7<10) представляет цепочку отношений 4<7<10.

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

Рассмотренные выше операции над значениями стандартных типов являются частными случаями более общей конструкции, называемой выражением. Аналогом выражения является формула для вычисления значений. Выражение может содержать константы, переменные, операции (или функции), а также круглые скобки. Как и для операций, выражение вычисляет значение некоторого фиксированного типа в качестве своего результата. Тип результата называется типом выражения. Так могут быть выражения целого типа, вещественного типа, символьные, строковые выражения, и, наконец, булевские (логические) выражения.

Например: (4+ alfa)*3*(5-sqr(x-1)) - выражение типа integer (если alfa и x - переменные типа integer) либо типа real (если хотя бы одно из alfa и x имеют тип real).

В Турбо Паскале выражение - промежуточная конструкция, используемая для построения операторов.

Для некоторых из рассмотренных выше операций типы операндов не являются строго фиксированными. Это имеет место в частности, для арифметических операций (+, -, *, sqr) и для сцепления строк (+). В этих случаях действуют правила автоматического преобразования типов в выражениях:

Если в арифметических операциях или в бинарных отношениях между числами операнды имеют различные типы (real и integer), то операнд типа integer автоматически преобразуется к типу real;

Если в операции сцепления строк или в бинарных отношениях между строками операнды имеют различные типы (string и char), то операнд типа char автоматически преобразуется к типу string[1].

Заметим, что автоматические преобразования типов односторонние:

integer real или char string[1] .

Обратные преобразования не выполняются автоматически. Для явного выполнения преобразований между типами могут использоваться соответствующие процедуры или функции. Особо отметим стандартные процедуры преобразования между числами и строками:

Str(x, st) -преобразование числа х (вещественного или целого типов) в строку st.

Val(st, x, err) -преобразование строки st в число х (целое или вещественное) (err =0 при отсутствии ошибки преобразования).

Задача 4.2.6(22)

program Project22;

type mas=array[1..4,1..4] of Integer;

mass=array[1..4] of integer;

var a:mas;

b:mass;

i,j:Integer;

procedure p(x:mas; e:Integer; var y:integer);

var i,j,k:Integer;

begin

k:=0;

for i:=1 to 4 do

if x[i,e]=0 then k:=k+1;

if k=0 then y:=1

else y:=0;

end;

begin

for i:=1 to 4 do

for j:=1 to 4 do

read(a[i,j]);

for i:=1 to 4 do

begin

p(a,i,b[i]);

write(b[i],' ');

end;

 Readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

81437. Регуляция действия ферментов: аллостерические ингибиторы и активаторы. Каталитический и регуляторный центры. Четвертичная структура аллостерических ферментов и кооперативные изменения конформации протомеров фермента 112.37 KB
  Поскольку конечный продукт структурно отличается от субстрата он связывается с аллостерическим некаталитическим центром молекулы фермента вызывая ингибирование всей цепи синтетической реакции. Ферменты для которых и субстрат и модулятор представлены идентичными структурами носят название гомотропных в отличие от гетеротропных ферментов для которых модулятор имеет отличную от субстрата структуру. Взаимопревращение активного и неактивного аллостерических ферментов в упрощенной форме а также конформационные изменения наблюдаемые при...
81438. Регуляция активности ферментов путем фосфорилирования и дефосфорилирования. Участие ферментов в проведении гормонального сигнала 107.64 KB
  Участие ферментов в проведении гормонального сигнала. Оказалось что активность ряда ключевых ферментов обмена углеводов в частности фосфорилазы гликогенсинтазы и др. Уровень активности ключевых ферментов обмена углеводов и соответственно интенсивность и направленность самих процессов обмена определяются соотношением фосфорилированных и дефосфорилированных форм этих ферментов.
81439. Различия ферментного состава органов и тканей. Органоспецифические ферменты. Изменение ферментов в процессе развития 101.32 KB
  Однако в характере метаболизма химическом составе и строении различных тканей и различных организмов имеются и бесспорные различия. Различия в химическом составе органов и тканей тоже зависят от их ферментного состава в первую очередь от тех ферментов которые участвуют в процессах биосинтеза. Не исключено что и более очевидные различия касающиеся строения и формы тех или иных органов и тканей также имеют энзимологическую природу: Известно что строение и форма находятся под контролем генов; контроль осуществляется путем образования...
81440. Изменение активности ферментов при болезнях. Наследственные энзимопатии. Происхождение ферментов крови и значение их определения при болезнях 148.67 KB
  Происхождение ферментов крови и значение их определения при болезнях. В основе многих заболеваний лежат нарушения функционирования ферментов в клетке энзимопатии. Проявление альбинизма связано с недостаточностью фермента тирозингидроксилазы тирозиназы одного из ферментов катализирующего метаболический путь образования меланинов Накопление субстратовпредшественников.
81441. Применение ферментов для лечения болезней. Применение ферментов как аналитических реагентов при лабораторной диагностике (определении глюкозы, этанола, мочевой кислоты и т.д.). Иммобилизованные ферменты 119.31 KB
  Применение ферментов как аналитических реагентов при лабораторной диагностике определении глюкозы этанола мочевой кислоты и т. Один путь использование ферментов в качестве избирательных реагентов для открытия и количественного определения нормальных или аномальных химических веществ в сыворотке крови моче желудочном соке и др. например выявление при помощи ферментов глюкозы белка или других веществ в моче в норме не обнаруживаемых.
81442. Обмен веществ: питание, метаболизм и выделение продуктов метаболизма. Органические и минеральные компоненты пищи. Основные и минорные компоненты 112.57 KB
  Но она является незаменимым элементом в пище людей которые нуждаются во внешних источниках аскорбиновой кислоты известной как витамин C в контексте питания. гипервитаминоза. Дважды Нобелевскийлауреат Лайнус Полинг о витамине B3 известном также как ниацин и ниацинамид както сказал: Меня ошеломила его очень низкая токсичность при том что он оказывает такое значительное физиологическое влияние. Витамины биотин витамин B7 витамин H холин витамин Bp фолат фолиевая кислота витамин B9 витамин M ниацин витамин B3 витамин...
81443. Основные пищевые вещества: углеводы, жиры, белки, суточная потребность, переваривание; частичная взаимозаменяемость при питании 107.95 KB
  Углеводы выполняют структурную функцию то есть участвуют в построении различных клеточных структур выполняют пластическую функцию хранятся в виде запаса питательных веществ а также входят в состав сложных молекул. Углеводы являются основным энергетическим материалом. Углеводы участвуют в обеспечении осмотического давления и осморегуляции.
81444. Незаменимые компоненты основных пищевых веществ. Незаменимые аминокислоты; пищевая ценность различных пищевых белков. Линолевая кислота - незаменимая жирная кислота 109.43 KB
  Как было показано выше основным источником аминокислот для клеток организма являются белки пищи. Белки не являются незаменимыми пищевыми факторами они являются источниками содержащихся в них незаменимых аминокислот необходимых для нормального питания. Белки значительно различаются по аминокислотному составу. Растительные белки особенно пшеницы и других злаковых полностью не перевариваются так как защищены оболочкой состоящей из целлюлозы и других полисахаридов которые не гидролизуются пищеварительными ферментами.
81445. История открытия и изучения витаминов. Классификация витаминов. Функции витаминов 110.79 KB
  Классификация витаминов. Функции витаминов. Ныне известно что куриная слепота может вызываться недостатком витамина .