Использование Var, Integer, Readln.

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

Процедуры Dec и Inc в Pascal.

При работе с целыми числами используются процедуры DEC и INC. Процедура Dec уменьшает число на определенное значение, а процедура Inc увеличивает число на определенное значение.

Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

Циклы и массивы

Программирование вычислительных процессов.

Решение задачи на ЭВМ — это сложный процесс, в ходе которого пользователю приходится выполнять целый ряд действий, прежде чем он получит интересующий его результат.

Инициализация одномерного массива.

Отличительной особенностью Паскаля от большинства процедурных языков является то, что все переменные должны быть инициализированы. То есть в разделе VAR переменным отводится место, а начальное ...

В одной программе можно открыть несколько текстовых файлов, и работать с ними одновременно. Например, напишем программу, которая открывает сразу 2 текстовых файла. Один для чтения, другой для записи.

С одного файла она считывает какое-нибудь слово и записывает это слово с увеличением на одну букву в другой файл. Например, если в первом файле записано слово «ABCDIF», то в другом файле будет записано «BCDIFG». Тот файл, который мы будем открывать для чтения, необходимо предварительно создать. Поэтому в директории «C:\FPC\2.2.2\bin\i386-win32\Programs» создаем файл «oldname.dat» и записываем в него какое-нибудь слово, например, «pascal».

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


 program file9;
uses crt;
var oldf,
newf:text;      
newn:string;      
line:string;   
    c:integer;
begin clrscr;
writeln('Введите имя для второго файла');
readln(newn);
assign(oldf, 'programs\oldname.dat');
assign(newf,newn);
reset(oldf); rewrite(newf);
while not eof(oldf) do begin readln(oldf,line);
for c:=1 to length(line) do line[c]:=succ(line[c]);
writeln(newf,line);
writeln(line);
end;
close(newf);
readln
end. 

Строка №3. Создаем файловые переменные для 2-х файлов. Переменная «oldf» будет связана с файлом, который уже существует («oldname.dat»). Переменная «newf» будет связана с файлом, который мы создадим в процессе выполнения программы.

Строка №4. Создаем переменную для хранения имени нового файла.

Строка №5. Переменную «line» будем использовать в качестве буферной переменной для хранения слова, записанного в файле.

Строка №6. Переменную «с» будем использовать в качестве счетчика цикла.

Строка №10. Вводим с клавиатуры имя для нового файла. Например, назовем наш новый файл «newname.dat». Если нам необходимо чтобы этот файл был расположен в папке «Programs», то в качестве имени файла необходимо указать «programs\newname.dat». Это название будет записано в переменную «newn».

Строка №11. Связываем файловую переменную «oldf» с файлом «oldname.dat», расположенным в папке «programs».

Строка №12. Связываем файловую переменную «newf» с переменной «newn», в которой храниться  название нового файла «newname.dat», который будет расположен в папке «programs». Таким образом, файловая переменная «newf» связывается с файлом, которого еще не существует.

Строка №13. Открываем существующий файл «oldname.dat» для чтения.

Строка №14. Открываем файл «newname.dat» для записи. Так как этот файл не существует, он будет создан автоматически. Здесь следует сказать несколько слов об открытии файла с помощью процедур Reset и Rewrite. C помощью процедуры Rewrite мы можем открыть несуществующий файл. Он будет создан автоматически с именем, указанным в параметрах процедуры Assign. Поэтому для файла, открываемого с помощью процедуры Rewrite, мы можем указать имя в процессе выполнения самой программы (строка №10) и затем связать это имя с файловой переменной (строка №12).Если же мы открываем файл с помощью процедуры Reset (т.е. для чтения), то предполагается, что файл уже существует на диске. То есть процедура Reset не может создавать новый файл, она может открывать только существующий файл.

Строка №15. Записываем цикл с признаком конца файла.

Строка №17. Считываем из старого файла информацию и записываем ее в переменную «line» (в старом файле у нас записано слово «pascal»).

Строка №18. Записываем цикл. Функция length возвращает целочисленное значение, равное количеству символов в переменной, указанной в круглых скобках после слова length. У нас после слова length стоит переменная «line», в которой хранится слово «pascal». В этом слове 6 символов, поэтому length(line) будет равно 6. Поэтому цикл в строке №18 будет повторяться от 6 раз.

Строка №19. Line[c] означает один символ в слове, которое содержится в переменной «line». У нас в переменной «line» записано слово «pascal», тогда line[1] будет равно «p», line[2] будет равно «a», line[3] будет равно «s» и т.д. Функция Succ возвращает в качестве значения следующий символ. Т.е. если line[1] равно «p», то succ(line[1]) будет равно «q» (следующий символ по кодовой таблице ASCII). Таким образом, благодаря циклу, все 6 символов, содержащихся в переменной «line», будут заменены следующими символами.

Строка №20. Записываем в новый файл содержимое переменной «line» и (строка №21) выводим это содержимое на экран.

rabota s dvumya tekstovihmi fayjlami

rabota s dvumya tekstovihmi fayjlami.


Предыдущая статья: Дописывание в текстовый файл.
Оглавление: Уроки Паскаль.Файлы.
Следующая статья: Использование типа Record в текстовых файлах.


   ГлавнаяПаскальФайлы в ПаскальСчитывание информации из файла в переменную символьного типа.