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