русс | укр

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

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

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

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


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

Основные понятия


Дата добавления: 2015-06-12; просмотров: 567; Нарушение авторских прав


Мы все время рассматривали задачи, в которых данные поступают с клавиатуры, а результаты выводятся на экран. Ни исходные данные, ни результаты не сохраняются. А если данных слишком много? Как записать их на диск? Для этого необходимо исходные данные и результаты оформить в виде файлов, которые хранятся на диске.

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

Файл может быть компонентом другой структуры, но не должен входить в другой файл.

Отличие файла от массива: размещение на внешнем носителе, длина файла не задается, место элемента не определяется индексом.

Файлы бывают:

- типизированные

- нетипизированные

- текстовые

Файл объявляется в разделе описания переменных с указанием типа элементов файла.

Например:

Var F1: file of integer; F2: file of char; F3: text; F4: file;

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

Нетипизированныйфайл – это просто последовательность байтов, без конкретизации структуры.

Файл, компонентами которого являются данные символьного типа, называется текстовым. Отличие текстовых файлов от типизированных - наличие строковой структуры. В текстовые файлы можно записывать любую информацию, в том числе числа. При этом они (числа) автоматически преобразуются в строковые величины, а при считывании из файла – обратное преобразование в числа.

Описание файлов:

Тип файла Описание файла
Типизированный Var F1: file of integer; F2: file of char;
Нетипизированный Var F3: file;
Текстовый Var F: text;

 

Файл на техническом носителе определяется полным именем (<путь>\<собственно имя>.<расширение>). Для обозначения файла и работе с ним в программе используется файловая переменная.



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

Особенности файловой переменной:

1. Ей нельзя присваивать какие-либо значения

2. Она не может участвовать в логических операциях

3. Она не может входить в математические выражения

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

При работе с файловыми переменными, используются специальные процедуры и функции:

Процедура Назначение Замечание
Assign(f, ‘name’) Связывает файловую переменную с конкретным файлом (привязывает переменную к имени файла). Ставится перед первым использованием файловой переменной. Можно имя файла ’name’ задавать через строковую перемен­ную (S): Assign(f, S)
Reset(f) Открывает существующий файл и устанав­ливает указатель на начало записи. Для любых файлов
Rewrite(f) Создает новый пустой файл, устанавливает указатель - на начало файла. Если файл су­ществовал, то его содержимое уничтожается. Для любых файлов
Close(f) Закрывает открытый файл Для любых файлов
Erase(f) Стирает предварительно закрытый файл Для любых файлов
Rename(f, f1) Переименовывает файл f в файл f1. Файл f должен быть предварительно закрыт Для любых файлов
EOF(f) Получение сведений о конце файла True, если указатель указывает на метку конца файла, иначе - False Логическая функция.
Read(f,v1,…vn) Считывает записи из файла f в переменные v1, …vn Для типизированных и нетипизированных фай­­лов
Write(f,v1,…vn) Записывает в файл f значения переменных v1,…vn Для типизированных и нетипизированных фай­­лов
Readln(f,v1,…vn) Считывает записи из файла f в переменные v1, …vn в типизированных фай­лах недопус­ти­мо
Writeln(f,v1,…vn) Записывает в файл f значения переменных v1,…vn в типизированных фай­лах недопусти­мо
N:=filesize(F); Определение количества записей в файле Функция
Eoln(f) True, если указатель на метке конца строки, иначе - False Логическая функция. Для текс­товых фай­лов
Append(f) Открывает файл и устанавливает указатель на метку конца файла Применяется для до­­бавления записей
N:=filepos(f) Выдает номер записи, на которую указывает указатель записи. Первая запись имеет номер 0. Функция
seek(f,n) Устанавливает указатель на запись с номером n  
truncate(f) Отсекает все записи, находящиеся после указателя и в этой позиции записывает метку конца файла.  

 

Пимеры программ:

§ Пример записи типизированных файлов:

var f: filt of integer;

assign(f, ‘file’); … rewrite(f); …write(f, v1,v2,…, vn); clos(f);

§ Пример считывания типизированных файлов:

var f: filt of integer;

assign(f, ‘file’); … reset(f); … read(f, v1,v2,…, vn); clos(f);

§ Пример записи в текстовый файл:

uses crt;

var f:text; r,i:integer; rr:string;

begin

clrscr;

rr:='Dautova';

assign(f,'dddddd');

rewrite(f);

writeln(f,rr);

for i:=1 to 20 do begin

r:=random(10);

writeln(f,r); end;

close(f);

end._

§ Считывание из текстового файла (см программу выше):

uses crt;

