69753

Перетворення типів

Домашняя работа

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

Однак Турбо Паскаль допускає в певних межах такі перетворення які треба задавати в явному вигляді. Є три способи задавати перетворення типів: неявні перетворення використання стандартних функцій і явні перетворення.

Украинкский

2014-10-09

28.5 KB

1 чел.

Самостійне вивчення

Тема 11: Перетворення типів

У мові Паскаль типи даних задають статично, і загалом не допустимо їх змінювати в процесі виконання програми. Однак Турбо Паскаль допускає в певних межах такі перетворення, які треба задавати в явному вигляді.

Є три способи задавати перетворення типів: неявні перетворення, використання стандартних функцій і явні перетворення. Перші два визначені в авторській версії мови Паскаль, а третій - у Турбо Паскалі.

Спосіб неявного перетворення допустимий тільки в операції присвоєння, коли, наприклад, дійсній змінній присвоюється ціле. В другому способі для перетворення типів використовують такі функції: odd, trunc, round, ord, chr. Правила їх застосування розглянуті під час вивчення відповідних типів даних, з якими вони оперують.

Явне перетворення типів у Турбо Паскалі використовує спеціальну конструкцію. Загальний вигляд перетворення типу такий:

<тип>(<змінна>)

Тобто для надання змінній іншого типу потрібно взяти її в дужки, зазначити перед дужками ім'я нового типу. Розглянемо цей спосіб перетворення типу змінної на прикладі. Нехай деяка змінна описана, як

var і: byte;

Присвоєння їй значення

і:='I'

призведе до помилки - невідповідності типів. Таке присвоєння можна виконати тільки за допомогою конструкції явного перетворення типів:

char(i):='I'.

Цю конструкцію можна використовувати в усіх позиціях, де є змінна. Треба враховувати, що розмір змінної (тобто кількість байтів для її розміщення) повинен збігатися з розміром типу, ім'я якого зазначене перед дужками.

Аналогічно до перетворення типу змінної можна використовувати перетворення типу виразу. Вираз, записаний у круглих дужках, зводиться до типу, ідентифікатор якого зазначений перед дужками. Тип виразу в дужках та ідентифікатор типу перед дужками повинні бути або дискретними, або вказівними типами. Якщо один дискретний тип зводиться до іншого, то таке перетворення може призвести до урізання або збільшення ємності пам'яті порівняно з початковою. У цьому випадку може бути спотворення значення виразу.

Зазначимо, що перетворення типів можливе тільки для простих (скалярних) і вказівних типів.

Вказівні типи вважають різними відповідно до загальних правил, хоча значення вказівних змінних визначають адреси в оперативній пам'яті. Зокрема, типи, описані як

type

р=^геаl;

q=^integer;

визначають різні множини значень, і змінні

var

s:p;

j:q;

не можуть передавати одна одній значення, наприклад, шляхом присвоєння. Якщо ж

var

s, j: р;

то можна записати s:=j.

Для вказівних типів допустимі конструкції явного перетворення. Наприклад, задано такі описи:

type rac=record

re, im: real

end;

rrac=^rac;

LL=^longint;

var

v1: rrac;

v2: LL;

Тут v1, v2 є вказівниками на значення різних типів. Однак конструкція перетворення типу дасть змогу трактувати їх як вказівники на однаковий тип:

rrac(v2)^.re:=5.7; LL(v1)^:=729364.


 

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

36925. КОМПЬЮТЕРНАЯ СИСТЕМА PROJECT EXPERT. ОПРЕДЕЛЕНИЕ НЕОБХОДИМОСТИ ФИНАНСИРОВАНИЯ ПРОЕКТА 47 KB
  ОПРЕДЕЛЕНИЕ НЕОБХОДИМОСТИ ФИНАНСИРОВАНИЯ ПРОЕКТА Цель: изучить систему команд Project Expert формирования инвестиционного и операционного планов предприятия по реализации проекта. Выполнить на ПЭВМ следующие разделы Project Expert: Инвестиционный план Операционный план. На основе инвестиционного и операционного планов предприятия определить потребность в финансировании проекта. Теоретическое введение Следующим этапом процесса построения финансовой модели является описание плана развития предприятия проекта.
