68993

Цілий та дійний типи даних

Лекция

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

Види цілого типу Операції над цілим типом Види дійсного типу Операції над дійсним типом Види цілого типу Значеннями типу integer є елементи підмножини цілих чисел. У другому випадку ціле значення виразу перетворюється до дійсного типу і присвоюється змінній дійсного типу.

Украинкский

2014-09-28

55.5 KB

0 чел.

Лекція № 3

Тема: Цілий та дійний типи даних.

План заняття

  1.  Види цілого типу
  2.  Операції над цілим типом
  3.  Види дійсного типу
  4.  Операції над дійсним типом

Види цілого типу

Значеннями типу integer є елементи підмножини цілих чисел. Цю підмножину визначає конкретна реалізація мови. Для кожної реалізації є деяке число maxint - ціла стала, така, що ціле число N можна використати в програмі, якщо воно не виходить за межі діапазону –maxint <= N <= maxint.

Цілий тип у ТР наводять за допомогою п'яти стандартних типів (табл.1).

Шістнадцяткові сталі в ТР записують зі знаком $ перед числом: $8В34.

Спроба обчислити вираз, значення якого виходить за межі діапазону, призводить до помилки під час виконання програми.

Цілий тип у Турбо Паскалі

Тип

Діапазон

Ємність пам'яті,

байт

shortint

-128..127

1

integer

-32768..32767

2

longint

-2147483648..2147483647

4

byte

0..255

1

word

0..65535

2

Операції над цілим типом

Наступні операції, застосовані до цілих операндів (тобто змінних, сталих, над якими виконують операції), дають цілі значення: + , - , * , div (ділення з відкиданням остачі) і mod (взяття остачі від ділення).

Якщо т>=0, то m mod n = m-((m div n)*n), а при т<0 т тоd п = т-((т div п)*п)+п. Отже, значення т тоd п завжди додатне.

Відповідно й вирази, які об'єднують цими знаками цілочислові змінні і сталі, даватимуть цілі значення. Приклад цілочислових виразів:

const

d=10; var

а, b, с: integer;

Тоді можна будувати такі цілочислові вирази:

а+b;

a+b div с;

b-100;

b mod d + 1;

Операції множення, ділення і взяття остачі рівноцінні щодо послідовності виконання і виконуються перед додаванням та відніманням. Як і в звичайних алгебричних позначеннях, послідовністю виконання операцій можна керувати за допомогою дужок: (3+6)*2=18.

У результаті цілочислового ділення одержують завжди ціле число, остачею ігнорують:

5 div 2 = 2,   (-7) div 2=-3,   (-7) div (-2) = 3,    3 div 4 = О,

тобто результат операції div дорівнює 0, якщо дільник більший від діленого.

Беруть остачу так:

14 mod 5 =4,    3 mod 5 = 3,    (-14) mod 3 = 1.

Значення цілочислового виразу можна присвоїти змінній як цілого, так і дійсного типів. У другому випадку ціле значення виразу перетворюється до дійсного типу і присвоюється змінній дійсного типу. Це так зване неявне перетворення типу.

Якщо п - ціла змінна, то процедура read(n) приводить до введення числа із зовнішнього середовища, перетворення його до цілого значення і присвоєння цього значення змінній п. Якщо числам, що вводять, передують пропуски, то процедура read їх ігнорує.

Аналогічно процедура write(n:p), де п - змінна типу integer або вираз цілого типу, виводить ціле число на зовнішній пристрій (р - ширина поля). Ціле число буде розміщене в правій частині поля, а ліва доповниться пропусками. Якщо заданої ширини поля замало для розміщення числа, то поле автоматично розширюється. Параметр "ширина поля" можна і не зазначати, тоді буде деяка стандартна ширина поля для заданої системи, наприклад 10, тобто write(n) тотожне write(n:10).

Такі функції дають цілочисловий результат: abs(n) - абсолютне значення числа п, де п - ціле; sqr(n) - піднесення до квадрата числа п. Однак якщо аргумент цих функцій - дійсне число, то результатом теж буде дійсне число.

Функції pred і succ мають завжди цілочислові аргументи і дають цілочислове значення:

pred(i) - дає попереднє ціле значення, що дорівнює (i-l);

succ(i) - дає наступне ціле значення, що дорівнює (i+l).

Функції sin, cos, arctan, In, exp і sqrt можна виконувати з цілочисловими аргументами, проте результат буде завжди дійсний.

Функції trunc і round можна виконувати тільки з дійсними аргументами, однак вони дають цілочисловий результат:

trunc(r) - якщо r - дійсне, то результат - його ціла частина, оскільки дробова відкидається: trunc(3.7)=3;

round(r) - якщо r - дійсне, то результат - заокруглене ціле; round(r) для r>0 означає trunc(r+0.5), а для r<0 - tmnc(r-0.5).

Види дійсного типу

Змінні дійсного типу можуть набувати значень з підмножини дійсних чисел. Сталі дійсного типу записують у програмі з десятковою крапкою і порядком. Можливі значення дійсних змінних мають дві характеристики - діапазон і точність, які й обмежують підмножину дійсних чисел, що їх опрацьовує комп'ютер. Діапазон обмежений максимальним порядком, а точність - максимальною кількістю десяткових цифр комп'ютера.

Усі операції з дійсними значеннями наближені, що пов'язане з обмеженнями подання чисел у комп'ютері. Наприклад, для комп'ютера з точністю опрацювання чисел 10 десяткових цифр маємо 1000000+0.000001=1000000

Дійсний тип у Турбо Паскалі

Тип                        Діапазон                Мантиса     Ємність пам'яті,

_____________________________________________байт______

real                       2.9E-39..1.7E38          11-12                   6

single                   1.5E-45..3.4E38             7-8                     4

double                 5.0E-324..1.7E308      15-16                   8

extended           3.4E-4932..1.7E4932    19-20                 10

comp                   -2E+63..+2E+63-1                                   8

Операції над дійсним типом

Кожна операція з дійсними значеннями має похибку. Під час виконання великих програм похибка накопичується, і результат може бути спотворений. Щоб уникнути цього, треба вибирати добрі алгоритми, контролювати проміжні результати під час розв'язування задач на комп'ютері.

Дійсний результат, якщо хоча б один з операндів є дійсного типу (інший може бути цілого типу), дають такі операції: додавання, віднімання, множення, ділення. Під час ділення обидва операнди можуть бути цілі, а результат - дійсний. Якщо типи операндів змішані, то перед виконанням операції всі величини зводять до дійсного типу (це відбувається автоматично).

Як зазначено вище, значення виразу цілого типу можна присвоїти змінній дійсного типу (відбувається неявне перетворення цілий —> дійсний). Однак результат дійсного типу не можна присвоїти змінній цілого типу.

Функції abs(r) і sqr(r) дають дійсний результат, якщо аргумент дійсний.

Функції sin, cos, arctan, exp, sqrt за будь-якого дійсного чи цілого аргументу дають дійсний результат.

Зазначимо, що у мові Паскаль немає деяких часто вживаних функцій, наприклад, піднесення до степеня, тангенса та  ін. Такі функції треба подавати через інші, передбачені у Паскалі: a*-> exp(x*ln(a)), tg(x) -> sin(x)/cos(x) тощо.

Функції trunc і round використовують для перетворення дійс-, ного значення в ціле.

У дійсних величин нема попереднього чи наступного числа, тому функції pred і succ з дійсними аргументами не виконують. Якщо R - дійсна змінна, то оператор процедури read(fi) вводить число із зовнішнього середовища і присвоює його значення змінній R.

Оператор процедури write(R:p:t) виконує виведення у такому вигляді:

dddd.ddd,

де p - ширина поля (кількість усіх позицій, відведених під число), t- точність (кількість знаків після крапки). Якщо число не поміщається на визначеній ширині поля, то поле автоматично розширюється. Можна не зазначати t, тоді число буде виведене з рухомою крапкою: d.ddddEdd. Кількість цифр після крапки обмежена величиною р. Однак яке б не було р (навіть р=1), обов'язково будуть виведені (якщо нема t) знак числа, одна Цифра до крапки, одна цифра після крапки, Е, знак порядку і Цифри порядку. Для збільшення цифр після крапки треба збільшити p. Наприклад, оператор виведення

write(987.6:p) виведе

якщо р= 1   -         9.9Е+02;

якщо р = 8  -        9.9Е+02;

якщо p = 9 -          9.88Е+02.

Під час виведення треба p і t вибирати так, щоб не виводити зайвих цифр, які не важливі для результату, або цифр, які визначені неточно. Ширину поля і точність доцільно позначати поіменованими сталими. Тоді, якщо треба змінити точність виведення по всій програмі, достатньо змінити тільки відповідні сталі у розділі визначення сталих.


 

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

21355. Устройство диалогового отображения данных. Устройство управления синхронизацией 1.26 MB
  УДОД может работать в трех основных режимах: ввод в память микроЭВМ данных с клавиатуры пульта оператора; вывод данных и команд из микроЭВМ на устройства отображения информации и регистр индикации пульта управления; автоматизированный контроль блоков УДОД. Интерфейс воспринимается микроЭВМ как ряд адресуемых регистров. Блок 80513 функционально содержит пять адресуемых регистров: регистр состояния; регистр данных клавиатуры; регистр режима; регистр индикации сигнальной информации; регистр тестирования. В блоке 80103 шесть адресуемых...
