Скачать презентацию Программирование вторая грамотность А П Ершов Программирование Скачать презентацию Программирование вторая грамотность А П Ершов Программирование

12-FP-Файлы-типизированные_начало.ppt

  • Количество слайдов: 23

Программирование – вторая грамотность. А. П. Ершов Программирование в Pascal Работа с файлами. Мурзина Программирование – вторая грамотность. А. П. Ершов Программирование в Pascal Работа с файлами. Мурзина Ольга Ивановна, учитель информатики МБОУ «Лицей» г. Арзамаса

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

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

Имена файлов, как правило, имеют длину до 8 символов, а расширения - до 3. Имена файлов, как правило, имеют длину до 8 символов, а расширения - до 3. Например: input. dat output. dat input. txt output. txt train. inp train. out

Для того, чтобы работать с файлом необходимо для него: 1. Объявить файловую переменную в Для того, чтобы работать с файлом необходимо для него: 1. Объявить файловую переменную в разделе описания переменных VAR 2. В теле программы связать файловую переменную с физическим файлом на диске 3. Инициировать вид работы с файлом: чтение, запись или дополнение

Для того, чтобы работать с файлом необходимо для него: 4. Выполнить чтение данных из Для того, чтобы работать с файлом необходимо для него: 4. Выполнить чтение данных из файла 5. Выполнить запись (дополнение) в файл 6. Закрыть файл

Во Free Pascal имеются три вида файлов: 1. Текстовый файл (объявляется типом text); 2. Во Free Pascal имеются три вида файлов: 1. Текстовый файл (объявляется типом text); 2. Типизированный файл (объявляется предложением file of тип); 3. Нетипизированный файл (объявляется типом file).

Объявление файла: Примеры: var t: text; f: file of integer; m: file of real; Объявление файла: Примеры: var t: text; f: file of integer; m: file of real; f 1: file of zapic; f 2: file; …

Связывание файловой переменной с физическим файлом на диске командой (процедурой): assign(<переменная>, <имя файла>); Пример: Связывание файловой переменной с физическим файлом на диске командой (процедурой): assign(<переменная>, <имя файла>); Пример: var t: text; i: integer; begin … assign(t, ’c: work 1a 01. txt’);

Инициирование вида работы с файлом одной из команд (процедур): reset(файловая переменная); для чтения (открывается Инициирование вида работы с файлом одной из команд (процедур): reset(файловая переменная); для чтения (открывается файл, и указатель устанавливается на начало. Если файла не существует, возникает ошибка); rewrite(файловая переменная); для записи (открывается файл, и указатель устанавливается на начало. Если файл существует, он очищается); append(файловая переменная); для дозаписи (открывается файл и указатель устанавливается на последнюю запись).

read(файловая переменная, список переменных); для всех файлов readln(файловая переменная, список переменных); только для текстовых read(файловая переменная, список переменных); для всех файлов readln(файловая переменная, список переменных); только для текстовых файлов; каждый раз указатель смещается на число прочитанных записей

Команды (процедуры) записи в файл write(файловая переменная, список переменных); для всех файлов writeln(файловая переменная, Команды (процедуры) записи в файл write(файловая переменная, список переменных); для всех файлов writeln(файловая переменная, список переменных); только для текстовых файлов

close(файловая переменная); если команда в программе отсутствует, то файл закрывается автоматически вместе с завершением close(файловая переменная); если команда в программе отсутствует, то файл закрывается автоматически вместе с завершением программы.

eof(файловая переменная) используется для проверки достижения конца файла и является сокращением от end of eof(файловая переменная) используется для проверки достижения конца файла и является сокращением от end of file

eoln(файловая переменная) используется для проверки достижения конца строки файла и является сокращением от end eoln(файловая переменная) используется для проверки достижения конца строки файла и является сокращением от end of line (только для текстовых файлов)

Какую задачу решает программа? program a 01; var t: text; i: integer; begin assign(t, Какую задачу решает программа? program a 01; var t: text; i: integer; begin assign(t, 'c: worka 01. txt'); rewrite(t); randomize; for i: =1 to 100 do writeln(t, random(100)-50); close(t) end.

Какую задачу решает программа? program a 02; var t, t 1: text; x: integer; Какую задачу решает программа? program a 02; var t, t 1: text; x: integer; begin assign(t, 'c: worka 01. txt'); assign(t 1, 'c: worka 02. txt'); reset(t); rewrite(t 1); while not eof(t) do begin read(t, x); write(x: 5); if x>0 then x: =sqr(x) else x: =-x; writeln(x: 5); writeln(t 1, x); end; close(t); close(t 1); end.

Что делает эта программа? Почему числа выводятся именно так? program primer 1; var t: Что делает эта программа? Почему числа выводятся именно так? program primer 1; var t: text; i: integer; begin assign(t, ’primer 1. txt'); rewrite(t); for i: =-3 to 5 do writeln(t, i); close(t) end. Файл primer 1. txt -3 -2 -1 1 2 3 4 5

Как изменился формат вывода? Почему? program primer 2; var t: text; i: integer; begin Как изменился формат вывода? Почему? program primer 2; var t: text; i: integer; begin assign(t, ’primer 2. txt'); rewrite(t); for i: =-3 to 5 do write(t, i); close(t) end. Файл primer 2. txt -3 -2 -1012345 Последующее чтение из файла primer 2. txt в целочисленные переменные невозможно

Что изменилось теперь? program primer 3; var t: text; i, p: integer; begin Файл Что изменилось теперь? program primer 3; var t: text; i, p: integer; begin Файл primer 3. txt assign(t, ’primer 3. txt'); -3 -2 -1 0 1 2 3 4 5 rewrite(t); p: =0; Последующее for i: =-3 to 5 do begin чтение из файла if p>0 then write(t, ’ ‘); primer 3. txt в write(t, i); целочисленные inc(p); переменные end; обеспечено close(t) end.

Чтение из файла в переменные разного типа program primer 4; var t: text; a, Чтение из файла в переменные разного типа program primer 4; var t: text; a, b, c: integer; s: string; begin assign(t, ’primer 4. txt'); reset(t); read(t, a, b, c, s); close(t) end. Файл primer 4. txt 1 2 3 four Результат такой же как после выполнения операторов a: =1; b: =2; c: =3; s: =‘four’;

Разбор и решение одной олимпиадной задачи (ВОШ, школьный этап 2014/2015 уч. года) «Цапли – Разбор и решение одной олимпиадной задачи (ВОШ, школьный этап 2014/2015 уч. года) «Цапли – 100 баллов» . Требуется написать программу, которая по заданным числам a и b выведет минимальное количество цапель, которое могло быть в вольере. Ваша программа должна: • прочитать из исходного файла task 1. in два целых числа a и b, которые разделены в нем ровно одним пробелом (1 ≤ a ≤ 109, 1 ≤ b ≤ 109); • подсчитать и вывести в файл task 1. out одно число – минимальное количество цапель, которое могло быть в вольере. Например: task 1. in task 1. out 34 2

Спасибо за внимание! Спасибо за внимание!