СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Методические указания для Учебной практики ПМ-02 спец 09.02.05

Категория: Информатика

Нажмите, чтобы узнать подробности

Методические указания для проведения Учебной практики по ПМ-02 "РАЗРАБОТКА, ВНЕДРЕНИЕ И АДАПТАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ОТРАСЛЕВОЙ НАПРАВЛЕННОСТИ" специальности 09.02.05 "Прикладная информатика (по отраслям)"

Просмотр содержимого документа
«Методические указания для Учебной практики ПМ-02 спец 09.02.05»

Государственное автономное профессиональное образовательное учреждение Мурманской области Мурманский колледж экономики и информационных технологий






МЕТОДИЧЕСКИЕ УКАЗАНИЯ

ДЛЯ


УЧЕБНОЙ ПРАКТИКИ



ПМ-02 РАЗРАБОТКА, ВНЕДРЕНИЕ И АДАПТАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ОТРАСЛЕВОЙ НАПРАВЛЕННОСТИ


для специальности

09.02.05 «Прикладная информатика (по отраслям)»











2016

ОДОБРЕНА

предметной (цикловой)

комиссией
Информационных технологий

Протокол № 4 от 24.11.2016 г.


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





Автор:

Т.В. Комарова










СОДЕРЖАНИЕ

1 Общие требования к выполнению задания по теме
«Работа с файлами» ………………………………………………………………


3

2 Варианты индивидуальных заданий……….……….………………………...…

6

3 Основные сведения из теории………………………………….……………..…

15

Приложение А – Экранные формы……………………………………………….

19
































1 Общие требования к выполнению задания по теме «Работа с
файлами»


Задание: Разработайте в среде Delphi приложение, позволяющее работать с типизированным файлом путём выбора соответствующего пункта меню:

Файл

Просмотр

Редактирование

Печать

Справочники

Сервис

Выход

Создать

Всех данных

Добавление

По условию


Новый пользователь


Выбрать

По условию

Корректировка

Документа


Смена пароля


Очистить

Диаграмма

Удаление



Удалить пользователя




Требования к приложению:


  1. Все типы данных, константы и переменные разместите в отдельном модуле (например, ModDatа), который при необходимости подключите к другим модулям проекта.

    Замечание
    : Все описания сделанные в модуле ModDatа НЕ должны дублироваться в других модулях проекта.

  2. На форме «Справочники» обеспечьте возможность работы с текстовым файлом. Просмотр справочника организуйте в компонент Listbox. При добавлении новой записи в список Listbox должна быть проверка на дублирование записей (дублирование в справочниках НЕ допускается); при удалении записи из справочника должен быть предварительный уточняющий запрос на удаление (да/нет); элементы справочника должны быть отсортированы по алфавиту.

  3. Для ввода исходных данных в типизированный файл (пункты меню «Корректировка» и «Добавление») разработайте экранную форму ввода. Предусмотрите проверку корректности ввода исходных данных.

  4. Просмотр данных из типизированного файла надо реализовать выводом в таблицу StringGrid. Количество строк в таблице StringGrid должно соответствовать количеству выводимых записей.

  5. При реализации пункта меню «Корректировка» на форму ввода должны быть выведены «старые» значения полей корректируемой записи.

  6. Пункт меню «Удаление» должен содержать подменю:
    - удаляется одна запись из файла по выбору пользователя;
    - удаляются все записи файла, удовлетворяющие определённому условию.

  7. «Очистка» файла обязательно должна сопровождаться предварительным запросом на подтверждение очистки содержимого файла.

  8. Печать реализуйте с помощью компонента QuickRep и предварительно заполненного текстового файла.

  9. На форме, помимо главного меню, разместите:
    - картинку, соответствующую предметной области задачи;
    - строку состояния, которая располагается в нижней части основной формы (компонент StatusBar). Строка состояния делится на статусные панели. Для создания панелей надо вызвать через свойство Panels в Инспекторе объектов редактор панелей, и в контекстном меню, вызванном на рабочем поле редактора выбрать пункт Add. Разместите в строке состояния текущую дату, текущее время и какую-нибудь текстовую информацию (можно в качестве «бегущей строки»).
    - инструментальную панель и вынесите не неё несколько кнопок SpeedButton, дублирующих некоторые пункты меню.

  10. Работа с приложением должна начинаться с ввода на отдельной форме логина и пароля пользователя для того, чтобы избежать несанкционированного доступа к данным. Число попыток ввести пароль не более трёх.

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

  12. При первом открытии формы, содержащей пункты главного меню задачи, доступными должны быть только пункты «Создание», «Открытие» и «Выход».

  13. Обеспечьте отображение статистических данных в виде диаграммы с помощью компонента CHART.

  14. Для кнопок используйте компонент BitBtn, назначьте цвет и размер шрифта, а также картинку, подходящую по смыслу.

  15. Разместите слева от названия некоторых пунктов меню подходящее по смыслу изображение, используя свойство Bitmap (Program Files \ Common Files \ Borland Shared \ Images \ Buttons)

  16. На форме «Просмотр всех записей файла» организуйте поиск записи и обеспечьте выделение цветом строки таблицы с найденной записью или вывод найденной записи на отдельную форму.

  17. На форме «Просмотр всех записей файла» организуйте сортировку записей по разным полям. Выбор поля для сортировки должен осуществляться в компоненте RadioGroup.

  18. Дополните своё приложение всплывающими контекстными подсказками.

  19. Создайте контекстное меню и включите в него некоторые пункты Вашего главного меню и пункт «О программе».

  20. Включите в приложение форму «О программе», разместив не неё компонент PageControl – представляет собой набор страниц с закладками, каждая страница может содержать свой набор помещённых на неё компонентов. Для создания новой страницы надо в контекстном меню компонента PageControl, выбрать пункт NewPage. (Pages[i].Caption – название страницы)




2 Варианты индивидуальных заданий



Индивидуальное задание:1


Типизированный файл должен содержать данные о продаже частных домов (адрес: улица и номер дома, площадь дома в м2, дата продажи, стоимость дома, сумма страхового взноса, фирма-страховщик).

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

Документ для печати – карточка с информацией о доме.

Диаграмма должна отображать количество домов, выставленных на продажу в каждом месяце указанного года.




Индивидуальное задание:2


Типизированный файл должен содержать данные таможни (номер паспорта, ФИО, гражданство, страна выезда, дата выезда, количество дней).

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

Документ для печати – визовая справка.

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


Индивидуальное задание:3


Типизированный файл должен содержать данные о транспортных перевозках (фирма-заказчик, название транспорта, местоназначение, расстояние в км, цена за километр, стоимость перевозки). «Стоимость перевозки» должна рассчитываться программно.

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

Документ для печати – путевой лист.

Диаграмма должна отображать прибыль за перевозки грузов, которые были осуществлены в каждом месяце указанного года.


Индивидуальное задание:4


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

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

Документ для печати – товарный чек.

Диаграмма должна отображать общую сумму денежных перечислений каждому оператору мобильной за указанный год.


Индивидуальное задание:5


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

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

Документ для печати – суточное донесение.

Диаграмма должна отображать общее количество тонн рыбы выловленной судном за каждый месяц указанного года.


Индивидуальное задание:6


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

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

Документ для печати – накладная.

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


Индивидуальное задание:7


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

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

Документ для печати – турпутевка.

Диаграмма должна отображать общую прибыль от продажи путевок за каждый месяц указанного года.


Индивидуальное задание:8


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

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

Документ для печати – ж/д билет.

Диаграмма должна отображать общую прибыль от продажи ж/д билетов за каждый месяц указанного года.


Индивидуальное задание:9

Типизированный файл должен содержать данные о спектаклях театра «Золотой ключик» (название спектакля, ФИО постановщика, дата премьеры, жанр).

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

Документ для печати – Информация о спектакле.

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




Индивидуальное задание:10


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

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

Документ для печати – талон к врачу.

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


Индивидуальное задание:11


Типизированный файл должен содержать данные о сдаче экзамена по дисциплине «Базы данных» (ФИО студента, оценка, дата сдачи экзамена, группа, ФИО преподавателя).

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

Документ для печати – экзаменационный лист.

Диаграмма должна отображать общее количество студентов сдавших экзамен на отлично, хорошо, удовлетворительно, неудовлетворительно.


Индивидуальное задание:12


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

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

Документ для печати – информация о выдаче книги.

Диаграмма должна отображать общее количество книг взятых в библиотеке в каждый месяц указанного года.


Индивидуальное задание:13


Типизированный файл должен содержать данные о вкладчиках банка (номер счета, ФИО вкладчика, сумма вклада, дата операции, Наименование вклада).

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

Документ для печати – выписка о вкладе.

Диаграмма должна отображать общую сумму денежных вкладов каждом месяце указанного года.


Индивидуальное задание:14


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

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

Документ для печати – выписка о результатах олимпиады.

Диаграмма должна отображать общее количество участников, набравших от 10 до 30 баллов, от 40-60 баллов, от 70-100 баллов.





Индивидуальное задание:15


Типизированный файл должен содержать данные об автомобилях, выставленных на продажу в автосалоне (марка, цвет, год выпуска, стоимость).

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

Документ для печати – информация об автомобиле.

Диаграмма должна отображать общее количество автомобилей каждой марки (четыре любые марки выбирает пользователь).


Индивидуальное задание:16


Типизированный файл должен содержать данные о товарах на складе (наименование товара, поставщик, цена, количество, стоимость (это поле пользователем не заполняется, оно должно вычисляться на основании полей "цена" и "количество")).

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

Удаление по условию – по наименованию поставщика.

Документ для печати – накладная.

Диаграмма должна отображать общую стоимость поставки товаров за каждый месяц указанного года.


Индивидуальное задание:17


Типизированный файл должен содержать данные о выставке собак (название выставки, место проведения выставки, дата проведения выставки, кличка собаки, порода, возраст, высота в холке, оценка(отлично/хорошо), занятое место).

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

Документ для печати – диплом участника выставки.

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


Индивидуальное задание:18


Типизированный файл должен содержать данные о призёрах зимней олимпиады (ФИО спортсмена, возраст спортсмена, вид спорта, страна, медаль, год проведения олимпиады).

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

Документ для печати – диплом участника олимпиады.

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


Индивидуальное задание:19


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

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

Документ для печати – рецензия дипломной работы.

Диаграмма должна отображать общее количество студентов имеющих оценку 5, 4, 3,2.

Индивидуальное задание:20


Типизированный файл должен содержать данные о прохождении студентами-юношами колледжа учебных сборов в войсковой части (ФИО студента, Группа, Дата начала учебных сборов, количество дней, номер в/ч).

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

Документ для печати – справка о прохождении учебных сборов.

Диаграмма должна отображать общее количество студентов прошедших учебные сборы за последние три четыре года.


Индивидуальное задание:21


Типизированный файл должен содержать данные о ежегодной всероссийской олимпиаде по программированию (ФИО участника, Город, Название учебного заведения, Дата, количество баллов за тест, количество баллов за практическую часть, поле «общее количество баллов» должно заполняться программно).

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

Удаление по условию – дата проведения олимпиады.

Документ для печати – справка о результатах олимпиады.

Диаграмма должна отображать общее количество баллов набранных участниками трёх городов. Выбор этих городов осуществляется пользователем программы.





3 Основные сведения из теории


Различаются файлы трех типов:
а) текстовые (последовательный доступ к записям),
б) типизированные (прямой доступ к записям)
в) и нетипизированные (двоичные файлы).

Для доступа к файлам используется специальная файловая переменная (далее в качестве имени файловой переменной будем использовать символ F).


Файловая переменная описывается так:

Var F : Textfile – для текстовых файлов

Var f : file of - для типизированных файлов

Var f : file –для нетипизированных файлов.


Обычная техника программирования при работе с файлами включает вызовы следующих процедур:

  1. AssignFile (F, Filename:string); - устанавливает связь между логическим именем файла (файловой переменной) и физическим именем файла.

  2. Rewrite (F); -открывает файл для записи: если файл не существует, то он создается, если существует, то очищается.

  3. Append (F);- открытие текстового файла для добавления информации в конец файла,

в этом случае файл не очищается.

  1. Reset (F);-открывает существующий файл для чтения - если файл текстовый, для чтения или записи – если файл типизированный или нетипизированный.

  2. CloseFile (F); -закрывает файл (прерывает связь, установленную AssignFile).


Для чтения данных из файла применяют процедуры:

Read (var F;); -считывает из текстового или типизированного файла указанный список.

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


Для записи данных в файл существуют процедуры:

Write (var F; ); - записывает в текстовый или типизированный файл указанный список.

Writeln (var F; ); - записывает в текстовый файл указанный список и символ перехода на новую строку.






Пример:

Пусть в текстовом файле Sadik.txt хранится список детей – в каждой строке файла содержится возраст ребенка, имя и фамилия. Следует считать весь список детей в Memo3, список детей младше 5 лет – в Memo1, список детей 5 лет и старше – в Memo2.


Procedure Tform4.Button1Click (Sender:Tobject);

Var

F : TextFile ; // файловая переменная

Vozr : integer ; // возраст

Famname : string ; // фамилия и имя

Begin

Memo1.Clear ; Memo2.Clear ; Memo3.Clear ; // очищаем содержимое всех Memo

Memo3.Lines.LoadfromFile ('d:\sadik.txt') ; // считываем весь список детей из файла в Memo3

AssignFile (F, 'd:\sadik.txt') ;

Reset (F) ; // открываем файл для чтения

While not Eof (F) do

Begin

Readln (F, Vozr, Famname) ;

If Vozr

Else Memo2.Lines.Append (Famname + '-' + IntToStr (Vozr) )

End ;
CloseFile (f) ;

End;


Полезные функции, применимые при работе с файлами


  1. Переименование файла:

Function RenameFile(const Oldname, Newname: string) : boolean; -функция возвращает значение true, если переименование прошло успешно; переименовывать можно только закрытые(не открытые для чтения или записи) файлы.

  1. Определение факта существования файла:

Function FileExists (const Fname:string):boolean; возвращает true, если файл существует.


Пример: If FileExists ('a:\doc1.txt') then

If NOT RenameFile ('a:\doc1.txt', 'a:\doc1.bak') then

ShowMessage (' дублирование имени файла или файл занят другой программой! ' ) ;


If not FileExists ( 'a:\doc1.txt' ) then Memo1.Lines.SaveToFile ( 'a:\doc1.txt' ) ;

  1. Определение размера файла (для текстовых файлов не используется)

Function FileSize(F) : integer;

Где F- логическое имя файла.


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

Procedure Tform1.Button3Click (Sender:Tobject);

Var Size : integer ;

F : file ;

Begin

If Opendialog1.Execute then

Begin

AssignFile (F, Opendialog1.Filename) ;
Reset (F) ;

Size := FileSize (F) ;

CloseFile (f) ;

Label1.WordWrap := true ; //возможность вывода в несколько строк

Label1.Caption := 'Размер файла ' + Opendialog1.Filename + 'равен ' + IntToStr (size) + ' байт' ;
End ;

End ;


4)Удаление файла

Function Deletefile(const Fname:string):boolean; - Возвращает true при успешном удалении файла.

5) Выделение частей имени файла

Function ExtractFileExt (const Fname : string) : string; - выделяет расширение из указанного имени файла.

Function ExtractFileDir (const Fname : string) : string; -выделяет из полного имени файла имя устройства и маршрут. Или Function ExtractFilePath (const Fname : string) : string;

Function ExtractFileName (const Fname : string) : string; - выделяет из полного имени файла только имя c расширением, отбрасывая путь и устройство.

Функции для работы с каталогами и дисками


  1. Function CreateDir (const dir : string) : boolean; - создается новый каталог Dir, если функция возрастает true

  2. Function RemoveDir (const Dir : string) : boolean; - удаляется пустой каталог с диска (файлы предварительно удаляются функцией DeleteFile).

  3. Function SetCu r r entDir(const Dir : string): boolean; - устанавливается текущим каталог Dir.

  4. Function GetCu r r entDir : string; - определяет имя текущего каталога.



Работа с типизированными файлами

Типизированные файлы являются файлами прямого доступа – к любой записи файла можно обратиться напрямую по номеру записи. Существуют специальные процедуры и функции для работы с типизированными файлами:

  1. Procedure Seek (var F;File; N:longint); - перемещает указатель (курсор) в файле на запись с номером N.

  2. Function FilePos (var F:file):longint; - функция возвращает номер записи в файле F, на которой находится указатель

  3. Function Filesize (var F:File):longint; - возвращает число записей в файле F.

  4. Procedure Truncate (var F:File); - процедура удаляет все записи от текущей включительно до конца файла.


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

Procedure Tform1.Button1Click (sender:Tobject); // программируем кнопку Добавить

Type

Ttov = record //структура записи, содержащая сведения о товаре

DateP : TdateTime; //дата поставки

Tovar : string[15]; //название товара

Cena : real; //цена товара

Count : integer; //количество товара

End;

Var Tov_rec : Ttov; //запись содержащая сведения о товаре

Ft : file of Ttov; // файл для хранения сведений о товаре

Begin

{формируем запись}

Tov_rec.DateP := dateTimePicker1.Date;

Tov_rec.Tovar := Combobox1.text;

Tov_rec.Cena := StrToFloat (edit1.text);

Tov_rec.Count := StrToInt (edit2.text);

AssignFile (Ft, 'tovar.dat'); //связь с реальным файлом

If not FileExists ('tovar.dat') then Rewrite (Ft) //открываем файл для записи данных

Else begin

Reset (ft);

Seek (Ft, Filesize (Ft)); //переход на последнюю запись файла

End;

Write (Ft,Tov_rec); //записываем на диск одну запись

CloseFile (Ft);

Edit1.text := '';

Edit2.text := '';

End;



ПРИМЕР построения диаграммы


procedure TForm1.BitBtn1Click(Sender: TObject);

Var a1,a2,a3 : longint;

begin

a1:=100; a2:=200; a3:=300;

chart1.SeriesList[0].Add(A1, 'Цех 1', clYellow);

chart1.SeriesList[0].Add(A2, 'Цех 2 ', clBlue);

chart1.SeriesList[0].Add(A3, 'Цех 3 ', clRed);

end;



Приложение А


Экранные формы





Рисунок А.1 – Экранная форма «Справочник «Товары»



Рисунок А.2 – Экранная форма «Добавление записи»





Рисунок А.3 – Экранная форма «Просмотр по условию»