- Преподавателю
- Информатика
- Конспект урока по теме Файловый тип данных (с презентацией)
Конспект урока по теме Файловый тип данных (с презентацией)
Раздел | Информатика |
Класс | - |
Тип | Конспекты |
Автор | Сагалакова Г.Г. |
Дата | 24.01.2015 |
Формат | rar |
Изображения | Есть |
Тема урока: «Файловый тип данных»
Тип урока: урок новых знаний (урок-лекция)
Вид: комбинированный урок
Технология: личностно-ориентированная
Цель урока: формирование представления о работе с файловым типом данных.
Задачи урока:
-
Воспитательная: формирование информационной культуры учащихся, дисциплинированности, усидчивости, культуры труда, положительной мотивации учебного труда.
-
Развивающая: развитие общих учебных навыков (мышления, памяти, внимательности), алгоритмического мышления.
-
Обучающая: сформировать представление о файловом типе данных, знание основных понятий по данной теме, умение и навыки составлять программы с использованием входных и выходных файлов.
Новые понятия:
- файловый тип данных;
- физический файл;
- логический файл;
- входной и выходной файл.
Структура урока:
-
Организационный момент.
-
Изучение нового материала.
а) основные сведения о файлах;
б) операции над файлами. -
Закрепление изученного.
-
Подведение итогов.
Ход урока
-
Организационный момент.
Здравствуйте, ребята! Сегодня на уроке мы с вами рассмотрим еще один новый тип данных - файловый. -
а) Ранее мы рассматривали задачи, в которых во время выполнения программ данные поступали с клавиатуры, а результаты выводились на экран дисплея. Поэтому ни исходные данные, ни результаты не сохранялись. Всякий раз при запуске на выполнение одной и той же программы, особенно во время ее отладки, приходилось заново вводить исходные данные. А если их очень много? В этом случае, для записи их на диск необходимо оформить исходные данные и результаты в виде файлов, которые будут храниться на диске точно так же, как и программа. Такая запись на диске или другом носителе называется файлом данных.
У понятия файл есть две стороны. Одна из них вам известна. Что такое файл в вашем понимании?
С одной стороны, файл - это область памяти на внешнем носителе, в которой хранится некоторая информация. В него можно поместить данные или извлечь их оттуда. Файл в таком понимании называют физическим файлом, т.е. существующим физически на некотором материальном носителе информации.
С другой стороны, файл - это одна из многих структур данных, используемых в программировании. Файл в таком понимании называют логическим файлом, т.е. существующим только в нашем логическом представлении при написании программы.
Структура физического файла представляет собой простую последовательность байт памяти носителя информации.
Байт
Байт
Байт
. . .
Байт
Байт
Байт
Структура логического файла - это способ восприятия файла в программе. Образно говоря, это «шаблон», через который мы смотрим на физическую структуру файла.
Например:
File of byte
Байт
Байт
Байт
. . .
Байт
Байт
EOF
File of char
Код символа
Код символа
Код символа
. . .
Код символа
Код символа
EOF
File of integer
Целое со знаком
Целое со знаком
. . .
Целое со знаком
EOF
Логическая структура файла очень похожа на структуру массива. Различия между массивом и файлом заключаются в следующем:
У массива количество элементов фиксируется в момент распределения памяти, и он целиком располагается в оперативной памяти. Нумерация элементов массива выполняется соответственно нижней и верхней границам при его описании.
У файла количество элементов в процессе работы может измениться, и он располагается на внешних носителях информации.
Нумерация элементов файла выполняется слева направо, начиная с нуля. Количество элементов в каждый момент времени неизвестно. Зато известно, что в конце файла располагается специальный символ конца файла, определяемый функцией EOF.
Переменные файлового типа могут быть описаны в программе либо в разделе переменных VAR, либо с использованием раздела типов TYPE.
Объявление файлов в разделе переменных имеет вид:
Var <имя файла>: file of <базовый тип элементов>;
Например,
Var a: file of integer; {файл целых данных}
m: file of char; {файл символьных данных}
Описание файлов с помощью раздела типов имеет такой вид:
Type fil1= file of integer;
fil2= file of char;
var f1:fil1;
f2:fil2;
Элементами файла f1 могут быть целые числа, а f2 - символы.
Для хранения текста со строками различной длины используется текстовый файл. Текстовые файлы - это файлы, содержащие символы, разделенные на строки. Причем в конце каждой строки стоит признак конца строки. Для их описания используется служебное слово TEXT.
Var a:text;
Для отделения одной строки от другой, в таком файле каждая строка заканчивается клавишей ENTER. Кроме строк в текстовом файле можно хранить и числа. При чтении и записи числа преобразуются автоматически.
б) Операции над файлами.
1) Связь переменной файлового типа с конкретным внешним файлом
В Паскале файл является некоторой переменной, как и любая другая переменная, поэтому ему можно присвоить имя. Для установления связи между переменной-файлом в Паскале и именем файла, присваиваемого операционной системой, имеется стандартная процедура Assign.
Общий вид:
Assign(<имя переменной-файла>,'<полное имя внешнего файла>');
Процедура устанавливает соответствие между файловой переменной и внешним файлом.
Например,
Assign(f1, 'a:input.txt');
Такое соответствие обозначает, что все операции, выполняемые над переменной f1, будут выполняться над файлом, хранящимся на диске А с именем input.txt.
В этой команде можно не указывать путь для файла, находящегося в той же папке где и сама программа.
2) Открытие, чтение, запись.
Перед выполнением каких-либо операций чтения и записи в файлах эти файлы должны быть открыты.
Открытие файлов выполняется процедурами RESET(f) и REWRITE(f), а закрытие - процедурой CLOSE(f).
Процедура RESET(f) открывает существующий физический файл, который был связан с файловой переменной f.
Процедура REWRITE(f) создает новый физический файл, имя которого связано с файловой переменной f.
Если такой файл уже существует, то он удаляется, и на этом месте создается новый пустой файл. При открытии указатель текущей позиции в файле устанавливается в его начало.
Под чтением файла понимается ввод данных из внешнего файла в оперативную память компьютера. Данные внешнего файла становятся доступными программе.
Чтение из файла выполняется процедурой READ(<имя переменной-файла>,<элемент>), а запись процедурой WRITE(<имя переменной-файла>,<элемент>). Элемент должен быть того же типа, что и компоненты файла.
После работы с файлом его закрытие обязательно.
3) Закрытие файла
Процедура Close(<имя переменной-файла>).
Сейчас мы с вами решим следующую задачу №1:
Пусть входной файл состоит из трёх строк: первая строка - три целых числа X1, Х2, ХЗ, разделённые пробелами. Две другие строки - символьные строки Y1, Y2. А выходной файл должен содержать значение переменной D, равной среднему арифметическому чисел X1, Х2 и ХЗ и значение Y- результат сложения строк Y1 и Y2.
Program in_out;
{Для ввода и вывода данных из файлов введены переменные file_in и file_out типа text}
var file_in, file_out: text;
yl,y2,y,file1, file2: string;
xl,x2,x3: integer;
d:real;
begin
file1:= 'input.txt';
file2:= 'output.txt';
{Файловым переменным file_in и file_out ставятся в соответствие обозначения входного и выходного файлов из переменных file1 и file2}
assign(file_in, file1);
assign(file_out, file2);
{Существующий входной файл открывается. Указатель строк ставится на первую строку}
reset(file_in);
{Ввод текстовых строк из входного файла file__in}
readln(file_in,xl,x2,x3);
readln(file_in,yl);
readln(file_in,y2);
{Входной файл закрывается}
close(file_in);
{Открывается файл, соответствующий переменной file_out типа text}
rewrite(file_out);
d:=(xl+x2+x3)/3;
y:=yl+y2;
{запись значений переменных d,y в файл file_out}
Writeln(file_out, d);
writeln(file_out, y);
{Закрытие выходного файла}
close(file_out);
end.
Гимнастика для глаз
Задача №2 (самостоятельно): Во входном файле даны два целых числа. Определите их последние цифры и поместите их в выходной файл.
Ответьте на следующие вопросы:
-
Что такое файл данных?
-
Каков формат открытия файла?
-
Какова роль процедуры CLOSE?
-
Что показывает функция EOF?
-
Как связать файловую переменную с внешним файлом?
Домашнее задание: Открыть файл input.txt и сохранить в нем n целых чисел в пределах от 65 до 90. Считайте информацию из данного файла и найдите сумму элементов, находящихся в файле. Результат занесите в файл output.txt.