Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Символьные данные принимают значения на множестве всех символов, которые можно ввести с клавиатуры компьютера↑ ⇐ ПредыдущаяСтр 4 из 4 Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Объявление символьных переменных в Объектном Паскале: Var a:char; b: widechar;
Символьный тип – порядковый: • Все значения упорядочены, так как имеют номер (код) в таблице кодирования. • К символьным данным (как к данным любого порядкового типа) применимы встроенные функции:
Строковые типы Объектного Паскаля: • Тип ShortString эквивалентен типу string Турбо Паскаля. • Данные типа AnsiString (могут содержать до 231 символов типа char. • Тип WideString соответствует строкам максимальной длины до 230 символов типа widechar. • Тип String: при {$H+} - AnsiString (по умолчанию), при {$H+} – ShortString. • Типы AnsiString и WideString - ссылочные, динамические, типы; они имеют 8 служебных байтов (вместо одного нулевого у ShortString): служебные байты содержат длину строки и ссылку на строку в динамической памяти (куче). • Объектный Паскаль разрешает для определения длины строки использовать только функцию LENGTH, а для установления нового значения длины только процедуру • Если для обработки строк используются встроенные подпрограммы, то длина строки отслеживается автоматически, иначе программист должен использовать SetLength.
Функции, работающие со строками: • CONCAT(S1,S2,...,SN)- функция типа STRING; возвращает строку, представляющую собой сцепление (конкатенацию) строк-параметров S1,S2,...,SN. Конкатенацию строк можно также получить с помощью операции +. • COPY(ST,INDEX,COUNT)- функция типа STRING; копирует из строки ST COUNT символов, начиная с символа с номером INDEX. • LENGTH(ST)- функция типа INTEGER; возвращает длину строки ST. • P OS(SUBST,ST)- функция типа INTEGER; отыскивает в строке ST первое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается; если подстрока не найдена, возвращает нуль.
Процедуры, работающие со строками: • DELETE(ST,INDEX,COUNT)-удаление COUNT символов из строки ST, начиная с символа с номером INDEX. • INSERT(SUBST, ST, INDEX) - вставка подстроки SUBST в строку ST, начиная с символа с номером INDEX. • STR(X[:WIDTH[:DECIMALS]],ST) -преобразование значения типа REAL или INTEGER в строку символов ST так, как это делает процедура WRITELN перед выводом; параметры WIDTH и DECIMALS, если они присутствуют, задают формат преобразования (WIDTH - длину числа, DECIMALS - длину дробной части; параметр DECIMAL имеет смысл указывать только для вещественных чисел). • VAL(ST, X, CODE) - преобразование строки ST во внутреннее представление целого или вещественного числа Х; параметр CODE содержит нуль, если преобразование прошло успешно, в противном случае он содержит номер символа в строке ST, где обнаружен ошибочный символ; пробелы перед числом в строке ST должны отсутствовать.
Шаги обработки строки таблицы: • выделение смысловых полей -подстрок (с помощью функции COPY); • преобразование некоторых полей из символьного представления в числовое (с помощью процедуры VAL); • анализ символьных полей с помощью функции POS; • подготовка строки выходных данных с помощью STR и CONCAT.
Билет 28 Переменные сложной структуры. Тип Запись.
Тип Запись: • Запись - это переменная, состоящая из фиксированного числа компонент, вообще говоря, разного типа, причем каждая компонента имеет свое имя. • Компоненты записи также называются полями записи. • Записи используются для работы с данными, содержащими в себе информацию разного типа (числовую, символьную и т. д.); примеры таких документов: платежные ведомости (фамилии и имена - символьная информация, денежные суммы - числовая), карточки больных в поликлинике, библиотечная информация. Сравнение двух типов: массив и запись: • Компоненты массива имеют одинаковый тип; компоненты записи могут иметь разный тип (хотя могут быть и однотипны). • Для обращения к элементу массива надо указать его номер (индекс), при обращении к полю записи указывается его имя.
Описание типа запись: TYPE имя_типа = RECORD список_1_имен_полей: тип_1; список_2_имен_полей: тип_2; ... список_N_имен_полей: тип_N; END; Память, занимаемая записью, равна сумме объемов памяти полей (если исключить из рассмотрения особенности, связанные с выравниванием). В любом случае для определения размера памяти записи можно использовать функцию sizeof(переменная_или_тип).
Обращение к полю записи: Имя_записи. Имя_поля Пример. VAR C:COMPLEX; D,D1:DATE; B:BOOK; BEGIN... C.Re:=5; D.Month:=January; B.Author:='Smith'; {*} D1.Day:=6; D1.Month:=June; D1.Year:=1799;{*}..
Билет 29 Задача обработки данных, предоставленных в табличной форме. Два варианта решения с использованием строк и записей. Сравнение этих вариантов.
• Программа, использующая запись, алгоритмически проще, чем программа со строками. • Платой за упрощение является разрушение структуры таблицы при вводе: строка таблицы распределяется по нескольким строкам экрана монитора компьютера.
Вариант 30
Файлы в программировании: • Файл - это последовательность однотипных компонент. Число компонент файла не ограничено. После последней компоненты файла стоит специальный код, называемый признаком конца файла; этот код обычно ставится автоматически, без участия программиста. • В классическом понимании файл рассматривается как абстрактное обобщение данных на устройстве с последовательным доступом, типичным представителем которого является магнитная лента. В библиотеках современных языков программирования, конечно, имеются средства и для работы с файлами прямого доступа. Программное и физическое имена файлов: • Программное имя - это имя переменной файлового типа. • Физическое имя - это имя устройства или файла на диске. • Существуют специальные операторы, устанавливающие соответствие (связывающие) программное и физическое имена файла.
Текстовые и двоичные файлы: • Текстовые файлы хранят информацию во внешнем представлении. Они имеют два основных признака: во-первых, их компонентами являются строки символов; во-вторых, эта символьная информация интерпретируется в соответствии с типом вводимых или выводимых переменных. Эти файлы являются обобщением данных на устройстве CON (т.е. вводимых с клавиатуры или выводимых на экран компьютера). Умение работать с текстовыми файлами необходимо даже начинающим программистам, так как на устройстве CON данные существуют малый промежуток времени, а обычно имеется потребность в их длительном хранении. • Двоичный файл - это последовательность байтов; обмен информации между двоичным файлом и переменными программы происходит без преобразования. В Турбо Паскале рассматривается два вида двоичных файлов: типизированные и нетипизированные. В случае типизированных файлов байты файла разбиваются на ячейки в соответствии с типом компонент файла; например, для файла с базовым типом integer каждая пара байтов (для 32-разрядных компьютеров – четверка) рассматривается как целое значение; типизированные файлы хранят данные во внутреннем представлении. Для нетипизированных файлов представление информации безразлично, файл рассматривается как последовательность нулей и единиц.
Классический подход к работе с файлами – основные шаги: 1. Объявление файловой переменной – программного имени файла – различно для разных видов файлов • Текстовый файл: Var ИмяФайла: textfile; {ТП:text } • Типизированный файл: Var ИмяФайла: file of БазовыйТип; • Нетипизированный файл: Var ИмяФайла: file;
2. Связывание программного и физического имен файлов AssignFile (ПрограммноеИмя, ФизическоеИмя);{в ТП Assign} ПрограммноеИмя – переменная, описанная как файл; ФизическоеИмя – имя файла на диске (полное) или имя устройства. После оператора AssignFile в программе используется только программное имя файла. Пример: Var f: text; … Begin … Assign(f, ‘d:\student\a.txt‘); {Далее используется только f}
3. Открытие файла (для чтения или для записи) Reset (ИмяФайла); {открытие файла для чтения} Rewrite (ИмяФайла); {открытие файла для записи} Пример: Var f: text; … Begin … Assign(f, ‘d:\student\a.txt‘); Reset(f); {или для записи Rewrite(f)}…
4. Чтение из файла или запись в файл – различно для разных видов файлов Пока для примера рассмотрим чтение/запись для текстовых файлов: Read (ИмяФайла, СписокВвода); Write (ИмяФайла, СписокВывода); Пример: Read(n,a,b); Write(‘s=‘, s);{полная аналогия консольному вводу-выводу} Также можно использовать Readln и Writeln.
Замечание. При работе с файлами используется функция EOF(ИмяФайла). EOF возвращает значение True, если считан признак конца файла, и значение False в противном случае. EOF – сокр. от End Of File
• Закрытие файла CloseFile(ИмяФайла); {для ТП - Close } Закрытие файла предполагает следующие действия: 1. Сохранение изменений в файле. 2. Перерегистрация файла в каталоге. 3. Разрушение связи между программным и физическим именами файлов. Открытие файла для чтения: 1. Поиск файла с заданным физическим именем; если не найден, то сообщение об ошибке. 2. Указатель файла устанавливается на первую компоненту. 3. Компонента, на которой стоит указатель, считывается в буфер. 4. Если считан признак конца файла, то функция EOF устанавливается в значение True, иначе – в значение False.
Открытие файла для записи: 1. Поиск файла с заданным физическим именем; если файл не найден, то создается новый файл 2. Содержимое файла очищается. 3. Указатель файла устанавливается на конец файла (после последней компоненты). 4. Функция EOF устанавливается в значение True.
Открытие файла для дополнения: 1. Поиск файла с заданным физическим именем; если не найден, то сообщение об ошибке. 2. Указатель файла устанавливается на конец файла (после последней компоненты). 3. Функция EOF устанавливается в значение True.
Билет 31 Динамические данные.
Динамические данные: • описываются не данные, а их адреса (указатели); • распределяются и уничтожаются в памяти на этапе выполнения программы по специальным командам; • место в памяти – динамическая память (англ. куча – heap); • время жизни и область действия указателей определяется как для обычных (локальных или глобальных) переменных
Описание динамического массива: Var имя_массива: Array of Array of…Array of тип_элемента; Ключевые слова Array of записываются в описании столько раз, сколько индексов у массива (т. е. какова его размерность). По существу объявленное имя_массива является указателем на массив.
|
||||
Последнее изменение этой страницы: 2016-09-05; просмотров: 459; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.242.20 (0.007 с.) |