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.


 

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

62042. Изображение головы человека в пространстве 25.47 KB
  Познакомить учащихся с закономерностями в конструкции головы человека пропорциями лица человека. Презентация; Зрительный ряд презентация примеры работ Модель гипсовой головы...
62043. Гигиена девушки. Косметика 31.36 KB
  Учащиеся должны знать: как ухаживать за телом кожей волосами; как правильно держать осанку и походку; тип кожи тип волос; Учащиеся должны уметь: ухаживать за телом кожей волосами; определять тип кожи; определять тип волос и ухаживать за ними...
62044. Грибы съедобные и несъедобные. Правила сбора грибов 23.02 KB
  Цель: учить распознавать грибы формировать представление о грибах как об особом царстве живой природы; познакомить с видами грибов; учить осторожности при сборе грибов объяснить чем грозят последствия неправильного сбора и употребления грибов...
62045. Внутренняя и внешняя политик Павла I. Правление Александра I (либеральный период) 33.85 KB
  После смерти Екатерины II на российский престол взошел император Павел I. Записываем в тетради: Павел I 17961801 Будущий император Павел I родился в 1754 году. Павел получил хорошее образование и по свидетельствам современников был способным стремящимся к знаниям мальчиком.
62046. Конденсаторы 34.69 KB
  Цели урока: Учебная формирование понятий плоского конденсатора его назначения и величин характеризующих конденсатор электроемкость общая электроемкость энергия конденсатора. Усвоить понятие об устройстве конденсатора плоского конденсатора...
62047. Психические процессы: ощущение 34.59 KB
  Возникновение ощущений. Классификация ощущений по взаимодействию рецепторов с раздражителями по ведущему анализатору а также по расположению рецепторов. Свойства и закономерности ощущений...
62048. Выполнение практических заданий из различных предметных областей. Исследование зависимостей 540.9 KB
  Несколько смежных ячеек образующих прямоугольный блок диапазон 6.Для копирования формул в диапазон ячеек используют автозаполнение 10.Самый быстрый и наглядный способ перемещения диапазона ячеек перетаскивание 14.
62049. Демократические выборы и политические партии 23.62 KB
  Запишем определение мажоритарной избирательной системы. Мажоритарная избирательная система Какие же плюсы это системы Запишем. Плюсы системы: Минусы системы: кто избирается в РФ по данной избирательной системе на сколько лет избирается...