Для чего используется указание типа данных величин

Лекция №8. Тема: Язык программирования (продолжение)

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Тема: Язык программирования (продолжение)

Что определяет тип данных?

Данные, с которыми работает программа, хранятся в оперативной памяти. Естественно, что необходимо точно знать, сколько места они занимают, как именно закодированы и какие действия с ними можно выполнять. Все это задается при описании данных с помощью типа. Тип данных однозначно определяет:

· внутреннее представление данных, а следовательно и диапазон их возможных значений;

· допустимые действия над данными (операции и функции).

Каждое выражение в программе имеет определенный тип.

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Стандартные типы не требуют предварительного определения. Для каждого типа существует ключевое слово, которое используется при описании переменных, констант и т. д. Если же программист определяет собственный тип данных, он описывает его характеристики и сам дает ему имя, которое затем применяется точно так же, как имена стандартных типов.

Типы, выделенные в таблице подчеркиванием, объединяются термином «порядковые» (подробнее>>).

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

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Кроме этого, величины логического типа можно сравнивать между собой с помощью операций отношения, перечисленных в таблице:

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Результат этих операций имеет логический тип.

Целые числа представляются в компьютере в двоичной системе счисления. В Паскале определено несколько целых типов данных, отличающихся длиной и наличием знака:

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

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

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

К целым величинам можно также применять операции отношения, перечисленные в разделе «Логические типы» (подробнее>>). Результат этих операций имеет логический тип.

Стандартные функции и процедуры

К целым величинам можно применять стандартные функции и процедуры, перечисленные ниже.

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

В общем случае при выполнении любой операции операнды должны быть одного и того же типа, но целые и вещественные величины смешивать разрешается.

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

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Стандартных функций для работы с символами тоже немного:

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

В группу порядковых объединены целые, символьный, логический, перечисляемый и интервальный типы. Сделано это потому, что они обладают следующими общими чертами:

· все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество;

· к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;

· к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;

· к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.

Контрольные вопросы по теме:

1. Для чего используется указание типа данных величины?

2. Какие типы данных относят к скалярным типам данных?

3. Охарактеризуйте целочисленные типы данных: какие они могут принимать значения, в каких операциях могут принимать участие, сколько места занимают в памяти.

4. Какие типы отношений определены для данных целого типа? Какие стандартные функции определены для целых чисел?

5. Чем отличаются вещественные числа от целых?

6. Какие функции преобразуют вещественный аргумент в целое число? Чем они отличаются?

7. Охарактеризуйте символьный тип данных.

8. Где применяется булевский тип данных, какие он принимает значения, сколько места требуется для его размещения в памяти?

9. Что такое пользовательские типы данных, чем они отличаются от стандартных типов данных? Приведите примеры данных перечисляемого и интервального типов.

10. Что такое структурированные типы данных?

11. Почему от программиста требуется знание и правильное применение понятия тождественности и совместимости типов величин?

12. Каковы признаки тождественности и условия совместимости типов?

Источник

Информационные технологии 1

Основные понятия и операторы языка Паскаль

ВВЕДЕНИЕ

Целью курса «Информационные технологии» является обучение студентов программированию с применением методов вычислительной математики, использованием современных средств вычислительной техники и компьютерных технологий, дальнейшее развитие компьютерной грамотности на основе дисциплин «Информатика», «Математика», «Начертательная геометрия и инженерная графика», «Физика».

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

Язык Турбо Паскаль является классическим языком программирования, широко применяемым в инженерных расчётах. Его изучение позволяет сформировать у студентов особый вид мышления – алгоритмический. Студентам, успешно овладевшим этим языком, не составит особого труда в будущей своей трудовой деятельности применять свои знания и составлять программы не только на языке Паскаль, но и на других языках программирования. Особенно важным является то, что знание языка Паскаль нужно для составления программ в среде Windows при помощи прикладного пакета Delphi, всё более популярного в последнее время.

К настоящему моменту имеется огромное количество библиотек программ, процедур и функций с примерами реализации большинства инженерных задач на языке Паскаль и в среде визуального программирования Delphi. Умелое применение этих наработок предполагает хорошее базовое знание языка Паскаль.

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

Источник

Для чего используется указание типа данных величин

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

В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.

Простые типы данных

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

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

Дополнительные сведения о типах данных..

В Турбо Паскаль ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция Имя_Типа(переменная или значение)

Напрмер, Integer(‘Z’) представляет собой значение кода символа ‘Z’ в двухбайтном представлении целого числа, а Byte(534) даст значение 22, поскольку целое число 534 имеет тип Word и занимает два байта, а тип Byte занимает один байт, и в процессе приведения старший байт будет отброшен.

Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики

Источник

Для чего используется указание типа данных величин

Паскаль и Дельфи. Учебный курс

Урок 3.

Типы данных. Ввод-вывод данных

Общие сведения

Для описания множества допустимых значений величины и совокупности операций, в которых может участвовать данная величина, используется указание ее типа данных. Тип данных (data type) — это множество величин, объединенных определенной совокупностью допустимых операций.

Каждый тип данных имеет свой диапазон значений и специальное зарезервированное слово для его описания. Например, значения 1 и 2 относятся к целочисленному типу, их можно складывать, умножать и выполнять над ними другие арифметические операции.

В языке Pascal для описания типа в общем случае используется зарезервированное слово type.

Формат: type = ; Синтаксическая диаграмма описания типов может быть представлена следующим образом.

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Все типы данных можно разделить на две группы: скалярные и структурированные (составные). Скалярные типы, в свою очередь, делятся на стандартные и пользовательские.

Стандартные типы данных предлагаются пользователям разработчиками системы Turbo Pascal. К ним относятся целочисленные, вещественные, литерные, булевские типы данных и указатели.

Пользовательские типы данных разрабатываются пользователями системы программирования Turbo Pascal.

Перечень типов данных в Turbo Pascal

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

Вещественные десятичные числа с фиксированной точкой записываются по обычным правилам арифметики. Целая часть от дробной отделяется десятичной точкой. Если десятичная точка отсутствует, число считается целым. Перед числом может находиться знак «+» или «–». Если знак отсутствует, то по умолчанию число считается положительным.

Примеры:
125 — целое десятичное число;
$1FF — шестнадцатеричное число;
124.674 — вещественное число;
–12.9 — отрицательное вещественное число.

Вещественные десятичные числа в форме с плавающей точкой записываются в экспоненциальном виде: mE+p, где m — мантисса (целое или дробное число с десятичной точкой), E означает десять в степени, p — порядок (целое число).

Пример:
5.18E+02 = 5.18 * 102 = 518
10E–03 = 10 * 10—3 = 0.01

Пользовательские типы — перечисляемый и интервальный — разрабатываются самим программистом.

Структурированные типы в своей основе имеют один или несколько скалярных типов данных. К структурированным типам относятся строки, массивы, множества, записи, файлы и данные совершенно иной природы: процедурного типа и типа object.

Скалярные типы данных

К скалярным (scalar — простые) типам данных относят типы данных таких величин, значения которых не содержат составных частей.

Целочисленные типы данных

Целочисленные типы данных представляют собой значения, которые могут использоваться в арифметических выражениях и занимать в памяти от 1 до 4 байт (табл. 3.1).

Таблица 3.1. Целочисленные типы данных

ТипДиапазонТребуемая память, байт
byte0…2551
shortint–128…1271
integer–32 768…32 7672
word0…65 5352
longint2 147 483 648…2 147 483 6474

Синтаксическая диаграмма для целых чисел выглядит следующим образом.

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Пример:
var X1, X2: byte; Y1: word; Для данных целого типа определены следующие арифметические операции: +, –, *, /, div, mod. Результат выполнения этих операций над целыми операндами также имеет целый тип.

Вещественные типы данных представляют собой вещественные значения, которые используются в арифметических выражениях и занимают в памяти от 4 до 6 байт. Pascal допускает представление вещественных значений и с плавающей, и с фиксированной точкой (табл. 3.2).

Таблица 3.2. Вещественные типы данных

ТипДиапазонМантиссаТребуемая память, байт
real2,9 • 10E – 39…1,7 • 10E + 3811–126
single1,5 • 10E – 45…3,4 • 10E + 387–84
double5,0 • 10E – 324…1,7 • 10E + 30815–168
extended1,9 • 10E – 4951…1.1 • 10E + 493219–2010
comp–2E + 63 + 1…2E+63 – 110–208

Числа из предыдущего примера в форме с плавающей точкой будут записаны так: 7,32E + 00, 4,56 721E + 02, 1,5E – 02.

Синтаксические диаграммы для записи вещественного числа будут выглядеть следующим образом.

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Для данных вещественного типа определены следующие арифметические операции: +, –, *, /. Результат выполнения этих операций также имеет вещественный тип.

Эффективное использование типов single, double, extended, comp возможно только при включенной директиве . По умолчанию она находится в выключенном состоянии .

Пример:
var Summa: single; Root1, Root2: double; Упражнение 3.1. Измените программу Tutor3 таким образом, чтобы в результате ее выполнения вычислялось и выводилось на экран значение частного двух целых чисел. Так как результат деления будет иметь вещественный тип, в раздел описания переменных данной программы должно быть добавлено его описание. Например, если идентификатор результата деления обозначить как Ratio, то раздел описания переменных в программе будет выглядеть следующим образом: var A,B : Integer; Ratio : real; Определение частного чисел A и B запишется операцией вещественного деления

а вывод на экран результата можно задать следующим образом:

Writeln(‘Частное двух чисел равно ‘,Ratio);

Загрузите интегрированную среду программирования, считайте программу Tutor3 с диска, отредактируйте и проверьте ее работу. При проверке работы программы попробуйте задать переменным следующие значения: A = 33 000, B = 33.

Обратите внимание на то, что в результате вычислений получается не 1000, как вы ожидали, а –9,8593939394Е+02, то есть программа неправильно вычисляет результат арифметической операции. Причина ошибки в том, что мы, указав в разделе описания переменных для величин A и B тип integer, зарезервировали в памяти место только для хранения целого числа, принимающего значения из интервала [–32 768…32 767], а задали для величины A значение 33 000.

Внесите изменения в программу, указав в разделе описания для величин A, B тип word или longint, проверьте работу программы на примере больших значений чисел A и B. Сохраните программу на диске под именем Tutor4.

Этот пример наглядно демонстрирует необходимость правильного описания типов величин, обрабатываемых в программе.

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

Литерный (символьный) тип char определяется множеством значений кодовой таблицы компьютера. Каждому символу приписывается целое число в диа¬пазоне от 0 до 255. Для кодировки используется код ASCII.

Для размещения в памяти переменной литерного типа требуется один байт.

Пример: var Ch: char; Letter, Symbol: char; В программе значения переменных и констант типа char должны быть заключены в апострофы. Например, ‘А’ обозначает букву А, ‘ ‘ – пробел, ‘;’ — точку с запятой.

Булевским типом называют тип данных, представляемый двумя значениями: True (истина) и False (ложь). Он широко применяется в логических выражениях и выражениях отношения. При описании величин этого типа указывают слово boolean. Для размещения в памяти переменной булевского типа требуется 1 байт.

Пример: var Flag, Rezult: boolean; Пользовательские типы данных

Кроме стандартных типов данных Pascal поддерживает скалярные типы, определенные самим пользователем. К ним относятся перечисляемый и интервальный типы.

Данные этих типов занимают в памяти 1 байт, поэтому скалярные пользовательские типы не могут содержать более 256 элементов. Их применение обеспечивает семантический контроль вводимых данных, значительно улучшает наглядность программы, упрощает поиск ошибок и экономит память.

Перечисляемый тип (enumerated type) — тип данных, заданный списком принадлежащих ему значений.

Объявление перечисляемого типа описывает множество идентификаторов, которые являются возможными значениями перечисляемого типа. Идентификаторы в описании типа представляют собой константы. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки. Первая константа имеет порядковый номер 0, вторая — 1 и т. д.

Формат: type = ( ); var : ; Синтаксическая диаграмма для перечисляемых типов имеет следующий вид.

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Пример: type Gaz = (Ge, C, O, N); Metall = (Na, K, Li, Cu, Zn); var G1, G2, G3 : Gaz; Met1, Met2 : Metall; Season: (Winter, Spring, Summer, Autumn);

В данном примере приведены два явно описанных пользовательских типа данных — Gaz и Metall. Определены их значения — обозначения некоторых газов и металлов периодической таблицы Д. И. Менделеева. Переменные G1, G2, G3 и Met1, Met2 могут принимать только одно из перечисленных значений. Попытка присвоить им любое другое значение вызовет программное прерывание. Третий тип перечисления является анонимным (не имеет имени) и задается перечислением значений в разделе var. Season является переменной этого типа и может принимать значения Winter, Spring, Summer и Autumn. Таким образом может быть задан любой тип, но это не всегда приемлемо, так как первый способ более понятен и больше соответствует характеру языка Pascal. При этом имена внутри круглых скобок являются константами соответствующего типа перечисления и подчиняются обычным правилам для констант. Выражения и константы перечисляемого типа допустимы для использования в операторе CASE. Операции отношения и логические операции допустимы для значений перечисления одного и того же типа. Упорядочение осуществляется по номеру элемента в описании типа. Например, выражение Winter В отличие от данных других типов, Pascal не поддерживает операции ввода-вывода значений пользовательского перечисляемого типа. При необходимости программист сам должен организовать ввод-вывод таких данных.

Для работы с данными перечисляемого типа в языке Pascal предназначены стандартные подпрограммы Succ, Pred, Ord.

Описанные ранее переменные булевского типа можно представить и как перечисляемый тип, объявленный следующим образом: type Boolean = (False, True); Поэтому для значений False и True справедливы результаты вычисления выражений

False Интервальный тип (диапазон)

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

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

Для чего используется указание типа данных величин. Смотреть фото Для чего используется указание типа данных величин. Смотреть картинку Для чего используется указание типа данных величин. Картинка про Для чего используется указание типа данных величин. Фото Для чего используется указание типа данных величин

Рациональнее определить интервальный тип более общим способом, задав границы диапазона не значениями констант, а их именами:

Структурированные типы данных определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов. В языке Pascal допускаются следующие структурированные типы данных: строки, массивы, множества, записи, файлы, указатели, процедурные типы и объекты. Все они требуют отдельного рассмотрения и подробно изложены далее в книге.

Тождественность и совместимость типов

Пример: type M1, M2 = array[1..10] of byte; S = set of byte; F = set of integer; или var A, B, Proizved : integer; Тождественность типов требуется только для переменных фактических и формальных параметров при вызове процедур и функций. Совместимость типов играет важнейшую роль в выражениях и операциях сравнения и в операторах присваивания.

Выражения, операции, операнды

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

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

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

Операции могут быть унарными и бинарными. В первом случае операция относится к одному операнду и всегда записывается перед ним, во втором — операция выражает отношение между двумя операндами и записывается между ними.

Например, –A — унарная операция, X +Y — бинарная.

Арифметические выражения и операции

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

Арифметические операции выполняют арифметические действия в выражениях над значениями операндов целочисленных и вещественных типов. Арифметические операции языка Pascal представлены в табл. 3.3.

Таблица 3.3. Арифметические операции

ОперацияДействиеТипы операндовТип результата
+СложениеЦелый/ВещественныйЦелый/Вещественный
ВычитаниеЦелый/ВещественныйЦелый/Вещественный
*УмножениеЦелый/ВещественныйЦелый/Вещественный
/ДелениеЦелый/ВещественныйЦелый/Вещественный
divЦелочисленное делениеЦелыйЦелый
modОстаток от деленияЦелыйЦелый
andАрифметическое ИЦелыйЦелый
shlСдвиг влевоЦелыйЦелый
shrСдвиг вправоЦелыйЦелый
orАрифметическое ИЛИЦелыйЦелый
xorИсключающее ИЛИЦелыйЦелый
+Сохранение знакаЦелый/ВещественныйЦелый/Вещественный
Отрицание знакаЦелый/ВещественныйЦелый/Вещественный
notАрифметическое отрицаниеЦелыйЦелый

