Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Действия над порядковыми типами

Работа с цветом. Заливка. Стиль линийи заливки | Используем в рисовании переменные величины | Использование случайных величинпри рисовании | Постановка задачи | Записываем программу целиком | Порядок описания переменных, процедур и других конструкций Паскаля | Управление компьютером с клавиатуры. Функции ReadKey и KeyPressed | Буфер клавиатуры | Использование пробела | Одномерные массивы |


Читайте также:
  1. III. Крымское ханство как пространство межкультурного взаимодействия средневекового Крыма.
  2. Quot;Used to" и "would" для выражения повторяющегося действия или обычного состояния в прошлом.
  3. А - таврового сечения ; б- прямоугольного сечения; 1-плоскость действия изгибающего момента ; 2- центр тяжести сечения растянутой арматуры
  4. А) Преступление. Субъект преступного действия
  5. А) Физические меры воздействия на арестованных, как основной метод получения ложных показаний
  6. Автоколебаниями называют любые гармонические колебания, причиной которых является непериодическая сила с любым временем действия.
  7. АДСОРБЕРЫ С ПСЕВДООЖИЖЕННЫМ СЛОЕМ АДСОРБЕНТА. НАЗНАЧЕНИЕ, УСТРОЙСТВО И ПРИНЦИП ДЕЙСТВИЯ.

Напомню, что порядковыми типамиданных в Паскале называются следующие типы: целочисленные типы, Boolean, Char, перечислимый тип и диапазон.

Как видите, сюда не входят вещественные типы и String.

Порядковый тип - это такой тип, все значения которого можно перечислить, посчитать с начала до конца. Например, в тип Byte входит всего 256 различных значений, а именно все целые числа от 0 до 255. В тип Integer входит 65536 значений - целые числа от -32768 до 32767. Тип Char тоже порядковый, так как количество различных символов в Паскале ограничено числом 256.

Любой порядковый тип имеет внутреннюю нумерацию. Пусть мы задали тип TYPE weekday = (mon,tu,we,th,fr). Внутри компьютера mon будет иметь номер 0, tu - номер 1, we - 2, th - 3, fr - 4. Пусть мы задали переменную VAR a: array[mon..fr] of Real. Теперь для компьютера запись a[we] означает то же, что и запись a[2], если заранее была бы задана переменная VAR a: array[0..4] of Real.

Тип Char имеет нумерацию от 0 до 255. Внутренний номер символа есть его код по таблице кодировки ASCII. Например, буква Б имеет номер (код) 129.

У целочисленных типов (Byte, ShortInt, Word, Integer, LongInt) внутренний номер совпадает с самим числом. Так, число -58 в типе ShortInt имеет номер -58.

Внутренний номер элемента диапазона равен внутреннему номеру элемента типа, для которого создан диапазон. Пусть мы для типа weekday создали диапазон TYPE days = we.. fr. Здесь we будет иметь номер 2, а не 0.

 

Операции над порядковыми типами:

1. ORD. Эта функция выдает (или, как еще говорят - возвращает) внутренний номер значения любого порядкового типа. Например:

Ord('Б') возвращает 129

Ord (we) возвращает 2

Ord(-58) возвращает -58

2. В любом порядковом типе выполняются операции сравнения > < >= <= = <>. Например, справедливы неравенства 'ю' < 'я', we > tu. Это возможно потому, что операции сравнения выполняются фактически не над самими значениями, а над их внутренними номерами.

3. SUCC - сокращение от successor (следующий по порядку). Эта функция возвращает следующий по порядку элемент любого порядкового типа. Например:

Succ (8) возвращает 9

Succ('Ю') возвращает 'Я'

Succ (we) возвращает th

4. PRED - сокращение от predecessor - это successor "наоборот". PRED возвращает предыдущий элемент любого порядкового типа. Например:

Pred (25) возвращает 24

Pred('д') возвращает 'г'

Pred (tu) возвращает mo

 

Эти функции, как и любые другие, можно применять в выражениях. Например, оператор y:=10+Ord(we)+Succ(8) присвоит переменной y значение 21.

В операторе for переменная цикла может быть любого порядкового типа, например:

for ch:= 'd' to 'h' do...

 

Задание 109: Подсчитать, сколько заглавных букв в диапазоне от Б до Ф.

Задание 110: Правда ли, что сентябрь наступает позже июля?

Задание 111: В кондитерском магазине стоит очередь за Сникерсами. В очереди - Nina, Olga, Alex, Marianna, Ester, Misha, Tolik, Lena, Oleg, Anton, Pankrat, Robocop, Dima, Donatello, Zina, Sveta, Artur, Ramona, Vera, Igor, Ira. Известно, сколько у каждого денег. Спрашивается:

1) Хватит ли у них всех вместе денег на Сникерс (3 рубля)?

2) Какой по порядку в очереди стоит Лена?

3) Правда ли, что у Панкрата денег больше, чем у Миши?

Указание: для хранения денег организовать массив.

 


Дата добавления: 2015-11-14; просмотров: 40 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Какие бывают массивы| Символьный тип Char. Работа с символами

mybiblioteka.su - 2015-2024 год. (0.008 сек.)