36926. Решение задач нелинейного программирования в среде Mathcad и Excel 64 KB
  Оптимальное распределение активной мощности между тремя ТЭС Для задачи рассмотренной на 4м практическом занятии выполнить распределение активной мощности между тремя ТЭС без учета 1а и с учетом 1б изменения потерь мощности в сети. Оптимальное распределение активной мощности между тремя ТЭС с учетом уравнений баланса мощностей во всех узлах сети Решить предыдущую задачу с учетом уравнений узловых напряжений для узлов схемы сети. Оптимальное распределение реактивной мощности между тремя ТЭС с учетом уравнений баланса мощностей во...
36927. Исследование статических и динамических характеристик уровнемеров 1.89 MB
  Губкина Кафедра автоматизации технологических процессов Лабораторная работа Исследование статических и динамических характеристик уровнемеров Методическое пособие к лабораторным работам по курсам : Методы и средства измерений испытаний и контроля Автоматизация производственных процессов Основы техники измерений Москва 2011 Введение Автоматизированные системы управления технологическими процессами АСУ ТП получают результаты измерений в процессе...
36928. Блочные симметричные алгоритмы шифровании. Режимы работы блочных алгоритмов 2.77 MB
  Блочными называются шифры в которых логической единицей шифрования является некоторый блок открытого текста после преобразований которого получается блок шифрованного текста такой же длины. Ситуации в которых постороннему наблюдателю известна часть исходного текста встречаются повсеместно. Это диктуется в первую очередь требованием невозможности обратного декодирования в отношении ключа при известных исходном и зашифрованном текстах. Предположим противник обладает некоторыми сведениями о статистических характеристиках открытого текста.
36929. Моделі оптимального використання взаємозамінних ресурсів 41 KB
  2 як зміниться план якщо норми затрат часу роботи обладнання А на одиницю продукції 1 збільшаться до 3 а обладнання В на одиницю продукції 2 зменшаться до 3. 4 Як зміниться розв’язок задачі якщо прибуток від продажу продукції зросте на 10 де k – порядковий номер у списку студентів групи: m=10k якщо k 10 m=20k якщо k 10 Задача 2 З наступних задач студентка вибирає одну відповідно до порядкового номера у списку студентів групи. Компанія Яваін†віднедавна отримала статус ексклюзивного дистриб’ютора іспанської фірми із...
36930. Зовнішній вигляд сторінок. Їх оформлення. Форматування тексту 75 KB
  Форматування тексту. Навчитись змінювати параметри форматування абзаців: вирівнювання інтервал розміщення на сторінці табуляція обрамлення та заповнення список нумерація заголовків. Засвоїти поняття: автозбереження; резервні копії документів; режими відображення документів; пошук текстових документів за різними критеріями; захист документа; основні елементи документа; опції редагування; параметри форматування символів; параметри форматування абзацу; вирівнювання; відступ інтервал розміщення на сторінці табуляція ...
36931. Дослідження нормального розподілу 16.96 KB
  Створюємо таблицю зі стовпчиками задача а задача б задача в та рядками вага пакунку та ймовірність. Задача а Задача б Задача в Вага пакунку Менше 48 Більше 51 У межах від 48 до 51 кг. Ймовірність Задача а Для підрахунку ймовірності РХ 48 події що навмання взятий пакет важить менше 48 кг. Задача б Для підрахуваня ймовірності РХ 51 події що навмання взятий пакет важить більше 51 кг використаємо співвідношення РХ 51=1РХ 51.
36932. Амплітудний модулятор 211.5 KB
  Мета: Дослідження методики настроювання амплітудного модулятора Дослідження модуляційної характеристики амплітудного модулятора Дослідження режимів роботи амплітудного модулятора 1. Методика настроювання амплітудного модулятора на біполярному транзисторі: Для цього складемо схему: Після чого настроїмо резонансний контур на частоту несучого коливання. Закріпимо здобуті навички і налагодимо амплітудний модулятор на частоту модулю чого коливання 150кГц розрахуємо необхідні дані: Статична модуляційна характеристика: E Uвих 02...
36933. Неповністю визначені функції 424.25 KB
  Зберіть схему підключіть входи DCB до джерела логічних сигналів а вихід до логічного пробника. Намалюйте часові діаграми сигналів на виходах всіх логічних елементів схеми для всіх можливих комбінацій вхідних сигналів. Розробіть схему що формує на виході сигнал F із вхідних сигналів А В С як показано на рисунку. При перевірці її роботи для формування вхідних сигналів використайте: а джерела логічних сигналів; б генератор слів.