Процедуры и функции по работе со строками

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Колледж экономики, управления и права

Методические рекомендации

Для УЧЕБНОЙ практиКИ студентов

По дисциплине «Основы алгоритмизации и программирования»

Специальность

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ

Автор-составитель Шинакова С.В.

 

Ростов-на-Дону 2011


Рассмотрены на заседании Ц(П)К специальности 230105.51 Программное обеспечение вычислительной техники и автоматизированных систем

«07» апреля 2011 г. Протокол № 8

Председатель Ц(П)К _____________ Шинакова С.В.

 


Практическая работа №7

Работа с файлами

Цель работы

Научиться принципам работы с файлами в языке программирования Pascal.

 

Задачи работы

Изучить приемы решения задач с использованием файлов.

 

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

3.1 В среде программирования Turbo Pascal или Pascal ABC составить и отладить программу решения задач (см. Приложение А, Б).

3.2 Провести анализ результатов работы программы.

3.3 Составить отчет о проделанной работе.

 

Отчет о проделанной работе должен содержать

- название и цель работы;

- номер и условие своего варианта;

- текст программы;

- полученные результаты;

- ответы на контрольные вопросы пункта 6 в соответствии с указаниями преподавателя.

Теоретические положения

Стандартные процедуры и функции для обработки файлов

 

Под файлом понимается либо именованная область внешней памяти ПК (жесткого диска, гибкой дискеты, электронного «виртуального» диска), либо логическое устройство - потенциальный источник или приемник информации.

В зависимости от способа объявления можно выделить три вида файлов:

  • типизированные файлы (задаются предложением FILE OF...);
  • текстовые файлы (определяются типом TEXT);
  • нетипизированные файлы (определяются типом FILE).

 

Пример:

var f: file of integer; {типизированный файл}

f2: text; {текстовый файл}

f3; file; {нетипизированный файл}

begin

end.

 

1. Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре ASSIGN:

ASSIGN (<ф.п.>, <имя файла или л.у.>);

Здесь <ф.п.> - файловая переменная (правильный идентификатор, объявленный в программе как переменная файлового типа);

<имя файла или л.у.> - текстовое выражение, содержащее имя файла или логическое устройство.

begin

assign(f1,’file1.text’);

…;

end.

 

В результате работы предложенной выше программы переменной st будет присвоено значение ’abc’.

Допускается сравнение строковых переменных. Операции отношений =, <>, >, <, >=,<= выполняются над двумя строками посимвольно, слева направо, с учетом внутренней кодировки символов.

Примеры сравнения строковых переменных с результатом «Истина»:

‘A’ < ‘B’

‘Turbo Pascal’ > ‘Turbo’

‘2’ > ’1’

 

Процедуры и функции по работе со строками

Действия над строками реализуются в Turbo Pascal с помощью следующих встроенных процедур и функций.

5.2.1 Функция Concat(S1[,S2,…,SN]): string – сцепляет (объединяет) строки S1, S2,…, SN. Параметры, указанные в квадратных скобках, не являются обязательными.

Пример использования функции:

program pr3;

var

S: string;

begin

S:= Concat('ABC', 'D');

writeln(S); {ABCD}

end.

Здесь и далее (в примерах использования строковых операторов) в фигурных скобках приводится выводимый на экран результат работы программы.

 

5.2.2 Функция Copy(S: string; Index, Count: integer): string – копирует из строки S количество Count символов, начиная с символа с номером Index.

Пример:

program pr4;

var S: string;

begin

S:= 'ABCDEF';

S:= Copy(S, 2, 3);

writeln(S); {BCD}

end.

 

5.2.3 Функция Length(S: string):byte – определяет длину строки S.

Пример использования функции:

program pr5;

var

S: string;

begin

s:='ABCD';

Writeln(Length(S)); {4}

end.

 

5.2.4 Функция Pos(SubS, S: string):byte – отыскивает в строке S первое вхождение подстроки SubS и определяет номер позиции, с которой она начинается. Если подстрока не найдена, то выдается 0.

Например:

program pr6;

var S: string;

begin

S:= ' 123.5';

{Замена всех пробелов нулями}

while Pos(' ', S) > 0 do

S[Pos(' ', S)]:= '0';

writeln(S); {000123.5}

end.

 

5.2.5 Функция UpCase(C: char):char – преобразует строчную латинскую букву в прописную. Любые другие символы возвращаются без преобразования.

Пример:

program pr7;

var

s: string;

begin

s:='red';

s[1]:= UpCase(s[1]);

writeln(s); {Red}

end.

 

5.2.6 Процедура Delete(var S: string; Index, Count: integer) – удаляет количество Count символов из строки S, начиная с символа с номером Index.

Пример использования процедуры:

program pr8;

var

s: string;

begin

s:= 'Иванов Петр';

Delete(s,8,4);

writeln(s); {Иванов}

end.

 

5.2.7 Процедура Insert(SubS: string; var S: string; Index: integer) – вставляет подстроку SubS в строку S, начиная с символа с номером Index.

Пример:

program pr9;

var

S: string;

begin

S:= 'Петр Иванов';

Insert('Петрович ', S, 6);

writeln(S); {Петр Петрович Иванов}

end.

 

5.2.8 Процедура Str(X [:Width [:Decimals]]; Var S: string) – преобразует число Х в строку символов S. Параметры Width и Decimals задают формат преобразования (общую ширину поля и количество символов в дробной части соответственно).

Пример:

program pr10;

var

S: string[12];

begin

Str(5461, S);

writeln('Результат: '+S+' балл'); {Результат: 5461 балл}

end.

 

5.2.9 Процедура Val(S: String; var X; var Code: integer) – преобразует строковое значение S в его численное представление X типа Real или Integer. Параметр Code содержит признак ошибки преобразования (0 – нет ошибки), например:

program pr11;

var I, Code: Integer;

S:string;

begin

S:='7908';

Val(S, I, Code);

writeln(I,' ',Code); {7908 0}

end.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: