русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Расположение слов по алфавиту


Дата добавления: 2014-11-27; просмотров: 1077; Нарушение авторских прав


Ввести предложение. Упорядочить его слова по алфавиту и вывести их в столбик.

Текст программы, реализующей эту задачу, приведен ниже.

Program Sl;

Const m = 50;

Var Predl, Rsl : string;

Slovo : array [1..m] of string;

n,k,i,j,kol : integer;

BEGIN

WriteLn('Введите предложение');

ReadLn(Predl);

n := Length(Predl);

k := 1;

Slovo[k] := '';

i := 1;

While i<=n do

If predl[i] <> ' ' then {символ – не пробел}

begin

Slovo[k] := slovo[k] + predl[i];

i := i + 1;

end

Еlse {символ – пробел}

begin

k := k + 1;

slovo[k] := '';

While (predl[i]=' ') and (i <= n) do

i := i + 1;

end;

For j := 1 to k-1 do

For i := 1 to k-j do

If slovo[i]> slovo[i+1] then

Begin

RSl:= slovo[i];

slovo[i]:= slovo[i+1];

slovo[i+1]:=Rsl;

End;

WriteLn('Упорядоченные слова из предложения');

For i := 1 to k do

WriteLn(slovo[i]);

End.

 

Файлы

Набор данных (физический файл) – это совокупность данных, имеющих общее имя и назначение, и существующая на некотором носителе.

В Turbo Pascal наборам данных соответствуют файлы.

Файл – это логическое понятие, связанное с физически существующим набором данных. Связь обеспечивается операционной системой при выполнении программы пользователя.

Любой файл и соответствующий ему набор данных представляют собой линейную последовательность элементов. Число элементов не устанавливается описанием файлового типа. Каждый элемент файла имеет номер. Первый элемент файла имеет номер 0.

В Паскале определены три типа файлов:

1) текстовые; состоят из строк символов. Конец записи определяется концом строки. Чтение и запись в файл осуществляется посимвольно.

2) типизированные могут состоять из записей любого типа.

3) нетипизированные файлы фактически представляют собой каналы ввода/вывода нижнего уровня, используемые в основном для прямого доступа к любому файлу на диске, независимо от его типа и структуры.



Обработка файла может производиться двумя способами:

1) с использованием последовательного доступа;

2) с использованием прямого (произвольного) доступа.

Обычно доступ к элементам файла осуществляется последовательно, т.е. когда элемент считывается или записывается, то текущая позиция файла перемещается к следующему по порядку элементу файла. Однако для типизированных и нетипизированных файлов можно организовать прямой доступ к любому элементу с помощью стандартной процедуры Seek, которая перемещает текущую позицию файла к заданному элементу.

Когда программа завершает обработку файла, его нужно закрыть. Только после этого связанный с ним внешний набор данных будет обновлен. Затем файловая переменная может быть связана с другим набором данных, или обновленный набор данных может быть связан с другой файловой переменной.

Основными операциями над файлами являются: связь с набором данных; открытие; чтение; запись; закрытие; усечение.

Текстовые файлы определяются в разделе Var следующим образом:

Var Имя_текстового_файла : Text;

Var Input, Output : Text;

Для чтения и записи в текстовые файлы используются стандартные операторы Read (Readln) и Write (Writeln). Общий вид операторов ввода-вывода для текстовых файлов следующий:

Readln(имя файла, запись);

Writeln(имя файла, запись);

где запись – имя данного, которое читается (записывается) из файла. Это может быть символ, строка или число.

Работа с существующим файлом обычно включает в себя операции открытия его для чтения, и затем считывания из него записей, пока не появится признак "Конец файла" – Eof(Файл). Поэтому соответствующие программы содержат циклы вида

While Not Eof (Файл) do readln(Файл, Запись);

Процедуры и функции для работы с файлами приведены в таблице 6.1.

Таблица 6.1 – Процедуры и функции для работы с файлами

ФУНКЦИЯ ОПИСАНИЕ
procedure Append(var f : text) Открывает существующий файл, связанный с файловой переменной f , для добавления в него новых записей
procedure Assign(var f: String) Связывает внешний файл, имя которого указано в строковой константе String, с файловой переменной f
procedure BlockRead(var R file; var But; Count: Word) Считывает из нетипизированного файла, связанного с файловой переменной f , одну или несколько записей (их количество задается целочисленным выражением Count) в переменную Buf
Procedure BlockWrite(var R file; var Buf; Count: Word) Записывает в нетипизированный файл, связанный с файловой переменной f , одну или несколько записей (их количество задается целым выражением Count) из переменной Buf
procedure ChDir(S: String) Выполняет смену текущего каталога на каталог, маршрут к которому указан в текстовой переменной S
procedure Close(var F) Закрывает открытый файл, связанный с файловой переменной F
procedure Erase(var F) Стирает внешний файл, связанный с файловой переменной F
function Eof(var F): Boolean Возвращает состояние End-of-file (конец файла) для файла, связанного с файловой переменной F: True - если текущее положение указателя находится в конце файла или файл пустой; False - во всех остальных случаях

Продолжение таблицы 6.1

 

function FilePos(var F): Longlnt Возвращает текущую позицию для файла, связанного с файловой переменной F. При положении текущего указателя в начале файла возвращает нулевое значение. Для текстовых файлов не используется
function FileSize(var F): Longtnt Возвращает текущий размер файла, связанного с файловой переменной F. Если файл пустой, возвращает нулевое значение. Для текстовых файлов не используется
procedure Flush(var F: text) Сбрасывает буфер текстового файла, связанного с файловой переменной F и открытого для вывода процедурой Rewrite или Append. Это дает гарантию того, что вся информация, записываемая в файл, будет сохранена во внешнем файле. Не влияет на файлы, открытые для ввода
procedure GetDir(D: Byte; varS: String); Возвращает текущий каталог на заданном диске. Имя каталога находится в строковой переменной S, а диск задается значением параметра D: 0 - текущий диск; 1 - диск А; 2 - диск В; 3 - диск С, и т. д. Если значение, заданное в параметре D, неверное, возвращается результат «Х:\»
function IOResult: Integer Возвращает целое значение, являющееся состоянием последней выполненной операции ввода-вывода. Нулевое значение соответствует нормальному завершению операции

 

Продолжение таблицы 6.1

 

procedure MkDir(S: String) Создает подкаталог, имя для которого задается строковой переменной S
procedure Read(var R text;v1,...) Считывает одно или несколько значений из файла, связанного с файловой переменной F, в одну или несколько переменных vl, ...
procedure ReadLn(var R text; v1,...) То же, что и Read, но выполняет пропуск до начала следующей строки текстового файла
procedure Rename(var F, S) Переименовывает внешний файл, связанный с файловой переменной F, присваивая ему имя, содержащееся в строковой переменной S
procedure Reset(var F) Открывает существующий файл, связанный с файловой переменной F. Текущий указатель устанавливается в начало файла. Текстовый файл открывается только для чтения
procedure Rewrite(var F) Создает и открывает новый файл, связанный с файловой переменной F. Если файл с указанным именем уже существует, старый файл стирается, а на его месте создается новый пустой файл. Текущий указатель устанавливается в начало файла
procedure RmDir(S: String) Удаляет пустой подкаталог, маршрут которого указан в строковой переменной S
procedure Seek(var F, N: Longint) Перемещает текущую позицию в файле, связанном с файловой переменной F, на заданный элемент. Началу файла соответствует нулевое значение N. Для текстовых файлов не используется

Продолжение таблицы 6.1

 

function SeekEof(var R text): Boolean Возвращает состояние «конец файла» для текстового файла, связанного с файловой переменной F
function SeekEoln(var R text): Boolean Возвращает состояние «конец строки» для текстового файла, связанного с файловой переменной F
procedure SetTextBuf(var F. text; var Buf) Назначает буфер ввода-вывода для текстового файла, связанного с файловой переменной F. Никогда не применяется к открытым файлам, поскольку в этом случае возможны потери данных
procedure Truncate(var F) Усекает размер файла, связанного с файловой переменной F, до текущей позиции. Вся информация после текущего положения указателя теряется. Для текстовых файлов не используется
procedure Write(var P. text, vl,...) Записывает в файл, связанный с файловой переменной F, одно или несколько значений, хранящихся в переменных vl, ... Файловая переменная может быть связана не только с текстовым файлом. В случае текстового файла значения могут иметь целый, вещественный, строковый, символьный или булев типы. В случае типизированного файла тип значений должен совпадать с типом компонентов файла
Procedure WriteLn(var R text, v1,...) Делает то же, что Write, но затем записывает в текстовый файл признак конца строки


<== предыдущая лекция | следующая лекция ==>
Выделение символов в строке и подсчет их вхождения | Наши дни.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.135 сек.