Структурированные типы данных. Структурированные данные Google

Примеры

Если вы не знаете, как добавить код разметки на сайт, воспользуйтесь инструментом Маркер .

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

Как разметить веб-страницу или письмо

Разметку можно разместить на HTML-странице или в HTML-файле письма электронной почты.

Как разметить веб-страницу

Выполните следующие действия:

Как разметить письмо в формате HTML

Выполните следующие действия:

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

Чтобы сохранить разметку в том виде, в каком она существует в данный момент, создайте для страницы закладку в браузере. Мастер разметки структурированных данных "запомнит" разметку, включая все ее значения, на месяц.

Как удалить теги

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

Как удалить отдельный тег

  1. Откройте образец страницы или сообщения электронной почты и нажмите на нужный тег.
  2. В появившемся меню выберите Удалить тег .

Также вы можете найти нужный элемент в столбце "Мои элементы данных", навести на него указатель мыши и нажать "Х" справа.

Как удалить все теги

Расширенная разметка дат

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

Если даты на странице отображаются единым фрагментом (например, 4 июня 2012 г.), то их рекомендуется отмечать одним тегом. Чем меньше тегов на сайте, тем быстрее он будет обрабатываться и тем точнее будут результаты.

Как добавлять один тег для даты

  1. Начните выполнять разметку в соответствии с инструкциями для страницы или письма .
  2. На странице добавления тегов выделите с помощью мыши дату, например 2 июня 2012 г.
  3. В открывшемся меню выберите Дата > Дата/время или диапазон .
  4. страницы или письма .

Добавление тегов для фрагментов дат

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

Учтите, что Мастер разметки не распознает даты, которые разделены на фрагменты и при этом представляют собой диапазон (например, 4–5 июня и 2012 ).

Как добавить теги для фрагментов дат

  1. Начните выполнять разметку в соответствие с инструкциями для страницы или письма .
  2. На странице добавления тегов выберите фрагмент даты с помощью мыши, например "июня ".
  3. В открывшемся меню выберите Дата > Дополнительно > нужный фрагмент . Пример: Дата > Дополнительно > Месяц .

    Мастер разметки добавит дату в столбец "Мои элементы данных".

  4. Продолжайте добавлять теги для фрагментов данных, пока отметите их все.
  5. Завершите разметку в соответствие с инструкциями для страницы или письма .

Примеры тегов для дат

Ниже приведены примеры дат, которые вы можете отметить.

  • Отдельная дата. Например, можно пометить следующие варианты:
    • 2012 г., 4 июня
    • 4 июня 2012 г.
    • 13.04.2012 – ваши теги могут включать другие разделители и четырехзначное значение года, например 13-4-2012 . В случае с датами, которые можно читать по-разному, Google интерпретирует первое число как месяц. Например, дата 6/4/12 распознается как 4 июня 2012 г., а 13/4/12 – как 13 апреля 2012 г.
    Вы можете отметить несколько дат на странице. Например, если отметить 4 июня 2012 г. и 6 июня 2012 г. , то это будет означать, что мероприятие пройдет дважды: первый раз 4 июня, а второй – 6 июня.
  • Диапазон дней. Например, 4-7 июня 2012 г.
    Обратите внимание, что разделитель между начальной и конечной датой должен быть дефисом (-).
  • Даты с указанием времени. Например, можно отметить следующие даты:
    • 4 июня 2012 г. 3 pm – дата и время (am или pm). Если не указано, утреннее или вечернее время, Google интерпретирует данные с учетом стандартного рабочего времени. Например, 11 будет считаться за 11 am, а 2 – за 2 pm.
    • 4 июня 2012 г., 15:00 – 24-часовой формат времени.
    • 4 июня 2012 г. 3 pm EST или 4 июня 2012 г. 3 pm -5:00 – время с указанием часового пояса или отклонения по UTC/GMT.
    • 4 июня 2012 г., 2-3 pm или 4-5 июня 2012 г., 2-3 pm – диапазоны времени с диапазоном дат или без него.
  • Фрагменты дат.Вы можете использовать расширенные настройки тегов, чтобы отметить следующие фрагменты текста как отдельную дату:
    • День: 4 июня, среда . Год: 2013 .
    • 4 июня | Время: 7:30pm-9:30pm и 2012
    Google не распознает диапазоны дат, распределенные по нескольким тегам. Например, следующие теги для дат являются недействительными:
    • 4-5 июня и 2012

Как указать формат даты вручную

Мастер разметки распознает даты на странице в соответствии с правилами форматирования, заданными для языка этой страницы. Например, если на странице используется американский английский (en-US), дата 12-06-12 будет означать 6 декабря 2012 г. Но если на странице используется британский английский (en-GB), то та же дата будет интерпретироваться как 12 июня 2012 г. Мастер разметки автоматически определяет язык страницы и использует соответствующие правила.

Чтобы задать другой формат даты для Мастера разметки, выполните следующие действия:

  1. В открывшемся окне выберите формат даты из соответствующего списка.
  2. Нажмите Сохранить .

Как добавить недостающие данные

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

Добавить недостающие данные, а также изменить или удалить их, можно в любое время.

Как добавить, изменить или удалить данные

  1. Нажмите Добавить отсутствующие теги в нижней части столбца "Мои элементы данных".
  2. Выполните любое из следующих действий:
    • Выберите тег из списка и введите значение. Например, вы можете выбрать тег Категория и ввести значение "Русские народные песни".
    • Удалите существующие данные, нажав X в текстовом поле.
    • Измените значение в поле.
  3. Нажмите Сохранить .
    Изменения отобразятся в столбце "Мои элементы данных"

Как изменить язык страницы

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

Для этого выполните следующие действия:

    Нажмите на значок настроек и выберите .

  1. В открывшемся окне укажите язык.
  2. Нажмите Сохранить .

Что такое schema.org

schema.org – это результат совместной работы Google, Microsoft и Yahoo! по усовершенствованию Интернета путем создания общего стандарта для описания веб-данных. Если вы добавите на свои HTML-страницы разметку schema.org, многие компании и системы, включая Google Поиск, смогут распознать информацию на вашем сайте. Аналогичным образом, если вы добавите разметку schema.org в электронное письмо в формате HTML, его данные сможет распознавать не только Gmail, но и другие почтовые сервисы.

Информатика 2017

Учитель: Махно К.В.

Тема урока: «Файлы и их обработка. Структурированные данные»

Цель: познакомить учащихся с понятием массива, рассмотреть приемы работы с данными типами массивов.

Задачи урока:

    Воспитательная – развитие познавательного интереса, логического мышления.

    Учебная – познакомить с понятием массива, изучить и закрепить основные навыки работы с массивами.

    Развивающая – развитие логического мышления, памяти, внимательности, расширение кругозора.

Тип урока : урок – изучение нового материала.

Вид : урок – лекция.

Технология : проблемно – исследовательская.

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

План урока

    Организационный момент.

    Изучение новой темы.

    Этап обобщения, систематизация знаний и закрепление изученного.

    Подведение итогов, домашнее задание.

Ход урока

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

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

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

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

Структурированные типы данных определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов.

Структурированные типы данных в отличие от простых задают множества сложных значений с одним общим именем. Можно сказать, что структурные типы определяют некоторый способ образования новых типов из уже имеющихся.

Существует несколько методов структурирования. По способу организации и типу компонентов в сложных типах данных выделяют следующие разновидности: регулярный тип (массивы); комбинированный тип (записи); файловый тип (файлы); множественный тип (множества); строковый тип (строки); в языке Турбо Паскаль версии 6.0 и старше введен объектный тип (объекты).

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

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

Строки. Строка (string) – это последовательность символов кодовой таблицы персонального компьютера. Количество символов в строке может изменяться от 0 до 255.

Массивы. Простые типы определяют различные множества неразделимых значений. В отличие от них структурированные типы задают множества сложных значений, каждое из которых образует совокупность нескольких значений другого типа. В структурных типах выделяют регулярный тип (массивы - array). Название регулярный тип (или ряды) массивы получили за то, что в них объединены однотипные элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве.

Множества. Множество (set) – это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества . Все элементы множества должны принадлежать одному из скалярных типов, кроме вещественного.

Записи. Для записи комбинации объектов разных типов в Паскале применяется комбинированный тип данных – запись (record). Например, товар на складе описывается следующими величинами: наименование, количество, цена, наличие сертификата качества и т.д. В этом примере наименование – величина типа string, количество – integer, цена – real, наличие сертификата – boolean.

Запись представляет собой наиболее общий и гибкий структурированный тип данных, так как она может быть образована из неоднотипных компонентов и в ней явным образом выражена связь между элементами данных, характеризующими реальный объект.

Файлы. Большие совокупности данных удобно иметь записанными во внешней памяти в виде последовательности сигналов. В Паскале для этих целей предусмотрены специальные объекты – файлы (file). Файлом называется совокупность данных, записанная во внешней памяти под определенным именем.

Рассмотри задачи на объявление переменных и констант скалярного типа.

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

·каждая переменная программы должна быть объявлена;

·объявление переменных помещают в раздел, который начинается словом var; константы помещают в раздел, который начинается словом const; переменные пользовательских типов (перечисляемые и интервальные) объявляют по особой схеме;

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

·инструкция объявления констант выглядит так: ИмяКонстанты = значение константы;

Пример :

min=1; {минимальное значение}

max=54; {максимальное значение}

//инструкция объявления переменных выглядит так: имя ИмяПеременной: тип;

k1: integer; {количество тетрадей}

k2: byte; {количество карандашей}

c1: real; {цена одной тетради}

//инструкция объявления переменных интервального типа помещается в двух разделах type, var и выглядит так:

days=1..31 ; {дни месяца}

rabotday: days; {рабочие дни}

vihodday: days; {выходные дни}

//инструкция объявления переменных перечисляемого типа помещается в двух разделах type, var и выглядит так:

days=(monday, muesday, wednesday, thursday, friday, saturday, sunday) ; {дни }

day: days; {днинедели}

season: (may, april, juin); {дниотпуска}

Домашнее задание:

Подготовить сообщение о любой прикладной программе.

Тема 4.7

Программирование алгоритмов
формирования и обработки
одномерных массивов

Структурированные данные

Часто приходится обрабатывать не одиночные данные, а совокупность данных одного типа. Например, задача табулирования функции , которая состоит в получении последовательности значений заданной функции при нескольких значениях аргумента. Для промежуточного хранения каждого значения полученных данных требуется объявить собственную переменную с уникальным именем.

Обращение к каждой переменной последовательности по имени превращается в длинную вереницу однотипных операций с каждой переменной. Программный код становится плохо обозримым. Для размещения такой программе требуется много памяти.

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

Массив – это совокупность однотипных переменных (элементов массива ). Имя у всех переменных одно и то же, а для доступа к конкретному элементу массива используется дополнительный идентификатор – его порядковый номер (индекс), который начинается с 0.

Кроме массивов в программировании для построения эффективных алгоритмов могут использоваться и другие стандартные структуры данных, такие структуры данных, как стеки, очереди, связанные списки и другие.

Наряду со стандартными структурами данных, могут использоваться структуры данных, определяемые пользователем. Эти структуры данных определяются средствами объектно-ориентированного программирования с помощью классов .

4.7.2. Средства описания и работы с одномерными
массивами данных

Массив – последовательность переменных одинакового типа, объединенных общим именем . Например: одномерный массив а(9) состоит из 10 элементов с общим именем а: a(0), a(1), a(2), a(3),..., a(9), упорядоченных по индексу i, который принимает значения от 0 до 9:

a(i)
i

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

При объявлении массива оператор объявления должен включать следующую информацию:

· имя массива – имя (идентификатор), которое используется для представления массива в программе;

· тип данных – тип данных, который имеют элементы массива;


· размерность (ранг) – количество измерений объявляемого массива (т.е. количество индексов при объявлении; одномерные массивы имеют одно измерение);

· количество элементов – количество элементов, которые будут содержаться в массиве.

Рассмотрим примеры некоторых описаний массивов:

В этих примерах объявлены следующие массивы:

· одномерный массив d , состоящий из 31 элемента типа Integer с индексами от 0 до 30;

· одномерный массив a, состоящий из 11 элементов типа Double с индексами от 0 до 10;

· двумерный массив b , состоящий из 14х11=151 элемента типа Single с индексами по строкам от 0 до 13 и по столбцам от 0 до 10.

Обратите внимание, что значением нижней границы массива в VB может быть только 0 .

Таким образом, массив состоит из элементов, которые могут быть доступны при помощи индексов . При обращении к элементам массива индексы записываются вслед за именем в круглых скобках и могут представлять собой любое допустимое целочислен­ное выражение. Например, d(24), a(2*i+1).

Обратите внимание, что количество индексов указывает на размерность массива. Так, в приведенном выше примере размерность массива a(10) равна единице. Массив b(2,3) имеет размерность 2.

В отличие от размерности , размер массива – это количество элементов в массиве. В нашем примере размер массива, а(10) равен 11.

Перед использованием массива в программе его необходимо объявить с помощью оператора Dim , а элементам массива присвоить конкретные значения. Оператор Dim выделяет место в памяти компьютера для размещения элементов массива, обнуляет элементы числовых массивов или заполняет элементы строковых массивов пустыми строками ("""").

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

Заполнить элементы массива конкретными значениями можно с помощью ввода значений элементов массива, с помощью оператора присваивания или с помощью инициализации элементов массива.

Инициализация элементов массива – это поэлементное присваивание значения в операторе объявления массива. В этом случае размер массива не указывается в круглых скобках после имени массива, а определяется неявно размером списка значений. Список значений начинается с элемента с индексом 0 и заключается в фигурные скобки , например:

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

Чтобы облегчить работу с массивами в процедурах, для определения верхней границы массива используется встроенная функция
Bound (ИмяМассива ).

Эта функция возвращает (определяет) номер последнего элемента массива и позволяет обрабатывать массивы в процедурах, не передавая в них в качестве параметра количество элементов массива. Например,

Кроме того, для определения верхней границы одномерного массива можно использовать методGetUpperBound(). Поскольку массив одномерный, то в скобках следует указывать значение 0. Например:

Кроме того, известно, что ключевое слово ByVal указывает передачу аргумента-массива по значению, а ключевое слово ByRef указывает, что аргумент-массив передается по ссылке. Заметим, что если ключевые слова ByVal или ByRef опущены, то аргумент-массив переда­ется по ссылке.

Таким образом, при описании формальных параметров любой процедуры после ИмяМассива не­обходимо всегда включать пустые круглые скобки, так как они указывают, что этот параметр являет­ся одномерным массивом.

Обратите внимание на то, что после имени массива, который является фактическим параметром, скобки отсутствуют .

Как известно, передача аргументов по значению (с помощью ключевого слова ByVal) приводит к тому, что VB передает копию данных процедуре. Поэтому не следует передавать массивы по значению, если в этом нет особой необходимости.

Наименование параметра Значение
Тема статьи: Структурированные типы данных
Рубрика (тематическая категория) Программирование

Данные структурированного типа состоят из данных других типов. Переменные этих типов могут в каждый момент времени иметь только одно значение. К данным структурированного типа относятся:

o Строки;

o Массивы;

o Множества;

o Записи;

o Файлы;

o Классы.

Строки (строковые типы) : представлены тремя физическими и одним общим типами.

Данные типа ShortString представляют из себястроку, которая фактически является массивом из 256 элементов – array . Нулевой байт этого массива указывает длину строки. Строка - ϶ᴛᴏ последовательность символов кодовой таблицы.

Данные типов AnsiString и Wide String представляют из себядинамичсекие массивы, максимальная длина которых фактически ограничена размером основной памяти компьютера. Данные типа AnsiString м кодируются в коде ANSI , а типа Wide String – в коде Unicode .

Общим является тип String , который может соответствовать типу ShortString илиAnsiString , что определяется директивой компилятора $H .

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

Формат описания строкового типа:

Type <имя типа> = string [ max длина строки];

Иначе: var <имя переменной, ... >: string [ max длина строки];

В случае если значение максимально допустимой длины строки не указано, по умолчанию длина 255 символов. При использовании в выражениях строка состоит в апострофы. Строковые данные можно использовать в качестве констант. Недопустимо использование строковых переменных в качестве селœектора в операторе Case .

Пример: const Adres = ’ul. Korolenco, 5’;

type Stroka = string;

var Str: Stroka; St1: string; St2, St3: string;

Массивы : массив - ϶ᴛᴏ упорядоченная индексированная совокупность однотипных элементов, имеющих общее имя. Элементами массивов бывают данные любого типа, включая структурные. Каждый элемент массива однозначно определяется именем массива и индексом (номером этого элемента в массиве) или индексами, в случае если массив многомерный. Для обращения к отдельному элементу массива указывают имя этого массива и номер (номера) элемента͵ заключенный в квадратные скобки, к примеру, arr1 или arr2.

Количество индексных позиций определяет размерность массив (одномерный, двумерный и т.д.), при этом размерность массива не ограничивается. В математике аналогом одномерного массива является вектор, а двумерного массива – матрица. Индексы элементов массива должны принадлежать порядковому типу.

Различают массивы статические и динамические . Статический массив представляет собой массив, границы индексов и, соответственно, размеры которого задаются при объявлении, ᴛ.ᴇ. они известны до компиляции программы. Формат описания типа статического массива:

Type <имя типа> = Аггау [<тип индексов>] of <тип элементов >;

Иначе: var <имя переменной, ...>: Аггау [<тип индексов>] of <тип элементов >;

Пример.
Размещено на реф.рф
type Matrix = a ггау of integer;

Znak = array of char;

Day =(Mon, Tue, Wed, Thu, Fri, Sat, Sun);

var m1, m2: Matrix; a: Znak;

Week: array of Day; r: array of real;

Динамический массив представляет собой массив, для которого при объявлении указывается только тип его элементов, а размер массива определяете при выполнении программы. Формат описания типа динамического массива:

Type <имя типа> = Аггау of <тип элементов >;

Задание размера динамического массива во время выполнения программы производится процедурой SetLength (var S; NewLength:integer ), которая для динамического массива S устанавливает новый размер, равный NewLength . Выполнять операции с динамическим массивом и его элементами можно только после задания размеров этого массива.

После задания размера динамического массива для определœения его длины, минимального и максимального номеров элементов используются функции Length(), Low() и High() соответственно. Нумерация элементов динамиче­ского массива начинается с нуля, в связи с этим функция Low() для него всœегда возвращает значение ноль.

Пример.
Размещено на реф.рф
Var n: integer;

m: array of real;

SetLength(m, 100);

for n:=0 to 99 do m[n]:=n;

SetLength (m , 200);

После описания динамического массива, состоящего из вещественных чи­сел, определяется размер этого массива, равный 100 элементам. Каждому элементу присваивается значение, равное его номеру в массиве. Так как ну­мерация элементов массива начинается с нуля, то номер последнего из них равен не 100, а 99. После цикла размер массива увеличивается до двухсот.

Для описания типа многомерного динамического массива (к примеру, дву­мерного) используется конструкция:

Type <имя типа> = Аггау of Аггау of <тип элементов >;

Действия над массивом обычно выполняются поэлементно, в т.ч. операции ввода и вывода. Поэлементная обработка массивов производится, как правило, с использованием циклов. Массив в целом (как единый объ­ект) может участвовать только в операциях отношения и в операторе при­сваивания, при этом массивы должны быть полностью идентичными по структуре, то есть иметь индексы одинаковых типов и элементы одинаковых типов.

Множества: множество представляет собой совокупность элементов, выбранных из пред­определœенного набора значений. Все элементы множества имеют порядко­вый тип; количество элементов множества не может превышать 256. Формат, описания множественного типа:

Type <имя типа> = Set of <тип элементов >;

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

Вместе с тем, имеется операция in (проверка членства), которая определяет принадлежность выражения порядкового типа (первого операнда) множест­ву (второму операнду). Результат операции будет типа boolean и иметь зна­чение True в случае соблюдения принадлежности значения множеству.

Записи : записи объединяют фиксированное число элементов данных других типов. Отдельные элементы записи имеют имена и называютсяполями . Имя поля должно быть уникальным в пределах записи. Различают фиксированные и вариантные записи . Фиксированная запись состоит из конечного числа полей, ее объявление имеет следующий формат:

Type <имя типа> = record ;

<имя поля­_1>: <Тип поля>;

<имя поля_ n >: <Тип поля>;

Вариантная запись , так же как и фиксированная, имеет конечное число по­лей, однако предоставляет возможность по-разному интерпретировать об­ласти памяти, занимаемые полями. Все варианты записи располагаются в одном месте памяти и позволяют обращаться к ним по различным именам. Отметим, что термин ʼʼвариантная записьʼʼ не имеет ничего общего с терми­ном ʼʼвариантный типʼʼ (variant ). Формат объявления вариантной записи:

Type <имя типа> = record ;

Case <Признак>: <Тип признака> of ;

<вариант_1>: (<описание варианта_1>)

<вариант_ n >: (<описание варианта_ n >);

Для обращения к конкретному полю крайне важно указывать имя записи и имя поля, разделœенные точкой. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, имя поля является состав­ным. С полем можно выполнять те же операции, что и с переменной этого типа.

Пример.
Размещено на реф.рф
var Man: record;

Man.Name:=’Ivanov M.A.’;

Man .Salary:=5000;

Переменная Man - фиксированная запись, которая содержит поля имени (Name), оклада (Salary) и примечания (Note), причем каждое поле имеет свой тип.

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

Для выполнения операций с конкретным файлом, размещенным на диске, в программе обычно используется так называемая файловая переменная (логический файл). Файловая переменная после ее описания связывается с некоторым файлом, благодаря чему операции, выполняемые над ней, при­водят к соответствующим изменениям в данном файле. После завершения всœех операций связь между файловой переменной и файлом разрывается. Теперь файловую переменную можно связать с другим файлом этого же типа.

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

Пример.
Размещено на реф.рф
var f1: TextFile;

f2: File of integer;

f3: File of real;

здесь переменная f1 предназначена для работы с тек­стовыми файлами, переменные f2 и f3 – с типизированными файлами, со­держащими целые и вещественные числа, соответственно, а переменная f4 – с нетипизированными файлами.

Структурированные типы данных - понятие и виды. Классификация и особенности категории "Структурированные типы данных" 2017, 2018.

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

Массивы представляют собой формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое. Все компоненты массива – это данные одного типа.

Общий вид определения массива:

Type A = array [тип индекса массива] of [тип компонент массива]

Например, М1=array of real;

Строки – это массив символов, но количество символов в строке может меняться. Строка трактуется как цепочка символов произвольной длины. Максимальное количество символов не более 255. Каждый символ в строке имеет свой индекс (номер).

Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты записи (поля) могут быть различного типа. Записи позволяют объединять значения различных типов.

Month: (Jan, Feb, Mar, Apr, May, Jun, July, Aug, Sept, Oct, Nov, Dec);

Year: 2000..2050;

Множества – это наборы однотипных, логически связанных друг с другом объектов. Количество элементов, входящих в множество может меняться от 0 до 256. Именно непостоянством своих элементов множества отличаются от массивов и записей.

Digits = Set of 1..5;

Файл – именованная область внешней памяти. Файл содержит компоненты одного типа, кроме файлов (т.е. нельзя создать «файл файлов»). Длина файла не оговаривается и ограничивается только ёмкостью устройств внешней памяти.

F: File of Integer;

Более подробно со структурированными типами ознакомимся при дальнейшем изучении языка.

      1. Указатель (ссылочный тип)

Cодержит адрес байта памяти, в котором находится значение данных определённого типа. Этот тип называют также ссылочным. Для описания используется символ ^ и идентификатор типа. Например, P=^integer;

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

    1. Константы

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

    Числовые константы служат для записи чисел. Различают следующие их виды:

Целые числа: записываются со знаком + или -, или без знака, по обычным арифметическим правилам: -10 +5 5

Вещественные числа могут записываться в одной из двух форм:

обычная запись : 2.5 -3.14 2. - обратите внимание, что целая часть отделяется от дробной символом точки;

экспоненциальная форма: в этой записи вещественное число представляется в виде m*10 p , где m – мантисса или основание числа, 0.1≤|m|≤1, p – порядок числа, это целочисленная константа. Действительно, любое вещественное число можно представить в экспоненциальной форме:

153.5 -0.1535*10 3

99.005 0.99005*10 2

Во всех IBM-совместимых компьютерах вещественные числа хранятся как совокупность мантиссы и порядка, что позволяет упростить операции над ними, используя специальную арифметику, отдельно обрабатывающую мантиссу и порядок. Для программной записи числа в экспоненциальной форме вместо "умножить на 10 в степени" используется обозначение E или e (латинская):

153.5 -0.1535*10 3 -0.1535E3 или -1.535E02

99.005 0.99005*10 2 0.99005E+2 или 9.9005e+01

Без принятия специальных мер программа на Паскале будет выводить на экран и принтер вещественные числа именно в такой форме. Кроме того, такая форма удобна для записи очень маленьких и очень больших чисел:

Поскольку размер памяти, отводимой под мантиссу и порядок, ограничен, то вещественные числа всегда представляются в памяти компьютера с некоторой погрешностью . Например, простейшая вещественная дробь 2/3 дает в десятичном представлении 0,666666... и, независимо от размера памяти, выделяемой для хранения числа, невозможно хранить все его знаки в дробной части. Одной из типичных проблем программирования является учет возможных погрешностей при работе с вещественными числами.

Шестнадцатеричные числа состоит из шестнадцатеричных цифр, которым предшествует знак $. Диапазон шестнадцатеричных чисел – от $00000000 до $FFFFFFFF.

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

    Логические константы.

Служат для проверки истинности или ложности некоторых условий в программе и могут принимать только одно из двух значений : служебное слово true обозначает истину, а false – ложь;

    Символьные константы.

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

В последнем случае значение символьной константы равно символу пробела. Если требуется записать сам символ апострофа как символьную константу, внутри внешних апострофов он удваивается: """"

К символьным также относятся константы вида #X, где X – числовое значение от 0 до 255 включительно, представляющее собой десятичный ASCII -код символа. Таблицы ASCII-кодов, используемых операционными системами DOS и Windows, приведены в Приложении 1. Например, значение #65 будет соответствовать коду символа "A" латинской.

    Строковые константы.

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

"Введите значение X:"

Если в строковой константе необходимо записать сам символ апострофа, это делается так же, как для символьных констант.

Константы в Турбо Паскале могут быть именованными. Неименованные константы используются, например, при выводе текста сообщений в предыдущем примере. Именованные константы описываются в разделе описаний программы оператором следующего вида:

const Имя1=Значение1;

Имя2=Значение2;

ИмяN=ЗначениеN;

Здесь ключевое слово const показывает начало раздела описаний именованных констант. Ясно, что зачастую удобнее обращаться к константе по имени, чем каждый раз переписывать ее числовое или строковое значение. Пример раздела констант:

const e=2.7182818285;

lang="Turbo Pascal 7.1";

Здесь описана числовая константа e со значением основания натурального логарифма и строковая константа с именем lang, содержащая строку "Turbo Pascal 7.1".

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: