|
Delphi. Лабораторная работа № 10. (4 часа) «Обработка данных в формате дата/время. Вывод данных из программы на печать». Цели:
|
Ход работы:
1. Изучить (повторить) теоретический материал:
Тема 10. "Обработка данных в формате дата/время. Вывод данных из программы на печать".
Общая часть задания:
Разработать приложение, которое позволяет:
создать структуру данных, определенную в вашем варианте (1 балл);
для ввода дат в таблицу применить компонент MonthCalendar, или DateTimePicker (1 балл);
сохранить данные в файл на диск при помощи компонента SaveDialog (1 балла);
открыть с диска файл с данными при помощи компонента OpenDialog (1 балла);
подготовить файл с данными для проверки работы программы (1 балла);
организовать вывод данных из таблицы на печать (1 балл)
обработать данные (в чем заключается обработка, определенно в вашем варианте) (4 балла).
2. Получить (уточнить) у преподавателя номер своего варианта.
3. Выбрать из списка номер вашего варианта и прочитать условия задач:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
4. Если возникли вопросы по условиям задач, задайте их преподавателю.
5. Скачать, распаковать, открыть и внимательно изучить пример: скачать архив.
6. Разработать приложение для своего варианта.
7. Протестировать приложение.
8. Оформить отчет по лабораторной работе. Для этого следует в строке заголовка главной формы записать:
"ЛР N. Вариант N. Группа. Фамилия Имя." В начале программного модуля главной формы записать как комментарий:
номер, название, цель работы;
номер варианта, условие задачи;
дата окончания работы, Фамилия, Имя, группа.
9. Сдать преподавателю выполненную работу:
Работая в локальной сети колледжа, скопировать папку с работой («№группы_Фамилия_№ЛР») в папку на сетевом сервере: \\Server_uch\_БУФЕР\_Aud_27 (на рабочем столе создан ярлык к папке "_ЛР-сдача").
Работая не в колледже, создать файл-архив папки с работой, зайти на сайте "Образовательный портал" в раздел "Обратная связь", заполнить поля формы, прикрепить свой файл-архив и отправить его преподавателю.
10. Оценки по проверенным работам можно посмотреть в электронном журнале:
Работая в локальной сети колледжа, откройте ярлык на рабочем столе "Журнал".
Работая не в колледже, зайти на сайте "Образовательный портал" в раздел "Учебные журналы", открыть журнал текущего семестра.
Индивидуальные задания
Структура данных: "Заказ стройматериалов".
Материал |
Дата заказа | Ед.измерения | Количество | Цена ед., руб. | Сумма, руб. |
Краска |
12.11.2011 |
кг | 3 | 29500 | = (вычисляется) |
... |
|
|
|
|
Обработка: Отобразить данные и вычислить общую сумму заказа за указанный месяц.
Структура данных: "Инвентаризационная ведомость".
№ п/п |
Наименование |
Дата покупки |
Начальная стоимость, $ |
Возраст в годах |
Коэффициент амортизации |
Остаточная стоимость, $ |
1 |
ПЭВМ "ICS"-PIV/2400M |
10.09.2004 |
780 |
=(вычисляется) |
= (вычисляется) |
= (вычисляется) |
... |
|
|
|
|
|
|
Примечание:
Коэффициент амортизации зависит от возраста и равен:
- 1, если возраст меньше 2 лет;
- 0,9, если возраст от 2 до 4 лет;
- 0,75, если возраст от 4 до 7 лет;
- 0,5, если возраст больше 7 лет.
Остаточная стоимость вычисляется как произведение начальной стоимости на коэффициент амортизации.
Обработка: Отобразить данные за указанный год покупки.
Структура данных: "Журнал учета времени эксплуатации ПЭВМ и почасовой оплаты за предоставление аренды".
Тариф оплаты за 1 час: 1 200р.
№ п/п |
Клиент |
Начало (дата: время) |
Конец (дата: время) |
Продолжи- тельность (час.) |
Оплата (руб.) |
Скидка (руб.) |
Сумма (руб.) |
1 | Куровский Ю.И. | 12.10.2005 10:20 | 13.10.2005 17:30 | 31,17 | 37400 |
14960 |
22440 |
2 | (Исходные данные) | =(Результаты) | |||||
… |
|
|
|
|
| ||
10 |
|
|
|
|
|
Примечание:
Размер скидки зависит от продолжительности эксплуатации:
- если продолжительность < 10 часов: скидка = 0;
- от 10 до 24 часов: скидка = 0.2 * Оплата;
- если продолжительность > 24 часов: скидка = 0.4 * Оплата.
Обработка: Отобразить данные, у которых начало аренды попадает на выходной день (суббота, или воскресенье) и увеличить для них сумму оплаты в 1,5 раза.
Структура данных: "Накладная на продовольственные товары".
№ п/п |
Товар |
Дата изготовления |
Срок годности (кол-во суток) |
Ед. изм. |
Кол-во |
Цена ед., руб. |
Сумма, руб. |
1 |
Печенье "Василёк" |
25.10.2011 |
40 |
кг |
32 |
2400 |
= (вычисляется) |
... |
|
|
|
|
|
Обработка: Отобразить данные на просроченные товары на заданную дату.
Структура данных: "Расход бензина по автопарку".
Номер автомобиля | Марка |
Дата поездки | Расход, л на 100 км | Пробег, км |
Расход, л |
15-45 ГКЛ | ГАЗ-53 |
21.10.2011 | 9 | 420 |
= (вычисляется) |
... |
|
|
|
|
Обработка: Отобразить данные за указанный месяц и вычислить общий расход бензина по автопарку за этот месяц.
Структура данных: "Журнал учета времени нахождения в рейсе и почасовой оплаты труда водителей".
Тариф оплаты за 1 час: 4 200р.
№ п/п |
Водитель (Ф.И.О.) |
Дата и время выезда |
Дата и время возвращения |
Время рейса (в часах) |
Оплата (руб.) |
Премия (руб.) |
Сумма (руб.) |
1 |
Куровский Ю.И. |
12.10.2011 9:10 |
12.10.2011 16:15 |
7,08 |
29750 |
5950 |
35700 |
2 |
(Исходные данные) | =(Результаты) | |||||
… |
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
Примечание:
Размер премии зависит от продолжительности рейса:
- если продолжительность < 6 часов: премия = 0.1 * Оплата;
- от 6 до 12 часов: премия = 0.2 * Оплата;
- если продолжительность > 12 часов: премия = 0.4 * Оплата.
Обработка: Отобразить данные у которых время выезда попадает на выходной день (суббота, или воскресенье) и увеличить сумму оплаты этих рейсов на 50%.
Структура данных: "Журнал учета времени нахождения в рейсе и почасовой оплаты труда водителей".
Тариф оплаты за 1 час: 4 200р.
№ п/п |
Водитель (Ф.И.О.) |
Дата |
Выезд из гаража (время) |
Возвращение в гараж (время) |
Время рейса (в часах) |
Оплата (руб.) |
Премия (руб.) |
Сумма (руб.) |
1 | Куровский Ю.И. |
12.10.2005 |
9:10 |
16:15 |
7,08 |
29750 |
5950 |
35700 |
2 | (Исходные данные) | =(Результаты) | ||||||
… |
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
Примечание:
Размер премии зависит от продолжительности рейса:
- если продолжительность < 6 часов: премия = 0.1 * Оплата;
- от 6 до 12 часов: премия = 0.2 * Оплата;
- если продолжительность > 12 часов: премия = 0.4 * Оплата.
Обработка: Отсортировать данные в хронологическом порядке дат (по возрастанию).
Структура данных: "Декларация о доходах".
Дата | Сделка (вид услуги) | Доход, руб. | Расход, руб. | Прибыль, руб. | Налог, руб. |
12.11.2011 | Ремонт ПЭВМ | 28500 | 12400 | = (вычисляется) | = (вычисляется) |
... |
|
|
|
|
Примечание:
Налог зависит от прибыли:
- если прибыль < 100 тыс. руб., то налог составляет 14% от прибыли;
- от 100 тыс. до 300 тыс. руб. - 18%;
- более 300 тыс. руб. - 22%.
Обработка: Отобразить данные за указанный месяц и вычислить суммарный чистый доход за этот месяц (Прибыль - Налог).
Структура данных: "Ведомость начислений почасовой оплаты труда".
№ п/п |
Ф.И.О. |
Тариф оплаты за 1 час, руб. |
Начало (дата, время) |
Конец (дата, время) |
Продолжительность, часов |
Начислено, руб. |
1 |
Авдеева А.И. |
12500 |
5.11.2011 8:00 |
6.11.2011 6:30 |
= (вычисляется) |
= (вычисляется) |
... |
|
|
|
|
|
Обработка: Отобразить данные с продолжительностью работ больше суток и увеличить им начисление на 80%.
Структура данных: "Ведомость начислений".
Тариф за 1 рабочий день, руб.: 87500
Табельный номер |
Начало (дата) |
Конец (дата) |
Кол-во рабочих дней |
Начислено, руб. |
254 |
28.09.2011 |
16.10.2011 |
= (вычисляется) |
= (вычисляется) |
... |
|
|
|
|
Примечание:
Нерабочими днями являются суббота и воскресенье, их необходимо вычесть из общего количества дней между датами начала и конца периода.
Обработка: Определить сотрудника с наименьшей суммой начисления.
Структура данных: "Ведомость выработки изделий".
Наименование изделия |
Стоимость работы станка за 1 мин, руб. |
Дата |
Начало обработки (время) | Конец обработки (время) |
Время обработки, мин |
Стоимость обработки, руб. |
Микросхема МП-1201 |
1200 |
10.10.2011 |
14:20 | 15:50 |
= (вычисляется) |
= (вычисляется) |
... |
|
|
|
|
|
Обработка: Отобразить данные за указанный день и вычислить суммарную стоимость обработки изделий за этот день.
Структура данных: "Вычисление износа и текущей цены для автомобилей автопарка на _______________(дата)".
Коэффициент амортизации (доля износа от начальной цены за 1 год): 0,05
№ п/п |
Модель автомобиля |
Гос. номер |
Дата начала эксплуатации |
Начальная цена ($) |
Текущий срок эксплуатации (лет) |
Износ ($) |
Текущая цена ($) |
1 | ГАЗ-53 | 1245 СА |
12.03.1992 |
15000 |
11,56 |
8669 |
6331 |
2 | (Исходные данные) | =(Результаты) | |||||
… |
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
Примечание:
Если «Износ» превысил 95% от «Начальной цены», то считать его равным 95% «Начальной цены».
Обработка: Отобразить данные за указанный год начала эксплуатации и вычислить суммарный износ для этих автомобилей.
Структура данных: "Сведения о сданной в ремонт аппаратуре".
Наименование | Модель | Дата приема | Состояние готовности |
Телевизор | Горизонт-418D |
12.03.2011 | + |
... |
|
|
|
Обработка: Отобразить данные на аппаратуру, ремонт которых ещё не выполнен и с момента приема на сегодняшний (текущий) день прошло более 30 дней.
Структура данных: "Список больных в больнице".
Ф.И.О. | Дата поступления | Диагноз | Пол |
Аверченко Д.М. |
12.10.2011 | Грипп | жен |
... |
|
|
|
Обработка: Отобразить данные на больных по заданному диагнозу, которые на сегодняшний (текущий) день находятся в больнице более недели.
Структура данных: "Журнал учета телефонных переговоров с посекундной тарификацией".
Тариф оплаты за 1 cек., руб.: внутри сети: 3; в другие сети: 8,2
№ п/п |
Абонент (номер) |
Дата |
Начало (время) |
Конец (время) |
Тип звонка
|
Время разговора (в сек.) |
Сумма (руб.) |
1 | 5-20-03 |
12.10.2003 |
9:10:20 |
9:14:15 | Внешн. |
235 |
1927 |
2 | (Исходные данные) | =(Результаты) | |||||
… |
|
|
|
|
Внутр. |
235 |
705 |
10 |
|
|
|
|
|
|
|
Обработка: Отобразить данные на звонки в ночное время (22:00 - 6:00) и уменьшить сумму оплаты этих звонков в 2 раза.
Структура данных: "Журнал учета телефонных переговоров с поминутной тарификацией".
Тариф оплаты за 1 мин, руб.: внутри сети: 60; в другие сети: 250
№ п/п |
Абонент (номер) |
Дата |
Начало (время) |
Конец (время) |
Тип звонка
|
Время разговора (в мин) |
Сумма (руб.) |
1 | 5-20-03 |
12.10.2003 |
9:10:20 |
9:14:15 | Внешн. |
3,92 |
979 |
2 | (Исходные данные) | =(Результаты) | |||||
… |
|
|
|
|
Внутр. |
3,92 |
235 |
10 |
|
|
|
|
|
|
|
Обработка: Отобразить данные за указанный месяц и вычислить суммарную продолжительность всех телефонных разговоров за этот месяц.
Структура данных: "Ведомость оплаты за электроэнергию".
Тариф оплаты за 1 Квт * ч, руб.: 850
Пеня за 1 просроченный день: 0,05% от суммы.
№ п/п |
Абонент (Ф.И.О.) |
Срок оплаты |
Дата оплаты |
Количество (Квт * ч) |
Сумма (руб.) |
Пеня (руб.) |
Итого к оплате |
1 | Ольгович О.И. |
12.11.2011 |
10.11.2011 |
120 |
102000 |
0 |
102000 |
2 | Куровский Ю.И. |
12.10.2011 |
15.10.2011 |
158 |
134300 |
20145 |
154445 |
… | (Исходные данные) | =(Результаты) | |||||
10 |
|
|
|
|
|
|
|
Обработка: Отобразить данные о платежах за указанный период (от <дата_1> до <дата_2>.
Структура данных: "Ведомость оплаты за эксплуатацию оборудования".
Тариф оплаты за 1 час: 850р.
№ п/п |
Клиент (Ф.И.О.) |
Начало (Дата, Время) |
Конец (Дата, Время) |
Время эксплуатации (час) |
Сумма к оплате (руб.) |
1 |
Ольгович О.И. |
23.10.2011 9:15 |
24.10.2011 15:40 |
30,42 |
25857 |
… |
(Исходные данные) |
=(Результаты) | |||
10 |
|
|
|
|
|
Обработка: Отобразить данные за указанный месяц и вычислить суммарное время эксплуатации за этот месяц.
Структура данных: "Учет выполненных работ с повременной оплатой труда".
Тариф оплаты за 1 час, руб.: разгрузка – 22100; загрузка – 35200
Код |
Сотрудник (Ф.И.О.) |
Вид работы |
Дата |
Начало (Время) |
Конец (Время) |
Продолж. работы, час |
Сумма (руб.) |
1 | Ольгович О.И. | разгрузка |
22.02.2011 |
8:15 |
12:45 |
4,50 |
99450 |
… | (Исходные данные) |
=(Результаты) | |||||
10 |
|
|
|
|
|
|
|
Обработка: Отобразить данные за указанный день недели.
Структура данных: "Заказ стройматериалов".
Материал |
Дата заказа | Ед.измерения | Количество | Цена ед., руб. | Сумма, руб. |
Краска |
12.11.2011 |
кг | 3 | 29500 | = (вычисляется) |
... |
|
|
|
|
Обработка: Отобразить данные и вычислить общую сумму заказа за за указанный период (от <дата_1> до <дата_2>.
Структура данных: "Список деталей для обработки на станке".
Код детали |
Начало работы (Время) |
Время наладки станка для всей партии деталей, мин |
Время обработки 1-й детали, мин |
Кол-во деталей |
Окончание работы (Время) |
Д12-М |
8:15 |
45 |
52 |
10 |
= (вычисляется) |
... |
|
|
|
Обработка: Отобразить данные для тех деталей, у которых окончание работы приходится на ночное время (от 23:00 до 6:00).
Структура данных: "Журнал учета времени нахождения в рейсе и почасовой оплаты труда водителей".
Тариф оплаты за 1 час, руб.: 24 200
№ п/п |
Водитель (Ф.И.О.) |
Дата и время выезда |
Дата и время возвращения |
Время рейса (в часах) |
Оплата (руб.) |
Премия (руб.) |
Сумма (руб.) |
1 |
Куровский Ю.И. |
12.10.2011 9:10 |
12.10.2011 16:15 |
7,08 |
171336 |
34267 |
205603 |
2 |
(Исходные данные) | =(Результаты) | |||||
… |
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
Примечание:
Размер премии зависит от продолжительности рейса и нахождения в рейсе в выходные дни:
- если продолжительность <= 12 часов: премия = 0.2 * Оплата;
- если продолжительность > 12 часов: премия = 0.4 * Оплата;
- если рейс хотя бы частично попал на выходные дни (суббота, или воскресенье), то дополнительно начисляется премия 0.5 * Оплата.
Обработка: Отобразить данные с выездом за указанный месяц.
Структура данных: "Справочная автовокзала".
Пункт назначения |
Время отправления |
Время прибытия |
Время в пути, часы: минуты |
Гродно |
12:15 |
14:45 |
= (вычисляется) |
... |
|
|
|
Обработка: Клиент вводит запрос, в котором указывает: требуемый ему пункт назначения и интервал возможного времени отправления (например, "Минск", с 10:00 до 11:30). Программа отображает данные из таблицы, удовлетворяющие запрос клиента.
Структура данных: "Справочная ж/д вокзала".
Пункт назначения |
Дата и время отправления |
Дата и время прибытия |
Наличие мест |
Время в пути, сутки: часы: минуты |
Иркутск |
1.11.2011 12:15 |
7.11.2011 7:15 |
нет |
= (вычисляется) |
... |
|
|
|
Обработка: Клиент вводит запрос, в котором указывает: требуемый ему пункт назначения и интервал времени отправления (например, "Минск", с 10.00 до 11.30). Программа отображает данные из таблицы, удовлетворяющие запрос клиента с наличием мест.