Операции сложения (+), вычитания (–), умножения (*) и деления (/) выполняются так же, как и в обычных арифметических выражениях.

Целочисленное деление (DIV) отличается от обычной операции деления тем, что вычисляет целую часть частного, а дробную часть отбрасывает. Перед выполнением операции оба операнда округляются до целых значений. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя.

1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0

Операнды записываются в десятичной форме, но во время выполнения переводятся в двоичную форму. Результат представляется в десятичной форме.

Вычислить результат выражения A AND B, если A = 12 и B = 22. A и B занимают в памяти по 2 байта и в двоичной форме имеют вид 000000000001100 и 00000000010110. В результате выполнения операции 000000000001100 AND 00000000010110 в соответствии с таблицей истинности получим результат 0000000000000100, или 4 в десятичной форме. Следовательно, 12 AND 22 = 4.

Сдвиг влево (K SHL N) восстанавливает в качестве результата значение, полученное путем поразрядного сдвига на N позиций влево представленного в двоичной форме числа K.

Вычислить результат выполнения выражения 2 SHL 7. Числo 2 занимает в памяти 2 байта и в двоичной форме имеет вид 0000000000000010. Сдвигаем каждый разряд на 7 позиций влево, получаем 0000000100000000, что соответствует числу 256 в десятичной форме. Следовательно, 2 SHL 7 = 256.

1 OR 1 = 1
1 OR 0 = 1
0 OR 1 = 1
0 OR 0 = 0

Результат представляется в десятичной форме счисления.

Вычислить результат выполнения выражения 12 OR 22. 12 и 22 занимают в памяти по 2 байта и в двоичной форме имеют вид 0000000000001100 и 0000000000010110 соответственно. Выполнив сложение согласно таблице истинности, получим двоичное значение суммы 0000000000011110, или 30 в десятичной форме. Следовательно, 12 OR 22 = 30.

Исключающее ИЛИ (XOR) производит сложение операндов в соответствии со следующей таблицей истинности:

1 XOR 1 = 0
1 XOR 0 = 1
0 XOR 1 = 1
0 XOR 0 = 0

Результат преобразуется в десятичную форму счисления.

Вычислить результат выполнения выражения 12 XOR 22. 12 и 22 занимают в памяти по 2 байта и в двоичной форме имеют вид 0000000000001100 и 0000000000010110 соответственно. Выполнив сложение согласно таблице истинности, получим двоичное значение суммы: 0000000000011100, или 26 в десятичной форме. Следовательно, 12 XOR 22 = 26.

Унарная операция сохранения знака (+) оставляет текущий знак числа без изменения. Например: Выражение Результат +(–777) | –777 +(422) | 422 Унарная операция изменения знака (–) восстанавливает значение операнда с противоположным знаком. Например: Выражение Результат –(–256) | 256 –(+39) | –39 Применение операции NOT к данным целочисленных типов вызывает поразрядную инверсию — получение обратного значения соответствующего данному числу двоичного кода. Например: Выражение Результат NOT 0 | –1 NOT 78 | –79 Выражения и операции отношения

Выражением отношения называется словосочетание языка, в котором два вы¬ражения связаны знаком операции отношения. Выражение отношения определяет истинность или ложность результата. Операции отношения выполняют сравнение двух операндов и определяют, истинно значение выражения или ложно.

В языке Pascal операции отношения и рассмотренные далее булевские операции более важны при написании программ, чем в других языках, так как они интенсивно используются для реализации разветвляющихся и циклических алгоритмов. В табл. 3.4 приведены операции отношения, допустимые в версии языка Pascal.

Сравниваемые величины могут принадлежать к любому скалярному или перечисляемому типу данных. Результат всегда имеет булевский тип и принимает одно из двух значений: True (истина) или False (ложь).

Таблица 3.4. Операции отношения

ОперацияНазваниеВыражениеРезультат
=РавноA=BTrue, если A равно B
<>Не равноA<>BTrue, если A не равно B
>БольшеA>BTrue, если A больше B
=Больше или равноA>=BTrue, если A больше или равно B
Таблица 3.5. Логические операции

ОперацияДействиеВыражениеABРезультат
NotЛогическое отрицаниеnot ATrueFalse
FalseTrue
AndЛогическое ИA and BTrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse
OrЛогическое ИЛИA or BTrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse
XorИсключающее ИЛИA xor BTrueTrueFalse
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Пример программы, которая сравнивает два вводимых целых числа и печатает значение логического заключения: program Sravnenie; var A,B : integer; Test : boolean; <Описание переменной логического типа Test>begin Write(‘Введите два числа: ‘); Readln(A,B); Test := A > B; <Присвоить Test значение результата сравнения>Writeln(‘A больше B — ‘, Test); end. Упражнение 3.2. Введите текст программы, откомпилируйте и проверьте результат ее работы для следующих пар значений A и B: 2 и 3, 4 и 2, 5 и 5.

Пример программы, которая вводит два целых числа и выводит на экран результат применения к ним арифметических и логических операций: program Demo_Operac; var N,M : integer; <Описание двух переменных целого типа integer>begin Write(‘Введите два целых числа’); Readln(N,M); <Считывание с клавиатуры значений переменных N,M>…………. <Выполнение различных логических операций>Writeln(N,’ + ‘,M,’ = ‘,N + M); <Арифметическое сложение>Writeln(N,’ – ‘,M,’ = ‘,N – M); <Арифметическое вычитание>Writeln(N,’ * ‘,M,’ = ‘,N * M); <Арифметическое умножение>Writeln(N,’ / ‘,M,’ = ‘,N / M); <Вещественное деление>Writeln(N,’ div ‘,M,’ = ‘,N div M); <Целочисленное деление>Writeln(N,’ mod ‘,M,’ = ‘,N mod M); <Остаток от деления>Writeln(‘not N =’, not N,’ not M =’, not M); <Отрицание>Writeln(N,’ and ‘,M,’ = ‘,N and M); <Арифметическое И>Writeln(N,’ or ‘,M,’ = ‘,N or M); <Арифметическое ИЛИ>Writeln(N,’ xor ‘,M,’ = ‘,N xor M); <Исключающее ИЛИ>Writeln(N,’ shl ‘,M,’ = ‘,N shl M); <Сдвиг влево>Writeln(N,’ shr ‘,M,’ = ‘,N shr M); <Сдвиг вправо>end. Упражнение 3.3. Введите текст программы, запишите ее на диск под именем Demo_Operac, откомпилируйте и проверьте результат ее работы для любых пар целых значений N и M.

Операция @. С помощью операции @ можно создать указатель на переменную. В табл. 3.6 показаны операнд и типы результата.

Таблица 3.6. Операция создания указателя

ОперацияДействиеТип операндаТип результата
@Получение указателяСсылка на переменную, процедуру или идентификатор функцииУказатель (совместимый с nil)

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

Приоритетом называется очередность выполнения операций в выражении. Выполнение каждой операции происходит с учетом ее приоритета. Значения приоритетов указаны в табл. 3.7.

Старшинство операций определяется с помощью четырех основных правил:

Ввод-вывод данных

Решение самой простой задачи на компьютере не обходится без операций ввода-вывода информации. Ввод данных — это передача информации с внешнего носителя в оперативную память для обработки. Вывод — обратный процесс, когда данные передаются после обработки из оперативной памяти на внешний носитель. Внешним носителем может служить терминал, принтер, дискета, жесткий диск и другие устройства.

В языке Pascal стандартным средством общения человека и компьютера являются стандартные файлы Input и Output, которые по умолчанию являются параметрами программы. Программа получает входные данные из файла Input и помещает результат обработки в файл Output. По умолчанию стандартному файлу Input назначена клавиатура, а файлу Output — экран монитора.

Как вы узнаете во второй части книги, Delphi обеспечивает возможность программирования ввода-вывода данных с использованием средств GUI.

Для выполнения операций ввода-вывода служат четыре процедуры: Read, Readln, Write и Writeln. В данном подразделе будет рассмотрено их применение для ввода данных с клавиатуры и вывода на экран и печатающее устройство.

Процедура чтения Read

Процедура чтения Read обеспечивает ввод числовых данных, символов, строк и т. д. для последующей обработки программой.

Формат:
Read (X1, X2. Xn);
или
Read (FV, X1, X2. Xn);

Значения переменных должны вводиться в строгом соответствии с синтаксисом языка Pascal. Если соответствие нарушено (например, X1 имеет тип integer, а при вводе набирается значение типа char), то возникают ошибки ввода-вывода. Сообщение об ошибке имеет вид «I/O error XX», где ХХ — код ошибки.

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

Второй вариант ввода: ‘Л’ 121.34 23.

Первый вариант обеспечивает нормальный ввод данных, так как вводимые значения 212.45, 38 и ‘П’ соответствуют типам переменных I, J, K в процедуре Read. Второй вариант ввода вызовет ошибку с кодом 10, поскольку для переменной I типа real вводится значение типа char.

Если в программе имеется несколько процедур Read, то данные для них вводятся потоком, то есть после считывания значений переменных для одной процедуры Read данные для следующей процедуры Read вводятся в той же строке, что и для предыдущей, до окончания строки, затем происходит переход на следующую строку.

После ввода каждой пары данных нажимаем клавишу Enter, то есть 18758 34 Enter 2.62Е–02 1.54Е+01 Enter.

18758 34 Enter
2.62Е–02 1.54Е+01 Enter

Процедура записи Write

Процедура записи Write производит вывод числовых данных, символов, строк и булевских значений.

Формат:
Write (Y1, Y2. Yn);
или
Write (FV, Y1, Y2. Yn);

Значение IВыражениеРезультат
134Write (I);134
5671Write (I);5671
287Write (I,I,I);287287287
Значение IВыражениеРезультат
134Write (I:6);134
1Write (I:10);1
312Write (I+I:7);624

Если R 24, то при выводе используется формат с плавающей точкой.

Значение RВыражениеРезультат
511.04Write (R:8:4);511.0400
–46.78Write (R:7:2);_–46.78
–46.78Write (R:9:4);–46.7800
Значение ChВыражениеРезультат
‘X’Write (Ch);X
‘Y’Write (Ch);Y
‘!’Write (Ch,Ch,Ch);.
Значение ChВыражениеРезультат
‘X’Write (Ch:3);__X
‘Y’Write (Ch:5);____Y
‘!’Write (Ch:2,Ch:4);_!___!
Значение SВыражениеРезультат
‘Day N’Write (S);Day N
‘Ведомость 11’Write (S);Ведомость 11
‘RRRDDD’Write (S,S);RRRDDDRRRDDD
Значение SВыражениеРезультат
‘Day N’Write (S:10);_____Day N
‘Ведомость 11’Write (S:13);_Ведомость 11
‘RRRDDD’Write (S:7,S:7);_RRRDDD_RRRDDD
Значение BВыражениеРезультат
TrueWrite (B);True
FalseWrite (B, not B);False, True
Значение BВыражениеРезультат
TrueWrite (B:6);__True
FalseWrite (B:10);_____False
TrueWrite (B:5,not B:7);_True__False

Оператор записи Writeln аналогичен процедуре Write, но после вывода послед¬него в списке значения для текущей процедуры Writeln курсор переводится к началу следующей строки.

Процедура Writeln, записанная без параметров, вызывает перевод строки.

Упражнение 3.4. Загрузите интегрированную среду программирования, введите текст предыдущей программы, откомпилируйте ее и проверьте результат выполнения. Если к компьютеру не подключен принтер, то проверьте вывод на экран, для чего в записи списка вывода процедуры Writeln опустите слово Lst.

Что нового мы узнали?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *