Skip to content

Latest commit

 

History

History
44 lines (29 loc) · 2.21 KB

README.md

File metadata and controls

44 lines (29 loc) · 2.21 KB

test-sql-2017

Тестовое задание для программиста postgresql

Tender.pro, 2017

Написать хранимую функцию определения победивших предложений

Условия

  • Проводится аукцион на продажу некоторой позиции T объемом N штук.
  • Задана начальная цена за штуку (P0) и шаг цены S.
  • Участники подают предложения по текущей цене PC, указывая объем M
  • Возможно несколько предложений по одной цене с суммарным объемом не превышающим N
  • Если объем предложения превышает оставшийся не выбранный объем по цене PC, то это предложение принимается по цене PC+S и текущая цена увеличивается на S
  • По завершении аукциона предложения сортируются по убыванию цены и порядкового номера, и в этом порядке объявляются победителями до исчерпания объема N.

Входные данные

  • Значения N, P0, S
  • список предложений (порядковый номер, цена, объем)

Необходимо

  • для каждого предложения рассчитать, является ли оно победителем и в каком объеме.

Результат должен быть оформлен в виде функции bid_winner_set(a_id INTEGER) (файл 50_code.sql).

Структура каталога

  • 20_tables.sql - создание таблиц БД
  • 50_code.sql - код функции
  • 90_test.out - эталон результата тестов
  • 90_test.sql - тест
  • Makefile - команды сборки
  • make.sql - скрипт сборки
  • README.md - этот файл

License

This project is under the MIT License. See the LICENSE file for the full license text.

Copyright (c) 2017 Tender.Pro