21356. Назначение, состав вооружения воинских частей и подразделений РЭБ 587.21 KB
  Имеющиеся на вооружении силы и средства РЭБ не в состоянии оказать воздействие на всю систему управления противника поэтому важно применять их в сочетании с огневым поражением на наиболее важных направлениях в нужные периоды боя операции в нужное время по наиболее важным целям. Умелое применение современных комплексов радиоподавления иногда может дать не меньшие результаты чем удары средствами поражения по элементам АСУ противника. Радиоэлектронная борьба РЭБ – совокупность согласованных по целям задачам месту и времени мероприятий...
21357. НАЗНАЧЕНИЕ, ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ, СОСТАВ АВТОМАТИЗИРОВАННЫХ СТАНЦИЙ ПОМЕХ Р –325У,Р378А,Б 53 KB
  АСП обеспечивает: автоматический поиск и обнаружение источников радиоизлучений ИРИ в пределах частотного диапазона или в заданном участке диапазона; автоматическое или ручное пеленгование обнаруженных ИРИ; отображение значений частоты и пеленга обнаруженных ИРИ на табло УУС устройство управления станцией; определение принадлежности обнаруженных ИРИ к объекту РЭП радиоэлектронного подавления путем анализа оператором значений частот параметров сигналов и пеленгов; запись и хранение в ЗУ запоминающее устройство значений...
21358. Назначение, состав, ТТХ, БВ автоматизированного комплекса радиоразведки и подавления Р330 «МАНДАТ 1.2 MB
  Комплекс Р330 Мандат состоит на вооружении подразделений и частей РЭБ Сухопутных войск и предназначен для радиоразведки и радиоподавления линий радиосвязи противника в тактическом и оперативнотактическом звене управления в диапазоне от 1. Состав комплекса Мандат по количеству и типам применяемых средств зависит от организационноштатной структуры ОШС частей РЭБ решаемых ими задач и может включать: а автоматизированный пункт управления АПУ Р330К в составе двух машин: машина управления; аппаратная связи; б...
21359. Расчет СЭП 14.7 MB
  Рулевое устройство предназначается для удержания судна на заданном курсе, а также для его поворота при изменении направления движения
21360. Структурная схема, назначение составных частей, принцип работы станции в различных режимах 50.55 KB
  АПОА предназначен для обнаружения пеленгования и технического анализа ИРИ. Он обеспечивает: панорамную перестройку панорамного обнаружителя Р381Т15 и одновременно с ним автоматического пеленгатора по частоте во всем рабочем диапазоне частот или на отдельных участках диапазона с одинаковыми полосами обзора до семидесяти девяти; определение численных значений частот ИРИ и пеленгов на них с вводом измеренных значений в УУС; определение характеристик сигналов в ручном режиме с помощью анализатора Р399Т и занесение их при...
21361. Аппаратура АПОА: АФС КАМА-4, широкополосное входное устройство Т-152, панорамный обнаружитель Р-381Т1-5 38.37 KB
  Основными функциями изделия являются автоматический поиск радиоизлучений в установленной полосе обзора определение их средних частот ширины спектра и уровня на входе изделия формирование кодов характеристик излучений для передачи в УУС определение момента настройки РПУ на центральную или максимальную частоту спектра излучения. Логическая обработка кодов уровней при поиске сигналов со скоростью 0125 и 0250МГц cек предусматривает разделение импульсных помех и сигналов определение ширины спектра сигнала определение момента точной...
21362. Аппаратура АПОА: назначение, состав и работа составных частей панорамного обнаружителя Р-381Т1-5 25.35 KB
  РПУ Р381Т1 4 предназначено для использования в автоматизированных комплексах. В РПУ имеется гетеродин для приёма ТЛГ и ОПС сигналов работающий в следующих режимах: в режиме плавной перестройки с пределами изменения частоты 5000 Гц. В режиме фиксированных настроек для приёма передач с ОБП стабилизированный кварцевыми резонаторами на частотах 21315 и 21685 кГц режимы ВБП и НБП. Блок ПБ11 предназначен для преселекции усиления и аттенюации принимаемого ВЧ сигнала а также защиты РПУ от мощного сигнала помехи.
21363. Аппаратура АПОА: приемник контроля Р399А 17.93 KB
  В РПУ имеется гетеродин для приёма ТЛГ и ОПС сигналов работающий в следующих режимах: в режиме плавной перестройки с пределами изменения частоты 5000 Гц относительно средней частоты 215 кГц режим ТЛГ. Предусмотрена коррекция частоты гетеродина. Установка частоты и перестройка в ручном режиме обеспечивается: вручную с помощью клавиатуры УСТАНОВКА ЧАСТОТЫ или ручки НАСТРОЙКА с дискретностью 1 при нажатой кнопке 1 переключателя ШАГ НАСТРОЙКИ и с дискретом 10 Гц при нажатой кнопке 10. Обеспечивается установка частоты по...