Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Запись файла в режиме добавления↑ ⇐ ПредыдущаяСтр 6 из 6 Содержание книги Поиск на нашем сайте
Процедура append. Чтобы открыть файл в режиме добавления информации в существующий файл, необходимо вызвать процедуру append, указав в качестве параметра файловую переменную (переменную типа text). этой процедурой следует пользоваться, если файл, подлежащий обработке, уже существует и данные, хранимые в нём, не должны быть утрачены.
Следующая программа, тоже, как и программа replace_fail, открывает файл test.txt, но уже в режиме добавления, и записывает в него две строки (дописывает в конец файла). Program add_fail; var f: text; { текстовый файл } i: integer; Begin assign (f, ’test.txt’); append (f); { открыть в режиме добавления } For i:=8 to 9 do Writeln (f, ' Информатика ', i); Close(f); { закрыть файл } После выполнения приведенной программы содержимое файла test.txt опять меняется. Распечатка файла: Информатика 6 Информатика 7 Информатика 8 Информатика 9
Закрытие файла Процедура close. Перед завершением работы программа должна закрыть все открытые файлы. Это делается вызовом процедуры close. Этой процедуре в качестве параметра передается файловая переменная, связанная с файлом, который надо закрыть. Пример использования процедуры: close (f); (смотри предыдущие примеры программ). Переименование файла Процедура Rename позволяет переименовывать существующий файл, связанный с указанной в качестве параметра файловой переменной. Следует учитывать, что процедура Rename применима только к закрытым файлам. Следующий фрагмент программы позволит вам переименовать файл TEST.DAT. в файл МЕМ.ТХТ. Assign (file, ‘c:\test.dat’); Rename (file, ‘c:\mem.txt’);
Стирание файла Процедура Erase стирает файл с диска. При этом файловая переменная должна быть предварительно связана с реально существующим файлом. Например, с помощью следующих двух операций можно удалить с диска файл test.dat. Assign (file, ‘c:\test.dat’); Erase (file);
Работа со строковыми типами данных
Строка – упорядоченная последовательность символов. Строковый тип данных – структурированный тип в Турбо-Паскале. Каждый символ строковой величины занимает 1 байт памяти (код А8СII). Количество символов в строке называется ее длиной. Длина строки может лежать в диапазоне от 0 до 255. Присваиваемое значение строки, так же как и отдельный символ типа CHAR, заключается в апострофы. Строковая константа — последовательность символов, заключенных в апострофы. Например: ' это строковая константа', '272'. Два следующих друг за другом апострофа (' ') обозначают пустую строку, т.е. строку с нулевой длиной. Если апострофы опушены, то компилятор рассматривает приведенный фрагмент текста как числовую величину или как идентификатор.
Описание (объявление) строковых переменных Строковая переменная описывается в разделе описания переменных: VAR <переменная>: string [<максимальная длина строки>]. Например: VAR dlinna: string [20]; В описании строки можно не указывать длину. Например: VAR S: string; В таком случае считается, что она равна максимальной величине – 255. Для доступа к отдельному символу в строке необходимо указать имя строки и в квадратных скобках номер позиции элемента (символа) в строке. Элементы строки идентифицируются именем строки с индексом, заключенным в квадратные скобки. Например: N[5], S[1], slovo[k+1]. Первый символ строки имеет номер 1. Индекс может быть положительной константой, переменной, выражением целого типа. Значение индекса не должно выходить за границы описания. Тип string и стандартный тип char совместимы. При этом по отношению к отдельному символу строки возможны все те же операции, что и к переменной типа char. В частности, возможны взаимные операции присвоения значений. Строки и символы могут употребляться в одних и тех же выражениях. Операции над строками. Операция сцепления Операция сцепления (конкатенации) (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные, Пример: 'Мама'+' мьла'+' раму'. В результате получится строка: 'Мама мыла раму'. Длина результирующей строки не должна превышать 255.
Операции отношения Операции отношения: =, <, >, <=, >=, <>. Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false), Операция отношения имеет приоритет более низкий, чем операция сцепления. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы. Пример:
Функция Сору Функция Сору позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая функцию Сору, необходимо указывать следующие параметры; • имя строки, из которой должен извлекаться копируемый фрагмент, • позицию в строке, начиная с которой будет копироваться фрагмент, • число копируемых символов. Сообщения об ошибке не будет, если начальная или конечная позиции копируемого фрагмента находятся вне пределов исходной строки символов. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором — фрагмент от начальной позиции копирования до конца исходной строки. Функция Сору(S, Pos, N) выделяет из строки S подстроку длиной N символов, начиная с позиции Pos. Здесь N и Pos – целочисленные выражения. Пример:
PROGRAM function_Copy; VAR Word: STRING[20]; word1, word2, word3: STRING[20]; BEGIN Word:=’форматирование’; Writeln (Word); Word1:=copy (Word, 1, 5); Writeln (Word1); {на экран выводится форма } Word2:=copy (Word, 6, 3); Writeln (Word2); {на экран выводится тир } Word3:=copy (Word, 8, 3); Writeln (Word3); {на экран выводится ров } END. Функция Concat Функция Concat(S1, S2, …, Sn) выполняет сцепление (конкатенацию) строк S1, S2, …, Sn в одну строку. Пример:
PROGRAM function_Concat; VAR slovo, s1, s2, s3: STRING; BEGIN Writeln(’введите слово’); Readln(s1); Writeln(’введите слово’); Readln(s2); Writeln(’введите слово’); Readln(s3); slovo:= concat(s1, s2, s3); Writeln(slovo); Readln; END. Функция Length Встроенная функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации). При подсчете фактической длины строки учитываются все входящие в нее символы, в том числе и пробелы.
Функция Length(S) определяет текущую длину строки S. Результат — значение целого типа. Пример:
PROGRAM function_Length; VAR Words: STRING; BEGIN Writeln(’введите слово’); Readln(Words); Writeln(’слово состоит из ’, Length (Words),’букв. ’); END.
Функция Pos С помощью функции Poz можно осуществить в некоторой строке поиск определенного фрагмента. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции в строке, с которой этот фрагмент начинается. Если фрагмент в строке не найден, то функция возвращает 0. Функция Pos требует полного совпадения искомого фрагмента и фрагмента строки, в которой производится поиск. Причем большие и маленькие буквы считаются различными символами(«К»не идентично«к»). Функция Pos(S1, S2) обнаруживает первое появление в строке S2 подстроки S1. Результат – целое число, равное номеру позиции, где находится первый символ подстроки S1. Если в S2 подстроки S1 не обнаружено, то результат равен 0. Пример: PROGRAM function_Pos; VAR Words: STRING[50]; Search_Word: STRING[20]; Position: INTEGER; BEGIN Position:= Pos(Serch _Word, Words); Writeln(Position); END.
Процедура Delete Процедура Delete удаляет в исходной строкe фрагмент определенной длины, начинающийся с указанной позиции. Так, оператор Delete(Words,2,3); удаляет из строки Words фрагмент, состоящий из трех символов и начинающийся со второй позиции. Процедура Delete(S, Poz, N) - удаление из строки S начиная с позиции Poz N символов,. Пример:
В результате выполнения процедуры уменьшается текущая длина строки в переменной S.
Процедура Insert Процедура Insert вставляет в исходную строку, начиная с указанной позиции, другую строку. Оператор Insert(Word1, Words,4); указывает, что необходимо вставить строку Word1 в строку Words, начиная с 4-й позиции (перед ней). Процедура Insert (S1, S2, Poz) – вставка строки S1 в строку S2, начиная с позиции Poz. Пример:
PROGRAM procedura _Insert_i_Delete; VAR words: STRING[20]; word1: STRING[20]; BEGIN Word:=’математика’; Writeln (Word); Delete(word, 1, 2); Writeln (Word); {на экран выводится тематика } Delete(word, 5, 4); Writeln (Word); {на экран выводится тема } Word1:=’сис’; Insert (word1,word, 1); Writeln (Word); {на экран выводится система } END.
Функция UpCase Функция UpCas позволяет преобразовывать символ любой литеры из строчного в прописной. Эта функция рассчитана на обработку отдельного символа. Поэтому для обработки строки символов с помощью этой функции приходится организовывать цикл.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-08; просмотров: 329; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.212.203 (0.009 с.) |