Чтение онлайн

на главную - закладки

Жанры

Шрифт:

{ закрываем оба файла }

Close(InFile); Close(OutFile);

end.

Итоги

• Для чтения отдельного слова в строке файла не годятся ни оператор Readln (он прочитает всю строку), ни оператор Read, который не видит конца строки. Слово читается посимвольно оператором Read с отслеживанием признака окончания строки и других условий.

• Строку выходного файла можно формировать порциями, применяя несколько вызовов процедуры Write. Каждый такой вызов формирует часть строки и продвигает позицию записи, оставляя её в текущей строке. Для

перехода к следующей строке вызывается процедура Writeln.

А слабо?

А) Напишите программу для преобразования первого варианта базы данных «Police.txt» (которая содержит по одному числу в строке) во второй вариант (будет содержать по три числа в строке).

Б) Файл с физическими данными старшеклассников содержит три колонки: фамилия, рост и вес ученика. Создайте программы для решения следующих задач:

• отбор кандидатов для занятий баскетболом, – рост кандидата должен составлять не менее 175 см;

• поиск учеников с избыточным весом, для которых разница между ростом ученика (см) и его весом (кг) составляет менее 100.

Ваши программы должны сформировать соответствующие файлы с фамилиями и данными учеников.

Глава 32

Порядковые типы данных

Вот поле битвы, где там и сям мелькают спины бегущего противника. Разгоряченные боем, наши полки готовы гнать его хоть на край света. Но что это? Зачем полководец прекращает атаку и велит трубить сбор? Поверьте, он знает свое дело: выигрыш битвы – ещё не победа в войне. Предстоят новые сражения, и надо укрепить армию: дать отдых бойцам, накормить, подлечить и вновь построить в боевые порядки.

Освоенные нами элементы Паскаля (считайте их нашим войском) разбили в пух и прах все поставленные задачи. Но, то ли ещё будет! Впереди сильнейший противник. Так соберем свою армию в кулак, соединим все, что нам известно о Паскале. В этой и двух последующих главах мы детально рассмотрим уже освоенные элементы языка, и в первую очередь – типы данных.

Типы данных: простые и сложные

Кто из вас видел «предметы вообще»? Также не бывает и «данных вообще», – они обязательно принадлежат к тому либо иному типу. Учреждая переменную, параметр или функцию, потрудитесь сообщить их тип компилятору, иначе он не уяснит, сколько памяти отвести для этих данных и что позволено совершать с ними.

На рис. 73 представлены почти все типы данных, встроенные в язык Паскаль. Их принято делить на три категории: простые, сложные и указатели. К настоящему моменту вы знакомы со многими простыми типами данных и одним сложным – строковым типом String.

Чем разнятся сложные типы от простых? Тем ли, что сложные труднее изучать? Отчасти так, но суть не в этом. Сложные типы обладают внутренней структурой, в которой выделяются отдельные элементы. Так, например, можно выделить отдельные символы в строке. Простые же типы данных не «раскалываются» на мелкие детали.

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

Рис.73 –

Типы данных языка Паскаль

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

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

Целое братство

Целые числа образуют дружную «семью» из нескольких братьев. Вам пока знаком лишь один из них – это тип Integer, а где остальные? Начнем с двух младших братьев: типов Byte и ShortInt.

Изучая символы, мы узнали, что они кодируются целыми числами. Основной набор составляют 256 символов с кодами от 0 до 255 включительно. Этот диапазон значений может храниться в ячейке памяти, называемой байтом (BYTE). Байт – это наименьшая порция данных, адресуемая в памяти компьютера. Вы знаете, что байтом названа и единица измерения информации. Мог ли язык Паскаль пренебречь этим фактом? Нет, и ещё раз нет! В Паскале существует тип данных, который так и называется – Byte. Переменные типа Byte объявляются так:

var A, B, C : byte;

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

Перейдем к брату-близнецу байта – коротышке ShortInt. Его имя расшифровывается как Short Integer – «короткое целое». Почему близнец? А потому, что он тоже занимает один байт памяти, но вмещает другой диапазон чисел – от минус 128 до плюс 127. Вместе с нулем получаются те же 256 значений. Этот тип данных тоже введен для экономии памяти. В самом деле, к чему тратить лишнюю память на переменные, хранящие маленькие числа? Отведем им один байт, только кодировать будем так, чтобы половина значений стала отрицательной. Так родился близнец-коротышка ShortInt.

Понятно, что ёмкости младших братьев хватает далеко не всегда, – даже количество дней в году не помещается в байтовой переменной. Для действий с более крупными числами программист обращается к средним братьям: типам Integer и Word. Каждый из них занимает по два байта памяти. Но если тип Integer вмещает диапазон чисел от минус 32768 до плюс 32767 (справедливо для Borland Pascal), то для типа Word диапазон сдвинут в положительную область и составляет от 0 до 65535. Кстати, название этого типа чисел – Word – переводится как «слово». Оно восходит ко временам 16-разрядных мини-ЭВМ, где длина так называемого машинного слова составляла два байта.

Когда не хватает ёмкости средних братьев, программисты зовут старшего – четырехбайтовый тип LongInt (Long Integer – «длинное целое»). Этот тип данных вмещает числа, превышающие два миллиарда. В табл. 2 представлены целочисленные типы данных языка Паскаль.

Примечание. Размеры и ёмкость целочисленных типов зависят от компилятора и его настроек. Так, в 32-разрядном компиляторе Delphi типы Integer и LongInt совпадают и представлены 4-мя байтами, а также имеется 8-байтовый тип Int64.

Поделиться:
Популярные книги

Голодные игры

Коллинз Сьюзен
1. Голодные игры
Фантастика:
социально-философская фантастика
боевая фантастика
9.48
рейтинг книги
Голодные игры

Найденыш

Шмаков Алексей Семенович
2. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Найденыш

Игра Кота 2

Прокофьев Роман Юрьевич
2. ОДИН ИЗ СЕМИ
Фантастика:
фэнтези
рпг
7.70
рейтинг книги
Игра Кота 2

Связанные Долгом

Рейли Кора
2. Рожденные в крови
Любовные романы:
современные любовные романы
остросюжетные любовные романы
эро литература
4.60
рейтинг книги
Связанные Долгом

Адвокат вольного города 3

Кулабухов Тимофей
3. Адвокат
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Адвокат вольного города 3

Квантовый воин: сознание будущего

Кехо Джон
Религия и эзотерика:
эзотерика
6.89
рейтинг книги
Квантовый воин: сознание будущего

Вечная Война. Книга II

Винокуров Юрий
2. Вечная война.
Фантастика:
юмористическая фантастика
космическая фантастика
8.37
рейтинг книги
Вечная Война. Книга II

Русь. Строительство империи 2

Гросов Виктор
2. Вежа. Русь
Фантастика:
попаданцы
альтернативная история
рпг
5.00
рейтинг книги
Русь. Строительство империи 2

Сердце Дракона. Том 11

Клеванский Кирилл Сергеевич
11. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
6.50
рейтинг книги
Сердце Дракона. Том 11

Энциклопедия лекарственных растений. Том 1.

Лавренова Галина Владимировна
Научно-образовательная:
медицина
7.50
рейтинг книги
Энциклопедия лекарственных растений. Том 1.

Скандальная свадьба

Данич Дина
1. Такие разные свадьбы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Скандальная свадьба

Страж. Тетралогия

Пехов Алексей Юрьевич
Страж
Фантастика:
фэнтези
9.11
рейтинг книги
Страж. Тетралогия

Архил...?

Кожевников Павел
1. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...?

Генерал-адмирал. Тетралогия

Злотников Роман Валерьевич
Генерал-адмирал
Фантастика:
альтернативная история
8.71
рейтинг книги
Генерал-адмирал. Тетралогия