Типы данных real и integer являются

Типы данных real и integer являются

Primary tabs

Forums:

Вещественный тип данных

Тип Real служит для описания и хранения данных, являющихся вещественными числами.

Переменные типа Real

Переменные типа real могут быть объявлены стандартным способом (подобно integer):

Таким переменным можно присваивать литералы вещественных чисел:

А также результаты любых арифметических выражений:

Сравнение с Real с Integer

Выражения, возвращающие Integer

Если значение арифметического выражения присваивается переменной типа integer, то в него должны входить только:

  • целочисленные литералы
  • или целочисленные переменные.
  • Над указанными операндами должны выполняться операции (только эти — без операции деления):
    1. $+$ суммы (сложения)
    2. $-$ разности (вычитание)
    3. $*$ произведения (умножение)

    Выражения, возвращающие Real

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

    1. $+$ суммы (сложения)
    2. $-$ разности (вычитание)
    3. $*$ произведения (умножение)
    4. $/$ деление ("отношение")

    Можно сказать что тип, который возвращается выражением (тип его результата) определяется двумя моментами:

    1. типом операций (допустимые перечислены выше)
    2. типом операндов

    Неявное приведение (преобразование) типа

    Неявное приведение типа — это процесс преобразования типа без каких-то особо записанных в коде инструкций, которые бы явно указывали на то, что выполняется преобразование.

    Когда неявное приведение имеет место быть

    Неявное приведение типа возможно в двух случаях:

    1. В ходе операции присваивания — когда переменной типа real присваивается любое значение типа integer.
      Например:
    2. В ходе вычисления значения арифметического выражения, если хотя бы один из операндов (или результатов подвыражения, оказавшимся операндом) имеет тип real.

    О втором случае поговорим подробнее.

    Если в арифметическом выражении присутствуют целые числа (переменные, литералы или результаты подвыражений типа integer) и эти числа участвуют в одной операции с типом real, то:

    1. сначала целые числа будут приведены Паскалем к типу real (так как real может хранить любые данные типа integer, а обратное не верно)
    2. а затем уже будет вычислен результат арифметической операции, который тоже будет иметь тип real

    Пусть у нас есть выражение:

    — этом случае вычисления будут проходить так ("под капотом" языка Паскаль):

    — знание этой особенности позволяет правильно определить тип переменной для хранения результата выражения.

    Что к чему приводится неявно

    Если в арифметических выражениях если неявное приведение типа имеет место быть, то это всегда приведения integer к real как к более широкому и универсальному классу чисел.

    Рассмотрим разные выражения и прокомментируем когда происходит неявное приведение типа, а когда нет и почему:

    Присваивание несовместных типов. Что и чему можно присваивать

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

    Читайте также:  Как запустить мультиварку редмонд

    Рассмотрим примеры присваивания переменным значений с комментариями, показывающими в каких строках ошибка:

    Вывод вещественных чисел на экран

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

    В некоторых реализациях Паскаля, при выводе на экран может использоваться экспоненциальная форма записи числа, то есть дробное число записывается (две особенности):

    1. в виде некоторого числа (обычно с одной цифрой в целой части), умноженного на $10$ в какой-то степени (вещественное число всегда подразумевается обладающим дробной частью, просто иногда она равна нулю, тогда число называют целым).
    2. вместо множителя $10$ используют букву $E$.

    Примеры экспоненциальной записи чисел

    • Так, например число $125.35$:
      $$125.35 = 1.2535 * 100 = 1.2535 * 10^<2>$$
      в экспоненциальной форме может выглядеть так:
    • А число, скажем, $0.005567$:
      $$0.005567 = 5.567 / 1000 = 5.567 / 10^3 = 5.567 * 10^ <-3>$$
      в экспоненциальной форме может быть записано как:

    Разбор задач

    Пример №1

    Пусть есть задача:

    Выведите на экран произведение чисел $5$ и $7.3$

    Самое простое решение:

    Хотя по хорошему выводить данные с пояснениями, например используя в качестве первого аргумента литерал:

    Если же требуется вывести сумму переменных, то:

    Ну и наконец, если требуется дополнительно записать результат арифметического в переменную и уже потом вывести её значение, то:

    Пример №2

    Пусть есть задача:

    Присвойте трем переменных значения $34$, $36.7$ и $7.3$, в четвертую переменную запишите разность между произведением первой и второй переменной и суммой второй и третей и выведете её значение на экран.

    Для переменной $d$ нам пришлось использовать тип real, так как выражении:

    две переменные были вещественного типа, а значит переменная $a$ тоже была бы неявно приведена к вещественному типу (а её значение 34 к 34.0) и результат выражения имел вещественный тип, а присваивать результат вещественного типа переменной целого типа нельзя (об этому говорилось в этом уроке выше и в предыдущем уроке), как как в этом случае неявное преобразование для присваивания не сработает (см. выше первый случай когда имеет место быть неявное преобразование типов).

    Видео-пояснения

    Для данного урока есть следующие видео:

    Вопросы & Задачи

    Теоретические вопросы:

    1. Что такое операнд? Приведите примеры операндов и операций.
    2. Для чего нужен тип real?
    3. Что такое неявное приведение типа и когда оно работает?
    4. Происходит ли приведение типа в выражениях (по каждому ответьте отдельно):

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

  • Что такое экспоненциальная форма записи числа? Запишите в такой форме числа:
    • 0.00045
    • 154567.34
    • 2.345
    • При описании переменной необходимо указать ее тип. Тип переменной описывает набор значений, которые она может принимать, и действия, которые могут быть над ней выполнены. Описание типа определяет идентификатор, который обозначает тип.

      Читайте также:  Как подключить простой телевизор к цифровому телевидению

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

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

      Турбо-Паскаль имеет четыре встроенных стандартных типа: integer (целое), real (вещественное), boolean (логический) и char (символьный).

      Целочисленный тип (integer)

      В Турбо-Паскале имеется пять встроенных целочисленных типов: shortint (короткое целое), integer (целое), longint (длинное целое), byte (длиной в байт) и word (длиной в слово). Каждый тип обозначает определенное подмножество целых чисел, как это показано в следующей Таблице.

      Встроенные целочисленные типы.

      Тип

      Диапазон

      Формат

      8 битов со знаком

      16 битов со знаком

      32 бита со знаком

      8 битов без знака

      16 битов без знака

      Арифметические действия над операндами целочисленного типа осуществляются в соответствии со следующими правилами:

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

      Операции совершаемые над целыми числами:

      SQR — возведение в квадрат

      DIV — после деления отбрасывает дробную часть

      MOD — получение целого остатка после деления

      ABS — модуль числа

      RANDOM(X)-получение случайного числа от 0 до Х

      Описываются переменные целого типа следующим образом:

      var список переменных: тип;

      Например: var а,р,n:integer;

      Вещественный тип(real)

      К вещественному типу относится подмножество вещественных чисел, которые могут быть представлены в формате с плавающей запятой с фиксированным числом цифр. Запись значения в формате с плавающей запятой обычно включает три значения — m, b и e — таким образом, что m*b е , где b всегда равен 10, а m и e являются целочисленными значениями в диапазоне вещественного типа. Эти значения m и e далее определяют диапазон и точность вещественного типа.

      Имеется пять видов вещественных типов: real, singlе, duble, exnende, comp. Вещественные типы различаются диапазоном и точностью связанных с ними значений

      Диапазон и десятичные цифры для вещественных типов

      Тип

      Диапазон

      Цифры

      2.9×10Е-39 до 1.7×10Е 38

      1.5×10Е-45 до 3.4×10Е 38

      5.0×10Е-324 до 1.7×10Е 308

      3.4×10Е-493 до 1.1×10Е 403

      Операции совершаемые над вещественными числами:

      • Все операции допустимые для целых чисел.
      • SQRT(x)-корень квадратный из числа х.
      • SIN(X), COS(X), ARCTAN(X).
      • LN(X)-натуральный логарифм.
      • EXP(X)-экспонента Х (е х ).
      • EXP(X*LN(A))-возведение в степень (А х ).
      • Функции преобразования типов:
      • TRUNC(X)-отбрасывает дробную часть;
      • ROUND(X)-округление.
      Читайте также:  Повестка к сожалению у вас нет прав
    • Некоторые правила арифметических операций:
      • Если в арифметическом действии встречаются числа типа real и integer, то результат будет иметь тип real.
      • Все составные части выражения записываются в одну строку.
      • Используются только круглые скобки.
      • Нельзя подряд ставить два арифметических знака.
      • Описываются переменные вещественного типа следующим образом:

        Символьный тип(char)

        K типу char относится любой символ заключенный в апострофы. Для представления апострофа как символьную переменную, надо заключить его в апостроф:’’’’.

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

        К символьным данным применимы знаки сравнения:

        Например: ‘A’ — это особый вид констант, задаваемых через запятую и имеющих свой порядковый номер, начиная с 0.

        Можно выполнить такие операторы присваивания:

        но нельзя выполнять смешанные присваивания:

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

        1. ORD — порядковый номер

        2. PRED — предшествующий элемент

        3. SUCC — последующий элемент.

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

        Наиболее важными элементами программы являются переменные. Именно они влияют на ход событий в программе во время ее выполнения. Например, если бы мы не указали значение переменной Name в нашей первой программе, кому было бы адресовано приветствие, выведенное программой?

        Переменные могут содержать совершенно различные данные. Например, в одной переменной может храниться чье-то имя, в другой – год рождения, в – третьей – рост и т.д. Такие разные данные и представляются компьютером по-разному. Имя – это строка символов, год рождения – целое число, рост – вещественное число (например, рост равен 1.72 м).

        Способ представления данных компьютером определяется их типом. Кроме того, тип данных определяет, какие действия разрешается выполнять над этими данными.

        Ниже перечислены основные стандартные типы данных языка Турбо-Паскаль:

        1. INTEGER – целочисленные данные в диапазоне от –32768 до 32767, в памяти занимают два байта;
        2. REAL – вещественные числа в диапазоне от 2.9´10 -39 (2.9E-39) до 1.7´10 38 (1.7E38), занимают шесть байт;
        3. CHAR – отдельный символ, один байт;
        4. STRING – строка символов, количество символов в строке (длина строки) ограничивается числом N в квадратных скобках, занимает N+1 байт (если число N не указано, то максимальная длина строки равна 255 символов);
        5. BOOLEAN – логический тип, имеет два значения: FALSE (ложь) и TRUE (истина), один байт.

        Заметим, что типы INTEGER, CHAR, и BOOLEAN относятся к порядковым типам (ordinal types).

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

        Пример описания переменных различных типов:

        Ссылка на основную публикацию
        Сканер ricoh sp 220snw
        Компания Ricoh — далеко не новичок на рынке печатающих устройств. Это глобальная корпорация со штаб-квартирой в Токио и представительствами во...
        При каком альфа векторы компланарны
        Единого обозначения компланарность не имеет. Свойства компланарности Пусть — векторы пространства . Тогда верны следующие утверждения: Если хотя бы один...
        При каком значении m прямая параллельна плоскости
        Точка C(—3, 4,1) найдена. 6. Написать уравнение плоскости, проходящей через точки M1(1, —2, 1), M2(4, 2, 3) и параллельной вектору...
        Сколько дают на ютубе за 1000 просмотров
        Многих пользователей YouTube, а также начинающих видеоблогеров справедливо интересует вопрос: «А сколько YouTube платит за тысячу или миллион просмотров?» Если...
        Adblock detector