var f:text; r,i:integer; rr:string;

begin

clrscr;

assign(f,'dddddd');

reset(f);

readln(f,rr);

writeln(rr);

for i:=1 to 20 do begin

readln(f,r);

writeln(r); end;

close(f);

end._

 

· Написать программу, вычисляющую корни квадратного уравнения и вывести результаты в файл.

Uses crt;

Var a,b,c,x1,x2, d: real; f:text;

Begin

Assign(f,’result.txt);

Rewrite(f);

Readln(a,b,c);

D:=b*b-4*a*c;

If d>=0 then

Begin

X1:=-b+sqrt(d)/(2*a);

X2:=-b-sqrt(d)/(2*a);

End;

Writeln(‘решени квадратного ур-я’);

Writeln(f,'a=',a:6:3,'b=', b:6:3,'c=',c:6:3);

If d<0 then writeln(f,’у урав-я нет корней’) else writeln(f, ‘корни: x1=’, x1:6:3,’x2=’, x2:6:3);

Close(f);

Writeln(‘рез-ты работы программы в файле result.txt’);

Repeat until keypressed; end.

 

· На диске имеется файл с именем Karl.txt, в котором записана скороговорка:

"Карл у Клары украл кораллы, Клара у Карла украла кларнет."

Требуется подсчитать кол-во букв «К»

Uses crt;

Var f:text; s:integer; a:char;

Begin

Assign(f,’Karl.txt’); Reset(f);

S:=0;

While not eof(f) do Begin

While not eoln(f) do Begin

Read(f,a); If a=’k’ then s:=s+1;

End;

Readln(f);

End;

Close(f); Writeln(s);

Repeat until keypressed; end.

· Ввести текст в текстовый файл f1. Переписать файл f1 в f2 – первую половину файла в прямом, а вторую – в обратном порядке следования символов.

Uses crt;

Var f1,f2:text; s,s1,sa,sb:string; a:char; n,y,i:integer;

Begin

Clrscr;

Assign(f1,’file1’); Assign(f2,’file2’);

Rewrite(f1);

Readln(s); Writeln(f1,s); Close(f1);

Reset(f1); Rewrite(f2); Read(f1,s1);

N:=lenght(s1); Y:=n div 2; Writeln(y);

Sa:=’’; sb:=’’;

For i:=n downto y+1 do Sa:=sa+s1[i];

Writeln(sa);

For i:=1 to y do Sb:=sb+s1[i];

Writeln(sb);

S1:=sb+sa;

Writeln(s1); Write(f2,s1);

Close(f1); Close(f2); Repeat until keypressed; end.


Приложение 1. Структура типов данных

 

Типы данных     простые     порядковые     целые  
             
                         
              вещественные     логические  
                   
                   
      структурированные     массивы     символьный  
               
                           
      указатели     записи     перечисляемый  
               
                           
      строки     множества     Тип-диапазон  
               
                           
      процедурные     файлы          
                   
                         
      объекты              
                   
                                     

 

 

Приложение 2. Таблица кодов ASCII

 

Управляющие символы Печатаемые символы
Код Клавиши Обозначение Десятичный код - символ
0 Ctrl - @ NUL 1 Ctrl – A SOH 2 Ctrl – B STX 3 Ctrl – C ETX 4 Ctrl – D EOT 5 Ctrl – E ENQ 6 Ctrl – F ACK 7 Ctrl – G BEL 8 Ctrl – H BS 9 Ctrl – I HT 10 Ctrl – J LF 11 Ctrl – K VT 12 Ctrl – L FF 13 Ctrl – M CR 14 Ctrl – N SO 15 Ctrl – O SI 16 Ctrl – P DLE 17 Ctrl – Q DC 1 18 Ctrl – R DC 2 19 Ctrl – S DC 3 20 Ctrl – T DC 4 21 Ctrl – U NAK 22 Ctrl – V SYN 23 Ctrl – W ETB 24 Ctrl – X CAN 25 Ctrl – Y EM 26 Ctrl – Z SUB 27 Ctrl – [ ESC 28 Ctrl - \ FS 29 Ctrl - ] GS 30 Ctrl - ^ RS 31 Ctrl - _ US 33 ! 34 « 35 # 36 $ 37 % 38 & 39 ‘ 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ ‘ a b c d e f g h i j k l m n o p q r s t u v w x y z { ¦ } ~ .

 



<== предыдущая лекция | следующая лекция ==>
Основные понятия | ОБЩИЕ ТРЕБОВАНИЯ И ПРАКТИКА СОСТАВЛЕНИЯ


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


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

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

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


 


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

 
 

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

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