Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

Использование program, begin…end, write, readln, Uses Crt, Clrscr.

В этом уроке мы напишем самую простую программу, состоящую всего из пяти строк. Эта программа будет выводить сообщение на экран. Для написания программы нам необходимо знать как работают операторы Write, Readln, а также понять для чего нужны ...

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

Отображение на экране значений двумерного массива.

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

Рекурсивные вычислительные процессы.

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

Для текстовых файлов в Паскаль помимо процедур Read и Write определены процедуры Readln и Writeln. Дело в том, что при использовании строковой переменной с помощью процедуры Read можно считывать лишь первую строку файла в эту переменную.

Например, создадим текстовый файл «text.txt» и запишем в него 3 строки: «pascal», «admin» и «turbo».

tekstovihe fayjlih v paskalj

 А теперь запустите программу "file1" из первого урока, посвященного файлам.

tekstovihe fayjlih v paskalj.

Как видите, на экран вывелось одно слово «pascal», а слова «admin» и «turbo» не вывелись, т.к. они расположены во 2-й и 3-й строке. Для того чтобы из файла были прочитаны все строки необходимо  использовать цикл с признаком конца файла. Кроме того, процедура Read не приспособлена для считывания последовательности строк. Ввместо нее необходимо использовать процедуру Readln.

Текстовые файлы в Паскаль.




Program file5;
Uses crt;
var fl:text;
str:string;
begin
clrscr;
assign (fl, 'programs\text.txt');
reset (fl);
while not Eof(fl) do
begin
readln (fl,str);
write(str);
end;
close(fl);
readln
end.




В строке №9 записываем цикл. Функция Eof при чтении файла (при использовании процедуры Reset)  обозначает конец файла. Таким образом, цикл в строке №9 будет продолжаться до тех пор, пока не наступит конец файла (т.е. пока не будет прочитана последняя строка в файле). В цикле записано 2 операции (они заключаются в операторные скобки begin..end).

Строка №11. Первая операция в цикле – это операция чтения из файла и присвоение переменной «str» значения файловой переменной «fl». В результате работы процедуры Readln из файла будет прочитана первая строка, а указатель перейдет на начало второй строки. Таким образом, в цикле будут прочитаны все 3 строки.

Строка №12. Вторая операция - вывод значения переменной «str»на экран.

tekstovihe fayjlih v paskalj..

tekstovihe fayjlih v paskalj...

Как видите, на экран вывелись все 3 слова, записанные в текстовом файле «text.txt». Правда, все эти слова вывелись в одну строку. Для того чтобы они вывелись в 3-х строках необходимо вместо процедуры Write использовать процедуру Writeln (т.е. строка №12 должна иметь вид: writeln (str)). В результате получится:

tekstovihe fayjlih v paskalj....


Дополнение к материалу.

  • Процедура Readln производит чтение файла построчно. Т.е. сначала будет прочитана первая строка, затем 2-ая, затем 3-я. В нашем примере мы применяли цикл для чтения файла и вывода его содержимого на экран. Если мы уберем операторные скобки begin..end, то цикл будет действовать только на процедуру Readln (в строке №11),  а процедура Writeln выведет на экран не все слова, а лишь последнее слово(turbo), записанное в переменную «str».
  • В случае использовании оператора Read вместо оператора Readln в строке №11 произойдет зацикливание программы, так как она не сможет найти признак конца файла. Для остановки программы необходимо нажать Ctrl+Break

Предыдущая статья : Считывание информации из файла в целочисленную или вещественную переменную.

Оглавление : Уроки Паскаль. Файлы.

Следующая статья : Запись в текстовые файлы.


Комментарии  

 
+6 # Александр 29.01.2013 13:25
спасибо. очень полезная статья :D
Ответить
 
 
0 # 42 22.05.2013 14:33
Нормал
Ответить
 
 
+1 # Светлана 11.03.2017 12:02
:D :D Отлично! Спасибо! :-)
Ответить
 

Добавить комментарий

Защитный код
Обновить

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