![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Записи как средство упаковки параметровСодержание книги
Поиск на нашем сайте
type Записи с вариантами В конце записи может быть одна вариантная часть. В ней содержатся поля различных типов, для которых выделен один участок памяти. record Пример. Заготовка для библиотеки графических фигур. type Как записи с вариантами хранятся в памяти var f:Figure; Размер записи с вариантами рассчитывается по большему полю. procedure DrawFigure (const f:Figure); С оператором with: begin Итак, записи с вариантами обеспечивают примитивный полиморфизм типов. Полиморфизмом мы называем изменчивость поведения в пределах одного типа. Сортировка массивов записей Для сортировки массива записей по различным критериям в процедуру сортировки передают функцию сравнения, которая является бинарным предикатом. Например, для сортировки массива студентов функция сравнения имеет следующий вид: cmp(a[j+1],a[j]) Эта функция имеет смысл операции "меньше". BubbleSortStudent(gr1_11,36,LessName); Индексная сортировка При сортировке массивов больших объектов эффективность теряется из-за многочисленных копирований больших объектов в памяти. Чтобы этого избежать, переставляют не сами объекты, а их индексы, для этого вводится специальный индексный массив, который отображает виртуальные индексы в реальные i (виртуальный индекс) → Index[i] (реальный индекс) В начальный момент времени виртуальный индекс совпадает с реальным, т.е. Index[i]=i. При сортировке мы сравниваем элементы массивов используются виртуальные индексы, а меняем местами элементы индексного массива. procedure BubbleIndexStudentSort(var a: StArr; var Index: IArr; n: integer; cmp: cmpFunc);
Множества Множества - совокупность элементов одного порядкового типа (целого, символьного, перечислимого или диапазонного). Во множество может входить несколько элементов одновременно, а может не входить ни одного, каждый элемент входит во множество не более 1 раза. Элементы во множестве не упорядочены. Тип множества описывается следующим образом: Примеры. type Замечания. Базовый тип множества должен иметь элементы с порядковыми номерами в диапазоне от 0 до 255. Операции над множествами var s1,s2: set of byte; Множества - константы [1,3..5,8] Добавить элемент к множеству s:= s + [i]; или Include(s,i) // если элемент во множестве есть, то ничего не произойдет Удалить элемент из множества s:= s – [i] или Exclude(s,i) Цикл по множеству for i:=1 to 255 do // перебрать все возможные элементы Пример. Вывод всех символов, встречающихся в массиве символов, в алфавитном порядке. const sym: array [1..25] of char = 'Информационные технологии'; // Вывод for i:=1 to 255 do Пример. «Решето Эратосфера». Вывести все простые числа <= 255. Алгоритм. const n=255; begin
|
|||||
Последнее изменение этой страницы: 2016-09-20; просмотров: 354; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.88.120 (0.008 с.) |