ĐỀ THI LẬP TRÌNH SQL SERVER
Thời gian 60 phút

TÍNH NỘI SUY ĐỊNH MỨC, ĐƠN GIÁ TRONG CÔNG TÁC TIÊN LƯỢNG, DỰ TOÁN

Cho bảng biểu định mức (đơn vị tính: %)

Loại công trình
Chi phí (tỷ VNĐ)Dân dụngCông nghiệpGiao thôngThủy lợiHạ tầng kỹ thuật
≤100.2870.4390.2040.2190.236
200.2700.3950.1790.1910.203
500.1420.2240.1030.1100.122
1000.0890.1410.0660.0700.079
2000.0790.1220.0580.0610.068
5000.0660.1000.0460.0490.056
10000.0450.0680.0320.0400.044
20000.0350.0540.0250.0300.032

Sau đây là công thức chung cho việc tính nội suy các đơn giá, định mức chi phí

$$N_t=N_b+\frac{(N_a - N_b)(C_t-C_b)}{C_a-C_b}\qquad(I)$$
Trong đó

Ví dụ:

Tính đinh mức thi công công trình, loại công trình công nghiệp chi phí 78.2 tỷ VNĐ

Lời giải:

Áp dụng công thức (I) ở trên với

Ca = 100, Cb = 50, Na = 0.141, Nb = 0.224, Ct = 78.2

Định mức cần tính là

$$N_t=0.224+\frac{(0.141-0.224)(78.2-50)}{100-50} =0.177%$$

Chi phí cần tìm sẽ là 78.200.000.000 * 0.177% = 138.414.000 VNĐ

Yêu cầu:

Sử dụng tập tinh sql đã được cung cấp

Nộp bài:

Lưu với tên tập tin là HoTen.sql rồi gửi vào email: refactortop@gmail.com

Data

CREATE DATABASE Interpolation;
GO
USE Interpolation;
GO
CREATE TABLE Construction
(
	ConstructionId INT NOT NULL PRIMARY KEY,
	ConstructionName NVARCHAR(32) NOT NULL
)
GO
INSERT INTO Construction VALUES
	(1, N'Dân dụng'),
	(2, N'Công nghiệp'),
	(3, N'Giao thông'),
	(4, N'Thủy lợi'),
	(5, N'Hạ tầng kỹ thuật');
GO
CREATE TABLE Norm
(
	NormId INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
	ConstructionId INT NOT NULL,
	Cost INT NOT NULL,
	Value FLOAT NOT NULL
)
GO
INSERT INTO Norm (ConstructionId, Cost, Value) VALUES
	(1, 10, 0.287),
	(1, 20, 0.270),
	(1, 50, 0.142),
	(1, 100, 0.089),
	(1, 200, 0.079),
	(1, 500, 0.066),
	(1, 1000, 0.045),
	(1, 2000, 0.035);
GO
INSERT INTO Norm (ConstructionId, Cost, Value) VALUES
	(2, 10, 0.439),
	(2, 20, 0.395),
	(2, 50, 0.224),
	(2, 100, 0.141),
	(2, 200, 0.122),
	(2, 500, 0.100),
	(2, 1000, 0.068),
	(2, 2000, 0.054);
GO
INSERT INTO Norm (ConstructionId, Cost, Value) VALUES
	(3, 10, 0.204),
	(3, 20, 0.179),
	(3, 50, 0.103),
	(3, 100, 0.066),
	(3, 200, 0.058),
	(3, 500, 0.046),
	(3, 1000, 0.032),
	(3, 2000, 0.026);
GO
INSERT INTO Norm (ConstructionId, Cost, Value) VALUES
	(4, 10, 0.219),
	(4, 20, 0.191),
	(4, 50, 0.110),
	(4, 100, 0.070),
	(4, 200, 0.061),
	(4, 500, 0.049),
	(4, 1000, 0.040),
	(4, 2000, 0.030);
GO
INSERT INTO Norm (ConstructionId, Cost, Value) VALUES
	(5, 10, 0.236),
	(5, 20, 0.203),
	(5, 50, 0.122),
	(5, 100, 0.079),
	(5, 200, 0.068),
	(5, 500, 0.056),
	(5, 1000, 0.044),
	(5, 2000, 0.034);
GO
CREATE TABLE Estimate
(
	ConstructionId INT NOT NULL,
	Cost BIGINT NOT NULL,
	Result FLOAT
)
GO
INSERT INTO Estimate (ConstructionId, Cost) VALUES 
	(2, 78200000000),
	(1, 20000000000),
	(3, 170000000000),
	(5, 510000000000),
	(4, 1900000000000);
GO