Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Символьные данные принимают значения на множестве всех символов, которые можно ввести с клавиатуры компьютераСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Объявление символьных переменных в Объектном Паскале: 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; просмотров: 618; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.008 с.) |