Delphi. Лабораторная работа № 10. (4 часа)

«Обработка данных в формате дата/время. Вывод данных из программы на печать».

Цели:

  • Научиться использовать тип данных TDateTime для обработки данных в формате дата/время.

  • Научиться организовывать вывод данных из компонента StringGrid на печать.

  • Закрепить навыки разработки приложений, в которых отображаются и обрабатываются структурированные данные - записи и файлы;

  • Закрепить навыки применения компонентов OpenDialog и SaveDialog для открытия и сохранения файлов.

 

Ход работы:

1. Изучить (повторить) теоретический материал:

Тема 10. "Обработка данных в формате дата/время. Вывод данных из программы на печать".

 

Общая часть задания:

Разработать приложение, которое позволяет:

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. Сдать преподавателю выполненную работу:

 

10. Оценки по проверенным работам можно посмотреть в электронном журнале:


Индивидуальные задания

Вариант 1.

Структура данных: "Заказ стройматериалов".

Материал

Дата заказа

Ед.измерения

Количество

Цена ед., руб.

Сумма, руб.

Краска

12.11.2011

кг

3

29500

= (вычисляется)

...

 

 

 

 

 

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

 Вариант 2.

Структура данных: "Инвентаризационная ведомость".

№ п/п

Наименование

Дата покупки

Начальная стоимость, $

Возраст в годах

Коэффициент амортизации

Остаточная

стоимость, $

1

ПЭВМ "ICS"-PIV/2400M

10.09.2004

780

=(вычисляется)

= (вычисляется)

= (вычисляется)

...

 

 

 

 

 

 

 

Примечание:

Коэффициент амортизации зависит от возраста и равен:

    - 1, если возраст меньше 2 лет;

    - 0,9, если возраст от 2 до 4 лет;

    - 0,75, если возраст от 4 до 7 лет;

    - 0,5, если возраст больше 7 лет.

Остаточная стоимость вычисляется как произведение начальной стоимости на коэффициент амортизации.

Обработка: Отобразить данные за указанный год покупки.

 

 Вариант 3.

Структура данных: "Журнал учета времени эксплуатации ПЭВМ и почасовой оплаты за предоставление аренды".

Тариф оплаты за 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 раза.

 Вариант 4.

Структура данных: "Накладная на продовольственные товары".

№ п/п

Товар

Дата изготовления

Срок годности (кол-во суток)

Ед. изм.

Кол-во

Цена ед., руб.

Сумма, руб.

1

Печенье "Василёк"

25.10.2011

40

кг

32

2400

= (вычисляется)

...

 

   

 

 

 

 

 Обработка: Отобразить данные на просроченные товары на заданную дату.

Вариант 5.

Структура данных: "Расход бензина по автопарку".

Номер автомобиля

Марка

Дата поездки

Расход, л на 100 км

Пробег, км

Расход, л

15-45 ГКЛ

ГАЗ-53

21.10.2011

9

420

= (вычисляется)

...

 

 

 

 

 

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

 Вариант 6.

Структура данных: "Журнал учета времени нахождения в рейсе и почасовой оплаты труда водителей".

Тариф оплаты за 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%.

 Вариант 7.

Структура данных: "Журнал учета времени нахождения в рейсе и почасовой оплаты труда водителей".

Тариф оплаты за 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 * Оплата.

Обработка: Отсортировать данные в хронологическом порядке дат (по возрастанию).

Вариант 8.

Структура данных: "Декларация о доходах".

Дата

Сделка (вид услуги)

Доход, руб.

Расход, руб.

Прибыль, руб.

Налог, руб.

12.11.2011

Ремонт ПЭВМ

28500

12400

= (вычисляется)

= (вычисляется)

 

...

 

 

 

 

 

Примечание:

Налог зависит от прибыли:

    - если прибыль < 100 тыс. руб., то налог составляет 14% от прибыли;

    - от 100 тыс. до 300 тыс. руб. - 18%;

    - более 300 тыс. руб. - 22%.

 

Обработка: Отобразить данные за указанный месяц и вычислить суммарный чистый доход за этот месяц (Прибыль - Налог).

Вариант 9.

Структура данных: "Ведомость начислений почасовой оплаты труда". 

№ п/п

Ф.И.О.

Тариф оплаты за 1 час, руб.

Начало

(дата, время)

Конец

(дата, время)

Продолжительность,

часов

Начислено, руб.

1

Авдеева А.И.

12500

5.11.2011 8:00

6.11.2011 6:30

= (вычисляется)

= (вычисляется)

...

 

 

 

 

 

 

 

Обработка: Отобразить данные с продолжительностью работ больше суток и увеличить им начисление на 80%.

Вариант 10.

Структура данных: "Ведомость начислений".

                Тариф за 1 рабочий день, руб.: 87500 

Табельный

номер

Начало

(дата)

Конец

(дата)

Кол-во

рабочих дней

Начислено,

руб.

254

28.09.2011

16.10.2011

 = (вычисляется)

 = (вычисляется)

...

 

 

 

 

 

Примечание:

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

 

Обработка: Определить сотрудника с наименьшей суммой начисления.

Вариант 11.

Структура данных: "Ведомость выработки изделий". 

Наименование

изделия

Стоимость работы станка за 1 мин, руб.

Дата

Начало обработки (время)

Конец обработки (время)

Время обработки, мин

Стоимость обработки,

руб.

Микросхема МП-1201

1200

10.10.2011

14:20

15:50

= (вычисляется)

= (вычисляется)

...

 

 

 

 

 

 

 

Обработка: Отобразить данные за указанный день и вычислить суммарную стоимость обработки изделий за этот день.

 

Вариант 12.

Структура данных: "Вычисление износа и текущей цены для автомобилей автопарка на _______________(дата)".

Коэффициент амортизации (доля износа от начальной цены за 1 год): 0,05

№ п/п

Модель

автомобиля

Гос.

номер

Дата начала

 эксплуатации

Начальная

цена ($)

Текущий срок

эксплуатации

(лет)

Износ

($)

Текущая

цена ($)

1

ГАЗ-53

1245 СА

12.03.1992

15000

11,56

8669

6331

2

(Исходные данные)

=(Результаты)

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

Примечание:

Если «Износ» превысил 95% от «Начальной цены», то считать его равным 95% «Начальной цены».

 

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

Вариант 13.

Структура данных: "Сведения о сданной в ремонт аппаратуре". 

Наименование

Модель

Дата приема

Состояние готовности

Телевизор

Горизонт-418D

12.03.2011

+

...

 

 

 

 

Обработка: Отобразить данные на аппаратуру, ремонт которых ещё не выполнен и с момента приема на сегодняшний (текущий) день прошло более 30 дней.

Вариант 14.

Структура данных: "Список больных в больнице". 

Ф.И.О.

Дата поступления

Диагноз

Пол

Аверченко Д.М.

12.10.2011

Грипп

жен

...

 

 

 

 

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

 

Вариант 15.

Структура данных: "Журнал учета телефонных переговоров с посекундной тарификацией".

Тариф оплаты за 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 раза.

Вариант 16.

Структура данных: "Журнал учета телефонных переговоров  с поминутной тарификацией".

Тариф оплаты за 1 мин, руб.: внутри сети: 60; в другие сети: 250

п/п

Абонент

(номер)

Дата

Начало

(время)

Конец

(время)

Тип

звонка

 

Время разговора

мин)

Сумма

(руб.)

1

5-20-03

12.10.2003

9:10:20

9:14:15

Внешн.

3,92

979

2

(Исходные данные)

=(Результаты)

 

 

 

 

Внутр.

3,92

235

10

 

 

 

 

 

 

 

 

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

 

Вариант 17.

Структура данных: "Ведомость оплаты за электроэнергию".

Тариф оплаты за 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>.

 

Вариант 18.

Структура данных: "Ведомость оплаты за эксплуатацию оборудования".

                        Тариф оплаты за 1 час: 850р.

п/п

Клиент

(Ф.И.О.)

Начало

(Дата, Время)

Конец

(Дата, Время)

Время

эксплуатации

(час)

Сумма

к оплате

(руб.)

1

Ольгович О.И.

23.10.2011 9:15

24.10.2011 15:40

30,42

25857

(Исходные данные)

=(Результаты)

10

 

 

 

 

 

 

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

 

 Вариант 19.

Структура данных: "Учет выполненных работ с повременной оплатой труда".

      Тариф оплаты за 1 час, руб.: разгрузка – 22100; загрузка – 35200

Код

Сотрудник

(Ф.И.О.)

Вид

работы

 

Дата

Начало

(Время)

Конец

(Время)

Продолж.

работы,

час

Сумма

(руб.)

1

Ольгович О.И.

разгрузка

22.02.2011

8:15

12:45

4,50

99450

(Исходные данные)

=(Результаты)

10

 

 

 

 

 

 

 

 

Обработка: Отобразить данные за указанный день недели.

Вариант 20.

Структура данных: "Заказ стройматериалов".

Материал

Дата заказа

Ед.измерения

Количество

Цена ед., руб.

Сумма, руб.

Краска

12.11.2011

кг

3

29500

= (вычисляется)

...

 

 

 

 

 

 Обработка: Отобразить данные и вычислить общую сумму заказа за за указанный период (от <дата_1> до <дата_2>.

Вариант 21.

Структура данных: "Список деталей для обработки на станке". 

Код

детали

Начало работы

(Время)

Время наладки станка для всей партии деталей, мин

Время обработки 1-й детали, мин

Кол-во

деталей

Окончание работы

(Время)

Д12-М

8:15

45

52

10

= (вычисляется)

...

 

 

 

 

 

 

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

Вариант 22.

Структура данных: "Журнал учета времени нахождения в рейсе и почасовой оплаты труда водителей".

Тариф оплаты за 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 * Оплата.

 

Обработка: Отобразить данные с выездом за указанный месяц.

Вариант 23.

Структура данных: "Справочная автовокзала". 

Пункт назначения

Время отправления

Время прибытия

Время в пути, часы: минуты

Гродно

12:15

14:45

= (вычисляется)

...

 

 

 

Обработка: Клиент вводит запрос, в котором указывает: требуемый ему пункт назначения и интервал возможного времени отправления (например, "Минск", с 10:00 до 11:30). Программа отображает данные из таблицы, удовлетворяющие запрос клиента.

Вариант 24.

Структура данных: "Справочная ж/д вокзала". 

Пункт назначения

Дата и время

отправления

Дата и время

прибытия

Наличие

мест

Время в пути,

сутки: часы: минуты

Иркутск

1.11.2011 12:15

7.11.2011 7:15

нет

= (вычисляется)

...

 

 

 

 

Обработка: Клиент вводит запрос, в котором указывает: требуемый ему пункт назначения и интервал времени отправления (например, "Минск", с 10.00 до 11.30). Программа отображает данные из таблицы, удовлетворяющие запрос клиента с наличием мест.