Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке

Доклад на тему «Файловый ввод/вывод»

Тема
доклада: Файловый ввод/вывод.

 

Функциональный
язык программирования Лисп поддерживает широкие возможности для работы с
файлами. При этом вводится понятие потока, с которым связан файл с одной
стороны и какой-то символ с другой. Поток представляет собой некий абстрактный объект,
с которым мы можем работать, не углубляясь в аппаратную и программную
реализацию работы с данными.

Рассмотрим
основные функции для работы с файлами:

OPEN filespec &key direction
element-type if-exists if-does-not-exist external-format

Функция создает,
открывает и возвращает поток файла заданного в filespec.

filespec – путь к файлу

direction — одно из:input,
:output, :io, или :probe. По умолчанию:input. Режим открытия файла (чтение,
запись, чтение/запись, поток создан но закрыт)

element-type – тип данных с которыми
поддерживает работу файл. По умолчанию Character.

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать доклад

if-exists – поведение если файл уже существует (:error, :new-version, :rename, :rename-and-delete,
:overwrite, :append, :supersede).

if-does-not-exist — поведение если файл не существует (:error,
:create).

external-format – Внешний указатель формата файла.
The default is :default.

Возвращает поток (stream).

(setq s (open “example.txt” :direction :io)); создает файл дле чтения/записи и связывает с ним символ s.

LOAD filespec

Эта функция
загружает файл выражений и выполняет эти выражения. filespec — это строковая константа, которая
представляет собой имя файла может включать префикс директории, например
«/function/test1». Если операция успешно завершина, LOAD возвращает
имя последней функции, определенной в файле. Если операция не выполнена, LOAD
возвращает имя файла в виде строкового выражения.

WRITE-BYTE byte stream

Записывает байт в
выходной поток. Тип данных должен быть изменен на unsigned-byte;

_(with-open-file (s «temp-byte» :direction :output :element-type ‘unsigned-byte)(write-byte 101 s))

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

=>  101 ; в файле символ ‘е‘

WRITE-CHAR char stream

Записывает символ
в выходной поток;

_(with-open-file (s «temp» :direction :output)(write-char #B s))

ð B

 

WRITE-LINE string &optional stream &key
start end

 

Записывает строку
(ключевые слова :start и :end позволяют задавать диапазон
записываемой строки (отсчет с нуля)); производит перевод каретки на новую
строку.

_(with-open-file (s
«temp» :direction :output )(write-line “Hello, world” s))

=>“Hello, world”

WRITE-STRING string &optional stream &key
start end

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена доклада

Записывает строку
но не добавляет новую линию в выходной поток;

_(with-open-file (s
«temp» :direction :output )(write-string “Hello, world” s :start 3
:end 6))

=>“lo,”

 

READ-BYTE stream &optional eof-error-p
eof-value

Читает
байт с входного потока.

eof-error-p – по умолчанию nil. Oбобщенная булева переменная (nil – false , все остальное true).

eof-value—признак конца файла.

_(with-open-file (s «temp-bytes» :element-type ‘unsigned-byte)(read-byte s))

READ-CHAR &optional stream eof-error-p
eof-value recursive-p

Читает символ с
входного потока. Возвращает (целое) ASCII код считываемого символа. Если не
задано <описателя файла> и в буфере ввода клавиатуры нет символов, READ-CHAR ждет, чтобы вы ввели
что-либо с клавиатуры (заканчивающееся RETURN). Hапример, добустим, что буфер клавиатуры пуст:

 (read-char)

будет ждать
какого-либо ввода. Если вы набрали «АВС», завершив ввод RETURN, READ-CHAR возвратит 65 (код AS0CII буквы
«А» (латинской)). Следующие три обращения к READ-CHAR возвратят 66,67 и 10 (переход на
новую строку) соответственно. Если затем последует еще одно обращение к READ-CHAR, она будет ждать ввода;

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать доклад

_(with-open-file (s «temp-bytes»)(read-byte s))

=>#e

READ-LINE &optional stream eof-error-p
eof-value recursive-p

Читает строку. READ-LINE возвращает nil, иначе она возвращает
строковое значение, которое было считано. Hапример, допустим, что F — это разрешенный указатель
открытого файла:

 (read-line f)

возвратит
следующую введенную строку из файла или (если достигнут конец файла) nil.

PEEK-CHAR &optional peek-type stream eof-error-p eof-value
recursive-p

Читает символ с
потока так, что он доступен для следующей операции чтения. Аргумент peek-type позволяет перескочить к пробелу (Т) или какомуто отдельному символу(a character); /* ??? */

UNREAD-CHAR character &optional stream

Помещает символ
назад на переднюю сторону входного потока, где он остается пока не прочитается
снова;

LISTEN &optional stream

Возвращает Т если
данные доступны на входном потоке;

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена доклада

READ-CHAR-NO-HANG &optional stream eof-error-p
eof-value recursive-p

Если символ
доступен на входном потоке, функция возвращает символ, иначе nil;

CLEAR-INPUT &optional stream

Флеширует входной
поток, если это нужно;

Флеширует
выходной поток и ждет результата от адресата;

FORCE-OUTPUT &optional stream

То же что и FINISH-OUTPUT  но не ждет результата;

CLEAR-OUTPUT &optional stream

Очистка буфера
потока;

DELETE-FILE filespec

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать доклад

Удаляет файл;

_(with-open-file (s
«delete-me.text» :direction :output :if-exists :error) (delete-file
s)); создает и удаляет файл

=>  T

FILE-POSITION &optional stream

Возвращает
текущую позицию в файле связанным с потоком srteam;

FILE-POSITION &optional stream position-spec

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

и возвращает Т
если позиционирование удалость и NIL при неудаче;

(FILE-POSITION s
0) ; возврат к началу файла.

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

CLOSE &optional stream

Закрывает поток.

Для работы
с файлами можно использовать и  функции PRINТ, PRINС, PRIN1 и READ. Приведем простенький пример:

; открываем поток для записи

(setq out-stream (open «temp.txt» :direction :output))

ABC

(close out-stream)

T

 

; открываем поток для чтения

(setq in-stream (open «temp.txt» :direction :input)) #<INPUT-STREAM «temp.txt»>

(read in-stream); считаем все с потока

ABC

(close in-stream)

T

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать доклад

Написание доклада за 4 часа

Тема
доклада: Файловый ввод/вывод.

 

Функциональный
язык программирования Лисп поддерживает широкие возможности для работы с
файлами. При этом вводится понятие потока, с которым связан файл с одной
стороны и какой-то символ с другой. Поток представляет собой некий абстрактный объект,
с которым мы можем работать, не углубляясь в аппаратную и программную
реализацию работы с данными.

Рассмотрим
основные функции для работы с файлами:

OPEN filespec &key direction
element-type if-exists if-does-not-exist external-format

Функция создает,
открывает и возвращает поток файла заданного в filespec.

filespec – путь к файлу

direction — одно из:input,
:output, :io, или :probe. По умолчанию:input. Режим открытия файла (чтение,
запись, чтение/запись, поток создан но закрыт)

element-type – тип данных с которыми
поддерживает работу файл. По умолчанию Character.

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

if-exists – поведение если файл уже существует (:error, :new-version, :rename, :rename-and-delete,
:overwrite, :append, :supersede).

if-does-not-exist — поведение если файл не существует (:error,
:create).

external-format – Внешний указатель формата файла.
The default is :default.

Возвращает поток (stream).

(setq s (open “example.txt” :direction :io)); создает файл дле чтения/записи и связывает с ним символ s.

LOAD filespec

Эта функция
загружает файл выражений и выполняет эти выражения. filespec — это строковая константа, которая
представляет собой имя файла может включать префикс директории, например
«/function/test1». Если операция успешно завершина, LOAD возвращает
имя последней функции, определенной в файле. Если операция не выполнена, LOAD
возвращает имя файла в виде строкового выражения.

WRITE-BYTE byte stream

Записывает байт в
выходной поток. Тип данных должен быть изменен на unsigned-byte;

_(with-open-file (s «temp-byte» :direction :output :element-type ‘unsigned-byte)(write-byte 101 s))

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена доклада

=>  101 ; в файле символ ‘е‘

WRITE-CHAR char stream

Записывает символ
в выходной поток;

_(with-open-file (s «temp» :direction :output)(write-char #B s))

ð B

 

WRITE-LINE string &optional stream &key
start end

 

Записывает строку
(ключевые слова :start и :end позволяют задавать диапазон
записываемой строки (отсчет с нуля)); производит перевод каретки на новую
строку.

_(with-open-file (s
«temp» :direction :output )(write-line “Hello, world” s))

=>“Hello, world”

WRITE-STRING string &optional stream &key
start end

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать доклад

Записывает строку
но не добавляет новую линию в выходной поток;

_(with-open-file (s
«temp» :direction :output )(write-string “Hello, world” s :start 3
:end 6))

=>“lo,”

 

READ-BYTE stream &optional eof-error-p
eof-value

Читает
байт с входного потока.

eof-error-p – по умолчанию nil. Oбобщенная булева переменная (nil – false , все остальное true).

eof-value—признак конца файла.

_(with-open-file (s «temp-bytes» :element-type ‘unsigned-byte)(read-byte s))

READ-CHAR &optional stream eof-error-p
eof-value recursive-p

Читает символ с
входного потока. Возвращает (целое) ASCII код считываемого символа. Если не
задано <описателя файла> и в буфере ввода клавиатуры нет символов, READ-CHAR ждет, чтобы вы ввели
что-либо с клавиатуры (заканчивающееся RETURN). Hапример, добустим, что буфер клавиатуры пуст:

 (read-char)

будет ждать
какого-либо ввода. Если вы набрали «АВС», завершив ввод RETURN, READ-CHAR возвратит 65 (код AS0CII буквы
«А» (латинской)). Следующие три обращения к READ-CHAR возвратят 66,67 и 10 (переход на
новую строку) соответственно. Если затем последует еще одно обращение к READ-CHAR, она будет ждать ввода;

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена доклада

_(with-open-file (s «temp-bytes»)(read-byte s))

=>#e

READ-LINE &optional stream eof-error-p
eof-value recursive-p

Читает строку. READ-LINE возвращает nil, иначе она возвращает
строковое значение, которое было считано. Hапример, допустим, что F — это разрешенный указатель
открытого файла:

 (read-line f)

возвратит
следующую введенную строку из файла или (если достигнут конец файла) nil.

PEEK-CHAR &optional peek-type stream eof-error-p eof-value
recursive-p

Читает символ с
потока так, что он доступен для следующей операции чтения. Аргумент peek-type позволяет перескочить к пробелу (Т) или какомуто отдельному символу(a character); /* ??? */

UNREAD-CHAR character &optional stream

Помещает символ
назад на переднюю сторону входного потока, где он остается пока не прочитается
снова;

LISTEN &optional stream

Возвращает Т если
данные доступны на входном потоке;

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать доклад

READ-CHAR-NO-HANG &optional stream eof-error-p
eof-value recursive-p

Если символ
доступен на входном потоке, функция возвращает символ, иначе nil;

CLEAR-INPUT &optional stream

Флеширует входной
поток, если это нужно;

Флеширует
выходной поток и ждет результата от адресата;

FORCE-OUTPUT &optional stream

То же что и FINISH-OUTPUT  но не ждет результата;

CLEAR-OUTPUT &optional stream

Очистка буфера
потока;

DELETE-FILE filespec

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

Удаляет файл;

_(with-open-file (s
«delete-me.text» :direction :output :if-exists :error) (delete-file
s)); создает и удаляет файл

=>  T

FILE-POSITION &optional stream

Возвращает
текущую позицию в файле связанным с потоком srteam;

FILE-POSITION &optional stream position-spec

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

и возвращает Т
если позиционирование удалость и NIL при неудаче;

(FILE-POSITION s
0) ; возврат к началу файла.

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

CLOSE &optional stream

Закрывает поток.

Для работы
с файлами можно использовать и  функции PRINТ, PRINС, PRIN1 и READ. Приведем простенький пример:

; открываем поток для записи

(setq out-stream (open «temp.txt» :direction :output))

ABC

(close out-stream)

T

 

; открываем поток для чтения

(setq in-stream (open «temp.txt» :direction :input)) #<INPUT-STREAM «temp.txt»>

(read in-stream); считаем все с потока

ABC

(close in-stream)

T

Нужна помощь в написании доклада?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

Средняя оценка 0 / 5. Количество оценок: 0

Поставьте оценку первым.

Сожалеем, что вы поставили низкую оценку!

Позвольте нам стать лучше!

Расскажите, как нам стать лучше?

589

Закажите такую же работу

Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке