Какие из предложенных переменных имеют тип real
Перейти к содержимому

Какие из предложенных переменных имеют тип real

Тип данных Real.

Тип REAL (вещественный). Число типа REAL занимает три слова (шесть байтов). При работе с вещественными числами нужно помнить, что на любом отрезке вещественной оси существует бесчисленное множество чисел. Поскольку для кодирования вещественного числа отведено всего шесть байтов памяти, то расчеты выполняются всегда с конечной точностью, которая зависит от формата числа.

Вещественное число записывается и хранится в памяти компьютера в виде X=m*B n , где m – мантисса, В – основание представления числа с плавающей точкой, n – порядок (целое число). Имеют место ограничения –M1<m<+М2; -E1<n<+Е2. В этих выражениях B, Е и М — константы, характеризующие представление числа. В таблице 3 приведены значения этих констант для вещественных типов данных, используемых в Pascal.

real

Так, для типа REAL основание В равно 10. Размер мантиссы 11—12 десятичных чисел. Диапазон десятичного порядка равен [-39, +38]. Таким образом, на отрезке оси вещественных чисел в заданном диапазоне можно закодировать только конечное число значений, а поскольку на оси таких чисел бессчетное множество, то выбирается интервал, «дискрет», на который этот диапазон (отрезок) делится. Число таких интервалов конечно. Каждый дискрет ставится в соответствие значению вещественного числа. Конечное множество определенных таким образом представителей вещественных чисел называется континуумом. Результаты вычислений округляются до чисел этого множества, поэтому необходимо говорить о точности вычислений. Округление результата происходит до ближайшего вещественного числа большего данного по модулю. Следует также отметить, что эти интервалы не являются равными. В соответствии с полулогарифмическим способом своего представления интервалы «растягиваются» с увеличением порядка. Наибольшая точность расчетов достигается в центральной части диапазона изменения вещественного числа X (например, в районе 1.0Е+00 погрешность вычислений 0,00000000001), и наименьшая — на его краях (например, в окрестностях числа 1.0Е+38 погрешность вычисления равна 1000000000000000000000000000).
Существует две формы отображения вещественных чисел (таблица 4): полулогарифмическая (с плавающей точкой) и естественная (с фиксированной точкой).

real.

Над вещественными числами определены операции сложения (+), вычитания (-), умножения (*) и деления (/). Операция возведения в степень не предусмотрена.
Использование типа REAL у начинающего программиста часто вызывает ряд ошибок, приводящих к искажению результата по следующим причинам:

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

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

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

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

Турбо-Паскаль имеет четыре встроенных стандартных типа: 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 упорядочены по возрастанию. Порядковые номера букв также упорядочены по возрастанию, но не обязательно следуют друг за другом.

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

    Функции, которые применимы к символьным переменным:

      ORD(X) — определяет порядковый номер символа Х.

    Перечислимый тип

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

    где <список констант> — это особый вид констант, задаваемых через запятую и имеющих свой порядковый номер, начиная с 0.

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

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

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

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

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

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

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

    Ограниченный тип

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

    Какие из предложенных переменных имеют тип real

    В Паскале используется несколько типов представления числовых значений, на начальном этапе будут рассмотрены лишь некоторые из них:

    integer – целые числа в интервале от -2147483648 до 2147483647

    real – вещественные (реальные) – целые и дробные положительные и отрицательные числа

    Описания констант в декларативной части производится перед переменными, и предусматривают определенную форму записи чисел (дополнительно тип константы не оговаривается): если константа записана с точкой, тип константы считается real. При записи значения константы используется знак равенства.

    Пример описания констант:

    c1=3.14159265; // с1 имеет тип real

    с2=2; // c2 имеет тип integer

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

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

    На Паскале такого рода предписание обычно выражается предложением назначения, имеющим вид:

    имя_переменной:=выражение_или_значение

    например: a:=25; или rt:=a+b;

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

    Описание переменных следует за описанием констант. В описании переменных после двоеточия указывается тип переменной:

    var a,d,c : integer;

    В Паскале возможны следующие действия (группы операций записаны в порядке приоритета):

    1) Операция возведения в степень (в стандартном Паскале отсутствует) – функция i:=power(x,y), где i — результат, x — основание, y — степень;

    2) умножение ( * ), деление ( / ), деление целочисленное (div), получение остатка от целочисленного деления (mod);

    3) сложение ( + ), вычитание ( — ).

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

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

    Результат операции деления всегда типа real. Результат операций div и mod — integer.

    Пример записи математической операции:

    в программе на Паскале это будет выглядеть так:

    Примечание. Квадрат числа sqr(c) можно (и проще!) записать как с*с

    Обратите внимание на использование знака операции присваивания :=

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

    Некоторые стандартные математические функции

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

    a:=random(x) – случайное число (если аргумент не указан, то результат real – число в интервале от 0 до 1, если x целое число от 0 до 65535, то результат случайное целое число в интервале от 0 до х-1;

    a:=abs(x) – модуль (абсолютная величина) x (real или integer);

    a:=int(x) – целая часть числа x (число real, результат integer), округление не проводится, дробная часть отсекается;

    a:=frac(x) – дробная часть числа x (число и результат real),

    a:=round(x) – целое число, полученное в результате округления числа x по правилам математики

    a:=sqr(x) – квадрат числа x (real, integer);

    a:=sqrt(x) – квадратный корень из числа x (real, x>0);

    a:=sin(x) – синус x (x задается в радианах, real);

    a:=cos(x) – косинус x (x задается в радианах, real);

    a:=arctan(x) – арктангенс x (real);

    а:=power(x,y) – степень числа

    Наберите следующую программу и разберитесь в ее работе:

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

    var a, s, d, e, o : integer;

    writeln(‘Сумма цифр трехзначного числа’);

    write(‘Введите целое трехзначное число ‘);

    writeln(‘Сумма цифр трехзначного числа=’, s+d+e);

    writeln(‘Сумма цифр трехзначного числа=’, s+d+e);

    Выполните задания с Begin9° по Begin30° по электронному задачнику (стр.11). Открыть его можно в режиме Помощь – Электронный задачник РТ.

    Задачи для самостоятельного решения

    1. Составить программу, чтобы компьютер по закону Ома для участка цепи, запрашивая с клавиатуры значения напряжения на концах участка и его сопротивления, определял и выводил на экран значение силы тока (I=U/R).

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

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