Переменные в Паскале. Понятие типа и его назначение: область допустимых значений, допустимые операции и способ представления в памяти машины. Стандартные типы
Переменные: var { секция объявления переменных } r: Real; { переменная вещественного типа } i: Integer; { переменная целого типа } c: Char; { переменная-символ } b: Boolean; { логическая переменная } s: String; { переменная строки } t: Text; { переменная для обьявления текстового файла } e: (apple, pear, banana, orange, lemon); { переменная типа-перечисления } Тип переменной определяет множество значений, которые могут быть ей присвоены и операции, которые могут быть с нею произведены. Он либо фиксирован в момент объявления переменной и соответствует одному из типов данных, предоставляемых языком программирования (статическая типизация), либо в каждый момент соответствует типу тех данных, что содержит переменная (динамическая типизация). У каждого типа есть своя область допустимых значений, т.е множество тех значений, которые он может принимать.Пример для паскаля:
Integer | -32768..32767 |
LongInt | -2147483648..2147483647 |
Типы данных
Простые типы данных Паскаля: числа с плавающей запятой (real), целые (integer), символьный (char), логический (boolean) и перечисления (конструктор нового типа, введённый в Паскале).
Целочисленные типы:
Тип | Диапазон | Формат | Размер в байтах |
Byte | 0..255 | Беззнаковый | 1 |
ShortInt | −128..127 | Знаковый | 1 |
SmallInt | −32768..32767 | Знаковый | 2 |
Word | 0..65535 | Беззнаковый | 2 |
Integer | -32768..32767 | Знаковый | 2 |
Cardinal | =LongWord | Беззнаковый | 4 |
LongWord | 0..4294967295 | Беззнаковый | 4 |
LongInt | −2147483648..2147483647 | Знаковый | 4 |
Int64 | −9223372036854775808..9223372036854775807 | Знаковый | 8 |
QWord | 0..18446744073709551615 | Беззнаковый | 8 |
Числа с плавающей запятой:
|
|
Тип | Диапазон | количество значащих цифр | Размер в байтах |
Real/Double | зависит от платформы | ??? | 8 |
Real48 | ??? | 11-12 | 6 |
Single | 1.5E-45..3.4E38 | 7-8 | 4 |
Extended | 1.9E-4932..1.1E4932 | 19-20 | 10 |
Comp | −2E64+1..2E63-1 | 19-20 | 8 |
Currency | −922337203685477.5808..922337203685477.5807 | 19-20 | 8 |
Способ представления в памяти - байт-код в двоичной системе счисления.
10) Выражения, преобразование типов. Упорядоченность значений. Стандартные функции, использующие дискретную упорядоченность и явные функции преобразования типов.
Выражение задает правило вычисления некоторого значения. Выражение состоит из констант, переменных, указателей функций, знаков операций и скобок.
Математические операции
В таблице приведены основные математические операции Турбо Паскаль.
Символ операции | Название операции | Пример |
* | умножение | 2*3 (результат: 6) |
/ | деление | 30/2 (результат: 1.5E+01) |
+ | сложение | 2+3 (результат: 5) |
- | вычитание | 5-3 (результат: 2) |
div | целочисленное деление | 5 div 2 (результат: 2) |
mod | остаток от деления | 5 mod 2 (результат: 1) |
Логические операции
|
|
Над логическими аргументами в Турбо Паскаль определены следующие операции:
- NOT - логическое отрицание ("НЕ")
- AND - логическое умножение ("И")
- OR - логическое сложение ("ИЛИ")
- XOR - логическое "Исключающее ИЛИ"
Результаты выполнения этих операций над переменными А и В логического типа приведены в таблице истинности.
A | B | not A | A and B | A or B | A xor B |
true | true | false | true | true | false |
true | false | false | true | true | |
false | true | true | false | true | true |
false | false | false | false | false |
Операции отношения
К операциям отношения в Турбо Паскаль относятся такие операции, как:
- > - больше
- < - меньше
- = - равно
- <> - не равно
- >= - больше или равно
- <= - меньше или равно
В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.
Приведе́ние ти́па (type conversion) — преобразование значения переменной одного типа в значение другого типа. Выделяют явное и неявное приведения типов.
|
|
Неявное приведение - Само приведение происходит как во время присваивания значения переменной, так и при операциях сравнения, вычисления выражения. При использовании в выражении несколько различных типов значения одного или нескольких подтипов может быть осуществлено преобразование к более общему типу (супертипу), с большим диапазоном возможных значений.
Явное приведение - это когда в коде явно указано преобразование к типу. Пример на паскале:
//(a - integer)
b:=IntToStr(a);
//(теперь b - string)
Общая схема выполнения задачи, написанной на языке высокого уровня. Понятие о трансляторах (компиляторах), интерпретаторах, редакторах текста и редакторах связей, загрузчиках. Исходный модуль, объектный и абсолютный модули, библиотеки.
Конкретная схема выполнения задачи зависит от языка программирования. Общая схема выполнения задачи:
Трансля́тор — программа или техническое средство, выполняющее трансляцию программы.
Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой.
Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати тексты программы и т. д.[1]
|
|
Язык, на котором представлена входная программа, называется исходным языком, а сама программа — исходным кодом. Выходной язык называется целевым языком или объектным кодом.
Интерпрета́тор — программа (разновидность транслятора) или аппаратное средство, выполняющее интерпретацию.
Интерпрета́ция — пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения).
Компиля́тор — программа или техническое средство, выполняющее компиляцию.
Компиляция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Входной информацией для компилятора (исходный код) является описание алгоритма или программа на проблемно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код).
Компилировать — проводить трансляцию машинной программы с проблемно-ориентированного языка на машинно-ориентированный язык.
Редактор исходного кода — текстовый редактор для создания и редактирования исходного кода программ. Он может быть отдельным приложением, или встроен в интегрированную среду разработки (IDE).
Редакторы исходного кода имеют некоторые возможности, упрощающие и ускоряющие написание и изменение кода, такие как подсветка синтаксиса, автодополнение, проверка правильности расстановки скобок, контекстная помощь по коду и многие другие. Такие редакторы предоставляют удобный способ для запуска компилятора, интерпретатора, отладчика или других программ необходимых в процессе разработки программного обеспечения. Несмотря на то, что многие текстовые редакторы могут быть использованы для редактирования исходного кода, если они не не имеют расширенных возможностей, автоматизирующих или упрощающих ввод и модификацию кода, то они не могут называться «редакторами исходного кода», а просто являются «текстовыми редакторами, которые также могут быть использованы для редактирования исходного кода».
В большинстве случаев код, получаемый в результате процесса трансляции, формируется из нескольких программных модулей. Программным модулем называется определенным образом оформленный код на языке высокого уровня. Процесс трансляции в этом случае может выполняться как единое целое – компиляция и редактирование связей, или как два отдельных этапа – сначала компиляция объектных модулей, а затем вызов редактора связей, создающего окончательный код. Последний подход более удобен для разработки программ. Он реализован в трансляторах языков С и С++.
Объектный код, создаваемый компилятором, представляет собой область данных и область машинных команд, имеющих адреса, которые в дальнейшем "согласуются" редактором связи (иногда называемым загрузчиком). Редактор связи размещает в едином адресном пространстве все по отдельности откомпилированные объектные модули и статически подключаемые библиотеки.
· Исполнимый модуль — файл, содержащий программу в виде, в котором она может быть исполнена компьютером.
· Объектный модуль — файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором.
Образ загрузочного модуля в памяти называется абсолютным модулем, поскольку все команды ЭВМ здесь приобретают окончательную форму и получают абсолютные адреса в памяти. Формирование абсолютного модуля может осуществляться как программно, путем обработки командных кодов модуля программой-загрузчиком, так и аппаратно, путем применения индексирования и базирования команд загрузочного модуля и приведения указанных в них относительных адресов к абсолютной форме.
Библиотека (от англ. library) в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО).
Дата добавления: 2018-04-04; просмотров: 671; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!