Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015

Опубликуйте свой материал в официальном Печатном сборнике методических разработок проекта «Инфоурок»

(с присвоением ISBN)

Выберите любой материал на Вашем учительском сайте или загрузите новый

Оформите заявку на публикацию в сборник(займет не более 3 минут)

+

Получите свой экземпляр сборника и свидетельство о публикации в нем

Инфоурок / Другое / Конспекты / Открытый урок по программированию на тему "Типизированные файлы"
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 24 мая.

Подать заявку на курс
  • Другое

Открытый урок по программированию на тему "Типизированные файлы"

библиотека
материалов

hello_html_m2a7690f7.gifhello_html_m2a7690f7.gifhello_html_1de4aa5a.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_20cc720c.gifhello_html_1de4aa5a.gifhello_html_m2a7690f7.gifhello_html_1c1ff715.gifhello_html_m47b9daa7.gifhello_html_2756131b.gifhello_html_m47b9daa7.gifhello_html_m724adfd2.gifhello_html_m47b9daa7.gifhello_html_1c1ff715.gifhello_html_m2a7690f7.gifhello_html_m2a7690f7.gifhello_html_m47b9daa7.gifhello_html_m4fa8e7db.gifhello_html_1de4aa5a.gifhello_html_m2a7690f7.gifhello_html_1de4aa5a.gifhello_html_m52b031e9.gifhello_html_m52b031e9.gifhello_html_m52b031e9.gifhello_html_m2a7690f7.gifhello_html_m2a7690f7.gifhello_html_m17d59115.gifhello_html_m17d59115.gifhello_html_21cbc374.gifhello_html_30e834a2.gifhello_html_30e834a2.gifhello_html_26406b40.gifhello_html_26406b40.gifhello_html_30e834a2.gifhello_html_3ab65a9d.gifhello_html_30e834a2.gifhello_html_m4dd39997.gifhello_html_m250f08fc.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_76d378fe.gifhello_html_1de4aa5a.gifhello_html_m2a7690f7.gifhello_html_1de4aa5a.gifhello_html_m2a7690f7.gifhello_html_m2a7690f7.gifhello_html_m2a7690f7.gifhello_html_m2a7690f7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_m47b9daa7.gifhello_html_517a1497.gifhello_html_m42d6b51.gifhello_html_m5bf452a2.gifОткрытый урок

Предмет: Основы алгортмизации и программирования

Группа: ПВТ-9-11

Преподаватель: Большакова А.В.

Тип урока: комбинированный

Вид – урок-панорама

Тема: Типизированные файлы

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

Задачи:
Образовательные

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

Воспитательные

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

Развивающие

Развитие навыков работы с файлами. Развивать умение работать в группе и умение выстраивать самостоятельную работу. Развивать речь (обогащать и усложнять профессиональный словарный запас) и навыки составления программной документации. Развивать умение анализировать, делать логические выводы и использовать возможности среды визуального программирования при решении задач на Delphi

Методические

 Показать методику проведения урока с использованием метода проектов. Показать вариант применения презентации и флипчарта на базе SmartPodiuma. Продемонстрировать метод использования рабочих листов и формативного метода оценивания.

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

Средства: устная речь, презентация, письмо, задания для индивидуальной и групповой работы

ТСО: SmartPodium, проектор, ноутбук, среда программирования Delphi, программное обеспечение «ActivInspire», программа «Итоги»

Дидактическое обеспечение: флипчарт, мультимедийный конспект (презентация PowerPoint), рабочие листы, рабочие тетради, раздаточный материал

Этапы урока:

  1. Вводная часть (орг.момент) – 3мин.

  2. Повторение материала, необходимого для осознанного усвоения новых знаний – 15 мин.

  3. Усвоение нового материала – 12 мин.

  4. Проверка понимания изученного материала – 10 мин.

  5. Проектная часть – 30 мин.

  6. Инструктаж по домашнему заданию – 5 мин.

  7. Рефлексия – 5 мин.

Ход урока:

1. Вводная часть. Проверка посещаемости, тема занятия

Здравствуйте, садитесь!

Посещаемость.

Тема!

Цель

Для эмоционального настроя, хотелось бы начать занятие с эпиграфа

Я хочу, чтобы компьютер был моим слугой, а не господином, поэтому я должен уметь быстро и эффективно объяснить ему, что делать.                                                            Мацумото Юкихиро

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

Давайте кое-что вспомним.

2. Повторение материала, необходимого для осознанного усвоения новых знаний

Бинарный диктант для всех.

Вариант 1

  1. Файл — это именованная структура данных, представляющая собой последовательность элементов данных одного типа

  2. Файл не нужно объявлять в разделе описания переменных

  3. res: file of char; Это файл символов

  4. Процедура AssignFile связывает файловую переменную с конкретным файлом

  5. Вывод в текстовый файл осуществляется при помощи инструкции write или writeln

  6. При записи данных в файл его содержимое в любом случае перезаписывается

  7. Процедура Append (f) открывает файл в режиме добавления данных

  8. Функция IOResult возвращает 1, если операция ввода/вывода завершилась успешно

  9. Процедура Close(f) закрывает открытые файлы

  10. Функция EOln возвращает false, если достигнут конец строки в файле



Вариант 2

  1. Объявление файловой переменной задает только тип компонентов файла

  2. В Delphi поддерживаются все операции с файлами - создание, поиск, чтение, запись, переименование файлов

  3. koef: file of real; Это текстовый файл

  4. Вывод данных из текстового файла осуществляется используя инструкцию read или readln

  5. Возможно два режима открытия файла для записи в него данных – перезапись и добавление

  6. Процедура Rewrite(f) открывает файл для перезаписи

  7. Строка {$I+} запрещает автоматическую обработку ошибок ввода/вывода

  8. Для определения конца файла можно воспользоваться функцией EOF

  9. Компоненты ListBox, ComboBox и Memo позволяют работать с файлами

  10. Метод Add удаляет строку из файла

Ключ ответа:

Вариант 1

1011101010

Вариант 2

1101110110


Оценивание

0-2 ошибки – оценка «5»

3 или 4 ошибки – оценка «4»

5 или 6 ошибок – оценка «3»

Больше 6 ошибок – оценка «2»


Задания индивидуального опроса у доски.

Расставь определения по местам


Порядок работы с файлом в Delphi (установить в правильном порядке)

Технология работы с файлами в системе Delphi:

  1. Объявить файловую переменную

  2. Связать файловую переменную с конкретным файлом

  3. Открыть файл для работы (чтение, запись данных)

  4. Работа с файлом (чтение запись, поиск данных и т.д.)

  5. Закрыть файл

  6. Удалить файл

Найди и исправь ошибки в предложениях:

В программе текстовый файл представлен  файловой переменной типа string.

Связь файловой переменной с именем файла на диске осуществляется с помощью оператора Assina(имя файловой переменной, имя файла на диске);

Имя файла на диске не должно содержать полный путь для поиска данного файла.

Если полный путь не указан, то программа будет искать файл на диске С:/

Открытие файла для чтения выполняется процедурой Rewrite (имя файловой переменной), если на диске не будет файла с данным именем, то выполнение программы прервется;

Открытие файла для записи осуществляется процедурой Reset (имя файловой переменной), если на диске нет такого файла, то он будет создан.

  
Прежде, чем переходить к новому материалу, заполните таблицу на рабочих листах, в разделах «Я знаю» и «Хочу узнать».

3. Усвоение нового материала

Панорама базовых знаний

1. Типы данных

2. Структуры программы: следование, ветвление и цикл

3. Операторы программы

4. Структура проекта. Компоненты, события и методы

5. Множества и записи

6. Формы. Модальные формы

7. Компоненты отображения и редактирования

8. Строки и массивы

9. Компоненты управления

10. Компоненты списков, таймер, переключатели, контейнеры

11. Диалоговые окна

12. Организация главного и контекстного меню

13. Создание инструментальных панелей

14. Обработка исключительных ситуаций

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



Это мы знаем, сегодня к этой панораме мы добавим знания по работе с типизированными файлами.

Рабочий лист урока.

Постарайтесь быть внимательными, делайте необходимые пометки в рабочих листах.

С понятием файла Вы знакомы еще со школы:
Файл- это область внешней памяти, предназначенная для хранения данных. Любой файл имеет три характерные особенности:

А) у файла есть имя, что дает возможность программе работать сразу с несколькими файлами.
Б) файл содержит компоненты  одного типа (файл строк, файл записей)
В) объем файла не оговаривается в программе, значит объем файла зависит только от внешнего устройства хранения этого файла

В Delphi по способу организации  различают три типа файлов:

  • Текстовые файлы

  • Типизированные файлы

  • Нетипизированные файлы


    Текстовый файл – совокупность строк (последовательностей символов) переменной длины, заканчивающихся специальным символом eoln (конец строки):


<строка> <строка> <строка> <строка>

eof

eoln

eoln

eoln

eoln







Преимущества текстовых файлов:

- простота создания (непосредственный набор данных на клавиатуре);

- наглядность (непосредственный просмотр средствами текстовых редакторов);

- универсальность (можно обойтись только этим видом файлов).


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

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

Типизированные файлы

Все компоненты такого файла принадлежат к одному типу; тип может быть любым, кроме файлового:

eof



<компонент> <компонент> <компонент> <компонент>



Компоненты размещены непосредственно один за другим.

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

Объявление файловой переменной

Var <идентификатор> :<имя файлового типа>; //ссылка на файловый тип

Var <идентификатор>: File Of <тип компонента>;//без ссылки на тип

Обычно <тип компонента> является типом записи.


Информация в типизированных файлах хранится во внутреннем представлении.

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

Создание

Программа

Текстовый чтение создания запись Типизиров.

файл типизиров. файл

файла




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



Просмотр

Программа

Типизиров. чтение создания запись Текстовый

файл текстового файл

файла





Компоненты типизированного файла считываются и записываются целиком.

Открытие файла

Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре AssignFile(F;S)

Процедуры Reset(F), Rewrite(F) открывают файл для чтения и для записи, соответственно.

Процедуры обработки файла

Read(F,<список ввода>) читает из открытого файла F в указанные переменные из списка ввода такого же типа, что и компоненты файла.

Write (F,<список вывода>) записывает в открытый файл F значения из указанных переменных из списка такого же типа, что и компоненты файла.

Seek(F;N:Longint) устанавливает текущую запись файла под номером N (отсчет записей с нуля).

Закрытие файла осуществляется процедурой CloseFile(F).

Erase(F) удаляет с диска файл F.


Файлы последовательного доступа

Общая схема создания последовательного файла: открытие файла (AssignFile, Rewrite), цикл формирования и вывода записей (Write), закрытие файла (CloseFile).

Порядок чтения последовательного файла: открытие файла (AssignFile, Reset), цикл чтения и обработки записей (Read), закрытие файла (CloseFile).

Файлы прямого доступа

Delphi не имеет специальных файлов с прямым доступом, а используется последовательный файл, допускающий прямой метод доступа. Общая схема создания файла: cоздать пустой последовательный файл с максимально допустимым числом пустых записей (форматирование файла), а затем создать последовательный файл и обращаться к записям по их порядковому номеру, используя процедуру Seek(F,<номер записи>), а затем Read или Write соответственно.


Можно проверить, существует ли нужный файл, оператором FileExists:

   if FileExists('FileName.ini')

      then Read(SaveF, SaveV);


При последовательном чтении из файла рано или поздно будет достигнут конец файла, и при дальнейшем чтении произойдёт ошибка. Проверить, не достигнут ли конец файла, можно оператором
EOF (аббревиатура End Of File), который равен true, если указатель установлен в конец файла:


   
while (not EOF(SaveF)) do

      Read(SaveF, SaveV);


Оператор
Truncate(SaveF) позволяет отсечь (стереть или, если хотите, удалить!) все записи файла, начиная от текущей позиции указателя, и до конца файла.

FilePos(F):longint возвращает текущую позицию в нетекстовом файле F. Началу файла соответствует позиция 0.

FileSize(F):Integer возвращает текущий размер нетекстового файла.

IOResult:Integer возвращает код ошибки в последней выполненной операции ввода/вывода: 0 ошибок нет, 2 нет файла, 3 - ошибка в имени файла, 4 много открытых файлов, 5 файл недоступен, 100 конец файла, 101 диск переполнен, 106 ошибка вводавывода. Используется при директиве компилятора {$I} .

Rename(F;S) изменяет имя внешнего файла F на S.


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

- компактное хранение данных, для внешнего представления которых требуется значительно больше памяти, чем для внутреннего (числа, записи);

  • удобство работы с компонентами сложной структуры (за счет чтения-записи компонентов целиком).

  • для типизированных файлов возможна запись в файл, открытый для чтения.

Нетипизированный файл (бестиповый)

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

Описание var <ф.п.>:file;


Нетипизированный файл совместим с файлом любого типа. Это означает, что любой уже созданный файл (текстовый, типизированный, нетипизированный) может быть открыт и считан как нетипизированный, по байтам; с другой стороны, любое данное из оперативной памяти может быть по байтам записано в нетипизированный файл, который затем можно открыть и обрабатывать как текстовый, типизированный или нетипизированный.

Открытие и закрытие файла производится аналогично типизированному файлу. Но в процедурах Reset и Rewrite вторым параметром типа можно указать длину записей в байтах.

Вместо процедур Read и Write используются процедуры:

BlockRead(F;var Buf;N:Integer[;var R:Integer]) читает N записей из файла F в переменную B. Истинное количество считанных записей в R.

BlockWrite(F;var Buf;N:Integer[;var R:Integer]) выводит N записей из переменной B в файл F. Истинное количество выведенных записей в R.


Общая структура нетипизированного файла и схема обработки

Блок

Запись




eof




чтение

Буфер

запись




  1. Проверка понимания изученного материала.

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

Задание 1.





Какие компоненты необходимы для создания следующих форм текстовых редакторов?

















Задание 2. Соедините стрелками процедуры и функции с соответствующим типaм файла:

Типизированный

Текстовый

Нетипизированный

Процедуры и функции: AssignFile, Read, Write, Seek, CloseFile, Erase, Truncate, FilePos, FileSize, Rename, BlockRead, BlockWrite, Reset, Rewrite, Append



  1. Проектная часть

"Единственный путь, ведущий к знаниям, - это деятельность"

Бернард Шоу





Индивидуальная карта рейтинговой оценки проекта учащегося.

Критерии оценки

Самооценка

Оценка педагога

Оценка одногруппников

1. Достигнутый результат (соответствие программы предъявленным требованиям)

(из 15 баллов)

 

 

 

2. Оформление проекта

(из 15 баллов)

 

 

 

Защита проекта

3. Представление

(из 15 баллов)

 

 

 

4. Ответы на вопросы

(из 15 баллов)

 

 

 

Процесс проектирования

5. Творческий подход

(из 10 баллов)

 

 

 

6. Документирование

(из 10 баллов)

 

 

 









ИТОГО

 

 

 

Среднеарифметическая величина

 

от 65 до 80 баллов – «5»

от 50 до 65 баллов – «4»

от 30 до 50 баллов – «3»

менее 30 баллов – «2»

Оценка

Представление проектов

- Какие вопросы к участникам проекта у вас возникли?

- Как была организована работа в группе?

- Какие знания Вам пригодились при разработке?

- Что вам пришлось изучить самостоятельно?

- Что, по – вашему, особенно удалось? Что не совсем получилось? Почему?



6. Инструктаж по домашнему заданию

Готовиться к лабораторной работе и контрольной работе по разделам:

1. Строки и массивы

2. Компоненты управления

3. Компоненты списков, таймер, переключатели, контейнеры

4. Диалоговые окна

5. Организация главного и контекстного меню

6. Создание инструментальных панелей

7. Обработка исключительных ситуаций

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

9. Типизированные и бестиповые файлы



7. Рефлексия

Подведение итогов. Выставление оценок.

Программа «Итоги».

Итак, ребята, Чему вы сегодня научились на уроке и что узнали нового? Запишите, пожалуйста, в раздел таблицы «Я узнал (-а)».

Каждый из нас закончил урок с определенным настроением. Какое оно у вас мы не знаем.

Для того чтобы передать эмоциональное настроение, при работе на компьютере используют смайлики (от англ. smiley – улыбаться). Вы с ними ежедневно встречаетесь и общаетесь, поэтому

Оцените свою комфортность на уроке, используя смайлики.

:-) – те, кто считает, что хорошо понял тему и поработал на уроке.

:-? – те, кто считает, что недостаточно хорошо понял тему.

:-( – те, кто считает, что ему еще много нужно работать над данной темой.

8. Дополнительно

Вставь недостающие операторы:

Даны три целых числа.
Определить, имеется ли среди них хотя бы
одна пара равных между собой чисел.
Формат входных данных
Входной файл содержит три целых числа через пробел.
Формат выходных данных
Выведите 'YES' если это так, и 'NO' в противном случае.

РЕШЕНИЕ:

Program file;
         Var
         a,b,c:integer;
         f,g: text;

begin
         assign (f,'input.txt');
        
reset (f);

         readln (f,a,b,c);
         close (f);

         assign (g,'output.txt');
        
rewrite (g);
         if (a=b) or (b=c) or (c=a) then
        
writeln (g,'YES')
         else
         writeln (g,'NO');
        
close(g);


Впиши пропущенные слова в предложениях:

Компоненты для работы с файлами в Delphi – это компоненты ListBox, ComboBox и Memo, которые расположены на вкладке Standard Палитры компонентов.

Они читают и сохраняют своё содержимое, строки типа String, в файл текстового формата.

Каждая строка компонентов ListBox и ComboBox является объектом Items[i], а Memo - Lines[i], где i - номер строки, который отсчитывается от нуля.

Добавление строк в компоненты выполняется методами Add и Insert.

У компонента ComboBox дополнительно есть свойство Text, где находится вводимый текст.

ListBox1.Items.SaveToFile('Имя_файла'); - команда позволяет сохранить файл

Для загрузки файла выполняется команда: ListBox1.Items.LoadFromFile('Имя_файла');

Диалоги открытия и сохранения файлов – это компоненты, позволяющие в работающей программе осуществлять выбор файлов. Они расположены на вкладке палитры компонентов Dialogs.

Компонент OpenDialog позволяет открыть в нашей программе стандартное Windows-окно открытия файла, компонент SaveDialog - окно сохранения.






Список группы

1

Анисимова Маргарита






2

Бутов Иван






3

Зограбян Вероника






4

Малеева Анна






5

Малков Никифор






6

Марина Евгения






7

Нольд Евгения






8

Овсянкин Станислав






9

Орманбаев Азамат






10

Оспанов Саян






11

Рогозенко Ольга






12

Роо Денис






13

Соболев Виктор






14

Тастаганова Агнай






15

Филютин Алексей






16

Хамидуллина Дания






17

Шаяхметов Тимур







Автор
Дата добавления 28.03.2016
Раздел Другое
Подраздел Конспекты
Просмотров222
Номер материала ДВ-561909
Получить свидетельство о публикации

Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Похожие материалы

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