Учебно-методическое пособие. Алматы, 2017 ббк


Запись данных в текстовый файл. Одномерный массив



бет63/106
Дата03.01.2022
өлшемі483.39 Kb.
#451845
түріУчебно-методическое пособие
1   ...   59   60   61   62   63   64   65   66   ...   106
УЧЕБНИКПаскаль(100217)

2.8.2. Запись данных в текстовый файл. Одномерный массив

Самым простым типом файла является файл текстового типа. Содержимое данного файла представлено не в машинных кодах, как у типизированных и не типизированных файлов, а в виде цифр, букв и иных символов клавиатуры (в кодах ASII). Поэтому содержимое таких файлов легко просматривать и изменять с помощью любого, даже самого простого, редактора текста, в том числе и редактора интегрированной среды Free Pascal. Текстовый файл трактуется как совокупность строк переменной длины. Как вы уже знаете (см. п.п.2.1.2), при наборе текста для ввода новой строки следует нажать клавишу «Enter», в этом случае генерируется специальный код - код конца строки, при записи файла, на внешний носитель, генерируется специальный код - код конец файла. При просмотре текстового файла данные коды не видны.

Попробуем решить следующую задачу: Надо ввести с клавиатуры некоторое количество чисел и записать их в файл текстового типа с именем 'mayFile.in'. Рассмотрим задачу по этапам:


  1. Ввод данных с клавиатуры;

  2. Запись данных в файл именем 'mayFile.in'.

Для выполнения первого этапа надо:

  • ввести значение количества чисел, которое вы хотите ввести с клавиатуры;

  • зная количество чисел, воспользовавшись циклом с параметром присвоить переменной типа массив конкретные значения этих чисел.

Для выполнения этих действий опишем переменные, которые будут использоваться. Предположим, что чисел не более 100, и так как они будут использоваться в других процедурах, объявим их в области описания глобальных переменных.

program Primer_F1;

var

Chislo :array[1..100] of integer;



i,Kolichestvo :integer;
Процедура ввода данных будет выглядеть следующим образом:
procedure init;

begin


readln (Kolichestvo);

for i:=1 to Kolichestvo do

begin

write (' Chislo [',i,']=');



readln (Chislo [i]);

end;


end;
Процедура обработки данных пока нас не интересует, поэтому пусть она ничего не делает.
procedure work;

begin


end;
Рассмотрим теперь второй этап -запись информации в файл с именем 'mayFile.in'.

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

var

FileOut : text;


Далее мы должны дать указание программе, что переменная с именем FileOut имеющая тип "текстовый" обозначает наш реальный файл с именем 'mayFile.in'. Для этого используется процедура assign(NameVar,NameFile). Здесь NameVar обозначает имя переменной, которое Вы используете для обозначения файла, в нашем случае вместо NameVar вы запишите конкретное имя FileOut. NameFile - это имя реального файла, с которым Вы будете работать, в нашем случае это 'mayFile.in'.
Как известно, помимо имени и расширения, файл характеризуется еще и местом расположения (полное имя файла), например: "c:\bp\bin\mayFile.in". В случае если полное имя не задано, по умолчании используется каталог, где находится ваша программа.
Теперь вы должны открыть данный файл и указать, что в данный файл будут записываться данные. Для этого служит процедура rewrite(NameVar), здесь NameVar - также имя переменной которую вы задали для обозначения файла, в нашем случае NameVar - FileOut. Процедура rewrite(NameVar) - открывает файл для записи и перемещает указатель к началу файла.

Теперь все готово для записи данных в файл. Воспользуемся для этого уже известными процедурами Write() и Writeln(). Для того чтобы запись производилась в файл, а не на экран, укажем направления вывода данных. То есть в скобках, перед именами переменных, значения которых мы будем записывать, укажем имя переменной, с которой с помощью процедуры assign() связан наш файл. Допустим, что записать данные в выходной файл надо в строчку. При этом, первое значение это количество чисел введенных вами. Так как переход на новую строку не осуществляется, воспользуемся процедурой Write(), сначала запишем в файл значение переменной Kolichestvo, а затем используя цикл с параметром запишем значения чисел введенных вами в процедуре ввода.

После записи всех данных файл необходимо закрыть. Это осуществляется с помощью процедуры close().



Достарыңызбен бөлісу:
1   ...   59   60   61   62   63   64   65   66   ...   106




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет