SlideShare a Scribd company logo
1
LỜI NÓI ĐẦU
Đất nƣớc Việt Nam đang trong quá trình hội nhập kinh tế quốc tế rất mạnh mẽ. Các
doanh nghiệp của Việt Nam không ngừng tự đổi mới, hiện đại hóa công tác quản lý, nâng
cao giá trị của bản thân để có thể đáp ứng đƣợc những đòi hỏi của quá trình hội nhập kinh tế
quốc tế của đất nƣớc.
Lập trình ứng dụng các bài toán kinh tế nhằm đẩy nhanh các quá trình thống kê, kế
toán đảm bảo số liệu chính xác cung cấp cho các bộ phận quản lý, làm giảm thiểu thời gian
và lao động cho các công đoạn xử lý thông tin, làm tăng năng suất lao động của đội ngũ thƣ
ký và làm giảm đáng kể các chi phí cho soạn thảo và phân phối tài liệu hoặc thông báo
trong công tác văn phòng rút ngắn thời gian từ lúc chuẩn bị đến lúc phân phối thông báo đến
tay ngƣời sử dụng. Bên cạnh đó, tin học hóa các quyết định quản lý đƣợc thông qua trên cơ
sở tính toán cụ thể nhằm đảm bảo hiệu suất cao. Từ đó, các nhà lãnh đạo luôn đƣợc cung
cấp thông tin một cách kịp thời, giải phóng họ khỏi các công việc tính toán hàng ngày để tập
trung vào các vấn đề mang tính chiến lƣợc và chiến thuật của đơn vị.
Chính vì lý do đó, Tin học hóa các mô hình kinh tế hay là việc trang bị những phần
mềm ứng dụng để hiện đại hóa công tác quản lý là một giải pháp cũng nhƣ là một xu hƣớng
tất yếu của các doanh nghiệp Việt Nam trong quá trình phát triển và hội nhập.
Chƣơng trình đào tạo chuyên ngành của sinh viên khoa Hệ thống thông tin Kinh tế
Trƣờng Đại học Công nghệ thông tin và Truyền thông bao gồm nhiều môn học có thể đƣợc
phân chia thành các nhóm chính nhƣ sau: các môn học cung cấp kiến thức lý thuyết cơ sở,
nền tảng về tin học và các lĩnh vực nghiên cứu của tin học; các môn học rèn luyện tƣ duy và
kỹ năng lập trình; các môn học cung cấp kiến thức kinh tế, nghiệp vụ…
Môn học Lập trình ứng dụng kinh tế là sự tổng hợp kiến thức của hầu hết các môn
học chuyên ngành. Thực vậy, để phát triển một phần mềm ứng dụng trong kinh tế đƣợc
thƣơng mại hóa thì đòi hỏi rất nhiều các mảng kiến thức khác nhau: từ những kiến thức
mang tính lý thuyết về kinh tế lƣợng, phân tích và dự báo, hệ hỗ trợ ra quyết định,…đến
những kiến thức và kỹ năng cụ thể nhƣ lập trình cơ sở; lập trình nâng cao; cấu trúc dữ liệu
và giải thuật…
Mục đích của môn học:
Trang bị cho sinh viên kiến thức và kỹ năng để có thể thực hiện từng bƣớc của quá
trình xây dựng và đóng gói một phần mềm ứng dụng trong kinh tế trên cơ sở ngôn ngữ lập
trình cấp cao đƣợc sử dụng phổ biến trong thực tế. Sau khi kết thúc môn học, sinh viên thu
đƣợc những kết quả sau:
Nắm rõ các bƣớc để xây dựng một phần mềm hoàn chỉnh mang tính thƣơng mại
2
Biết cách sử dụng và khai thác một số tiện ích quan trọng để tạo ra phần mềm quản lý
mang tính chuyên nghiệp
Có khả năng vận dụng ngay trong việc thực hiện làm Đề tài thực tập tốt nghiệp và Báo
cáo Khóa luận tốt nghiệp cuối khóa.
Nội dung của giáo trình
Giáo trình đƣợc viết theo chƣơng trình môn học thuộc chƣơng trình khung ngành Hệ
thống thông tin quản lý tại trƣờng Đại học Công nghệ thông tin và Truyền thông và đƣợc
Hiệu trƣởng phê duyệt làm tài liệu chính thức dùng cho giảng dạy, học tập ở trƣờng.
Giáo trình được chia thành 3 chương
Chƣơng 1: Bài toán kinh tế với tổ chức doanh nghiệp
Chƣơng 2: Lập trình Windows Form
Chƣơng 3: Lập trình ứng dụng kinh tế
Nhóm tác giả xin trân trọng cám ơn tất cả các thầy, cô giáo trong khoa Hệ thống thông
tin Kinh tế, Trƣờng Đại học Công nghệ thông tin và Truyền thông. Giáo trình mới đƣợc
biên soạn lần đầu nên không tránh khỏi những thiếu sót. Rất mong nhận đƣợc những ý kiến
đóng góp của thầy, cô giáo cũng nhƣ các bạn sinh viên để giáo trình có thể ngày một hoàn
thiện hơn.
Mọi ý kiến đóng góp xin gửi về: Nguyễn Văn Huân, Khoa Hệ thống thông tin Kinh tế,
Trường Đại học Công nghệ thông tin và Truyền thông.
Email: nvhuan@ictu.edu.vn Số điện thoại: 0904.101.008
Thái Nguyên, tháng 04 năm 2014
Nhóm biên soạn
3
MỤC LỤC
LỜI NÓI ĐẦU...............................................................................................................1
Chƣơng 1. BÀI TOÁN KINH TẾ VỚI TỔ CHỨC, DOANH NGHIỆP .........................5
1.1. Thông tin và thông tin kinh tế .............................................................................5
1.1.1. Thông tin và vai trò của thông tin.................................................................5
1.1.2. Thông tin kinh tế và hệ thống thông tin kinh tế.............................................6
1.2. Khái niệm Mô hình kinh tế..................................................................................6
1.3. Giới thiệu chung về lập trình ứng dụng kinh tế....................................................7
1.4. Một số bài toán kinh tế cơ bản.............................................................................7
1.4.1. Bài toán phục vụ công cộng..........................................................................7
1.4.2. Bài toán dự trữ ...........................................................................................15
1.4.3. Bài toán phân tích và dự báo kinh tế...........................................................22
1.4.4. Bài toán lãi suất..........................................................................................27
1.4.6. Bài toán quản lý .........................................................................................28
1.5. Câu hỏi và bài tập chƣơng 1..............................................................................30
Chƣơng 2. LẬP TRÌNH WINDOWS FORMS.............................................................32
2.1. Cơ bản ngôn ngữ C# .........................................................................................32
2.1.1. Giới thiệu C#..............................................................................................32
2.1.2. Môi trƣờng lập trình...................................................................................34
2.1.3. Biến, hằng, toán tử .....................................................................................35
2.1.4. Kiểu dữ liệu................................................................................................38
2.1.5. Cấu trúc điều khiển ....................................................................................40
2.1.6. Cấu trúc lặp................................................................................................44
2.1.7. Một số kiến thức cần nhớ ...........................................................................46
2.2. Xây dựng Windows form application................................................................48
2.2.1. Sử dụng Microsoft Visual Studio 2008.......................................................48
2.2.2. Các control cơ bản......................................................................................54
4
2.2.3. Menu và ToolBar .......................................................................................60
2.3. Xử lý dữ liệu với ADO.NET .............................................................................61
2.3.1. Kiến trúc tổng quan của ADO.NET ............................................................61
2.3.2. Tổng quan về các mô hình xử lý dữ liệu trong ADO.NET ..........................62
2.3.3. Làm việc với mô hình Kết nối trong ADO.NET .........................................65
2.4. Câu hỏi và bài tập chƣơng 2..............................................................................68
2.4.1. Bài tập có lời giải .......................................................................................68
2.4.2. Bài tập tự giải.............................................................................................78
Chƣơng 3. LẬP TRÌNH ỨNG DỤNG KINH TẾ.........................................................81
3.1. Bài toán phục vụ công cộng ..............................................................................81
3.1.1. Hệ thống phục vụ công cộng từ chối cổ điển ..............................................81
3.1.2. Hệ thống chờ với đồ dài hàng chờ hạn chế và thời gian chờ không hạn chế91
3.1.3. Hệ thống chờ thuần nhất...........................................................................105
3.2. Bài toán dự trữ ................................................................................................114
3.2.1. Mô hình dự trữ với tiêu thụ đều, bổ sung tức thời.....................................114
3.2.2. Mô hình dự trữ với tiêu thụ đều, bổ sung dần dần.....................................118
3.2.3. Mô hình dự trữ nhiều mức giá ..................................................................123
3.3. Bài toán phân tích và dự báo kinh tế................................................................131
3.3.1. Một số chức năng cơ bản của bài toán phân tích và dự báo.......................131
3.3.2. Hƣớng dẫn xây dựng một số chức năng cơ bản.........................................132
3.4. Câu hỏi và bài tập chƣơng 3............................................................................175
TÀI LIỆU THAM KHẢO..........................................................................................186
5
Chương 1.
BÀI TOÁN KINH TẾ VỚI TỔ CHỨC, DOANH NGHIỆP
Tóm tắt chương 01
Trong chương này, giáo trình giới thiệu tổng quan về thông tin và vai trò của thông tin
trong kinh tế xã hội, làm rõ được tầm quan trọng trong việc tin học hóa các bài toán kinh tế
cho các cơ quan tổ chức, doanh nghiệp.
Ngoài ra, giáo trình còn cung cấp kiến thức cơ bản các bài toán kinh tế như bài toán
hỗ trợ ra quyết định, bài toán phân tích dự báo, bài toán quản lý… Việc tin học hóa các bài
toán kinh tế này sẽ góp phần hiện đại hóa công tác quản lý cho các tổ chức, doanh nghiệp.
Các vấn đề chính sẽ được đề cập:
 Thông tin và thông tin kinh tế
 Mô hình kinh tế
 Giới thiệu về lập trình ứng dụng kinh tế
 Một số bài toán kinh tế với tổ chức, doanh nghiệp
 Câu hỏi và bài tập chương 1
1.1. Thông tin và thông tin kinh tế
1.1.1. Thông tin và vai trò của thông tin
Trong cuộc sống hàng ngày, khái niệm thông tin phản ánh các tri thức, hiểu biết của
chúng ta về một đối tƣợng nào đó.
Ở dạng chung nhất, thông tin luôn luôn được hiểu như các thông báo nhằm mang lại
một sự hiểu biết nào đó cho đối tượng nhận tin.
Tuỳ thuộc vào các mục đích nghiên cứu khác nhau, ngƣời ta có thể đƣa ra nhiều định
nghĩa khác nhau về thông tin. Chẳng hạn, nhà nghiên cứu lý thuyết thông tin Brilen cho
rằng “Thông tin là sự ngƣợc lại của entropi – độbất định”. Nhà khoa học thôngtin nổi
tiếng Shanol thì khẳng định: “Thông tin là quá trình liên hệ nhằm loại bỏ độ bất định” còn
Viện sỹ Nga Gluscôp thì đƣa ra định nghĩa: “Thông tin bao gồm tất cả những tri thức mà
con ngƣời trao đổi cho nhau và cả các tri thức tồn tại độc lập đối với con ngƣời”. Theo
Jame O’Brien “Thông tin là các dữ liệu đã được biến đổi thành dạng dễ hiểu, có ích cho
người sử dụng”.
Thông tin có vai trò vô cùng to lớn trong các hoạt động của con ngƣời. Nhƣ đã nói trên
đây, thông tin là sự phản ánh tri thức và hiểu biết. Không có thông tin, con ngƣời không có
sự dẫn dắt cho các hoạt động của mình và hoàn toàn bất định trong môi trƣờng đó.
6
1.1.2. Thông tin kinh tế và hệ thống thông tin kinh tế
Thông tin kinh tế là các thông tin tồn tại và vận động trong các thiết chế kinh tế, các tổ
chức và các doanh nghiệp nhằm phản ánh tình trạng kinh tế của các chủ thể đó.
Thông tin kinh tế có thể coi nhƣ huyết mạch của các doanh nghiệp và các tổ chức kinh
tế. Thông qua việc nghiên cứu thông tin kinh tế chúng ta có thể có các đánh giá chính xác về
nhịp sống kinh tế và quy mô phát triển của doanh nghiệp, triển vọng và nguy cơ tiềm ẩn của
doanh nghiệp này. Có thể nói không quá rằng trong nền kinh tế thị trƣờng, nơi diễn ra hàng
ngày cuộc cạnh tranh quyết liệt để giành giật thị trƣờng, thông tin kinh tế là một nhu cầu cấp
thiết. Thông tin kinh tế có thể quyết định đến sự thành bại của cả một doanh nghiệp.
Hệ thống thông tin kinh tế là hệ thống có nhiệm vụ thu thập, xử lý, lưu trữ và truyền
thông tin kinh tế trợ giúp các hoạt động ra quyết định trong tổ chức, doanh nghiệp.
Ngày nay, hầu hết các quốc gia, các tổ chức và các công ty đều hiểu rằng vị trí tƣơng
lai của họ trong thế giới và trên thị trƣờng quốc tế phụ thuộc một cách quyết định vào việc
họ có tận dụng đƣợc công nghệ thông tin để phát triển một cách nhanh chóng mọi năng lực
để đổi mới nền sản xuất và nền kinh tế của họ hay không.
1.2. Khái niệm Mô hình kinh tế
Một mô hình kinh tế(economic model) là một khung lí thuyết, là một sự diễn đạt (hay
mô tả, thể hiện) có tính khái quát một vấn đề kinh tế thực tế. Khi xây dựng mô hình cần chú
trọng tính phù hợp, tính khả thi, tính thực tiễn và tính mục đích. Điều này cho phép mô
hình đƣợc đề xuất phù hợp với các đặc điểm cơ bản của vấn đề nghiên cứu và các thông tin
thu thập đƣợc, đồng thời có thể đƣợc phân tích bởi các phƣơng pháp hay công cụ thích hợp
nhằm tìm hiểu và nhận thức thực tiễn một cách sâu sắc. Trên cơ sở phân tích mô hình phải
đƣa ra đƣợc các tác động điều khiển hợp lí nhằm đạt đƣợc các mục tiêu đề ra.
Một mô hình kinh tế có thể chứa hoặc không chứa các yếu tố toán học, có thể là một
mô hình toán học hay không phải là một mô hình toán học. Nếu một mô hình kinh tế là mô
hình toán học thì nó còn đƣợc gọi là mô hình kinh tế toán (một số tác giả gọi là mô hình
toán kinh tế). Mô hình kinh tế toán bao gồm các phƣơng trình (các hệ thức toán học nói
chung) mô tả cấu trúc của mô hình. Các phƣơng trình phản ánh mối liên quan giữa các biến
kinh tế dƣới dạng toán học một cách phù hợp với các giả thiết của mô hình. Nhƣ vậy, các
biến, hằng số, tham số và các loại phƣơng trình là các yếu tố cơ bản của một mô hình kinh
tế toán. Nhờ áp dụng các phép toán, các định lí toán học, chúng ta sẽ đƣa ra đƣợc các kết
luận đƣợc suy ra một cách logic từ các giả thiết đã nêu.
7
1.3. Giới thiệu chung về lập trình ứng dụng kinh tế
Hệ thống thông tin quản lý là một ngành khoa học nghiên cứu, thiết kế, phát triển và
ứng dụng công nghệ thông tin và hệ thống truyền thông trong các doanh nghiệp. Với danh
nghĩa một ngành khoa học hỗn hợp, Hệ thống thông tin quản lý đặt nền tảng trên kinh tế
học cùng với ngành công nghệ thông tin. Ngoài ra, trong nghiên cứu, giảng dạy cũng nhƣ
ứng dụng thực tế, Hệ thống thông tin quản lý còn liên quan tới lý thuyết cũng nhƣ phƣơng
thức của các ngành khoa học xã hội, cũng nhƣ các lý thuyết điều khiển học, lý thuyết hệ
thống và điện tử viễn thông. Mặc dù có nhiều đặc điểm của một ngành giao thoa, Hệ thống
thông tin quản lý vẫn có một phạm vi nghiên cứu riêng biệt, đó là hƣớng vào lý thuyết,
phƣơng cách, công cụ và kiến thức về hệ thống công nghệ thông tin cũng nhƣ điện tử viễn
thông. Nhiệm vụ của ngành là tạo ra những hệ thống ngày càng phức hợp hơn, đồng thời
phát triển và vận hành chúng. Ngoài việc khai thác những hệ thống công nghệ thông tin và
điện tử viễn thông, Hệ thống thông tin quản lý còn hƣớng vào phát triển trên thực tế
những hệ thống kinh tế và xã hội để qua đó xác định những hệ thống công nghệ thông tin
thiết yếu, đồng thời tạo ra những mô hình công nghệ thông tin mới.
Để giải quyết những vấn đề đặt ra trong lĩnh vực Hệ thống thông tin quản lý, giáo trình
lập trình ứng dụng kinh tế sử dụng ngôn ngữ lập trình để giải quyết các bài toán về kinh tế.
Học phần này cung cấp các kiến thức về ngôn ngữ lập trình C Sharp qua đó ứng dụng để
giải quyết các bài toán kinh tế: phân tích dữ liệu và dự báo kinh tế, phân tích hoạt động kinh
doanh, hệ hỗ trợ quyết định, bài toán quản lý, bài toán lãi suất…
1.4. Một số bài toán kinh tế cơ bản
1.4.1. Bài toán phục vụ công cộng
1.4.1.1. Hệ thống phục vụ công cộng từ chối cổ điển
Một trong những hệ thống phục vụ công cộng đơn giản nhất, đƣợc mô hình hoá đầu
tiên là hệ thống từ chối cổ điển. Hệ thống này mang tên ngƣời đề xuất bài toán tƣơng ứng:
Hệ thống Eclang, nó bắt đầu từ bài toán phân tích một trạm điện thoại thông thƣờng, với
một vài giả thiết đơn giản. Nhƣng cũng chính từ bài toán này, từ hệ thống này ngƣời ta đã
vận dụng phân tích những hệ thống rất lớn, chẳng hạn hệ thống phòng thủ, hệ thống kiểm
dịch,.. Sau đây chỉ nghiên cứu hệ thống Eclang đơn giản nhất.
Mô tả hệ thống
Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và
bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời gian phục vụ 1
yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1
kênh rỗi thì đƣợc nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngƣợc lại
8
nếu tất cả các kênh đều bận thì phải ra khỏi hệ thống. Cần xác định các chỉ tiêu phân tích
hệ thống.
Hệ phương trình trạng thái và các xác suất trạng thái
0 = - P0 + P1
0 = - P1 - P1 +P0 + 2P2
..... .............................
0 = - Pk - kPk +Pk-1 +(k+1)Pk+1
với ĐK chuẩn: 1
k
k
P
đặt  = / ta có Pk = 0
!
P
k


Thay vào điều kiện chuẩn ta có:
  

n
k
n
k
k
k P
K
P
0 0
0 1
!

=> P0 =

n
k
k
0 !
1


Bằng cách nhân cả tử số và mẫu số trong công thức trên với e-
ta có:
P0 =



n
k
k
e
e
0
0
!
!0/





Ký hiệu: P(, k) = !/ k
e
- đây là xác suất đại lƣợng ngẫu nhiên phân phối poát
xông nhận giá trị k.
R(, k) = 
k
i
iP
0
),( - là xác suất tích luỹ tƣơng ứng ta có:
P0 =
),(
)0,(
!
!0/
0
0
nR
P
e
e
n
k
k











Từ đó: Pk =
),(
),(
!
0
nR
kP
P
k
k



Các giá trị P(, k) và R(, k) đƣợc tính trong bảng phân phối poát xông.
9
Các chỉ tiêu đánh giá hoạt động của hệ thống
Đối với hệ thống này các chỉ tiêu cơ bản đánh giá hệ thống là:
(1). Xác suất hệ thống có n kênh rỗi: Pr
Pr = P0 =
),(
)0,(
!0
0
0
nR
P
P



Chỉ tiêu này cho biết tỷ lệ thời gian hệ thống rỗi hoàn toàn, thời gian rỗi hoàn toàn tồn
tại ở mọi hệ thống poát xông nói riêng và các hệ ngẫu nhiên nói chung, dù ta có giảm tối
thiểu đến số kênh phục vụ hay tăng tối đa cƣờng độ dòng yêu cầu.
(2). Xác suất hệ thống có n kênh bận (hay xác suất một yêu cầu đến hệ thống bị từ
chối Ptc):
Pn =
),(
),(
!
0
nR
nP
P
n
n



Đây cũng là hiệu suất lý thuyết tối đa của hệ thống, nhƣ vậy trong trƣờng hợp hệ
ngẫu nhiên không có khả năng thiết kế một hệ thống khai thác toàn bộ công suất kỹ thuật
của các kênh.
(3). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống đƣợc nhận phục vụ) là:
Ppv = 1-Ptc = 1-Pn
Đó cũng là tỷ lệ của các đối tƣợng đƣợc hệ thống tiếp nhận và phục vụ đối với hệ
thống đƣợc phục vụ công cộng, đây là một trong số ít các chỉ tiêu quan trọng nhất, với cùng
một tiềm năng kỹ thuật nhƣ nhau có thể chọn chỉ tiêu này làm mục tiêu thiết kế hệ thống.
Sau đây là một số chỉ tiêu tính toán ở mức trung bình, vì vậy các công thức dựa trên cơ
sở tính kỳ vọng toán học của các đại lƣợng ngẫu nhiên.
(4). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống):
bN =    



n
k
n
k
n
k
kk
k P
k
P
k
kP
0 1
1
0
00
!!



= pvn P
nR
nP
P .]
),(
),(
1[)1( 


 
(5). Số kênh rỗi trung bình: br NnN 
(6). Hệ số bận (rỗi):
n
N
H b
b 
Hr = 1 - Hb
10
(7). Hiệu quả chung: F
Tuỳ thuộc vào các đánh giá lợi ích hay thiệt hại trong quá trình phục vụ và việc tận
dụng công suất hệ thống cũng nhƣ các loại lợi ích khác, ngƣời ta có thể lập một chỉ tiêu tổng
hợp đánh giá hiệu quả chung của hệ thống.
Việc phục vụ một yêu cầu mang lại một lợi ích là Cpv; mỗi yêu cầu bị từ chối gây thiệt
là Cct; mỗi kênh rỗi gây lãng phí Ckr; thì trong một đơn vị thời gian có thể tính đƣợc chỉ tiêu
hiệu quả chung là:
F= ppvcpv - rN ckr- pnctc
Trên cơ sở các chỉ tiêu đó ta có thể chọn một hay một vài chỉ tiêu để tối ƣu hoá hệ thống.
1.4.1.2. Hệ thống chờ với độ dài hàng chờ hạn chế và thời gian chờ không hạn chế
Một lớp các hệ thống phục vụ công cộng khác, cũng khá phổ biến đó là hệ thống
chờ. Đối với các hệ thống này, mỗi yêu cầu tuỳ thuộc vào chế độ tiếp nhận của hệ thống
phục vụ và đặc điểm của các yêu cầu, có thể đƣợc phục vụ trong điều kiện nào đó (thời
gian, số chỗ chờ) nhƣng phải xếp hàng chờ khi hệ thống có tất cả các kênh đều bận. Trong
thực tế tình huống phổ biến là độ dài hàng chờ và cả thời gian chờ đều hạn chế, tuy vậy
nếu độ dài hàng chờ hạn chế thì cũng có thể xem thời gian chờ của một yêu cầu nhƣ là hạn
chế. Đơn giản cho việc nghiên cứu chúng ta sẽ xem xét mô hình phục vụ công cộng với độ
dài hàng chờ hạn chế hay còn gọi là hệ thống chờ với độ dài hàng chờ hạn chế.
Mô tả hệ thống
Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và
bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời gian phục vụ 1
yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1
kênh rỗi thì đƣợc nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngƣợc lại, nếu
tất cả các kênh đều bận thì xếp hàng chờ nếu số yêu cầu chờ bé hơn m. Cần xác định các chỉ
tiêu phân tích hệ thống.
Hệ phương trình trạng thái và các xác suất trạng thái
0 = - P0 + P1
0 = - P1 - P1 +P0 + 2P2
.... ...................................
0 = - Pk - kPk +Pk-1 +(k+1)Pk+1
.... ...................................
0 = - nPn - Pn +Pn-1 + nPn+1
11
.... ...................................
0 = - nPn+s - Pn+s +Pn+s-1 + nPn+s+1
.... ...................................
0 = - nPn+m +Pn+m-1
với ĐK chuẩn: 1
k
k
P
đặt  = / ta có: Pk = 0
!
P
k


và Pn+s = 0
!
P
nn s
sn

Nếu /n = 1 thì Pn+s = 0
!
P
n
n

= Pn
Đặt x= /n. Thay vào điều kiện chuẩn ta có:
  

n
k
m
s
s
nk
x
nK
P
0 1
0 1)
!!
(

Khi x1 =>
P0 =
  

n
k
m
s
s
nk
x
n0 1!!
1



=
 


n
k
mnk
x
x
x
n0 1
)1(
!!
1



Hay: P0 =
x
xx
nPnR
P
m



1
)1(
),(),(
)0,(


Khi x=1: P0 =
mnPnR
P
),(),(
)0,(



Các chỉ tiêu đánh giá hoạt động của hệ thống
Đối với hệ thống này các chỉ tiêu cơ bản đánh giá hệ thống là:
(1). Xác suất hệ thống có n kênh rỗi: Pr
Pr = P0
Chỉ tiêu này cho biết tỷ lệ thời gian hệ thống rỗi hoàn toàn, thời gian rỗi hoàn toàn
tồn tại ở mọi hệ thống poát xông nói riêng và các hệ ngẫu nhiên nói chung, dù ta có giảm tối
thiểu đến số kênh phục vụ hay tăng tối đa cƣờng độ dòng yêu cầu.
12
(2). Xác suất một yêu cầu đến hệ thống phải chờ: Pc
Pc = 




 
1
0
0
1
0 !
m
s
s
nm
s
sn Px
n
P

=
x
x
x
xx
nPnR
nP m
m





1
)1(
1
)1(
),(),(
),(


(Khi x1)
Khi x=1: Pc = mPn
(3). Xác suất hệ thống có n kênh bận (hay xác suất một yêu cầu đến hệ thống bị từ
chối Ptc):
Ptc = Pn+m = 0
!
Px
n
m
n

Khi x1: Ptc = m
m
x
x
xx
nPnR
nP



1
)1(
),(),(
),(


Khi x=1: Ptc = Pn+m =Pn
Đây cũng là hiệu suất lý thuyết tối đa của hệ thống, nhƣ vậy trong trƣờng hợp hệ
ngẫu nhiên không có khả năng thiết kế một hệ thống khai thác toàn bộ công suất kỹ thuật
của các kênh.
(4). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống đƣợc nhận phục vụ) là:
Popv = 1-Ptc -Pc
(5). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống):
bN =     


 
n
k
n
k
m
s
snk
m
s
snk PnkPPnkP
0 1 11
Khi x1: =
)1(
1
),(),(
)1(
1
),()1,(
m
m
x
x
x
nPnR
x
x
x
nnPnR








Khi x=1: bN =
mnPnR
nnmPnR
),(),(
),()1,(




(6). Độ dài hàng chờ trung bình
Khi x1: cM =
x
xx
nPnR
sxnP
sP m
m
s
s
m
s
sn





 


1
)1(
),(),(
),(
0
0


bN
13
Trong đó:
]1)1[(
)1(
1
2
1
0
1
1
0














mm
m
s
s
m
s
s
m
s
s
mxxm
x
x
x
x
xsxxsx
Khi x=1: cM =
2
)1( mm
Pn
(7). Thời gian chờ trung bình của một yêu cầu:
Thời gian chờ của mỗi yêu cầu đƣợc xác định bằng khoảng thời gian hệ thống giải
phóng mỗi yêu cầu và số yêu cầu chờ hiện có. Vì vậy nếu gọi thời gian chờ là Tc thì Tc = 0
khi hệ thống còn kênh rỗi; khi có s yêu cầu chờ thì thời gian chờ của mỗi yêu cầu trung bình
sẽ là: s/n, vì vậy có thể tính thời gian chờ trung bình nhƣ sau:
  
 
m
s
m
s
snsnc sPP
n
s
T
0 0
1
1

Hay:

c
c
M
T 
(8). Thời gian rỗi giữa hai lần phục vụ:
n
N
n
N
H
H
TT
b
b
b
b
pvr





1
1
1.4.1.3. Hệ thống chờ thuần nhất
Trong điều kiện hệ thống chờ với độ dài hàng chờ và thời gian chờ đủ lớn, việc một
yêu cầu đến hệ thống đƣợc phục vụ là một biến cố hầu nhƣ chắc chắn. Nói cách khác, ngƣời
ta không cần quan tâm đến việc có còn chỗ chờ hay không và cũng không quan tâm đến thời
gian chờ dài hay ngắn. Với mục đích tiện lợi cho việc phân tích hệ thống, sau đây ta xem
xét mô hình hệ thống phục vụ công cộng chờ với độ dài hàng chờ và thời gian chờ không
hạn chế.
Mô tả hệ thống
Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và
bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời gian phục vụ 1
yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1
14
kênh rỗi thì đƣợc nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngƣợc lại nếu
tất cả các kênh đều bận thì xếp hàng chờ. Cần xác định các chỉ tiêu phân tích hệ thống.
Hệ phương trình trạng thái và các xác suất trạng thái
Áp dụng qui tắc viết hệ phƣơng trình xắc suất trạng thái, ta có thể viết phƣơng trình
trạng thái của hệ thống này. Trong đó các phƣơng trình ứng với các trạng thái từ X0(t) đến
Xn(t) không có gì khác so với các hệ phƣơng trình trên, từ các trạng thái sau Xn(t) ta có vô
số trạng thái có cấu trúc sơ đồ nhƣ nhau vì vậy các phƣơng trình cũng nhƣ nhau. Cụ thể là:
0 = - P0 + P1
0 = - P1 - P1 +P0 + 2P2
.... ...................................
0 = - Pk - kPk +Pk-1 +(k+1)Pk+1
.... ...................................
0 = - nPn - Pn +Pn-1 + nPn+1
.... ...................................
0 = - nPn+s - Pn+s +Pn+s-1 + nPn+s+1
.... ...................................
với ĐK chuẩn: 1
k
k
P
đặt  = / ta có: Pk = 0
!
P
k


và Pn+s = 0
!
P
nn s
sn

Các chỉ tiêu đánh giá hoạt động của hệ thống
Để tính các xác suất trạng thái và các chỉ tiêu ta chỉ cần lấy giới hạn các công thức đã
có ở hệ thống chờ hạn chế với m dần tới vô hạn và /n < 1. Trong trƣờng hợp ngƣợc lại /n
 1 hệ thống không thể tồn tại, vì số yêu cầu chờ tăng vô hạn xác suất hệ thống ở một trạng
thái Xk(t) với k hữu hạn bằng không.
Ta có các công thức tƣơng ứng nhƣ sau:
(1). Xác suất hệ thống có n kênh rỗi: Pr = P0
P0 =
 



n
k s
s
nk
x
n0 1 !!
1



=
x
x
nPnR
P


1
),(),(
)0,(


15
(2). Xác suất một yêu cầu đến hệ thống phải chờ: Pc
Pc =
xn
Px
n
PP
n
s
s
n
s
sn

 





1
1
!!
0
0
0
0

=
x
x
nPnR
x
nP



1
),(),(
1
1
),(


(3). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống đƣợc nhận phục vụ) là:
Ppvo = 1 - Pc
(4). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống):
bN =    




 
n
k
n
k s
s
nk
s
snk x
n
nP
k
kPPnkP
0 1 1
00
1 !!

= )
1!!
(
1
0
0
x
x
n
n
k
P
nn
k
k





 =
x
x
nPnR
x
x
nnPnR




1
),(),(
1
),()1,(


(5). Độ dài hàng chờ trung bình
cM =
x
x
nPnRx
nxP
x
n
PsP
s
s
n
s
sn


 





1
),(),()1(
),(
! 20
0
0


(6). Thời gian chờ trung bình của một yêu cầu

c
c
M
T 
Trong thực tế khi m đủ lớn ngƣời ta sử dụng các công thức của hệ thống chờ thuần
nhất cho hệ thống chờ hạn chế, làm nhƣ vậy việc tính các chỉ tiêu sẽ đơn giản hơn.
1.4.2. Bài toán dự trữ
1.4.2.1. Mô hình dự trữ với việc tiêu thụ đều, bổ sung tức thời (mô hình wilson)
Mô tả bài toán
Giả sử:
 Nhu cầu là một loại hàng hóa trong thời kỳ T (T=1) là Q đơn vị.
 Việc tiêu thụ hàng là đều đặn và thời gian bổ sung hàng vào kho không đáng
khể (tức thời).
 Chi phí cho mỗi lần đặt hàng là A.
16
 Giá đơn vị hàng là C.
 Hệ số chi phí dự trữ là I và thời gian đặt hàng là T0.
=> Hãy xác định số lần đặt hàng và lƣợng hàng đặt mỗi lần sao cho tổng chi phí
thấp nhất.
Thiết lập mô hình
Giả sử ta chia T thành n chu kỳ dự trữ và tiêu thụ, trong mỗi kỳ i đặt mua lƣợng hàng
tƣơng ứng là qi.
Ta có sơ đồ biểu thị số lƣợng hàng trong kho nhƣ sau:
q1 q2
t1 t2
T=1
Hình 1.1: Sơ đồ lượng hàng dự trữ trong kho
Sơ đồ trên thể hiện cƣờng độ tiêu thụ đều, đƣờng biểu diễn lƣợng dự trữ tuyến tính
theo thời gian. Mỗi chu kỳ nhập một lƣợng hàng qi, tiêu thụ đến hết chu kỳ thì phải có hàng
bổ sung vào dự trữ. Nhƣ vậy không xảy ra thiếu, thừa dự trữ, do đó cũng không phát sinh
các chi phí tƣơng ứng.
Trong mỗi chu kỳ ti lƣợng hàng dự trữ trung bình là qi/2, phát sinh chi phí dự trữ tƣơng
ứng qitiIC/2, chi phí đặt hàng là nA, ngoài ra tổng số tiền mua hàng là CQ.
Vậy hàm tổng chi phí là:
F(ti,n) =nA + ∑ + CQ (i = 1,2,…,n)
Vì quy luật tiêu thụ đều nên dễ dàng suy ra: ti = qi/Q với i. Nhƣ vậy ta có:
F(qi,n) =nA + ∑(Icq2
i/2)+ CQ (i = 1,2,…,n)
∑qi = Q ( i = 1,2,…,n)
Với n xác định, ta có thể lấy F(q) bé nhất khi : qi = q = Q/n với , tức là lƣợng hàng
đặt mua mỗi lần đều bằng q.
17
Thật vậy, lập hàm f(qi) = F(qi) – (∑qi – Q) điểm dừng của f(qi) là qi = Q/n. Dễ dàng
nhận thấy đây là điểm cực tiểu của toàn bộ f(qi).
Tóm lại, việc tìm cực tiểu hàm F(ti,n) đƣợc quy về tìm cực tiểu hàm:
F(q) = AQ/q + ICq/2 + CQ. Vì CQ không đổi nên ta chỉ cần tìm q làm cực tiểu
D(q) = AQ/q + ICq/2
Lời giải
Vì D(q) là tổng của 2 số dƣơng có tích không đổi, theo hệ quả bất đẳng thức Cosi,
D(q) nhỏ nhất khi AQ/q = ICq/2. Giải phƣơng trình này ta đƣợc :
Lƣợng đặt hàng tối ƣu là : q* = √
Và D(q*) = √ = 2AQ/q* = ICq*
F(q*) = √ + CQ
Số lần đặt hàng tối ƣu là n* = Q/q*
Chu kỳ dự trữ, tiêu thụ: t* = 1/n*
Điểm đặt hàng: Việc xác định điểm đặt hàng sẽ đơn giản nếu nhƣ T0< t*, nhƣng trong
thực tế có thể T0> t*, nhƣ vậy cần đặt hàng trƣớc một hay một số chu kỳ. Lƣợng hàng trong
kho lúc đặt hàng (điểm đặt hàng ) chính là lƣợng tiêu thụ trong khoảng thời gian đƣợc xác
định theo công thức sau:
[T0 – t*.int(T0.t*)]
Trong trƣờng hợp tổng quát, ta có thể tính B* theo công thức sau:
B* = Q[T0 – t*.int(T0.t*)] (với int(T0/t*) là phần nguyên của T0/t*)
1.4.2.2. Mô hình dự trữ tiêu thụ đều, bổ sung dần dần
Mô tả bài toán
Giả sử :
 Nhu cầu một loại hàng hóa trong thời kỳ T (T = 1) là Q đơn vị.
 Việc tiêu thụ hàng là đều đặn và thời gian bổ sung hàng vào kho đƣợc tiến hành
với cƣờng độ không đổi là K đơn vị trong thời gian T = 1.
 Ta giả thiết rằng K >> Q vì nếu K ≤ Q thì không cần đặt vấn đề dự trữ.
 Chi phí cho mỗi lần đặt hàng là A.
 Giá đơn vị hàng là C, hệ số chi phí dự trữ là I và thời gian đặt hàng là T0.
18
=> Hãy xác định số lần đặt hàng và lƣợng hàng đặt mỗi lần sao cho tổng chi phí
là nhỏ nhất.
Thiết lập mô hình
Tƣơng tự nhƣ mô hình Wilson, ta có thể xem lƣợng hàng đặt mỗi lần bằng nhau và
bằng q, số lần đặt hàng sẽ là n = Q/q. Vì Q << K nên trong mỗi chu kỳ dự trữ, tiêu thụ t có 2
khoảng thời gian ts( thời gian bổ sung hàng vào kho ) và tr ( thời gian chỉ tiến hành tiêu thụ).
Nếu gọi lƣợng hàng tối đa trong kho là S, ta có trong trong thời gian T = 1 nếu nhập
hàng liên tục thì lƣợng hàng dƣ là K – Q ; trong thời gian ts lƣợng hàng dƣ là S.
Vậy S/ts = (K - Q)/T hay S = ts(K – Q).
Mặt khác trong thời gian ts lƣợng hàng đƣợc nhập là q nên q/ts = K/T hay ts = q/K. Từ
đó ta có : S =q(K – Q)/K và có sơ đồ biểu thị số lƣợng hàng dự trữ trong kho nhƣ sau :
S = q( 1 – Q/K)
ts tr
t = ts + tr T = 1
Hình 1.2 : Sơ đồ lượng hàng dự trữ trong kho
Hàm tổng chi phí là :
F(q) = AQ/q + ICq/2(1 – Q/K) + CQ
( Mức dự trữ trung bình đƣợc tính bằng S/2 và S = q(1 – Q/K) )
Nếu đặt I’ = I(1 – Q/K) ta có hàm tổng chi phí ta có hàm tổng chi chi của mô hình
Wilson trong đó I đƣợc thay bằng I’
Lời giải
Lượng đặt hàng tối ưu mỗi lần là : q* = √
Và D(q*) = √
19
F(q*) = √ + CQ
Số lần đặt hàng tối ưu là : n* = Q/q*
Chu kỳ dự trữ, tiêu thụ là : t* = 1/n*
Điểm đặt hàng trong trƣờng hợp này cần phân biệt mức B* khi đang làm đầy kho và
khi đang làm vơi kho.
Đầu tiên ta tính B : B = Q[T0 – t*.int(T0/t*)]
Nếu B ≤ S* thì B* = B : Đặt hàng khi đang làm vơi kho.
Nếu B > S* thì B* = B : Đặt hàng khi đang làm đầy kho.
1.4.2.3. Mô hình dự trữ trong trường hợp giá hàng thay đổi theo số lượng đặt mua
mỗi lần ( Mô hình dự trữ nhiều mức giá )
Trong các mô hình trên, ta giả thiết giá của mỗi đơn vị hàng không đổi. Thực tế do
nhiều lý do khác nhau, giá hàng có thể thay đổi theo quy mô của lô hàng mua mỗi lần,
chẳng hạn ngƣời ta có thể chia các mức giá thành : giá bán lẻ, giá bán buôn cấp 1, giá bán
buôn cấp 2, hay giá theo đơn đặt hàng có ứng vốn, …
Nói một cách tổng quát là giá của mỗi đơn vị hàng có thể thay đổi theo số lƣợng đặt
hàng mỗi lần. Sau đây ta sét một mô hình đại diện cho trƣờng hợp này.
Mô tả bài toán
Nhu cầu một loại hàng hóa trong thời gian T (T =1) là Q đơn vị. Chi phí cho mỗi
lần đặt hàng là A, hệ số chi phí dự trữ là I, giá hàng thay đổi theo số lƣợng mua mỗi lần
nhƣ sau:
Nếu q < s1 giá c1
s1 ≤ q < s2 giá c2
s2 ≤ q < s3 giá c3
-----------------------------------
sk-1≤ q < sk giá ck
-----------------------------------
sn-1 ≤ q giá cn
Trong đó: s1< s2 <…< sn-1
20
Ta gọi si( i = 1,2,…,n ) là các mốc thay đổi giá, có thể xem s0 = 0, sn = và c1>
c2>…>cn
Thiết lập mô hình
Để đơn giản cho việc tìm kết quả, ta giả thiết thời gian bổ sung hàng là bổ sung tức
thời ( thời gian nhỏ, không đáng kể ).
Đặt Fi(q) = + ICi + CiQ
Đây chính là hàm tổng chi phí nếu mua hàng với giá ci.
Ta có :
F1(q) khi q (0,s1)
F2(q) khi q (s1,s2)
F(q) = …………….……
Fn-1(q) khi q (sn-2,sn-1)
Fn(q) khi q (sn-1, )
Lời giải
Theo giả thiết ta có: F1(q) > F2(q) > … > Fn(q) với q > 0
Gọi qi*là điểm cực tiểu của hàm Fi(q), ta có : qi* = √
Do ci giảm dần nên ta luôn có qi* > q*i-1
Mặt khác : Fi(qi*) = CiQ + 2AQ/qi* < Fi-1(qi-1) = Ci-1Q + 2AQ/q*i-1
Ta có thể mô tả trên đồ thị nhƣ sau :
Hình 1.3 : Sơ đồ lượng hàng dự trữ trong kho
21
Với các đặc điểm trên ta có thể mô tả thuật toán tìm giá trị tối ƣu q* nhƣ sau :
Trường hợp 2 mức giá :
Tính q2* = √
Nếu q2* ≥ s1 thì lƣợng đặt hàng tối ƣu là q* = q2*
Nếu q2* <s1 :
Tính F2(s1) = AQ/s1 + IC2s1/2 + C2Q. Đây là giá trị bé nhất của hàm tổng chi phí với
q ≥ s1
Tính q1* = √
F1(q1*) = √ + C1Q
Có ba trƣờng hợp có thể xảy ra nhƣ sau :
TH1: Nếu F2(s1) < F1(q1*) thì q* = s1
TH2: Nếu F2(s1) > F1(q1*) thì q* = q1*
TH3: Nếu F2(s1) = F1(q1*) thì q* = q1* hoặc q* = s1
Trường hợp tổng quát n mức giá:
Xét từ hàm Fn(q) để tìm giá trị nhỏ nhất của hàm F(q) trong khoảng [sn-1, ), nếu giá trị
đó đặt tại điểm cực trị thì ta nhận đƣợc giá trị q* = qn* là giá trị tại đó F(q) nhỏ nhất, ngƣợc
lại ta lấy giá trị Fn(sn-1) làm giá trị nhỏ nhất địa phƣơng.
Xét khoảng [sn-2,sn-1] để tìm giá trị nhỏ n trong nhất của F(q) biểu hiện bởi giá trị nhỏ
nhất của hàm Fn-1(q) trong khoảng này; so sánh với giá trị nhỏ nhất trong khoảng trƣớc đó.
Nhƣ vậy, ta tìm đƣợc q* khi nhận đƣợc giá trị đầu tiên qi* [sn-2,sn-1]
 Tính qn*
 Nếu qn* ≥ sn-1 thì q* = qn*, giá trị nhỏ nhất của F(q) là F(qn*)
 Nếu qn* < sn-1, tính Fn(sn-1) và tính q*n-1
 Nếu qn-1 ≥ sn-2 thì tính Fn-1(q*n-1) và so sánh giá trị này với Fn(sn-1), giá trị nhỏ
nhất tƣơng ứng cho biết lƣợng q* tối ƣu.
 Nếu q*n-1< sn-2 , tính Fn-1(sn-2) và tính q*n-2
 Nếu q*n-2 > sn-3 thì tính Fn-2(q*n-2) và so sánh giá trị này với Fn-1(sn-2) và Fn(sn-2),
giá trị nhỏ nhất tƣơng ứng cho biết lƣợng q* tối ƣu.
 Nếu q*n-2< sn-3, tính Fn-2(sn-3) …
22
 Tiếp tục thuật toán trên cho đến khi nhận đƣợc qi* [sn-1,si] và tìm đƣợc lƣợng
đặt hàng tối ƣu
Cũng có thể thực hiện thuật toán trên một cách máy móc nhƣng đơn giản hơn khi số
mức giá quá lớn nhƣ sau:
 Tính các giá trị qk* với k = n, n-1, n-2, …. Cho đến khi nhận đƣợc q* thỏa mãn
điều kiện
 Tính { Fk(sk-1) với s > i } và Fi(q*i)
 Tìm min { Fk(sk-1) với s > I; Fi(q*i) }
 Điểm đạt nhỏ nhất chính là điểm cực tiểu của hàm F(q).
1.4.3. Bài toán phân tích và dự báo kinh tế
Bài toán phân tích và dự báo là một bài toán có ý nghĩa quan trọng trong việc hỗ trợ
các nhà quản lý đƣa ra quyết định đúng đắn dựa vào các dữ liệu đã thu thập đƣợc. Khi
tiến hành dự báo cần căn cứ vào việc thu thập, xử lý số liệu trong quá khứ và hiện tại để
xác định xu hƣớng vận động của các hiện tƣợng trong tƣơng lai nhờ vào một số mô hình
toán học.
Tính chính xác của dự báo
Tính chính xác của dự báo đề cập đến độ chênh lệch của dự báo với số liệu thực tế.
Bởi vì dự báo đƣợc hình thành trƣớc khi số liệu thực tế xảy ra, vì vậy tính chính xác của dự
báo chỉ có thể đánh giá sau khi thời gian đã qua đi. Nếu dự báo càng gần với số liệu thực tế,
ta nói dự báo có độ chính xác cao và lỗi trong dự báo càng thấp.
Gọi: : giá trị thực tại giai đoạn t
: giá trị dự báo tại giai đoạn t
n: số giai đoạn
Sai số dự báo: et = -
Nếu một mô hình đƣợc đánh giá là tốt thì sai số dự báo phải tƣơng đối nhỏ.
Tiêu chí Công thức tính
1. Sai số trung bình ME =
∑
2. Sai số trung bình tuyệt đối MAE =
∑| |
3. Sai số phần trăm trung bình MPE =
∑
x 100%
23
4. Sai số phần trăm trung bình tuyệt đối MAPE =
∑| |
x 100%
5. Sai số bình phƣơng trung bình MSE =
∑
6. Sai số bình phƣơng trung bình chuẩn RMSE = √
Sai số của dự báo
+ Sai số dự báo là sự chênh lệch giữa mức độ thực tế và mức độ tính toán theo mô
hình dự báo.
+ Sai số dự báo phụ thuộc vào 03 yếu tố: độ biến thiên của tiêu thức trong thời kỳ
trƣớc, độ dài của thời gian của thời kỳ trƣớc và độ dài của thời kỳ dự đoán.
+ Vấn đề quan trọng nhất trong dự báo bằng ngoại suy hàm xu thế là lựa chọn hàm xu
thế, xác định sai số dự đoán và khoảng dự đoán:
- Công thức tính sai số chuẩn ( y )
2
i
y
y y
n p


 
  
 

Trong đó:
y : Sai số chuẩn
yˆ : Giá trị tính toán theo hàm xu thế
yi: Giá trị thực tế
n: Số các mức độ trong dãy số
p: Số các tham số cần tìm trong mô hình xu thế
Công thức này đƣợc dùng để lựa chọn dạng hàm xu thế (so sánh các sai số chuẩn tính
đƣợc) sai số nào nhỏ nhất chứng tỏ rằng hàm tƣơng ứng với sai số sẽ xấp xỉ tốt nhất và đƣợc
lựa chọn làm hàm xu thế để dự đoán. Thông thƣờng để việc dự đoán đƣợc tiến hành đơn
giản ta vẫn chọn hàm xu thế làm hàm tuyến tính.
Công thức tính sai số dự báo:
pSˆ = δy
)1(
)12(31
1



nn
n
n
L
24
Trong đó:
pSˆ : Sai số của dự báo
n: số lượng các mức độ (n=10)
L: tầm xa của dự báo
y : sai số chuẩn
Hệ số tương quan
Khái niệm: Hệ số tƣơng quan là chỉ tiêu đánh giá mức độ chặt chẽ của mối liên hệ
tƣơng quan tuyến tính đơn của hai biến.
Tác dụng:
Xác định cƣờng độ của mối liên hệ từ đó chọn ra nguyên nhân chủ yếu hoặc thứ
yếu đối với hiện tƣợng nghiên cứu.
Xác định chiều hƣớng cụ thể của mối liên hệ (thuận – nghịch).
Hệ số tƣơng quan còn dùng trong nhiều trƣờng hợp dự đoán thống kê và tính sai số
của dự đoán
Công thức tính:
yx
yxxy
r
 .
.

Nhƣ vậy, dấu của hệ số tƣơng quan r phụ thuộc vào dấu của hệ số b vì phƣơng sai
luôn mang dấu dƣơng.
Các tính chất của hệ số tƣơng quan: Miền xác định: –1 ≤ r ≤ 1.
 | |> 0,8 tƣơng quan mạnh
 0,4 ≤ | | ≤ 0,8 tƣơng quan trung bình
 | |< 0,4 tƣơng quan yếu
 | | càng lớn thì tƣơng quan giữa x và y càng chặt
 0 < r ≤1 : gọi là tƣơng quan tuyến tính thuận (x↑, y↑)
 -1 ≤r ≤0 : gọi là tƣơng quan tuyến tính nghịch (x↑, y↓)
Hệ số xác định ( 2
r ): Hệ số xác định dùng để đánh giá sự phù hợp của mô hình, nó
cho biết tỷ lệ % thay đổi của y được giải thích bởi mô hình.
1.4.3.1. Phương pháp hồi quy tuyến tính
Nhiệm vụ đầu tiên của phân tích hồi quy tƣơng quan là xây dựng mô hình hồi quy và
xác định tính chất cũng nhƣ hình thức của mối liên hệ (loại mô hình).
25
Mô hình dự đoán theo phương trình hồi quy: tbay .ˆ 
Trong đó:
t : Trị số của tiêu thức gây ảnh hƣởng (nguyên nhân) (biến độc lập).
yˆ : Trị số điều chỉnh của tiêu thức chịu ảnh hƣởng (kết quả) (biến phụ thuộc) theo
quan hệ với t.
a: Hệ số tự do (hệ số chặn), là điểm xuất phát của đƣờng hồi quy lý thuyết, nêu lên ảnh
hƣởng của các nhân tố khác (tiêu thức nguyên nhân khác) ngoài t tới sự biến động của y.
b: Hệ số hồi quy (hệ số góc, độ dốc), phản ánh ảnh hƣởng trực tiếp của tiêu thức
nguyên nhân t đến tiêu thức kết quả y. Mỗi khi t tăng lên 1 đơn vị thì y sẽ thay đổi trung
bình b đơn vị. b nói lên chiều hƣớng của mối liên hệ: b > 0: Mối liên hệ thuận; b < 0:
Mối liên hệ nghịch.
+ Cách xác định tham số: a, b phải đƣợc xác định sao cho đƣờng hồi quy lý thuyết mô
tả gần đúng nhất mối liên hệ thực tế. Khoảng cách từ điểm thực tế đến điểm thuộc đƣờng
hồi quy lý thuyết nhỏ nhất sẽ là tốt nhất.
Từ phƣơng trìnhh trên bằng phƣơng pháp bình phƣơng nhỏ nhất hoặc thông qua việc
đặt thứ tự thời gian (t) trong dãy số để tính các tham số a, b. Nếu đặt thứ tự thời gian t sao
cho ∑t # 0 ta có công thức tính tham số nhƣ sau:
22
..
tt
tyty
a


 tayb .
Nếu đặt thứ tự thời gian t sao cho ∑t = 0 ta có:
y
n
y
a 

2
t
yt
b

1.4.3.2. Phương pháp san bằng mũ
Điều hòa mũ đƣa ra các dự báo cho giai đoạn trƣớc và thêm vào đó một lƣợng điều
chỉnh để có đƣợc lƣợng dự báo cho giai đoạn kế tiếp. Sự điều chỉnh này là một tỷ lệ nào
đó của sai số dự báo ở giai đoạn trƣớc và đƣợc tính bằng cách nhân số dự báo của giai
đoạn trƣớc với hệ số nằm giữa 0 và 1. Hệ số này gọi là hệ số điều hòa.
Công thức tính nhƣ sau: Ft = Ft-1+ α (At-1−Ft-1)
Trong đó : Ft: Dự báo cho giai đoạn thứ t, giai đoạn kế tiếp.
Ft-1: Dự báo cho giai đoạn thứ t-1, giai đoạn trƣớc.
At-1: Số liệu thực tế của giai đoạn thứ t-1
26
1.4.3.3. Phương pháp Holt – Winter
Mô hình này thƣờng áp dụng đối với sự biến động của hiện tƣợng qua thời gian có xu
thế là tuyến tính và không có biến động thời vụ.
- Giả sử chúng ta có dãy số thời gian y1, y2, y3,…, yn với biến động có tính xu thế.
Bước 1: Chọn các hệ số ,  ( 0 < ,  < 1)
Nếu chọn hằng số san nhỏ tức là chúng ta coi các mức độ hiện thời của dãy số ít ảnh
hƣởng đến mức độ dự báo. Ngƣợc lại nếu chọn hằng số san lớn tức là chúng ta muốn dãy số
san số mũ phản ứng mạnh với những thay đổi hiện tại.
Bước 2: Tiến hành san mũ cho giá trị ƣớc lƣợng và xu thế của dãy số:
Coi giá trị của dãy số thời gian là tổng của 2 thành phần: Thành phần trung bình có
trọng số của các giá trị thực tế (ký hiệu là St – giá trị ƣớc lƣợng của hiện tƣợng ở thời điểm
t) và thành phần xu thế (ký hiệu là Tt). Ta có mô hình san số mũ:
1 t tty S T  
Trong đó:
1 ( 1)(1 ) (1 )t t t t t tS y S T y S    
        
1 ( 1)( ) (1 ).t t t tT S S T     
Đặt S2 = Y2 T2 = Y2 – Y1
Tiến hành san số mũ từ thời điểm thứ 3 trở đi, ta có:
3 3 2 2
3 3 2 2
4 4 3 3
4 4 3 3
(1 )( )
( ) (1 )
(1 )( )
( ) (1 )
...
S Y S T
T S S T
S Y S T
T S S T
 
 
 
 
   
   
   
   
Bước 3: Sử dụng mức và xu thế đã đƣợc san số mũ tại thời điểm để dự đoán cho các
thời điểm trong tƣơng lai để dự đoán giá trị của hiện tƣợng ở thời điểm tƣơng lai t + 1:
1 t tty S T  
Ở thời điểm tƣơng lai (t + h) (h=2, 3 …)
t tt hy S hT  
27
1.4.3.4. Phương pháp trung bình động
Phƣơng pháp trung bình động có trọng số là phƣơng pháp trung bình động có tính đến
ảnh hƣởng của từng giai đoạn khác nhau đến nhu cầu thông qua việc sử dụng các trọng số.
Trong phƣơng bình quân đơn giản đƣợc đề cập ở phần trên, chúng ta xem vai trò của
các số liệu trong quá khứ là nhƣ nhau. Trong một vài trƣờng hợp, các số liệu này có ảnh
hƣởng khác nhau trên kết quả dự báo, vì thế, ngƣời ta thích sử dụng quyền số không đồng
đều cho các số liệu quá khứ. Quyền số hay trọng số là các con số đƣợc gán cho các số liệu
quá khứ để chỉ mức độ quan trọng của chúng ảnh hƣởng đến kết quả dự báo. Quyền số lớn
đƣợc gán cho số liệu gần với kỳ dự báo nhất để ám chỉ ảnh hƣởng của nó là lớn nhất.Việc
chọn các quyền số phụ thuộc vào kinh nghiệm và sự nhạy cảm của ngƣời dự báo.
Công thức:
∑
Trong đó:
: dự báo thời kỳ thứ t.
: số liệu thực tế thời kỳ trƣớc (i = 1,2,3...)
: quyền số tƣơng ứng ở thời kỳ i.
1.4.4. Bài toán lãi suất
Khái niệm: Lãi suất là tỷ lệ của tổng số tiền phải trả so với tổng số tiền vay trong một
khoảng thời gian nhất định. Lãi suất là giá mà ngƣời vay phải trả để sử dụng tiền không thuộc
sở hữu của họ và lợi tức ngƣời cho vay có đƣợc đối với việc trì hoãn chi tiêu.
Mục tiêu: Quản lý lãi suất nhằm hạn chế tối đa tổn thất về thu nhập do sự thay đổi về lãi
suất thị trƣờng, hay nói cách khác khi lãi suất thị trƣờng thay đổi sẽ không ảnh hƣởng tới mức
chênh lệch giữa thu nhập lãi và chi phí lãi và giá trị vốn chủ sở hữu. Các nhà quản lý thƣờng
sử dụng hệ số chênh lệch lãi ròng để đo lƣờng và so sánh sự thay đổi của thu nhập khi có
biến động của lãi suất thị trƣờng. Nhiệm vụ của quản lý rủi ro lãi suất là kiểm soát quy mô
của hệ số thu nhập lãi ròng bằng.
Phương thức tính lãi
Thực hiện đa dạng hóa lãi suất: Do các nhân tố ảnh hƣởng đến chính sách lãi suất của
mỗi hệ thống ngân hàng là khác nhau nên quan điểm điều hành lãi suất của mỗi nhà quản lý
ngân hàng cũng khác nhau. Vì vậy, lãi suất ở hệ thống ngân hàng cũng không dập khuân,
tạo cho khách hàng có nhiều cơ hội lựa chọn ngân hàng để gửi tiền và vay tiền. Để có thể
huy động đƣợc vốn, lãi suất của mỗi loại tiền gửi cũng phải khác nhau. Cụ thể nhƣ sau: Lãi
suất tiền gửi giao dịch (tiền gửi thanh toán). Lãi suất tiền gửi thanh toán dùng trong các doanh
nghiệp không đƣợc hƣởng lãi trực tiếp mà ngƣời gửi chỉ đƣợc hƣởng lãi gián tiếp thông qua các
28
dịch vụ thanh toán miễn phí của ngân hàng. Tài khoản tiền gửi thanh toán dùng cho cá nhân
đƣợc ngân hàng trả lãi, nhƣng lãi suất cho loại tiền gửi này thƣờng thấp hơn lãi suất cho tiền
gửi định kỳ. Lãi suất tiền gửi giao dịch (tiền gửi có kỳ hạn và tiền gửi tiết kiệm ). Khác với tiền
gửi thanh toán, tiền gửi định kỳ là tiền tạm thời chƣa sử dụng hoặc tiền để dành của cá nhân. Vì
vậy mục đích gửi tiền vào ngân hàng là nhằm tìm kiếm lãi -tiền gửi không kỳ hạn: Tiền lãi
đƣợc nhập vào gốc tháng hoặc quý vào ngày đến hạn nếu khách hàng không đến lãnh lãi.
Tiền gửi có kỳ hạn: Tiền lãi đƣợc trả trƣớc vào ngày khách hàng gửi tiền (đối với loại tiết
kiệm trả lãi trƣớc) hoặc trả lãi định kỳ tháng, quý, 6 tháng, 1 năm (đối với loại tiết kiệm trả lãi
định kỳ) hoặc trả lãi cuối kỳ (đối với loại tiết kiệm trả lãi sau).
Rút vốn trước hạn (áp dụng lãi bậc thang):
Khách hàng gửi tiền có kỳ hạn khi có nhu cầu rút vốn trƣớc hạn đƣợc áp dụng lãi
suất ở kỳ hạn tƣơng đƣơng với thời gian gửi thực tế hoặc mức lãi suất ở kỳ hạn ngắn hơn
kế trƣớc (nếu Ngân hàng không huy động loại kỳ hạn tƣơng đƣơng thời gian khách hàng
đã gửi)
Các phương pháp tính lãi suất
Tính lãi suất
Tiền gửi không kỳ hạn: Tiền lãi đƣợc nhập vào gốc tháng hoặc quý vào ngày đến hạn
(rút hết số tiền gửi) nếu khách hàng không đến lĩnh lãi.
Công thức tính lãi:
Tiền lãi = (số dƣ * lãi suất) / 30 * số ngày
Tiền gửi có kỳ hạn: Tiền lãi đƣợc trả trƣớc vào ngày khách hàng gửi tiền (đối với
loại tiền gửi có kỳ hạn trả lãi trƣớc toàn bộ); hoặc trả lãi định kỳ tháng, quý, 6 tháng, 1
năm (đối với loại tiền gửi trả lãi sau định kỳ); hoặc trả lãi cuối kỳ (đối với loại tiền gửi trả
lãi sau toàn bộ).
Công thức tính lãi đơn:
Tiền lãi = số dƣ * số tháng gửi * lãi suất
Công thức tính lãi kép:
Tiền lãi kép = (số dƣ *(1 + lãi suất)^ thời gian gửi
) - số dƣ
1.4.6. Bài toán quản lý
Ứng dụng các phần mềm quản lý là một giải pháp cũng nhƣ xu hƣớng tất yếu của
doanh nghiệp khi muốn phát triển, mở rộng trong tƣơng lai. Thực vậy, khi mà quy mô và
phạm vi hoạt động của doanh nghiệp phát triển đến một mức nào đó sẽ làm cho số lƣợng dữ
29
liệu phát sinh cần phải xử lý cùng với độ phức tạp của bài toán quản lý ngày càng tăng lên.
Việc duy trì một hệ thống thông tin cũ thủ công hay lạc hậu sẽ dần trở thành một gánh nặng,
không đáp ứng đƣợc yêu cầu của công tác quản lý, là nguyên nhân cản trở sự phát triển, mở
rộng của doanh nghiệp hiện tại và trong tƣơng lai.
Sử dụng các phần mềm quản lý đem lại cho doanh nghiệp những lợi ích sau đây:
Có khả năng cung cấp thông tin một cách nhanh chóng cho các nhà quản lý để hỗ trợ
việc ra quyết định. Toàn bộ quá trình xử lý thông tin, tổng hợp báo cáo đƣợc thực hiện tự
động hóa bởi hệ thống phần mềm ứng dụng khiến cho thời gian cần thiết để đáp ứng yêu
cầu của nhà quản lý trong việc truy vấn và khai thác thông tin sẽ rút ngắn rất nhiều. Hơn
nữa, một hệ thống thông tin đƣợc xây dựng toàn diện, tổng thể còn cho phép nhà quản lý có
thể thực hiện việc kiểm tra, theo dõi quá trình, tiến độ và kết quả việc thực hiện các quyết
định quản lý đƣợc ban hành. Đối với các công ty có quy mô lớn, tính chất theo kiểu tập
đoàn, công ty mẹ con thì việc tin học hóa công tác quản lý sẽ giúp cho họ tổ chức thành
công việc quản lý, thu thập tổng hợp số liệu từ các nguồn khác nhau.
Doanh nghiệp sẽ giảm chi phí về nhân công, chi phí cho việc lƣu trữ, bảo quản và tiết
kiệm đƣợc thời gian. Để có thể đảm bảo thực hiện nhiệm vụ của mình thì một hệ thống quản
lý thủ công cần rất nhiều nhân lực. Khi áp dụng tin học vào hoạt động quản lý thì hầu hết
những công việc tổng hợp và xử lý số liệu phải thực hiện thủ công trƣớc đây nay đƣợc làm
tự động hóa bởi các phần mềm máy tính. Công việc của cán bộ trong hệ thống thông tin
quản lý nay chỉ còn phải cập nhật số liệu phát sinh từ giao dịch hay hoạt động của tổ chức
với sự trợ giúp của máy tính sau đó thực hiện in các báo cáo theo yêu cầu tại các mục chức
năng tƣơng ứng của phần mềm ứng dụng. Việc lƣu trữ hệ thống chứng từ, hóa đơn thủ công
trƣớc đây cần rất nhiều không gian cũng nhƣ tốn rất nhiều thời gian nếu có nhu cầu tìm
kiếm và tra cứu. Cơ sở dữ liệu của hệ thống quản lý tin học hóa đƣợc lƣu trữ trong các
phƣơng tiện nhớ của máy tính điện tử, đƣợc quản trị một cách hợp nhất bởi một hệ quản trị
cơ sở dữ liệu bảo đảm tối ƣu về không gian lƣu trữ cũng nhƣ thời gian truy xuất và tìm kiếm
Sử dụng các phần mềm để giải quyết các bài toán quản lý giúp doanh nghiệp có cơ hội
tiếp cận những ứng dụng hiện đại của công nghệ thông tin nhƣ tham gia thƣơng mại điện tử,
với cơ hội mở rộng phạm vi giao dịch vƣợt ra ngoài biên giới quốc gia vƣơn tới các nƣớc
trong khu vực và trên thế giới, thời gian giao dịch có thể đƣợc tiến hành 24/7. Với hệ thống
thông tin quản lý hiện đại, doanh nghiệp sẽ có uy tín hơn đƣợc tin tƣởng hơn trong mắt các
đối tác bạn hàng trong khu vực và trên thế giới, vì vậy sẽ có cơ hội tiếp cận những hợp đồng
lớn hơn, giá trị cao hơn.
30
1.5. Câu hỏi và bài tập chương 1
Câu 1: Anh(chị) hãy trình bày thông tin và vai trò của thông tin trong kinh tế và xã
hội?
Câu 2: Anh(chị) hãy trình bày thông tin kinh tế và hệ thống thông tin kinh tế?
Câu 3: Anh(chị) hãy trình bày mô hình kinh tế và ý nghĩa của việc tin học hóa các mô
hình kinh tế?
Câu 4: Anh(chị) hãy trình bày hiểu biết của mình về tình hình tin học hóa công tác
quản lý, nghiệp vụ tại các cơ quan, doanh nghiệp nƣớc ta hiện nay?
Câu 5: Tại sao nói ”Lập trình ứng dụng kinh tế là giải pháp phát triển cũng nhƣ là xu
thế của các doanh nghiệp Việt Nam trong giai đoạn hội nhập kinh tế quốc tế hiện nay”,
Anh(chị) hãy bình luận về phát biểu trên.
Câu 6: Anh(chị) hãy phân tích những lợi ích thu đƣợc khi tin học hóa công tác quản lý,
nghiệp vụ tại các cơ quan, doanh nghiệp?
Câu 7: Anh(chị) hãy phân tích những ai đƣợc hƣởng lợi từ việc tin học hóa công tác
quản lý, nghiệp vụ tại các cơ quan, doanh nghiệp?
Câu 8: Anh(chị) hãy trình bày hệ thống phục vụ công cộng từ chối cổ điển? Cho ví dụ
minh họa?
Câu 9: Anh(chị) hãy trình bày hệ thống chờ với độ dài hàng chờ hạn chế và thời gian
chờ không hạn chế? Cho ví dụ minh họa?
Câu 10: Anh(chị) hãy trình bày hệ thống chờ thuần nhất? Cho ví dụ minh họa?
Câu 11: Anh(chị) hãy trình bày mô hình dự trữ với việc tiêu thụ đều, bổ sung tức thời?
Cho ví dụ minh họa?
Câu 12: Anh(chị) hãy trình bày mô hình dự trữ tiêu thụ đều, bổ sung dần dần? Cho ví
dụ minh họa?
Câu 13: Anh(chị) hãy trình bày mô hình dự trữ nhiều mức giá? Cho ví dụ minh họa?
Câu 14: Anh(chị) hãy trình bày tính chính xác của dự báo?
Câu 15: Anh(chị) hãy trình bày sai số của dự báo?
Câu 16: Anh(chị) hãy trình bày hệ số tƣơng quan của dự báo?
Câu 17: Anh(chị) hãy trình bày phƣơng pháp hồi quy tuyến tính? Cho ví dụ minh họa?
Câu 18: Anh(chị) hãy trình bày phƣơng pháp san bằng mũ? Cho ví dụ minh họa?
Câu 19: Anh(chị) hãy trình bày phƣơng pháp Holt – Winter? Cho ví dụ minh họa?
31
Câu 20: Anh(chị) hãy trình bày phƣơng pháp trung bình động? Cho ví dụ minh họa?
Câu 21: Anh(chị) hãy trình bày khái niệm và mục tiêu của bài toán lãi suất?
Câu 22: Anh(chị) hãy trình bày phƣơng thức tính lãi trong bài toán lãi suất? Cho ví dụ
minh họa?
Câu 23: Anh(chị) hãy trình bày các phƣơng pháp tính lãi suất? Cho ví dụ minh họa?
32
Chương 2.
LẬP TRÌNH WINDOWS FORMS
Tóm tắt chương 02
Trong chương này, giáo trình cung cấp cách thức xây dựng một ứng dụng trên nền
tảng Windows Form Application. Các ứng dụng được hướng dẫn xây dựng qua hai phần
chính là phần giao diện và mã chương trình. Phần giao diện là màn hình Form chức các
control cho phép người sử dụng thao tác, chỉ thị, nhập liệu và trình bày dữ liệu phục vụ cho
nhu cầu của tổ chức doanh nghiệp. Trong khi đó, mã chương trình là tập lệnh bao gồm hai
phần chính là khai báo và chương trình con.
Bên cạnh đó, giáo trình còn cung cấp các kiến thức nền tảng của ngôn ngữ lập trình C
Sharp như : môi trường lập trình, biến, hằng, kiểu dữ liệu, cấu trúc điều khiển, cấu trúc
lặp… và các thức xử lý dữ liệu với ADO.Net
Các vấn đề chính sẽ được đề cập:
 Kiến thức cơ bản về ngôn ngữ C Sharp
 Xây dựng Windows Form Application
 Xử lý dữ liệu với ADO.Net
 Câu hỏi và bài tập chương 2
2.1. Cơ bản ngôn ngữ C#
2.1.1. Giới thiệu C#
Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 80 từ khóa và hơn mƣời mấy kiểu dữ liệu
đƣợc dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa to lớn khi nó thực thi những khái
niệm lập trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần
component, lập trình hƣớng đối tƣợng. Những tính chất đó hiện diện trong một ngôn ngữ
lập trình hiện đại. Hơn nữa ngôn ngữ C# đƣợc xây dựng trên nền tảng hai ngôn ngữ mạnh
nhất là C++ và Java.
Tóm lại, C# có các đặc trƣng sau đây:
 C# là ngôn ngữ đơn giản
 C# là ngôn ngữ hiện đại
 C# là ngôn ngữ hƣớng đối tƣợng
 C# là ngôn ngữ mạnh mẽ và mềm dẻo
 C# là ngôn ngữ hƣớng module
 C# sẽ trở nên phổ biến
33
2.1.1.1. C# là ngôn ngữ đơn giản
 C# loại bỏ đƣợc một vài sự phức tạp và rối rắm của các ngôn ngữ C++ và Java.
 C# khá giống C / C++ về diện mạo, cú pháp, biểu thức, toán tử.
 Các chức năng của C# đƣợc lấy trực tiếp từ ngôn ngữ C / C++ nhƣng đƣợc cải
tiến để làm cho ngôn ngữ đơn giản hơn.
2.1.1.2. C# là ngôn ngữ hiện đại
C# có đƣợc những đặc tính của ngôn ngữ hiện đại nhƣ:
 Xử lý ngoại lệ
 Thu gom bộ nhớ tự động
 Có những kiểu dữ liệu mở rộng
 Bảo mật mã nguồn
2.1.1.3. C# là ngôn ngữ hướng đối tượng
C# hỗ trợ tất cả những đặc tính của ngôn ngữ hƣớng đối tƣợng là:
 Sự đóng gói (encapsulation)
 Sự kế thừa (inheritance)
 Đa hình (polymorphism)
2.1.1.4. C# là ngôn ngữ mạnh mẽ và mềm dẻo
 Với ngôn ngữ C#, chúng ta chỉ bị giới hạn ở chính bản thân của chúng ta. Ngôn
ngữ này không đặt ra những ràng buộc lên những việc có thể làm.
 C# đƣợc sử dụng cho nhiều dự án khác nhau nhƣ: tạo ra ứng dụng xử lý văn bản,
ứng dụng đồ họa, xử lý bảng tính; thậm chí tạo ra những trình biên dịch cho các
ngôn ngữ khác.
 C# là ngôn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa dùng để
mô tả thông tin, nhƣng không vì thế mà C# kém phần mạnh mẽ. Chúng ta có thể
tìm thấy rằng ngôn ngữ này có thể đƣợc sử dụng để làm bất cứ nhiệm vụ nào.
2.1.1.5. C# là ngôn ngữ hướng module
 Mã nguồn của C# đƣợc viết trong Class (lớp). Những Class này chứa các
Method (phƣơng thức) thành viên của nó.
 Class (lớp) và các Method (phƣơng thức) thành viên của nó có thể đƣợc sử
dụng lại trong những ứng dụng hay chƣơng trình khác.
2.1.1.6. C# sẽ trở nên phổ biến
C# mang đến sức mạnh của C++ cùng với sự dễ dàng của ngôn ngữ Visual Basic.
34
2.1.2. Môi trường lập trình
2.1.2.1. Sử dụng Notepad soạn thảo
Bước 1: Soạn thảo tập tin và lƣu với tên C:ChaoMung.cs có nội dung nhƣ sau
class ChaoMung
{
static void Main()
{
// Xuat ra man hinh chuoi thong bao 'Chao mung ban den voi LTUDKT
System.Console.WriteLine("Chao mung ban den voi LTUDKT ") ;
System.Console.ReadLine() ;
}
}
Bước 2: Vào menu Start | All Programs | Microsoft Visual Studio 2008 | Visual
Studio Tools | Visual Studio 2008 Command Prompt
Bước 3:
 Gõ lệnh biên dịch tập tin ChaoMung.cs sang tập tin ChaoMung.exe
C:> csc /t:exe /out:chaomung.exe chaomung.cs
 Chạy tập tin ChaoMung.exe và đƣợc kết quả nhƣ sau :
C:> chaomung.exe
Chao mung ban den voi LTUDKT
2.1.2.2. Sử dụng Micosoft Visual Studio 2008 để tạo chương trình
Bước 1: Khởi động Visual Studio 2008
Start | All Programs | Microsoft Visual Studio 2008 | Microsoft Visual Studio 2008
Bước 2: Vào menu File | New | Project
Bước 3: Khai báo
35
Hình 2.1. Khai báo khi tạo ứng dụng
Mặc định: Visual Studio 2008 (Visual Studio .NET) sẽ tạo ra tập tin Program.cs
chứa một namespace tên ChaoMung và trong namespace này chứa một class tên Program.
Bước 4: trong phƣơng thức Main, gõ đoạn mã lệnh sau
* Ví dụ:
// Xuat ra man hinh chuoi thong bao 'Chao mung ban den voi LTUDKT
System.Console.WriteLine("Chao mung ban den voi LTUDKT ") ;
System.Console.ReadLine() ;
Bước 5: Để chạy chƣơng trình, nhấn F5 hoặc nhắp vào nút
2.1.3. Biến, hằng, toán tử
2.1.3.1. Biến
a) Khái niệm:
- Biến là một vùng lƣu trữ ứng với một kiểu dữ liệu.
- Biến có thể đƣợc gán giá trị và cũng có thể thay đổi giá trị trong khi thực hiện các
lệnh của chƣơng trình.
b) Khai báo biến: Sau khi khai báo biến phải gán giá trị cho biến
<Kiểu_Dữ_Liệu> <tên_biến> [ = <giá_trị> ] ;
c) Ví dụ: Khởi tạo và gán giá trị một biến
class Bien
36
{
static void Main()
{
// Khai bao va khoi tao bien
int bien = 9 ;
System.Console.WriteLine("Sau khi khoi tao: bien = {0}", bien) ;
// Gan gia tri cho bien
bien = 5 ;
// Xuat ra man hinh
System.Console.WriteLine("Sau khi gan: bien = {0}", bien) ;
}
}
2.1.3.2. Hằng
a) Khái niệm:
- Hằng cũng là một biến nhƣng giá trị của hằng không thay đổi trong khi thực hiện
các lệnh của chƣơng trình.
- Hằng đƣợc phân làm 3 loại:
+ Giá trị hằng (literal)
+ Biểu tƣợng hằng (symbolic constants)
+ Kiểu liệt kê (enumerations)
b) Giá trị hằng:
Ví dụ: x = 100; // 100 đƣợc gọi là giá trị hằng
c) Biểu tƣợng hằng: gán một tên hằng cho một giá trị hằng.
Khai báo:
<const> <Kiểu_Dữ_Liệu> <tên_hằng> = <giá_trị> ;
Ví dụ: Nhập vào bán kính, in ra chu vi và diện tích hình tròn.
class HinhTron
{
37
static void Main()
{
// Khai bao bieu tuong hang
const double PI = 3.14159 ;
// Khai bao bien
int bankinh ;
double chuvi , dientich ;
string chuoi ;
// Nhap gia tri cho bien chuoi
System.Console.Write("Nhap ban kinh hinh tron: ") ;
chuoi = System.Console.ReadLine() ;
// Doi chuoi thanh so va gan vao bien so
bankinh = System.Convert.ToInt32(chuoi) ;
// Gan gia tri cho bien
chuvi = 2 * bankinh * PI ;
dientich = bankinh * bankinh * PI ;
// Xuat ra man hinh
System.Console.WriteLine("Chu vi hinh tron = {0:0.00}", chuvi) ;
System.Console.WriteLine("Dien tich hinh tron = {0:0.00}", dientich) ;
}
}
d) Kiểu liệt kê: là tập hợp các tên hằng có giá trị số không thay đổi
Khai báo:
<enum> <Tên_Kiểu_Liệt_Kê>
{
<tên_hằng_1> = <giá_trị_số_1>,
<tên_hằng_2> = <giá_trị_số_2>,
... ,
38
} ;
Ví dụ:
enum NhietDoNuoc
{
DoDong = 0, DoNguoi = 20, DoAm = 40, DoNong = 60, DoSoi = 100,
} ;
2.1.3.3. Toán tử
a) Toán tử toán học: + , - , * , / , %
b) Toán tử tăng / giảm: += , -= , *= , /= , %=
c) Toán tử tăng / giảm 1 đơn vị: ++ , --
d) Toán tử gán: =
e) Toán tử quan hệ: == , != , > , >= , < , <=
f) Toán tử logic: ! , && , ||
g) Toán tử 3 ngôi: (Điều_Kiện) ? (Biểu_Thức_1) : (Biểu_Thức_2) ;
2.1.4. Kiểu dữ liệu
C# chia kiểu dữ liệu thành hai tập hợp kiểu dữ liệu chính:
 Kiểu xây dựng sẵn (built-in): do ngôn ngữ cung cấp cho ngƣời lập trình.
 Kiểu do ngƣời dùng định nghĩa (user-defined): do ngƣời lập trình tạo ra.
2.1.4.1. Kiểu dữ liệu dựng sẵn
Bảng 2.1. Kiểu dữ liệu dựng sẵn
Kiểu C# Số byte Kiểu .NET Mô tả
byte 1 Byte Số nguyên dƣơng không dấu từ 0 đến 255
char 2 Char Ký tự Unicode
bool 1 Boolean Giá trị logic true / false
sbyte 1 Sbyte Số nguyên có dấu từ -128 đến 127
short 2 Int16 Số nguyên có dấu từ -32768 đến 32767
ushort 2 Uint16 Số nguyên dƣơng không dấu từ 0 đến 65535
39
int 4 Int32 Số nguyên có dấu từ -2.147.483.647 đến
2.147.483.647
uint 4 Uint32 Số nguyên không dấu từ 0 đến 4.294.967.295
float 4 Single Kiểu dấu chấm động, giá trị xấp xỉ từ -3.4E-
38 đến 3.4E+38, với 7 chữ số có nghĩa
double 8 Double Kiểu dấu chấm động có độ chính xác gấp đôi,
giá trị xấp xỉ từ -1.7E-308 đến 1.7E+308, với 15,
16 chữ số có nghĩa
decimal 8 Decimal Có độ chính xác đến 28 con số và giá trị thập phân,
đƣợc dùng trong tính toán tài chính, kiểu này đòi
hỏi phải có hậu tố “m” hay “M”
long 8 Int64 Kiểu số nguyên có dấu có giá trị trong
khoảng -9.223.370.036.854.775.808 đến
9.223.372.036.854.775.807
ulong 8 Uint64 Số nguyên không dấu từ 0 đến 0xfffffffffffffff
* Bảng trình bày các ký tự đặc biệt
Bảng 2.2. Bảng các ký tự đặc biệt
Ký tự Ý nghĩa
' Dấu nháy đơn
" Dấu nháy kép
 Dấu chéo
0 Ký tự null
a Alert
b Backspace
f Sang trang form feed
n Dòng mới
r Đầu dòng
t Tab ngang
v Tab dọc
40
2.1.4.2. Chuyển đổi kiểu dữ liệu
Ví dụ a:
short x = 10 ;
int y = x ; // chuyển đổi ngầm định
Ví dụ b:
short x ;
int y = 100 ;
x = (short) y ; // ép kiểu tường minh, trình biên dịch không báo lỗi
Ví dụ c:
short x ;
int y = 100 ;
x = y ; // không biên dịch, lỗi
2.1.5. Cấu trúc điều khiển
2.1.5.1. Câu lệnh if … else
a) Cú pháp:
if (Điều_Kiện)
<Khối lệnh Điều_Kiện đúng>
[else
<Khối lệnh Điều_Kiện sai>]
b) Ví dụ: Dùng câu lệnh điều kiện if … else
using System;
class Chan_Le
{
static void Main()
{
// Khai bao va khoi tao bien
int bienDem = 9 ;
// Xuat ra man hinh
41
if (bienDem % 2 == 0)
Console.WriteLine("{0} la so chan", bienDem) ;
Else
Console.WriteLine("{0} la so le", bienDem) ;
}
}
2.1.5.2. Câu lệnh if lồng nhau
a) Cú pháp:
if (Điều_Kiện_1)
<Khối lệnh 1>
else if (Điều_Kiện_2)
<Khối lệnh 2.1>
Else
<Khối lệnh 2.2>
b) Ví dụ:
using System;
class Thu_Trong_Tuan
{
static void Main()
{
// Khai bao va khoi tao bien
int thu = 5 ;
// 0: Chu nhat, 1: Thu hai, 2: Thu ba, 3: Thu tu,
// 4: Thu nam, 5: Thu sau, 6: Thu bay
// Xuat ra man hinh
if ((thu == 1) || (thu == 3) || (thu == 5))
Console.WriteLine("Day la ngay 2-4-6") ;
else if ((thu == 2) || (thu == 4) || (thu == 6))
42
Console.WriteLine("Day la ngay 3-5-7") ;
Else
Console.WriteLine("Day la ngay chu nhat") ;
}
}
2.1.5.3. Câu lệnh switch
a) Cú pháp:
switch (Biểu_Thức)
{
case <giá_trị_1>:
< Khối lệnh 1>
<Lệnh Nhảy>
case <giá_trị_2>:
< Khối lệnh 2>
<Lệnh Nhảy>
…. [default:
< Khối lệnh khác>]
}
b) Ví dụ:
using System;
class Thu
{
static void Main()
{
// Khai bao va khoi tao bien
int thu = 5 ;
// 0: Chu nhat, 1: Thu hai, 2: Thu ba, 3: Thu tu,
// 4: Thu nam, 5: Thu sau, 6: Thu bay
43
// Xuat ra man hinh
switch (thu)
{
case 0:
Console.WriteLine("Chu nhat") ;
break;
case 1:
Console.WriteLine("Thu hai") ;
break;
case 2:
Console.WriteLine("Thu ba") ;
break;
case 3:
Console.WriteLine("Thu tu") ;
break;
case 4:
Console.WriteLine("Thu nam") ;
break;
case 5:
Console.WriteLine("Thu sau") ;
break;
case 6:
Console.WriteLine("Thu bay") ;
break;
default:
Console.WriteLine("Khong phai la thu trong tuan") ;
break;
}
44
}
}
2.1.6. Cấu trúc lặp
2.1.6.1. Lệnh lặp while
a) Cú pháp:
while (Điều_Kiện)
< Khối lệnh>
b) Ví dụ:
using System;
class UsingWhile
{
static void Main()
{
// Khai bao va khoi tao bien dem
int i = 1 ;
// Xuat ra man hinh
while (i<=10)
{
Console.WriteLine("i = {0}",i) ;
i++ ; // tang bien dem,
}
}
}
2.1.6.2. Lệnh lặp do … while
a) Cú pháp:
do
< Khối lệnh>
while (Điều_Kiện) ;
45
b) Ví dụ:
using System;
class UsingDoWhile
{
static void Main()
{
// Khai bao va khoi tao bien dem
int i = 1 ;
// Xuat ra man hinh
do
{
Console.WriteLine("i = {0}",i) ;
i++ ; // tang bien dem
}
while (i<= 10) ;
}
}
2.1.6.3. Lệnh lặp for
a) Cú pháp:
for ([Khởi_tạo] ; [Điều_kiện] ; [Bƣớc_lặp])
< Khối lệnh>
b) Ví dụ:
using System;
class UsingFor
{
static void Main()
{
for (int i=1 ; i<=30 ; i++)
46
if (i % 10 ==0)
Console.Write("{0} nr",i) ;
Else
Console.Write("{0} ",i) ;
}
}
2.1.6.4. Lệnh lặp foreach
a) Cú pháp:
foreach (<Kiểu_tập_hợp> <Tên_truy_cập_thành_phần> in <Tên_tập_hợp>)
< Khối lệnh>
b) Ví dụ:
using System;
public class UsingForeach
{
public static void Main()
{
// Khai báo mảng gồm các phần từ từ 1 đến 10
int[] intArray = {1,2,3,4,5,6,7,8,9,10};
foreach (int item in intArray)
// Xuất màn hình
Console.WriteLine("i = {0} ",item) ;
}
}
2.1.7. Một số kiến thức cần nhớ
2.1.7.1. Namespace
 .NET cung cấp một thƣ viện các class rất đồ sộ, trong đó Console là một class nhỏ
trong thƣ viện các class này.
 Mỗi class có một tên riêng, vì vậy ngƣời lập trình không thể nào nhớ hết tên các
class trong .NET. Để giải quyết vấn đề này là việc tạo ra một namespace,
47
namespace sẽ hạn chế phạm vi của một tên, làm cho tên này chỉ có ý nghĩa trong
vùng đã định nghĩa.
2.1.7.2. Từ khóa using
 Để không phải viết namespace cho từng đối tƣợng, ta dùng từ khóa using.
 Ta có thể dùng dòng lệnh sau ở đầu chƣơng trình:
using System ;
Khi đó, thay vì viết đầy đủ System.Console. ta chỉ cần viết Console.
2.1.7.3. Từ khóa static
Từ khóa static chỉ ra rằng hàm Main() có thể đƣợc gọi mà không cần phải tạo đối
tƣợng ChaoMung.
2.1.7.4. Từ khóa this
Từ khóa this dùng để tham chiếu đến thể hiện hiện hành của đối tƣợng.
2.1.7.5. Chú thích (Comment)
 Một chƣơng trình đƣợc viết tốt thì cần phải có chú thích các đoạn mã lệnh đƣợc viết.
 Mục đích chính là làm cho đoạn mã lệnh nguồn rõ ràng và dễ hiểu.
 Có 2 loại chú thích:
- Chú thích một dòng: //
- Chú thích nhiều dòng: /* */
2.1.7.6. Phân biệt chữ thường và chữ hoa
C# là ngôn ngữ phân biệt chữ thƣờng với chữ hoa.
2.1.7.7. Toán tử '. '
Toán tử '. ' đƣợc sử dụng để truy cập đến phƣơng thức hay dữ liệu trong một class
và ngăn cách giữa tên class đến một namespace.
2.1.7.8. Câu lệnh (statement)
Một chỉ dẫn lập trình đầy đủ đƣợc gọi là một câu lệnh.
Ví dụ: int bankinh = 5 ; // một câu lệnh
chuvi = 2 * bankinh * PI ; // một câu lệnh khác
2.1.7.9. Kiểu chuỗi ký tự
Kiểu chuỗi ký tự là một mảng các ký tự.
48
a) Khai báo chuỗi hằng:
string <Tên_chuỗi_hằng> = <"Noi dung chuoi hang"> ;
Ví dụ: string tentuong = "Lap Trinh Ung Dung Kinh te" ;
b) Khai báo biến kiểu chuỗi:
string <Biến_chuỗi> [= "Noi dung chuoi hang"] ;
Ví dụ: string hoten = "Nguyen Van A" ;
c) Nhập chuỗi:
<Biến_chuỗi> = System.Console.ReadLine() ;
Ví dụ: hoten = System.Console.ReadLine() ;
d) Xuất chuỗi:
System.Console.WriteLine("Chuoi") ;
Ví dụ: System.Console.WriteLine("Do dai cua chuoi la:") ;
e) Một số thao tác trên chuỗi:
Bảng 2.3. Một số thao tác trên chuỗi
Phương thức Ý nghĩa
Length Chiều dài của chuỗi
Substring() Lấy chuỗi con
ToLower() Trả về bản sao của chuỗi ở kiểu chữ thƣờng
ToUpper() Trả về bản sao của chuỗi ở kiểu chữ IN HOA
2.2. Xây dựng Windows form application
2.2.1. Sử dụng Microsoft Visual Studio 2008
2.2.1.1. Khởi động
Bước 1: Khởi động Visual Studio 2008
Start | All Programs | Microsoft Visual Studio 2008 | Microsoft Visual Studio 2008
Bước 2: Vào menu File | New | Project
49
Bước 3: Khai báo
Hình 2.2. Khao báo khi khởi tạo ứng dụng Windows form application
Mở hộp ToolBox: Menu View | ToolBox chứa các control
Mở cửa sổ Properties: Menu View | Properties chứa thuộc tính
Mở cửa sổ Solution Explorer: Menu View | Solution Explorer cửa sổ Project xuất hiện.
Bước 4: Thiết kế Form – Viết code
Thiết kế form: Nhắp vào View Designer (trong cửa số Solution Explorer)
Viết code: Nhắp vào View Code (trong cửa số Solution Explorer)
Bước 5: Để chạy chƣơng trình, nhấn F5 hoặc nhắp vào nút
Để dừng chƣơng trình, nhấn Shift + F5 hoặc nhắp vào nút
2.2.1.2. Các thao tác với Project / Solution
a) Tạo Project
 C1. Vào menu File | New | Project
 C2. Ctrl + Shift + N
 C3. Chọn công cụ New Project trên thanh Standart
b) Mở Project / Solution:
 C1. Vào menu File | Open | Project / Solution
 C2. Ctrl + Shift + O
50
c) Lƣu Project / Solution
 C1. Vào menu File | Save All
 C2. Chọn công cụ Save All trên thanh Standart
d) Đóng Solution: Vào menu File | Close Solution
2.2.1.3. Màn hình giao diện của Windows Forms
a) Cửa sổ thiết kế Form (Designer):
Hình 2.3. Cửa sổ thiết kế form
b) Cửa sổ viết code:
Hình 2.4. Cửa sổ viết code
2.2.1.4. Các thao tác với Form
a) Thêm một Form mới vào Project:
Bước 1:
 C1. Vào menu Project | Add New Item …
 C2. Chọn công cụ Add New Item trên thanh Standart
Bước 2: Khai báo
 Categories: chọn Windows Forms
 Templates: chọn Windows Form
51
 Name: đặt tên Form
Bước 3: Nhắp Add
b) Thêm một Form có sẵn vào Project:
Bước 1: Vào menu Project | Add Existing Item …
Bước 2: Chọn Form
Bước 3: Nhắp Add
c) Xóa bỏ một Form đang có trong Project:
Bước 1: Chọn Form cần gỡ bỏ (ở cửa sổ Solution Explorer)
Bước 2: Vào menu Edit | Delete
d) Lƣu Form
 Vào menu File | Save Form.cs
 Ctrl + S
* Ghi chú
- Ta đem “bỏ vào” form các đối tƣợng nhƣ: Label, TextBox, Button, …
+ Label, TextBox, Button, … đƣợc gọi là control hay còn gọi là component.
+ Form đƣợc gọi là control “chứa”.
- Khi thay đổi nội dung của Label, TextBox, Button, … ta thay đổi vào Text. Text
đƣợc gọi là Property của control.
2.2.1.5. Control là gì?
 Control là lớp (class) các thành phần đƣợc thêm vào Windows Forms để tƣơng
tác giữa ngƣời sử dụng với Windows.
 Có rất nhiều loại control trong Windows Forms nhƣ: Label, TextBox,
ListBox, ComboBox, Button, …
 Các control sử dụng trên Windows Forms dùng namespace
System.Windows.Forms.
2.2.1.6. Properties (thuộc tính) của control
 Properties là những thông tin mà ta có thể thay đổi nội dung, cách trình bày
… của ngƣời thiết kế để ứng dụng vào control.
 Mỗi lớp (class) có nhiều property khác nhau. Tuy nhiên, vẫn có một số property
giống nhau đƣợc xây dựng từ lớp ban đầu.
52
Bảng trình bày các thuộc tính (Properties)
Bảng 2.4. Mô tả các thuộc tính
Thuộc tính Mô tả
Anchor Có 4 hƣớng đƣợc định nghĩa là: top, bottom, left, right để cố định
(neo). Khi control chứa nó thay đổi kích thƣớc thì nó sẽ bị thay đổi
kích thƣớc nếu nếu các hƣớng left / right / top / bottom bị cố định
(neo).
BackColor Màu nền của control.
Bottom Là khoảng cách theo chiều dọc từ cạnh đáy của control đến cạnh
trên của control chứa nó.
Dock Giống nhƣ Anchor nhƣng việc cố định (neo) này theo một cạnh
nào đó của control (hoặc cả 4 cạnh) với control chứa nó.
Enabled Control đƣợc phép tƣơng tác (True) hay không đƣợc phép tƣơng
tác (False)) với ngƣời dùng.
ForeColor Màu chữ của control.
Height Là chiều cao của control tính từ cạnh trên của control đến cạnh dƣới
của control.
Left Là khoảng cách theo chiều ngang từ cạnh trái của control đến cạnh
trái của control chứa nó.
Name Tên của control.
Parent Chỉ đến control chứa control hiện hành.
Right Là khoảng cách theo chiều ngang từ cạnh phải của control đến cạnh
trái của control chứa nó.
TabIndex Thứ tự focus khi nhấn phím Tab (trên bàn phím) của control so với
các control khác cùng nằm trong control chứa nó.
TabStop Chỉ định control có đƣợc phép “bắt” (True) / không đƣợc phép
“bắt” (False) phím Tab. Nếu không đƣợc phép thì TabIndex cũng
không dùng đƣợc.
Tag Là nhãn phân biệt giữa các control giống nhau trong cùng form.
Text Nội dung hiện trong control.
53
Top Là khoàng cách theo chiều dọc từ cạnh trên của control đến cạnh
trên của control chứa nó.
Visible Cho phép control hiện (True) / không hiện (False) khi chạy ứng
dụngWidth Là chiều rộng của control tính từ cạnh trái của control đến cạnh phải
của control.
Bảng trình bày các phƣơng thức (Method) xử lý trên chuỗi
Bảng 2.5. Mô tả các phương thức xử lý trên chuỗi
Phương thức Mô tả
Clear() Xóa nội dung
ResetText() Xóa nội dung Text
Trim() Cắt bỏ khoảng trắng thừa hai bên chuỗi
Dừng chương trình:
this.Close();
Application.Exit();
Event (sự kiện) là gì?
 Sự kiện là những phản ứng của đối tƣợng. Nói cách khác, sự kiện là những tín hiệu
phát ra khi ngƣời dùng thao tác trên đối tƣợng.
 Nhờ có event, ngƣời lập trình sẽ nhận đƣợc những tín hiệu và xử lý những tín hiệu
đó để phản hồi lại cho ngƣời dùng, tạo nên sự nhịp nhàng cho chƣơng trình.
Bảng trình bày các sự kiện (Events) của control
Bảng 2.6. Mô tả các sự kiện
Sự kiện Mô tả
Click Gọi đến khi control bị Click. Trong một vài control, event này
cũng xảy ra khi ngƣời dùng nhấn phím Enter.
DoubleClick Gọi đến khi control bị Double-Click. Trong một vài control,
event này không báo giờ đƣợc gọi. Ví dụ: control Button.
DragDrop Gọi đến khi việc “Drag and Drop” đƣợc hoàn tất.
54
DragEnter Gọi đến khi đối tƣợng vừa đƣợc “Drag” đến biên của control.
DragLeave Gọi đến khi đối tƣợng vừa đƣợc “Drag” ra ngoài biên của
control.DragOver Gọi đến khi đối tƣợng đƣợc “Drag” bên trong control.
KeyDown Gọi đến khi vừa bấm một phím bất kỳ từ 1 control đang focus. Sự
kiện này luôn đƣợc gọi trƣớc sự kiện KeyUp.
KeyPress Gọi đến khi vừa bấm một phím bất kỳ từ 1 control đƣợc focus.
Sự kiện này đƣợc gọi sau sự kiện KeyUp.
KeyUp Gọi đến khi vừa bấm một phím bất kỳ rồi thả ra từ 1 control đang
focus. Sự kiện này luôn đƣợc gọi sau sự kiện KeyDown.
GotFocus Gọi đến khi control đƣợc focus.
LostFocus Gọi đến khi control bị mất focus.
MouseDown Gọi đến khi con trỏ chuột nằm trên 1 control và nút chuột
đƣợc nhắp nhƣng chƣa thả ra.
MouseMove Gọi đến khi con trỏ chuột đi qua 1 control.
MouseUp Gọi đến khi con trỏ chuột nằm trên 1 control và nút chuột vừa
đƣợc thả.Paint Gọi đến khi control đƣợc vẽ.
Validated Gọi đến khi control focus, property CaucesValidation đƣợc đặt
là true và sau khi gọi việc kiểm tra bằng Validating.
Validating Gọi đến khi control mất focus, property CaucesValidation đƣợc
đặt là true.
2.2.2. Các control cơ bản
2.2.2.1. Label ( )
a) Công dụng: Hiển thị chuỗi ký tự không thay đổi trên form (nhãn).
b) Tạo Label:
 Chọn công cụ
 Rê chuột và vẽ Label trên form.
55
c) Thuộc tính:
Bảng 2.7. Mô tả thuộc tính của label
Thuộc tính Mô tả
AutoSize Điều chỉnh kích thƣớc đối tƣợng cho vừa với chiều dài chuỗi ký tự
Font Quy định font chữ cho văn bản
Name Tên của label
Bold True: đậm / False: bỏ đậm
Italic True: nghiêng / False: bỏ nghiêng
Size Quy định cỡ chữ cho văn bản
Underline True: gạch dƣới / False: bỏ gạch dƣới
TextAlign Canh lề (Left / Center / Right)
2.2.2.2. TextBox ( )
a) Công dụng:
 Dùng trình bày văn bản và cho phép ngƣời dùng đƣợc thay đổi nội dung văn bản.
 Công dụng chính là cho ngƣời dùng nhập văn bản.
b) Tạo TextBox:
 Chọn công cụ
 Rê chuột và vẽ TextBox trên form.
c) Thuộc tính:
Bảng 2.8. Mô tả thuộc tính của textbox
Thuộc tính Mô tả
PasswordChar Quy định ký tự hiển thị cho ô mật khẩu.
Multiline True: hiện thanh cuộn / False: không hiện thanh cuộn
ScrollBars Thanh cuộn (None / Horizontal / Vertical / Both)
56
2.2.2.3. Button ( )
a) Công dụng:
 Dùng để thực thi lệnh.
 Khi nhắp chuột lên button, chƣơng trình nhận đƣợc tín hiệu Click và lệnh đƣợc
thi hành.
b) Tạo Button:
 Chọn công cụ
 Rê chuột và vẽ Button trên form.
c) Thuộc tính:
Bảng 2.9. Mô tả thuộc tính của button
Thuộc tính Mô tả
Text Nhập nội dung vào Button
2.2.2.4. CheckBox ( )
a) Công dụng: Cho phép ngƣời dùng chọn hoặc không chọn.
b) Tạo CheckBox:
 Chọn công cụ
 Rê chuột và vẽ CheckBox trên form.
c) Thuộc tính:
Bảng 2.10. Mô tả thuộc tính của checkbox
Thuộc tính Mô tả
Checked Không có dấu check (False) / Có dấu check (True)
2.2.2.5. ListBox ( )
a) Công dụng: Dùng để hiển thị một danh sách các lựa chọn.
b) Tạo ListBox:
 Chọn công cụ
 Rê chuột và vẽ ListBox trên form.
57
c) Thuộc tính:
Bảng 2.11. Mô tả thuộc tính của listbox
Thuộc tính Mô tả
Items Các mục giá trị trong ListBox
SelectedItem Item đƣợc chọn
Phương thức Mô tả
Add("chuỗi") Thêm một mục giá trị là "chuỗi"
ToString() Trả về chuỗi ký tự đƣợc chọn
* Nhập giá trị vào ListBox: <Ten_ListBox>.Items.Add ("Chuỗi") ;
* Lấy giá trị trong ListBox: <Ten_ListBox>.SelectedItem.ToString() ;
2.2.2.6. ComboBox ( )
a) Công dụng: Dùng để hiển thị một danh sách các lựa chọn / hoặc nhập vào một
giá trị.
b) Tạo ComboBox:
 Chọn công cụ
 Rê chuột và vẽ ComboBox trên form.
c) Thuộc tính:
Bảng 2.12. Mô tả thuộc tính của combobox
Thuộc tính Mô tả
DisplayMemb
er
Gán nội dung thể hiện trên ComboBox
Items Liệt kê các mục giá trị trong ComboBox
SelectedItem Lấy Item đƣợc chọn
SelectedText Lấy nội dung thể hiện trên ComboBox từ DisplayMember
SelectedValue Lấy giá trị từ ValueMember
ValueMember Gán giá trị cho ComboBox
58
2.2.2.7. RadioButton ( )
a) Công dụng: Dùng để chọn một trong các lựa chọn trong danh sách.
b) Tạo RadioButton:
 Chọn công cụ
 Rê chuột và vẽ RadioButton trên form.
c) Thuộc tính:
Bảng 2.13. Mô tả thuộc tính của radiobutton
Thuộc tính Mô tả
Checked Không có dấu chọn (False) / Có dấu chọn (True)
2.2.2.8. GroupBox ( )
a) Công dụng: Tạo ra một nhóm.
b) GroupBox:
 Chọn công cụ
 Rê chuột và vẽ GroupBox trên form.
c) Thuộc tính:
Bảng 2.14. Mô tả thuộc tính của groupbox
Thuộc tính Mô tả
BackgroundImage Hình nền
BackgroundImageLayout None / Tile / Center / Stretch / Zoom
2.2.2.9. Timer ( )
a) Công dụng: Quy định khoảng thời gian định kỳ để thực hiện một công việc.
b) Tạo Timer:
 Chọn công cụ
 Rê chuột và vẽ Timer là control dạng unvisible (ẩn).
59
c) Thuộc tính:
Bảng 2.15. Mô tả thuộc tính của timer
Thuộc tính Mô tả
Enabled Bật / tắt chế độ hẹn thời gian
Interval Khoảng thời gian định kỳ
2.2.2.10. RichTextBox ( )
a) Công dụng: Dùng để nhập văn bản với định dạng văn bản đa dạng.
b) Tạo RichTextBox:
 Chọn công cụ
 Rê chuột và vẽ RichTextBox trên form.
c) Thuộc tính:
Bảng 2.16. Mô tả thuộc tính của richtextbox
Thuộc tính Mô tả
ReadOnly Không cho soạn thảo, chỉ đọc.
2.2.2.11. Panel ( )
a) Công dụng: Bảng chứa các control hay một nhóm các control.
b) Tạo Panel:
 Chọn công cụ
 Rê chuột và vẽ Panel.
c) Thuộc tính:
Bảng 2.17. Mô tả thuộc tính của Panel
Thuộc tính Mô tả
AutoScroll Tự động cuộn nếu số control nằm ngoài vùng
BorderStyle None / FixedSingle / Fixed3D
60
2.2.2.12. PictureBox ( )
a) Công dụng: Khung chứa hình ảnh.
b) Tạo PictureBox:
 Chọn công cụ
 Rê chuột và vẽ PictureBox.
c) Thuộc tính:
Bảng 2.18. Mô tả thuộc tính của picturebox
Thuộc tính Mô tả
Image Hình chứa trong PictureBox
2.2.3. Menu và ToolBar
2.2.3.1. MenuStrip ( )
a) Công dụng: Tạo menu.
b) Tạo MenuStrip:
 Nhắp đúp vào control .
 Nhập menu.
2.2.3.2. ToolStrip ( )
a) Công dụng: Tạo ra toolbar.
b) Tạo ToolStrip:
 Chọn công cụ
 Kéo control ToolStrip vào trong form.
 Bấm vào ToolStrip vừa tạo, ta có thể tạo ra các tool (công cụ) nhƣ: Label,
TextBox, Button, ComboBox, DropDownButton….
Ví dụ:
* Tạo ứng dụngWindows Forms Application nhƣ hình.
* Hƣớng dẫn: dùng RichTextBox, MenuStrip và ToolStrip.
61
Hình 2.5. Sử dụng menutrip
2.3. Xử lý dữ liệu với ADO.NET
Xử lý dữ liệu là nhiệm vụ phổ biến và quan trọng của nhiều chƣơng trình ứng
dụng. Dữ liệu đƣợc truy xuất, xử lý của một chƣơng trình ứng dụng có thể là một tập tin
văn bản, tập tin các bản ghi, hay là một nguồn dữ liệu từ CSDL nào đó. .NET Framework
cung cấp một lƣợng lớn các thành phần giao diện (Win Forms, Web Forms) hỗ trợ cho
việc trình bày, kết buộc (bind) dữ liệu. Cùng với đó là nền tảng xử lý dữ liệu ADO.NET
cung cấp cách thức làm việc với nhiều loại nguồn dữ liệu khác nhau một cách linh động.
Do tính chất quan trọng của việc xử lý dữ liệu trong một ứng dụng cùng với sự phức tạp
của ADO.NET, trƣớc khi bắt tay vào thực hiện các bài tập thực hành, chúng ta khảo sát
qua một số điểm lý thuyết cơ bản.
2.3.1. Kiến trúc tổng quan của ADO.NET
Kiến trúc của ADO.NET đƣợc mô tả nhƣ hình dƣới, bao gồm hai thành phần chính:
Thành phần truy cập nguồn dữ liệu và thành phần lưu trữ xử lý dữ liệu.
Hình 2.6. Kiến trúc của ADO.Net
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU
Gíao trình lập trình ứng dụng kinh kế - ICTU

More Related Content

What's hot

báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
thuhuynhphonegap
 
luan van ke toan tai san co dinh tai cong ty vinacomin, hay
luan van ke toan tai san co dinh tai cong ty vinacomin, hayluan van ke toan tai san co dinh tai cong ty vinacomin, hay
luan van ke toan tai san co dinh tai cong ty vinacomin, hay
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Thực trạng kế toán doanh thu và xác định kết quả kinh doanh tại công ty cổ ph...
Thực trạng kế toán doanh thu và xác định kết quả kinh doanh tại công ty cổ ph...Thực trạng kế toán doanh thu và xác định kết quả kinh doanh tại công ty cổ ph...
Thực trạng kế toán doanh thu và xác định kết quả kinh doanh tại công ty cổ ph...
https://www.facebook.com/garmentspace
 
Đề tài: Xây dựng hệ thống quản lý kinh doanh cho công ty dược
Đề tài: Xây dựng hệ thống quản lý kinh doanh cho công ty dượcĐề tài: Xây dựng hệ thống quản lý kinh doanh cho công ty dược
Đề tài: Xây dựng hệ thống quản lý kinh doanh cho công ty dược
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Hoàn thiện công tác kế toán tập hợp chi phí sản xuất và tính giá thành sản ph...
Hoàn thiện công tác kế toán tập hợp chi phí sản xuất và tính giá thành sản ph...Hoàn thiện công tác kế toán tập hợp chi phí sản xuất và tính giá thành sản ph...
Hoàn thiện công tác kế toán tập hợp chi phí sản xuất và tính giá thành sản ph...
https://www.facebook.com/garmentspace
 
Luận văn: Công tác kế toán hàng hóa tại Công ty máy tính, HOT
Luận văn: Công tác kế toán hàng hóa tại Công ty máy tính, HOTLuận văn: Công tác kế toán hàng hóa tại Công ty máy tính, HOT
Luận văn: Công tác kế toán hàng hóa tại Công ty máy tính, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Đề tài: Kế toán vốn bằng tiền tại công ty xây dựng số 1, HAY
Đề tài: Kế toán vốn bằng tiền tại công ty xây dựng số 1, HAYĐề tài: Kế toán vốn bằng tiền tại công ty xây dựng số 1, HAY
Đề tài: Kế toán vốn bằng tiền tại công ty xây dựng số 1, HAY
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đề tài: Hoàn thiện công tác kế toán vốn bằng tiền tại công ty cổ phần xây dựn...
Đề tài: Hoàn thiện công tác kế toán vốn bằng tiền tại công ty cổ phần xây dựn...Đề tài: Hoàn thiện công tác kế toán vốn bằng tiền tại công ty cổ phần xây dựn...
Đề tài: Hoàn thiện công tác kế toán vốn bằng tiền tại công ty cổ phần xây dựn...
Dịch vụ viết thuê Khóa Luận - ZALO 0932091562
 
Hoàn thiện công tác kế toán chi phí sản xuất và tính giá thành sản phẩm tại c...
Hoàn thiện công tác kế toán chi phí sản xuất và tính giá thành sản phẩm tại c...Hoàn thiện công tác kế toán chi phí sản xuất và tính giá thành sản phẩm tại c...
Hoàn thiện công tác kế toán chi phí sản xuất và tính giá thành sản phẩm tại c...
https://www.facebook.com/garmentspace
 
Đề tài: Bảng cân đối kế toán tại công ty điện tử Hải Phòng, HOT
Đề tài: Bảng cân đối kế toán tại công ty điện tử Hải Phòng, HOTĐề tài: Bảng cân đối kế toán tại công ty điện tử Hải Phòng, HOT
Đề tài: Bảng cân đối kế toán tại công ty điện tử Hải Phòng, HOT
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Hoàn thiện kế toán chi phí sản xuất và tính giá thành sản phẩm tại công ty cổ...
Hoàn thiện kế toán chi phí sản xuất và tính giá thành sản phẩm tại công ty cổ...Hoàn thiện kế toán chi phí sản xuất và tính giá thành sản phẩm tại công ty cổ...
Hoàn thiện kế toán chi phí sản xuất và tính giá thành sản phẩm tại công ty cổ...
https://www.facebook.com/garmentspace
 
Đề tài: Kế toán chi phí và giá thành sản phẩm tại xí nghiệp X18 - Gửi miễn ph...
Đề tài: Kế toán chi phí và giá thành sản phẩm tại xí nghiệp X18 - Gửi miễn ph...Đề tài: Kế toán chi phí và giá thành sản phẩm tại xí nghiệp X18 - Gửi miễn ph...
Đề tài: Kế toán chi phí và giá thành sản phẩm tại xí nghiệp X18 - Gửi miễn ph...
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đề tài: Lập bảng cân đối kế toán tại Công ty cơ khí Hoàng Minh, 9đ
Đề tài: Lập bảng cân đối kế toán tại Công ty cơ khí Hoàng Minh, 9đĐề tài: Lập bảng cân đối kế toán tại Công ty cơ khí Hoàng Minh, 9đ
Đề tài: Lập bảng cân đối kế toán tại Công ty cơ khí Hoàng Minh, 9đ
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Báo cáo thực tập: Kế toán chi phí sản xuất công ty dệt may, 9 ĐIỂM
Báo cáo thực tập: Kế toán chi phí sản xuất công ty dệt may, 9 ĐIỂMBáo cáo thực tập: Kế toán chi phí sản xuất công ty dệt may, 9 ĐIỂM
Báo cáo thực tập: Kế toán chi phí sản xuất công ty dệt may, 9 ĐIỂM
Dịch Vụ Viết Thuê Báo Cáo Khóa luận ZALO 0909232620
 
Đề tài: Kế toán chi phí sản xuất tại Công ty sản xuất Trung Đức, 9đ
Đề tài: Kế toán chi phí sản xuất tại Công ty sản xuất Trung Đức, 9đĐề tài: Kế toán chi phí sản xuất tại Công ty sản xuất Trung Đức, 9đ
Đề tài: Kế toán chi phí sản xuất tại Công ty sản xuất Trung Đức, 9đ
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 

What's hot (15)

báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
 
luan van ke toan tai san co dinh tai cong ty vinacomin, hay
luan van ke toan tai san co dinh tai cong ty vinacomin, hayluan van ke toan tai san co dinh tai cong ty vinacomin, hay
luan van ke toan tai san co dinh tai cong ty vinacomin, hay
 
Thực trạng kế toán doanh thu và xác định kết quả kinh doanh tại công ty cổ ph...
Thực trạng kế toán doanh thu và xác định kết quả kinh doanh tại công ty cổ ph...Thực trạng kế toán doanh thu và xác định kết quả kinh doanh tại công ty cổ ph...
Thực trạng kế toán doanh thu và xác định kết quả kinh doanh tại công ty cổ ph...
 
Đề tài: Xây dựng hệ thống quản lý kinh doanh cho công ty dược
Đề tài: Xây dựng hệ thống quản lý kinh doanh cho công ty dượcĐề tài: Xây dựng hệ thống quản lý kinh doanh cho công ty dược
Đề tài: Xây dựng hệ thống quản lý kinh doanh cho công ty dược
 
Hoàn thiện công tác kế toán tập hợp chi phí sản xuất và tính giá thành sản ph...
Hoàn thiện công tác kế toán tập hợp chi phí sản xuất và tính giá thành sản ph...Hoàn thiện công tác kế toán tập hợp chi phí sản xuất và tính giá thành sản ph...
Hoàn thiện công tác kế toán tập hợp chi phí sản xuất và tính giá thành sản ph...
 
Luận văn: Công tác kế toán hàng hóa tại Công ty máy tính, HOT
Luận văn: Công tác kế toán hàng hóa tại Công ty máy tính, HOTLuận văn: Công tác kế toán hàng hóa tại Công ty máy tính, HOT
Luận văn: Công tác kế toán hàng hóa tại Công ty máy tính, HOT
 
Đề tài: Kế toán vốn bằng tiền tại công ty xây dựng số 1, HAY
Đề tài: Kế toán vốn bằng tiền tại công ty xây dựng số 1, HAYĐề tài: Kế toán vốn bằng tiền tại công ty xây dựng số 1, HAY
Đề tài: Kế toán vốn bằng tiền tại công ty xây dựng số 1, HAY
 
Đề tài: Hoàn thiện công tác kế toán vốn bằng tiền tại công ty cổ phần xây dựn...
Đề tài: Hoàn thiện công tác kế toán vốn bằng tiền tại công ty cổ phần xây dựn...Đề tài: Hoàn thiện công tác kế toán vốn bằng tiền tại công ty cổ phần xây dựn...
Đề tài: Hoàn thiện công tác kế toán vốn bằng tiền tại công ty cổ phần xây dựn...
 
Hoàn thiện công tác kế toán chi phí sản xuất và tính giá thành sản phẩm tại c...
Hoàn thiện công tác kế toán chi phí sản xuất và tính giá thành sản phẩm tại c...Hoàn thiện công tác kế toán chi phí sản xuất và tính giá thành sản phẩm tại c...
Hoàn thiện công tác kế toán chi phí sản xuất và tính giá thành sản phẩm tại c...
 
Đề tài: Bảng cân đối kế toán tại công ty điện tử Hải Phòng, HOT
Đề tài: Bảng cân đối kế toán tại công ty điện tử Hải Phòng, HOTĐề tài: Bảng cân đối kế toán tại công ty điện tử Hải Phòng, HOT
Đề tài: Bảng cân đối kế toán tại công ty điện tử Hải Phòng, HOT
 
Hoàn thiện kế toán chi phí sản xuất và tính giá thành sản phẩm tại công ty cổ...
Hoàn thiện kế toán chi phí sản xuất và tính giá thành sản phẩm tại công ty cổ...Hoàn thiện kế toán chi phí sản xuất và tính giá thành sản phẩm tại công ty cổ...
Hoàn thiện kế toán chi phí sản xuất và tính giá thành sản phẩm tại công ty cổ...
 
Đề tài: Kế toán chi phí và giá thành sản phẩm tại xí nghiệp X18 - Gửi miễn ph...
Đề tài: Kế toán chi phí và giá thành sản phẩm tại xí nghiệp X18 - Gửi miễn ph...Đề tài: Kế toán chi phí và giá thành sản phẩm tại xí nghiệp X18 - Gửi miễn ph...
Đề tài: Kế toán chi phí và giá thành sản phẩm tại xí nghiệp X18 - Gửi miễn ph...
 
Đề tài: Lập bảng cân đối kế toán tại Công ty cơ khí Hoàng Minh, 9đ
Đề tài: Lập bảng cân đối kế toán tại Công ty cơ khí Hoàng Minh, 9đĐề tài: Lập bảng cân đối kế toán tại Công ty cơ khí Hoàng Minh, 9đ
Đề tài: Lập bảng cân đối kế toán tại Công ty cơ khí Hoàng Minh, 9đ
 
Báo cáo thực tập: Kế toán chi phí sản xuất công ty dệt may, 9 ĐIỂM
Báo cáo thực tập: Kế toán chi phí sản xuất công ty dệt may, 9 ĐIỂMBáo cáo thực tập: Kế toán chi phí sản xuất công ty dệt may, 9 ĐIỂM
Báo cáo thực tập: Kế toán chi phí sản xuất công ty dệt may, 9 ĐIỂM
 
Đề tài: Kế toán chi phí sản xuất tại Công ty sản xuất Trung Đức, 9đ
Đề tài: Kế toán chi phí sản xuất tại Công ty sản xuất Trung Đức, 9đĐề tài: Kế toán chi phí sản xuất tại Công ty sản xuất Trung Đức, 9đ
Đề tài: Kế toán chi phí sản xuất tại Công ty sản xuất Trung Đức, 9đ
 

Similar to Gíao trình lập trình ứng dụng kinh kế - ICTU

Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đề tài: Phân tích Kế toán Bán hàng tại Công ty Xây dựng ACC, 9đ
Đề tài: Phân tích Kế toán Bán hàng tại Công ty Xây dựng ACC, 9đĐề tài: Phân tích Kế toán Bán hàng tại Công ty Xây dựng ACC, 9đ
Đề tài: Phân tích Kế toán Bán hàng tại Công ty Xây dựng ACC, 9đ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
 
Báo cáo thực tập athena
Báo cáo thực tập athenaBáo cáo thực tập athena
Báo cáo thực tập athenaLe Chuong
 
BCTTTN
BCTTTNBCTTTN
BCTTTN
trong1763
 
Quy trinh phat trien phan mem ca nhan (psp) va ung dung
Quy trinh phat trien phan mem ca nhan (psp) va ung dungQuy trinh phat trien phan mem ca nhan (psp) va ung dung
Quy trinh phat trien phan mem ca nhan (psp) va ung dungVcoi Vit
 
Đề tài: Áp dụng công nghệ vào khảo sát quan hệ khách hàng, 9đ
Đề tài: Áp dụng công nghệ vào khảo sát quan hệ khách hàng, 9đĐề tài: Áp dụng công nghệ vào khảo sát quan hệ khách hàng, 9đ
Đề tài: Áp dụng công nghệ vào khảo sát quan hệ khách hàng, 9đ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAYLuận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Luận Văn Ứng Dụng Công Nghệ Thông Tin Trong Quản Lý Công Văn.doc
Luận Văn Ứng Dụng Công Nghệ Thông Tin Trong Quản Lý Công Văn.docLuận Văn Ứng Dụng Công Nghệ Thông Tin Trong Quản Lý Công Văn.doc
Luận Văn Ứng Dụng Công Nghệ Thông Tin Trong Quản Lý Công Văn.doc
tcoco3199
 
Bao cao-thuc-tap-ke-toan-tap-hop-chi-phi-va-tinh-gia-thanh-130916034810-phpapp01
Bao cao-thuc-tap-ke-toan-tap-hop-chi-phi-va-tinh-gia-thanh-130916034810-phpapp01Bao cao-thuc-tap-ke-toan-tap-hop-chi-phi-va-tinh-gia-thanh-130916034810-phpapp01
Bao cao-thuc-tap-ke-toan-tap-hop-chi-phi-va-tinh-gia-thanh-130916034810-phpapp01
Dịch vụ làm báo cáo tài chính
 
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
NuioKila
 
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
 
Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS
Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESSQuản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS
Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS
Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Đề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàng
Đề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàngĐề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàng
Đề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàng
Dịch vụ viết thuê Khóa Luận - ZALO 0932091562
 
PHÂN TÍCH DỰ BÁO DOANH THU CHO CÔNG TY CỔ PHẦN TNG THÁI NGUYÊN
PHÂN TÍCH DỰ BÁO DOANH THU CHO CÔNG TY CỔ PHẦN TNG THÁI NGUYÊNPHÂN TÍCH DỰ BÁO DOANH THU CHO CÔNG TY CỔ PHẦN TNG THÁI NGUYÊN
PHÂN TÍCH DỰ BÁO DOANH THU CHO CÔNG TY CỔ PHẦN TNG THÁI NGUYÊN
 
Bao cao thuc tap website tin tuc joomla
Bao cao thuc tap website tin tuc joomlaBao cao thuc tap website tin tuc joomla
Bao cao thuc tap website tin tuc joomlaKiên Lê
 
Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...
Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...
Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...
sividocz
 
Hoàn thiện cơ cấu tổ chức bộ máy quản lý tại công ty thương mại xây dựng nội ...
Hoàn thiện cơ cấu tổ chức bộ máy quản lý tại công ty thương mại xây dựng nội ...Hoàn thiện cơ cấu tổ chức bộ máy quản lý tại công ty thương mại xây dựng nội ...
Hoàn thiện cơ cấu tổ chức bộ máy quản lý tại công ty thương mại xây dựng nội ...
💖Nhận Làm Đề Tài Trọn Gói 💖 Liên hệ ZALO/TELE: 0973.287.149
 
Đề tài luận văn 2024 Ứng dụng thương mại điện tử vào quảng bá thương hiệu cho...
Đề tài luận văn 2024 Ứng dụng thương mại điện tử vào quảng bá thương hiệu cho...Đề tài luận văn 2024 Ứng dụng thương mại điện tử vào quảng bá thương hiệu cho...
Đề tài luận văn 2024 Ứng dụng thương mại điện tử vào quảng bá thương hiệu cho...
lamluanvan.net Viết thuê luận văn
 
Đề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đ
Đề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đĐề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đ
Đề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đ
Dịch vụ viết bài trọn gói ZALO: 0936 885 877
 

Similar to Gíao trình lập trình ứng dụng kinh kế - ICTU (20)

Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
 
Đề tài: Phân tích Kế toán Bán hàng tại Công ty Xây dựng ACC, 9đ
Đề tài: Phân tích Kế toán Bán hàng tại Công ty Xây dựng ACC, 9đĐề tài: Phân tích Kế toán Bán hàng tại Công ty Xây dựng ACC, 9đ
Đề tài: Phân tích Kế toán Bán hàng tại Công ty Xây dựng ACC, 9đ
 
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
 
Báo cáo thực tập athena
Báo cáo thực tập athenaBáo cáo thực tập athena
Báo cáo thực tập athena
 
BCTTTN
BCTTTNBCTTTN
BCTTTN
 
Quy trinh phat trien phan mem ca nhan (psp) va ung dung
Quy trinh phat trien phan mem ca nhan (psp) va ung dungQuy trinh phat trien phan mem ca nhan (psp) va ung dung
Quy trinh phat trien phan mem ca nhan (psp) va ung dung
 
Đề tài: Áp dụng công nghệ vào khảo sát quan hệ khách hàng, 9đ
Đề tài: Áp dụng công nghệ vào khảo sát quan hệ khách hàng, 9đĐề tài: Áp dụng công nghệ vào khảo sát quan hệ khách hàng, 9đ
Đề tài: Áp dụng công nghệ vào khảo sát quan hệ khách hàng, 9đ
 
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAYLuận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
 
Luận Văn Ứng Dụng Công Nghệ Thông Tin Trong Quản Lý Công Văn.doc
Luận Văn Ứng Dụng Công Nghệ Thông Tin Trong Quản Lý Công Văn.docLuận Văn Ứng Dụng Công Nghệ Thông Tin Trong Quản Lý Công Văn.doc
Luận Văn Ứng Dụng Công Nghệ Thông Tin Trong Quản Lý Công Văn.doc
 
Bao cao-thuc-tap-ke-toan-tap-hop-chi-phi-va-tinh-gia-thanh-130916034810-phpapp01
Bao cao-thuc-tap-ke-toan-tap-hop-chi-phi-va-tinh-gia-thanh-130916034810-phpapp01Bao cao-thuc-tap-ke-toan-tap-hop-chi-phi-va-tinh-gia-thanh-130916034810-phpapp01
Bao cao-thuc-tap-ke-toan-tap-hop-chi-phi-va-tinh-gia-thanh-130916034810-phpapp01
 
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
 
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
 
Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS
Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESSQuản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS
Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS
 
Đề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàng
Đề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàngĐề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàng
Đề tài: Xây dựng chương trình quản lý nhập xuất hàng theo đơn đặt hàng
 
PHÂN TÍCH DỰ BÁO DOANH THU CHO CÔNG TY CỔ PHẦN TNG THÁI NGUYÊN
PHÂN TÍCH DỰ BÁO DOANH THU CHO CÔNG TY CỔ PHẦN TNG THÁI NGUYÊNPHÂN TÍCH DỰ BÁO DOANH THU CHO CÔNG TY CỔ PHẦN TNG THÁI NGUYÊN
PHÂN TÍCH DỰ BÁO DOANH THU CHO CÔNG TY CỔ PHẦN TNG THÁI NGUYÊN
 
Bao cao thuc tap website tin tuc joomla
Bao cao thuc tap website tin tuc joomlaBao cao thuc tap website tin tuc joomla
Bao cao thuc tap website tin tuc joomla
 
Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...
Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...
Luận Văn Xây Dựng Hệ Thống Quản Lý Thông Tin Nhân Sự Tại Trường Đại Học Dân L...
 
Hoàn thiện cơ cấu tổ chức bộ máy quản lý tại công ty thương mại xây dựng nội ...
Hoàn thiện cơ cấu tổ chức bộ máy quản lý tại công ty thương mại xây dựng nội ...Hoàn thiện cơ cấu tổ chức bộ máy quản lý tại công ty thương mại xây dựng nội ...
Hoàn thiện cơ cấu tổ chức bộ máy quản lý tại công ty thương mại xây dựng nội ...
 
Đề tài luận văn 2024 Ứng dụng thương mại điện tử vào quảng bá thương hiệu cho...
Đề tài luận văn 2024 Ứng dụng thương mại điện tử vào quảng bá thương hiệu cho...Đề tài luận văn 2024 Ứng dụng thương mại điện tử vào quảng bá thương hiệu cho...
Đề tài luận văn 2024 Ứng dụng thương mại điện tử vào quảng bá thương hiệu cho...
 
Đề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đ
Đề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đĐề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đ
Đề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đ
 

More from Vũ

HOÀN THIỆN CÔNG TÁC KẾ TOÁN TIÊU THỤ VÀ XÁC ĐỊNH KẾT QUẢ TIÊU THỤ TẠI CÔNG TY...
HOÀN THIỆN CÔNG TÁC KẾ TOÁN TIÊU THỤ VÀ XÁC ĐỊNH KẾT QUẢ TIÊU THỤ TẠI CÔNG TY...HOÀN THIỆN CÔNG TÁC KẾ TOÁN TIÊU THỤ VÀ XÁC ĐỊNH KẾT QUẢ TIÊU THỤ TẠI CÔNG TY...
HOÀN THIỆN CÔNG TÁC KẾ TOÁN TIÊU THỤ VÀ XÁC ĐỊNH KẾT QUẢ TIÊU THỤ TẠI CÔNG TY...
 
Xây dựng chương trình hạch toán nghiệp vụ các khoản phải trả người bán trên M...
Xây dựng chương trình hạch toán nghiệp vụ các khoản phải trả người bán trên M...Xây dựng chương trình hạch toán nghiệp vụ các khoản phải trả người bán trên M...
Xây dựng chương trình hạch toán nghiệp vụ các khoản phải trả người bán trên M...
 
Tìm hiểu hoạt động dịch vụ du lịch và xây dựng chương trình dự báo lượng khác...
Tìm hiểu hoạt động dịch vụ du lịch và xây dựng chương trình dự báo lượng khác...Tìm hiểu hoạt động dịch vụ du lịch và xây dựng chương trình dự báo lượng khác...
Tìm hiểu hoạt động dịch vụ du lịch và xây dựng chương trình dự báo lượng khác...
 
Xây dựng chương trình dự báo doanh thu bán hàng cho siêu thị Minh Cầu - Thái ...
Xây dựng chương trình dự báo doanh thu bán hàng cho siêu thị Minh Cầu - Thái ...Xây dựng chương trình dự báo doanh thu bán hàng cho siêu thị Minh Cầu - Thái ...
Xây dựng chương trình dự báo doanh thu bán hàng cho siêu thị Minh Cầu - Thái ...
 
Ứng dụng phương pháp san bằng mũ để dự báo tình hình sản xuất sản phẩm trong ...
Ứng dụng phương pháp san bằng mũ để dự báo tình hình sản xuất sản phẩm trong ...Ứng dụng phương pháp san bằng mũ để dự báo tình hình sản xuất sản phẩm trong ...
Ứng dụng phương pháp san bằng mũ để dự báo tình hình sản xuất sản phẩm trong ...
 
Phân tích dự báo cầu về sản phẩm cà phê hòa tan G7 của công ty cổ phần Trung ...
Phân tích dự báo cầu về sản phẩm cà phê hòa tan G7 của công ty cổ phần Trung ...Phân tích dự báo cầu về sản phẩm cà phê hòa tan G7 của công ty cổ phần Trung ...
Phân tích dự báo cầu về sản phẩm cà phê hòa tan G7 của công ty cổ phần Trung ...
 
Xây dựng chương trình phân tích dự báo lượng sản phẩm tiêu thụ theo phương ph...
Xây dựng chương trình phân tích dự báo lượng sản phẩm tiêu thụ theo phương ph...Xây dựng chương trình phân tích dự báo lượng sản phẩm tiêu thụ theo phương ph...
Xây dựng chương trình phân tích dự báo lượng sản phẩm tiêu thụ theo phương ph...
 
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
 
Ứng dụng phương pháp hồi quy đơn để dự báo về sản lượng chè tại công ty TNHH ...
Ứng dụng phương pháp hồi quy đơn để dự báo về sản lượng chè tại công ty TNHH ...Ứng dụng phương pháp hồi quy đơn để dự báo về sản lượng chè tại công ty TNHH ...
Ứng dụng phương pháp hồi quy đơn để dự báo về sản lượng chè tại công ty TNHH ...
 
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
 
Xây dựng công cụ phân tích chỉ số khả năng thanh toán và chỉ số khả năng sinh...
Xây dựng công cụ phân tích chỉ số khả năng thanh toán và chỉ số khả năng sinh...Xây dựng công cụ phân tích chỉ số khả năng thanh toán và chỉ số khả năng sinh...
Xây dựng công cụ phân tích chỉ số khả năng thanh toán và chỉ số khả năng sinh...
 
Ứng dụng Microsoft Excel trong nghiên cứu và xây dựng chương trình kế toán ng...
Ứng dụng Microsoft Excel trong nghiên cứu và xây dựng chương trình kế toán ng...Ứng dụng Microsoft Excel trong nghiên cứu và xây dựng chương trình kế toán ng...
Ứng dụng Microsoft Excel trong nghiên cứu và xây dựng chương trình kế toán ng...
 
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
 
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
 
Xây dựng phân hệ kế toán tài sản cố định hữu hình tại Công ty TNHH MTV vận tả...
Xây dựng phân hệ kế toán tài sản cố định hữu hình tại Công ty TNHH MTV vận tả...Xây dựng phân hệ kế toán tài sản cố định hữu hình tại Công ty TNHH MTV vận tả...
Xây dựng phân hệ kế toán tài sản cố định hữu hình tại Công ty TNHH MTV vận tả...
 
Xây dựng chương trình quản lý bán hàng tại Công ty cổ phần Bluesofts, Hà Nội
Xây dựng chương trình quản lý bán hàng tại Công ty cổ phần Bluesofts, Hà NộiXây dựng chương trình quản lý bán hàng tại Công ty cổ phần Bluesofts, Hà Nội
Xây dựng chương trình quản lý bán hàng tại Công ty cổ phần Bluesofts, Hà Nội
 
Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...
Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...
Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...
 
Xây dựng chương trình kế toán vốn bằng tiền tại công ty đầu tư và xây dựng LI...
Xây dựng chương trình kế toán vốn bằng tiền tại công ty đầu tư và xây dựng LI...Xây dựng chương trình kế toán vốn bằng tiền tại công ty đầu tư và xây dựng LI...
Xây dựng chương trình kế toán vốn bằng tiền tại công ty đầu tư và xây dựng LI...
 
Xây dựng chương trình phân tích hoạt động kinh doanh cho Công Ty TNHH Chế B...
Xây dựng chương trình phân tích hoạt động kinh doanh cho Công Ty TNHH Chế B...Xây dựng chương trình phân tích hoạt động kinh doanh cho Công Ty TNHH Chế B...
Xây dựng chương trình phân tích hoạt động kinh doanh cho Công Ty TNHH Chế B...
 
Xây dựng chương trình phân tích tình hình tài chính dựa trên nhóm chỉ số sinh...
Xây dựng chương trình phân tích tình hình tài chính dựa trên nhóm chỉ số sinh...Xây dựng chương trình phân tích tình hình tài chính dựa trên nhóm chỉ số sinh...
Xây dựng chương trình phân tích tình hình tài chính dựa trên nhóm chỉ số sinh...
 

More from Vũ (20)

HOÀN THIỆN CÔNG TÁC KẾ TOÁN TIÊU THỤ VÀ XÁC ĐỊNH KẾT QUẢ TIÊU THỤ TẠI CÔNG TY...
HOÀN THIỆN CÔNG TÁC KẾ TOÁN TIÊU THỤ VÀ XÁC ĐỊNH KẾT QUẢ TIÊU THỤ TẠI CÔNG TY...HOÀN THIỆN CÔNG TÁC KẾ TOÁN TIÊU THỤ VÀ XÁC ĐỊNH KẾT QUẢ TIÊU THỤ TẠI CÔNG TY...
HOÀN THIỆN CÔNG TÁC KẾ TOÁN TIÊU THỤ VÀ XÁC ĐỊNH KẾT QUẢ TIÊU THỤ TẠI CÔNG TY...
 
Xây dựng chương trình hạch toán nghiệp vụ các khoản phải trả người bán trên M...
Xây dựng chương trình hạch toán nghiệp vụ các khoản phải trả người bán trên M...Xây dựng chương trình hạch toán nghiệp vụ các khoản phải trả người bán trên M...
Xây dựng chương trình hạch toán nghiệp vụ các khoản phải trả người bán trên M...
 
Tìm hiểu hoạt động dịch vụ du lịch và xây dựng chương trình dự báo lượng khác...
Tìm hiểu hoạt động dịch vụ du lịch và xây dựng chương trình dự báo lượng khác...Tìm hiểu hoạt động dịch vụ du lịch và xây dựng chương trình dự báo lượng khác...
Tìm hiểu hoạt động dịch vụ du lịch và xây dựng chương trình dự báo lượng khác...
 
Xây dựng chương trình dự báo doanh thu bán hàng cho siêu thị Minh Cầu - Thái ...
Xây dựng chương trình dự báo doanh thu bán hàng cho siêu thị Minh Cầu - Thái ...Xây dựng chương trình dự báo doanh thu bán hàng cho siêu thị Minh Cầu - Thái ...
Xây dựng chương trình dự báo doanh thu bán hàng cho siêu thị Minh Cầu - Thái ...
 
Ứng dụng phương pháp san bằng mũ để dự báo tình hình sản xuất sản phẩm trong ...
Ứng dụng phương pháp san bằng mũ để dự báo tình hình sản xuất sản phẩm trong ...Ứng dụng phương pháp san bằng mũ để dự báo tình hình sản xuất sản phẩm trong ...
Ứng dụng phương pháp san bằng mũ để dự báo tình hình sản xuất sản phẩm trong ...
 
Phân tích dự báo cầu về sản phẩm cà phê hòa tan G7 của công ty cổ phần Trung ...
Phân tích dự báo cầu về sản phẩm cà phê hòa tan G7 của công ty cổ phần Trung ...Phân tích dự báo cầu về sản phẩm cà phê hòa tan G7 của công ty cổ phần Trung ...
Phân tích dự báo cầu về sản phẩm cà phê hòa tan G7 của công ty cổ phần Trung ...
 
Xây dựng chương trình phân tích dự báo lượng sản phẩm tiêu thụ theo phương ph...
Xây dựng chương trình phân tích dự báo lượng sản phẩm tiêu thụ theo phương ph...Xây dựng chương trình phân tích dự báo lượng sản phẩm tiêu thụ theo phương ph...
Xây dựng chương trình phân tích dự báo lượng sản phẩm tiêu thụ theo phương ph...
 
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
 
Ứng dụng phương pháp hồi quy đơn để dự báo về sản lượng chè tại công ty TNHH ...
Ứng dụng phương pháp hồi quy đơn để dự báo về sản lượng chè tại công ty TNHH ...Ứng dụng phương pháp hồi quy đơn để dự báo về sản lượng chè tại công ty TNHH ...
Ứng dụng phương pháp hồi quy đơn để dự báo về sản lượng chè tại công ty TNHH ...
 
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
 
Xây dựng công cụ phân tích chỉ số khả năng thanh toán và chỉ số khả năng sinh...
Xây dựng công cụ phân tích chỉ số khả năng thanh toán và chỉ số khả năng sinh...Xây dựng công cụ phân tích chỉ số khả năng thanh toán và chỉ số khả năng sinh...
Xây dựng công cụ phân tích chỉ số khả năng thanh toán và chỉ số khả năng sinh...
 
Ứng dụng Microsoft Excel trong nghiên cứu và xây dựng chương trình kế toán ng...
Ứng dụng Microsoft Excel trong nghiên cứu và xây dựng chương trình kế toán ng...Ứng dụng Microsoft Excel trong nghiên cứu và xây dựng chương trình kế toán ng...
Ứng dụng Microsoft Excel trong nghiên cứu và xây dựng chương trình kế toán ng...
 
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
Xây dựng chương trình kế toán tiền lương cho Công ty Tuyển than Hòn Gai – Vin...
 
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
Xây dựng chương trình quản lý chấm công cho công ty cổ phần đầu tư và thương ...
 
Xây dựng phân hệ kế toán tài sản cố định hữu hình tại Công ty TNHH MTV vận tả...
Xây dựng phân hệ kế toán tài sản cố định hữu hình tại Công ty TNHH MTV vận tả...Xây dựng phân hệ kế toán tài sản cố định hữu hình tại Công ty TNHH MTV vận tả...
Xây dựng phân hệ kế toán tài sản cố định hữu hình tại Công ty TNHH MTV vận tả...
 
Xây dựng chương trình quản lý bán hàng tại Công ty cổ phần Bluesofts, Hà Nội
Xây dựng chương trình quản lý bán hàng tại Công ty cổ phần Bluesofts, Hà NộiXây dựng chương trình quản lý bán hàng tại Công ty cổ phần Bluesofts, Hà Nội
Xây dựng chương trình quản lý bán hàng tại Công ty cổ phần Bluesofts, Hà Nội
 
Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...
Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...
Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...
 
Xây dựng chương trình kế toán vốn bằng tiền tại công ty đầu tư và xây dựng LI...
Xây dựng chương trình kế toán vốn bằng tiền tại công ty đầu tư và xây dựng LI...Xây dựng chương trình kế toán vốn bằng tiền tại công ty đầu tư và xây dựng LI...
Xây dựng chương trình kế toán vốn bằng tiền tại công ty đầu tư và xây dựng LI...
 
Xây dựng chương trình phân tích hoạt động kinh doanh cho Công Ty TNHH Chế B...
Xây dựng chương trình phân tích hoạt động kinh doanh cho Công Ty TNHH Chế B...Xây dựng chương trình phân tích hoạt động kinh doanh cho Công Ty TNHH Chế B...
Xây dựng chương trình phân tích hoạt động kinh doanh cho Công Ty TNHH Chế B...
 
Xây dựng chương trình phân tích tình hình tài chính dựa trên nhóm chỉ số sinh...
Xây dựng chương trình phân tích tình hình tài chính dựa trên nhóm chỉ số sinh...Xây dựng chương trình phân tích tình hình tài chính dựa trên nhóm chỉ số sinh...
Xây dựng chương trình phân tích tình hình tài chính dựa trên nhóm chỉ số sinh...
 

Gíao trình lập trình ứng dụng kinh kế - ICTU

  • 1. 1 LỜI NÓI ĐẦU Đất nƣớc Việt Nam đang trong quá trình hội nhập kinh tế quốc tế rất mạnh mẽ. Các doanh nghiệp của Việt Nam không ngừng tự đổi mới, hiện đại hóa công tác quản lý, nâng cao giá trị của bản thân để có thể đáp ứng đƣợc những đòi hỏi của quá trình hội nhập kinh tế quốc tế của đất nƣớc. Lập trình ứng dụng các bài toán kinh tế nhằm đẩy nhanh các quá trình thống kê, kế toán đảm bảo số liệu chính xác cung cấp cho các bộ phận quản lý, làm giảm thiểu thời gian và lao động cho các công đoạn xử lý thông tin, làm tăng năng suất lao động của đội ngũ thƣ ký và làm giảm đáng kể các chi phí cho soạn thảo và phân phối tài liệu hoặc thông báo trong công tác văn phòng rút ngắn thời gian từ lúc chuẩn bị đến lúc phân phối thông báo đến tay ngƣời sử dụng. Bên cạnh đó, tin học hóa các quyết định quản lý đƣợc thông qua trên cơ sở tính toán cụ thể nhằm đảm bảo hiệu suất cao. Từ đó, các nhà lãnh đạo luôn đƣợc cung cấp thông tin một cách kịp thời, giải phóng họ khỏi các công việc tính toán hàng ngày để tập trung vào các vấn đề mang tính chiến lƣợc và chiến thuật của đơn vị. Chính vì lý do đó, Tin học hóa các mô hình kinh tế hay là việc trang bị những phần mềm ứng dụng để hiện đại hóa công tác quản lý là một giải pháp cũng nhƣ là một xu hƣớng tất yếu của các doanh nghiệp Việt Nam trong quá trình phát triển và hội nhập. Chƣơng trình đào tạo chuyên ngành của sinh viên khoa Hệ thống thông tin Kinh tế Trƣờng Đại học Công nghệ thông tin và Truyền thông bao gồm nhiều môn học có thể đƣợc phân chia thành các nhóm chính nhƣ sau: các môn học cung cấp kiến thức lý thuyết cơ sở, nền tảng về tin học và các lĩnh vực nghiên cứu của tin học; các môn học rèn luyện tƣ duy và kỹ năng lập trình; các môn học cung cấp kiến thức kinh tế, nghiệp vụ… Môn học Lập trình ứng dụng kinh tế là sự tổng hợp kiến thức của hầu hết các môn học chuyên ngành. Thực vậy, để phát triển một phần mềm ứng dụng trong kinh tế đƣợc thƣơng mại hóa thì đòi hỏi rất nhiều các mảng kiến thức khác nhau: từ những kiến thức mang tính lý thuyết về kinh tế lƣợng, phân tích và dự báo, hệ hỗ trợ ra quyết định,…đến những kiến thức và kỹ năng cụ thể nhƣ lập trình cơ sở; lập trình nâng cao; cấu trúc dữ liệu và giải thuật… Mục đích của môn học: Trang bị cho sinh viên kiến thức và kỹ năng để có thể thực hiện từng bƣớc của quá trình xây dựng và đóng gói một phần mềm ứng dụng trong kinh tế trên cơ sở ngôn ngữ lập trình cấp cao đƣợc sử dụng phổ biến trong thực tế. Sau khi kết thúc môn học, sinh viên thu đƣợc những kết quả sau: Nắm rõ các bƣớc để xây dựng một phần mềm hoàn chỉnh mang tính thƣơng mại
  • 2. 2 Biết cách sử dụng và khai thác một số tiện ích quan trọng để tạo ra phần mềm quản lý mang tính chuyên nghiệp Có khả năng vận dụng ngay trong việc thực hiện làm Đề tài thực tập tốt nghiệp và Báo cáo Khóa luận tốt nghiệp cuối khóa. Nội dung của giáo trình Giáo trình đƣợc viết theo chƣơng trình môn học thuộc chƣơng trình khung ngành Hệ thống thông tin quản lý tại trƣờng Đại học Công nghệ thông tin và Truyền thông và đƣợc Hiệu trƣởng phê duyệt làm tài liệu chính thức dùng cho giảng dạy, học tập ở trƣờng. Giáo trình được chia thành 3 chương Chƣơng 1: Bài toán kinh tế với tổ chức doanh nghiệp Chƣơng 2: Lập trình Windows Form Chƣơng 3: Lập trình ứng dụng kinh tế Nhóm tác giả xin trân trọng cám ơn tất cả các thầy, cô giáo trong khoa Hệ thống thông tin Kinh tế, Trƣờng Đại học Công nghệ thông tin và Truyền thông. Giáo trình mới đƣợc biên soạn lần đầu nên không tránh khỏi những thiếu sót. Rất mong nhận đƣợc những ý kiến đóng góp của thầy, cô giáo cũng nhƣ các bạn sinh viên để giáo trình có thể ngày một hoàn thiện hơn. Mọi ý kiến đóng góp xin gửi về: Nguyễn Văn Huân, Khoa Hệ thống thông tin Kinh tế, Trường Đại học Công nghệ thông tin và Truyền thông. Email: nvhuan@ictu.edu.vn Số điện thoại: 0904.101.008 Thái Nguyên, tháng 04 năm 2014 Nhóm biên soạn
  • 3. 3 MỤC LỤC LỜI NÓI ĐẦU...............................................................................................................1 Chƣơng 1. BÀI TOÁN KINH TẾ VỚI TỔ CHỨC, DOANH NGHIỆP .........................5 1.1. Thông tin và thông tin kinh tế .............................................................................5 1.1.1. Thông tin và vai trò của thông tin.................................................................5 1.1.2. Thông tin kinh tế và hệ thống thông tin kinh tế.............................................6 1.2. Khái niệm Mô hình kinh tế..................................................................................6 1.3. Giới thiệu chung về lập trình ứng dụng kinh tế....................................................7 1.4. Một số bài toán kinh tế cơ bản.............................................................................7 1.4.1. Bài toán phục vụ công cộng..........................................................................7 1.4.2. Bài toán dự trữ ...........................................................................................15 1.4.3. Bài toán phân tích và dự báo kinh tế...........................................................22 1.4.4. Bài toán lãi suất..........................................................................................27 1.4.6. Bài toán quản lý .........................................................................................28 1.5. Câu hỏi và bài tập chƣơng 1..............................................................................30 Chƣơng 2. LẬP TRÌNH WINDOWS FORMS.............................................................32 2.1. Cơ bản ngôn ngữ C# .........................................................................................32 2.1.1. Giới thiệu C#..............................................................................................32 2.1.2. Môi trƣờng lập trình...................................................................................34 2.1.3. Biến, hằng, toán tử .....................................................................................35 2.1.4. Kiểu dữ liệu................................................................................................38 2.1.5. Cấu trúc điều khiển ....................................................................................40 2.1.6. Cấu trúc lặp................................................................................................44 2.1.7. Một số kiến thức cần nhớ ...........................................................................46 2.2. Xây dựng Windows form application................................................................48 2.2.1. Sử dụng Microsoft Visual Studio 2008.......................................................48 2.2.2. Các control cơ bản......................................................................................54
  • 4. 4 2.2.3. Menu và ToolBar .......................................................................................60 2.3. Xử lý dữ liệu với ADO.NET .............................................................................61 2.3.1. Kiến trúc tổng quan của ADO.NET ............................................................61 2.3.2. Tổng quan về các mô hình xử lý dữ liệu trong ADO.NET ..........................62 2.3.3. Làm việc với mô hình Kết nối trong ADO.NET .........................................65 2.4. Câu hỏi và bài tập chƣơng 2..............................................................................68 2.4.1. Bài tập có lời giải .......................................................................................68 2.4.2. Bài tập tự giải.............................................................................................78 Chƣơng 3. LẬP TRÌNH ỨNG DỤNG KINH TẾ.........................................................81 3.1. Bài toán phục vụ công cộng ..............................................................................81 3.1.1. Hệ thống phục vụ công cộng từ chối cổ điển ..............................................81 3.1.2. Hệ thống chờ với đồ dài hàng chờ hạn chế và thời gian chờ không hạn chế91 3.1.3. Hệ thống chờ thuần nhất...........................................................................105 3.2. Bài toán dự trữ ................................................................................................114 3.2.1. Mô hình dự trữ với tiêu thụ đều, bổ sung tức thời.....................................114 3.2.2. Mô hình dự trữ với tiêu thụ đều, bổ sung dần dần.....................................118 3.2.3. Mô hình dự trữ nhiều mức giá ..................................................................123 3.3. Bài toán phân tích và dự báo kinh tế................................................................131 3.3.1. Một số chức năng cơ bản của bài toán phân tích và dự báo.......................131 3.3.2. Hƣớng dẫn xây dựng một số chức năng cơ bản.........................................132 3.4. Câu hỏi và bài tập chƣơng 3............................................................................175 TÀI LIỆU THAM KHẢO..........................................................................................186
  • 5. 5 Chương 1. BÀI TOÁN KINH TẾ VỚI TỔ CHỨC, DOANH NGHIỆP Tóm tắt chương 01 Trong chương này, giáo trình giới thiệu tổng quan về thông tin và vai trò của thông tin trong kinh tế xã hội, làm rõ được tầm quan trọng trong việc tin học hóa các bài toán kinh tế cho các cơ quan tổ chức, doanh nghiệp. Ngoài ra, giáo trình còn cung cấp kiến thức cơ bản các bài toán kinh tế như bài toán hỗ trợ ra quyết định, bài toán phân tích dự báo, bài toán quản lý… Việc tin học hóa các bài toán kinh tế này sẽ góp phần hiện đại hóa công tác quản lý cho các tổ chức, doanh nghiệp. Các vấn đề chính sẽ được đề cập:  Thông tin và thông tin kinh tế  Mô hình kinh tế  Giới thiệu về lập trình ứng dụng kinh tế  Một số bài toán kinh tế với tổ chức, doanh nghiệp  Câu hỏi và bài tập chương 1 1.1. Thông tin và thông tin kinh tế 1.1.1. Thông tin và vai trò của thông tin Trong cuộc sống hàng ngày, khái niệm thông tin phản ánh các tri thức, hiểu biết của chúng ta về một đối tƣợng nào đó. Ở dạng chung nhất, thông tin luôn luôn được hiểu như các thông báo nhằm mang lại một sự hiểu biết nào đó cho đối tượng nhận tin. Tuỳ thuộc vào các mục đích nghiên cứu khác nhau, ngƣời ta có thể đƣa ra nhiều định nghĩa khác nhau về thông tin. Chẳng hạn, nhà nghiên cứu lý thuyết thông tin Brilen cho rằng “Thông tin là sự ngƣợc lại của entropi – độbất định”. Nhà khoa học thôngtin nổi tiếng Shanol thì khẳng định: “Thông tin là quá trình liên hệ nhằm loại bỏ độ bất định” còn Viện sỹ Nga Gluscôp thì đƣa ra định nghĩa: “Thông tin bao gồm tất cả những tri thức mà con ngƣời trao đổi cho nhau và cả các tri thức tồn tại độc lập đối với con ngƣời”. Theo Jame O’Brien “Thông tin là các dữ liệu đã được biến đổi thành dạng dễ hiểu, có ích cho người sử dụng”. Thông tin có vai trò vô cùng to lớn trong các hoạt động của con ngƣời. Nhƣ đã nói trên đây, thông tin là sự phản ánh tri thức và hiểu biết. Không có thông tin, con ngƣời không có sự dẫn dắt cho các hoạt động của mình và hoàn toàn bất định trong môi trƣờng đó.
  • 6. 6 1.1.2. Thông tin kinh tế và hệ thống thông tin kinh tế Thông tin kinh tế là các thông tin tồn tại và vận động trong các thiết chế kinh tế, các tổ chức và các doanh nghiệp nhằm phản ánh tình trạng kinh tế của các chủ thể đó. Thông tin kinh tế có thể coi nhƣ huyết mạch của các doanh nghiệp và các tổ chức kinh tế. Thông qua việc nghiên cứu thông tin kinh tế chúng ta có thể có các đánh giá chính xác về nhịp sống kinh tế và quy mô phát triển của doanh nghiệp, triển vọng và nguy cơ tiềm ẩn của doanh nghiệp này. Có thể nói không quá rằng trong nền kinh tế thị trƣờng, nơi diễn ra hàng ngày cuộc cạnh tranh quyết liệt để giành giật thị trƣờng, thông tin kinh tế là một nhu cầu cấp thiết. Thông tin kinh tế có thể quyết định đến sự thành bại của cả một doanh nghiệp. Hệ thống thông tin kinh tế là hệ thống có nhiệm vụ thu thập, xử lý, lưu trữ và truyền thông tin kinh tế trợ giúp các hoạt động ra quyết định trong tổ chức, doanh nghiệp. Ngày nay, hầu hết các quốc gia, các tổ chức và các công ty đều hiểu rằng vị trí tƣơng lai của họ trong thế giới và trên thị trƣờng quốc tế phụ thuộc một cách quyết định vào việc họ có tận dụng đƣợc công nghệ thông tin để phát triển một cách nhanh chóng mọi năng lực để đổi mới nền sản xuất và nền kinh tế của họ hay không. 1.2. Khái niệm Mô hình kinh tế Một mô hình kinh tế(economic model) là một khung lí thuyết, là một sự diễn đạt (hay mô tả, thể hiện) có tính khái quát một vấn đề kinh tế thực tế. Khi xây dựng mô hình cần chú trọng tính phù hợp, tính khả thi, tính thực tiễn và tính mục đích. Điều này cho phép mô hình đƣợc đề xuất phù hợp với các đặc điểm cơ bản của vấn đề nghiên cứu và các thông tin thu thập đƣợc, đồng thời có thể đƣợc phân tích bởi các phƣơng pháp hay công cụ thích hợp nhằm tìm hiểu và nhận thức thực tiễn một cách sâu sắc. Trên cơ sở phân tích mô hình phải đƣa ra đƣợc các tác động điều khiển hợp lí nhằm đạt đƣợc các mục tiêu đề ra. Một mô hình kinh tế có thể chứa hoặc không chứa các yếu tố toán học, có thể là một mô hình toán học hay không phải là một mô hình toán học. Nếu một mô hình kinh tế là mô hình toán học thì nó còn đƣợc gọi là mô hình kinh tế toán (một số tác giả gọi là mô hình toán kinh tế). Mô hình kinh tế toán bao gồm các phƣơng trình (các hệ thức toán học nói chung) mô tả cấu trúc của mô hình. Các phƣơng trình phản ánh mối liên quan giữa các biến kinh tế dƣới dạng toán học một cách phù hợp với các giả thiết của mô hình. Nhƣ vậy, các biến, hằng số, tham số và các loại phƣơng trình là các yếu tố cơ bản của một mô hình kinh tế toán. Nhờ áp dụng các phép toán, các định lí toán học, chúng ta sẽ đƣa ra đƣợc các kết luận đƣợc suy ra một cách logic từ các giả thiết đã nêu.
  • 7. 7 1.3. Giới thiệu chung về lập trình ứng dụng kinh tế Hệ thống thông tin quản lý là một ngành khoa học nghiên cứu, thiết kế, phát triển và ứng dụng công nghệ thông tin và hệ thống truyền thông trong các doanh nghiệp. Với danh nghĩa một ngành khoa học hỗn hợp, Hệ thống thông tin quản lý đặt nền tảng trên kinh tế học cùng với ngành công nghệ thông tin. Ngoài ra, trong nghiên cứu, giảng dạy cũng nhƣ ứng dụng thực tế, Hệ thống thông tin quản lý còn liên quan tới lý thuyết cũng nhƣ phƣơng thức của các ngành khoa học xã hội, cũng nhƣ các lý thuyết điều khiển học, lý thuyết hệ thống và điện tử viễn thông. Mặc dù có nhiều đặc điểm của một ngành giao thoa, Hệ thống thông tin quản lý vẫn có một phạm vi nghiên cứu riêng biệt, đó là hƣớng vào lý thuyết, phƣơng cách, công cụ và kiến thức về hệ thống công nghệ thông tin cũng nhƣ điện tử viễn thông. Nhiệm vụ của ngành là tạo ra những hệ thống ngày càng phức hợp hơn, đồng thời phát triển và vận hành chúng. Ngoài việc khai thác những hệ thống công nghệ thông tin và điện tử viễn thông, Hệ thống thông tin quản lý còn hƣớng vào phát triển trên thực tế những hệ thống kinh tế và xã hội để qua đó xác định những hệ thống công nghệ thông tin thiết yếu, đồng thời tạo ra những mô hình công nghệ thông tin mới. Để giải quyết những vấn đề đặt ra trong lĩnh vực Hệ thống thông tin quản lý, giáo trình lập trình ứng dụng kinh tế sử dụng ngôn ngữ lập trình để giải quyết các bài toán về kinh tế. Học phần này cung cấp các kiến thức về ngôn ngữ lập trình C Sharp qua đó ứng dụng để giải quyết các bài toán kinh tế: phân tích dữ liệu và dự báo kinh tế, phân tích hoạt động kinh doanh, hệ hỗ trợ quyết định, bài toán quản lý, bài toán lãi suất… 1.4. Một số bài toán kinh tế cơ bản 1.4.1. Bài toán phục vụ công cộng 1.4.1.1. Hệ thống phục vụ công cộng từ chối cổ điển Một trong những hệ thống phục vụ công cộng đơn giản nhất, đƣợc mô hình hoá đầu tiên là hệ thống từ chối cổ điển. Hệ thống này mang tên ngƣời đề xuất bài toán tƣơng ứng: Hệ thống Eclang, nó bắt đầu từ bài toán phân tích một trạm điện thoại thông thƣờng, với một vài giả thiết đơn giản. Nhƣng cũng chính từ bài toán này, từ hệ thống này ngƣời ta đã vận dụng phân tích những hệ thống rất lớn, chẳng hạn hệ thống phòng thủ, hệ thống kiểm dịch,.. Sau đây chỉ nghiên cứu hệ thống Eclang đơn giản nhất. Mô tả hệ thống Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1 kênh rỗi thì đƣợc nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngƣợc lại
  • 8. 8 nếu tất cả các kênh đều bận thì phải ra khỏi hệ thống. Cần xác định các chỉ tiêu phân tích hệ thống. Hệ phương trình trạng thái và các xác suất trạng thái 0 = - P0 + P1 0 = - P1 - P1 +P0 + 2P2 ..... ............................. 0 = - Pk - kPk +Pk-1 +(k+1)Pk+1 với ĐK chuẩn: 1 k k P đặt  = / ta có Pk = 0 ! P k   Thay vào điều kiện chuẩn ta có:     n k n k k k P K P 0 0 0 1 !  => P0 =  n k k 0 ! 1   Bằng cách nhân cả tử số và mẫu số trong công thức trên với e- ta có: P0 =    n k k e e 0 0 ! !0/      Ký hiệu: P(, k) = !/ k e - đây là xác suất đại lƣợng ngẫu nhiên phân phối poát xông nhận giá trị k. R(, k) =  k i iP 0 ),( - là xác suất tích luỹ tƣơng ứng ta có: P0 = ),( )0,( ! !0/ 0 0 nR P e e n k k            Từ đó: Pk = ),( ),( ! 0 nR kP P k k    Các giá trị P(, k) và R(, k) đƣợc tính trong bảng phân phối poát xông.
  • 9. 9 Các chỉ tiêu đánh giá hoạt động của hệ thống Đối với hệ thống này các chỉ tiêu cơ bản đánh giá hệ thống là: (1). Xác suất hệ thống có n kênh rỗi: Pr Pr = P0 = ),( )0,( !0 0 0 nR P P    Chỉ tiêu này cho biết tỷ lệ thời gian hệ thống rỗi hoàn toàn, thời gian rỗi hoàn toàn tồn tại ở mọi hệ thống poát xông nói riêng và các hệ ngẫu nhiên nói chung, dù ta có giảm tối thiểu đến số kênh phục vụ hay tăng tối đa cƣờng độ dòng yêu cầu. (2). Xác suất hệ thống có n kênh bận (hay xác suất một yêu cầu đến hệ thống bị từ chối Ptc): Pn = ),( ),( ! 0 nR nP P n n    Đây cũng là hiệu suất lý thuyết tối đa của hệ thống, nhƣ vậy trong trƣờng hợp hệ ngẫu nhiên không có khả năng thiết kế một hệ thống khai thác toàn bộ công suất kỹ thuật của các kênh. (3). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống đƣợc nhận phục vụ) là: Ppv = 1-Ptc = 1-Pn Đó cũng là tỷ lệ của các đối tƣợng đƣợc hệ thống tiếp nhận và phục vụ đối với hệ thống đƣợc phục vụ công cộng, đây là một trong số ít các chỉ tiêu quan trọng nhất, với cùng một tiềm năng kỹ thuật nhƣ nhau có thể chọn chỉ tiêu này làm mục tiêu thiết kế hệ thống. Sau đây là một số chỉ tiêu tính toán ở mức trung bình, vì vậy các công thức dựa trên cơ sở tính kỳ vọng toán học của các đại lƣợng ngẫu nhiên. (4). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống): bN =        n k n k n k kk k P k P k kP 0 1 1 0 00 !!    = pvn P nR nP P .] ),( ),( 1[)1(      (5). Số kênh rỗi trung bình: br NnN  (6). Hệ số bận (rỗi): n N H b b  Hr = 1 - Hb
  • 10. 10 (7). Hiệu quả chung: F Tuỳ thuộc vào các đánh giá lợi ích hay thiệt hại trong quá trình phục vụ và việc tận dụng công suất hệ thống cũng nhƣ các loại lợi ích khác, ngƣời ta có thể lập một chỉ tiêu tổng hợp đánh giá hiệu quả chung của hệ thống. Việc phục vụ một yêu cầu mang lại một lợi ích là Cpv; mỗi yêu cầu bị từ chối gây thiệt là Cct; mỗi kênh rỗi gây lãng phí Ckr; thì trong một đơn vị thời gian có thể tính đƣợc chỉ tiêu hiệu quả chung là: F= ppvcpv - rN ckr- pnctc Trên cơ sở các chỉ tiêu đó ta có thể chọn một hay một vài chỉ tiêu để tối ƣu hoá hệ thống. 1.4.1.2. Hệ thống chờ với độ dài hàng chờ hạn chế và thời gian chờ không hạn chế Một lớp các hệ thống phục vụ công cộng khác, cũng khá phổ biến đó là hệ thống chờ. Đối với các hệ thống này, mỗi yêu cầu tuỳ thuộc vào chế độ tiếp nhận của hệ thống phục vụ và đặc điểm của các yêu cầu, có thể đƣợc phục vụ trong điều kiện nào đó (thời gian, số chỗ chờ) nhƣng phải xếp hàng chờ khi hệ thống có tất cả các kênh đều bận. Trong thực tế tình huống phổ biến là độ dài hàng chờ và cả thời gian chờ đều hạn chế, tuy vậy nếu độ dài hàng chờ hạn chế thì cũng có thể xem thời gian chờ của một yêu cầu nhƣ là hạn chế. Đơn giản cho việc nghiên cứu chúng ta sẽ xem xét mô hình phục vụ công cộng với độ dài hàng chờ hạn chế hay còn gọi là hệ thống chờ với độ dài hàng chờ hạn chế. Mô tả hệ thống Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1 kênh rỗi thì đƣợc nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngƣợc lại, nếu tất cả các kênh đều bận thì xếp hàng chờ nếu số yêu cầu chờ bé hơn m. Cần xác định các chỉ tiêu phân tích hệ thống. Hệ phương trình trạng thái và các xác suất trạng thái 0 = - P0 + P1 0 = - P1 - P1 +P0 + 2P2 .... ................................... 0 = - Pk - kPk +Pk-1 +(k+1)Pk+1 .... ................................... 0 = - nPn - Pn +Pn-1 + nPn+1
  • 11. 11 .... ................................... 0 = - nPn+s - Pn+s +Pn+s-1 + nPn+s+1 .... ................................... 0 = - nPn+m +Pn+m-1 với ĐK chuẩn: 1 k k P đặt  = / ta có: Pk = 0 ! P k   và Pn+s = 0 ! P nn s sn  Nếu /n = 1 thì Pn+s = 0 ! P n n  = Pn Đặt x= /n. Thay vào điều kiện chuẩn ta có:     n k m s s nk x nK P 0 1 0 1) !! (  Khi x1 => P0 =     n k m s s nk x n0 1!! 1    =     n k mnk x x x n0 1 )1( !! 1    Hay: P0 = x xx nPnR P m    1 )1( ),(),( )0,(   Khi x=1: P0 = mnPnR P ),(),( )0,(    Các chỉ tiêu đánh giá hoạt động của hệ thống Đối với hệ thống này các chỉ tiêu cơ bản đánh giá hệ thống là: (1). Xác suất hệ thống có n kênh rỗi: Pr Pr = P0 Chỉ tiêu này cho biết tỷ lệ thời gian hệ thống rỗi hoàn toàn, thời gian rỗi hoàn toàn tồn tại ở mọi hệ thống poát xông nói riêng và các hệ ngẫu nhiên nói chung, dù ta có giảm tối thiểu đến số kênh phục vụ hay tăng tối đa cƣờng độ dòng yêu cầu.
  • 12. 12 (2). Xác suất một yêu cầu đến hệ thống phải chờ: Pc Pc =        1 0 0 1 0 ! m s s nm s sn Px n P  = x x x xx nPnR nP m m      1 )1( 1 )1( ),(),( ),(   (Khi x1) Khi x=1: Pc = mPn (3). Xác suất hệ thống có n kênh bận (hay xác suất một yêu cầu đến hệ thống bị từ chối Ptc): Ptc = Pn+m = 0 ! Px n m n  Khi x1: Ptc = m m x x xx nPnR nP    1 )1( ),(),( ),(   Khi x=1: Ptc = Pn+m =Pn Đây cũng là hiệu suất lý thuyết tối đa của hệ thống, nhƣ vậy trong trƣờng hợp hệ ngẫu nhiên không có khả năng thiết kế một hệ thống khai thác toàn bộ công suất kỹ thuật của các kênh. (4). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống đƣợc nhận phục vụ) là: Popv = 1-Ptc -Pc (5). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống): bN =          n k n k m s snk m s snk PnkPPnkP 0 1 11 Khi x1: = )1( 1 ),(),( )1( 1 ),()1,( m m x x x nPnR x x x nnPnR         Khi x=1: bN = mnPnR nnmPnR ),(),( ),()1,(     (6). Độ dài hàng chờ trung bình Khi x1: cM = x xx nPnR sxnP sP m m s s m s sn          1 )1( ),(),( ),( 0 0   bN
  • 13. 13 Trong đó: ]1)1[( )1( 1 2 1 0 1 1 0               mm m s s m s s m s s mxxm x x x x xsxxsx Khi x=1: cM = 2 )1( mm Pn (7). Thời gian chờ trung bình của một yêu cầu: Thời gian chờ của mỗi yêu cầu đƣợc xác định bằng khoảng thời gian hệ thống giải phóng mỗi yêu cầu và số yêu cầu chờ hiện có. Vì vậy nếu gọi thời gian chờ là Tc thì Tc = 0 khi hệ thống còn kênh rỗi; khi có s yêu cầu chờ thì thời gian chờ của mỗi yêu cầu trung bình sẽ là: s/n, vì vậy có thể tính thời gian chờ trung bình nhƣ sau:      m s m s snsnc sPP n s T 0 0 1 1  Hay:  c c M T  (8). Thời gian rỗi giữa hai lần phục vụ: n N n N H H TT b b b b pvr      1 1 1.4.1.3. Hệ thống chờ thuần nhất Trong điều kiện hệ thống chờ với độ dài hàng chờ và thời gian chờ đủ lớn, việc một yêu cầu đến hệ thống đƣợc phục vụ là một biến cố hầu nhƣ chắc chắn. Nói cách khác, ngƣời ta không cần quan tâm đến việc có còn chỗ chờ hay không và cũng không quan tâm đến thời gian chờ dài hay ngắn. Với mục đích tiện lợi cho việc phân tích hệ thống, sau đây ta xem xét mô hình hệ thống phục vụ công cộng chờ với độ dài hàng chờ và thời gian chờ không hạn chế. Mô tả hệ thống Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ thống gặp lúc có ít nhất 1
  • 14. 14 kênh rỗi thì đƣợc nhận phục vụ cho đến thoả mãn tại 1 trong các kênh rỗi đó. Ngƣợc lại nếu tất cả các kênh đều bận thì xếp hàng chờ. Cần xác định các chỉ tiêu phân tích hệ thống. Hệ phương trình trạng thái và các xác suất trạng thái Áp dụng qui tắc viết hệ phƣơng trình xắc suất trạng thái, ta có thể viết phƣơng trình trạng thái của hệ thống này. Trong đó các phƣơng trình ứng với các trạng thái từ X0(t) đến Xn(t) không có gì khác so với các hệ phƣơng trình trên, từ các trạng thái sau Xn(t) ta có vô số trạng thái có cấu trúc sơ đồ nhƣ nhau vì vậy các phƣơng trình cũng nhƣ nhau. Cụ thể là: 0 = - P0 + P1 0 = - P1 - P1 +P0 + 2P2 .... ................................... 0 = - Pk - kPk +Pk-1 +(k+1)Pk+1 .... ................................... 0 = - nPn - Pn +Pn-1 + nPn+1 .... ................................... 0 = - nPn+s - Pn+s +Pn+s-1 + nPn+s+1 .... ................................... với ĐK chuẩn: 1 k k P đặt  = / ta có: Pk = 0 ! P k   và Pn+s = 0 ! P nn s sn  Các chỉ tiêu đánh giá hoạt động của hệ thống Để tính các xác suất trạng thái và các chỉ tiêu ta chỉ cần lấy giới hạn các công thức đã có ở hệ thống chờ hạn chế với m dần tới vô hạn và /n < 1. Trong trƣờng hợp ngƣợc lại /n  1 hệ thống không thể tồn tại, vì số yêu cầu chờ tăng vô hạn xác suất hệ thống ở một trạng thái Xk(t) với k hữu hạn bằng không. Ta có các công thức tƣơng ứng nhƣ sau: (1). Xác suất hệ thống có n kênh rỗi: Pr = P0 P0 =      n k s s nk x n0 1 !! 1    = x x nPnR P   1 ),(),( )0,(  
  • 15. 15 (2). Xác suất một yêu cầu đến hệ thống phải chờ: Pc Pc = xn Px n PP n s s n s sn         1 1 !! 0 0 0 0  = x x nPnR x nP    1 ),(),( 1 1 ),(   (3). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống đƣợc nhận phục vụ) là: Ppvo = 1 - Pc (4). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống): bN =           n k n k s s nk s snk x n nP k kPPnkP 0 1 1 00 1 !!  = ) 1!! ( 1 0 0 x x n n k P nn k k       = x x nPnR x x nnPnR     1 ),(),( 1 ),()1,(   (5). Độ dài hàng chờ trung bình cM = x x nPnRx nxP x n PsP s s n s sn          1 ),(),()1( ),( ! 20 0 0   (6). Thời gian chờ trung bình của một yêu cầu  c c M T  Trong thực tế khi m đủ lớn ngƣời ta sử dụng các công thức của hệ thống chờ thuần nhất cho hệ thống chờ hạn chế, làm nhƣ vậy việc tính các chỉ tiêu sẽ đơn giản hơn. 1.4.2. Bài toán dự trữ 1.4.2.1. Mô hình dự trữ với việc tiêu thụ đều, bổ sung tức thời (mô hình wilson) Mô tả bài toán Giả sử:  Nhu cầu là một loại hàng hóa trong thời kỳ T (T=1) là Q đơn vị.  Việc tiêu thụ hàng là đều đặn và thời gian bổ sung hàng vào kho không đáng khể (tức thời).  Chi phí cho mỗi lần đặt hàng là A.
  • 16. 16  Giá đơn vị hàng là C.  Hệ số chi phí dự trữ là I và thời gian đặt hàng là T0. => Hãy xác định số lần đặt hàng và lƣợng hàng đặt mỗi lần sao cho tổng chi phí thấp nhất. Thiết lập mô hình Giả sử ta chia T thành n chu kỳ dự trữ và tiêu thụ, trong mỗi kỳ i đặt mua lƣợng hàng tƣơng ứng là qi. Ta có sơ đồ biểu thị số lƣợng hàng trong kho nhƣ sau: q1 q2 t1 t2 T=1 Hình 1.1: Sơ đồ lượng hàng dự trữ trong kho Sơ đồ trên thể hiện cƣờng độ tiêu thụ đều, đƣờng biểu diễn lƣợng dự trữ tuyến tính theo thời gian. Mỗi chu kỳ nhập một lƣợng hàng qi, tiêu thụ đến hết chu kỳ thì phải có hàng bổ sung vào dự trữ. Nhƣ vậy không xảy ra thiếu, thừa dự trữ, do đó cũng không phát sinh các chi phí tƣơng ứng. Trong mỗi chu kỳ ti lƣợng hàng dự trữ trung bình là qi/2, phát sinh chi phí dự trữ tƣơng ứng qitiIC/2, chi phí đặt hàng là nA, ngoài ra tổng số tiền mua hàng là CQ. Vậy hàm tổng chi phí là: F(ti,n) =nA + ∑ + CQ (i = 1,2,…,n) Vì quy luật tiêu thụ đều nên dễ dàng suy ra: ti = qi/Q với i. Nhƣ vậy ta có: F(qi,n) =nA + ∑(Icq2 i/2)+ CQ (i = 1,2,…,n) ∑qi = Q ( i = 1,2,…,n) Với n xác định, ta có thể lấy F(q) bé nhất khi : qi = q = Q/n với , tức là lƣợng hàng đặt mua mỗi lần đều bằng q.
  • 17. 17 Thật vậy, lập hàm f(qi) = F(qi) – (∑qi – Q) điểm dừng của f(qi) là qi = Q/n. Dễ dàng nhận thấy đây là điểm cực tiểu của toàn bộ f(qi). Tóm lại, việc tìm cực tiểu hàm F(ti,n) đƣợc quy về tìm cực tiểu hàm: F(q) = AQ/q + ICq/2 + CQ. Vì CQ không đổi nên ta chỉ cần tìm q làm cực tiểu D(q) = AQ/q + ICq/2 Lời giải Vì D(q) là tổng của 2 số dƣơng có tích không đổi, theo hệ quả bất đẳng thức Cosi, D(q) nhỏ nhất khi AQ/q = ICq/2. Giải phƣơng trình này ta đƣợc : Lƣợng đặt hàng tối ƣu là : q* = √ Và D(q*) = √ = 2AQ/q* = ICq* F(q*) = √ + CQ Số lần đặt hàng tối ƣu là n* = Q/q* Chu kỳ dự trữ, tiêu thụ: t* = 1/n* Điểm đặt hàng: Việc xác định điểm đặt hàng sẽ đơn giản nếu nhƣ T0< t*, nhƣng trong thực tế có thể T0> t*, nhƣ vậy cần đặt hàng trƣớc một hay một số chu kỳ. Lƣợng hàng trong kho lúc đặt hàng (điểm đặt hàng ) chính là lƣợng tiêu thụ trong khoảng thời gian đƣợc xác định theo công thức sau: [T0 – t*.int(T0.t*)] Trong trƣờng hợp tổng quát, ta có thể tính B* theo công thức sau: B* = Q[T0 – t*.int(T0.t*)] (với int(T0/t*) là phần nguyên của T0/t*) 1.4.2.2. Mô hình dự trữ tiêu thụ đều, bổ sung dần dần Mô tả bài toán Giả sử :  Nhu cầu một loại hàng hóa trong thời kỳ T (T = 1) là Q đơn vị.  Việc tiêu thụ hàng là đều đặn và thời gian bổ sung hàng vào kho đƣợc tiến hành với cƣờng độ không đổi là K đơn vị trong thời gian T = 1.  Ta giả thiết rằng K >> Q vì nếu K ≤ Q thì không cần đặt vấn đề dự trữ.  Chi phí cho mỗi lần đặt hàng là A.  Giá đơn vị hàng là C, hệ số chi phí dự trữ là I và thời gian đặt hàng là T0.
  • 18. 18 => Hãy xác định số lần đặt hàng và lƣợng hàng đặt mỗi lần sao cho tổng chi phí là nhỏ nhất. Thiết lập mô hình Tƣơng tự nhƣ mô hình Wilson, ta có thể xem lƣợng hàng đặt mỗi lần bằng nhau và bằng q, số lần đặt hàng sẽ là n = Q/q. Vì Q << K nên trong mỗi chu kỳ dự trữ, tiêu thụ t có 2 khoảng thời gian ts( thời gian bổ sung hàng vào kho ) và tr ( thời gian chỉ tiến hành tiêu thụ). Nếu gọi lƣợng hàng tối đa trong kho là S, ta có trong trong thời gian T = 1 nếu nhập hàng liên tục thì lƣợng hàng dƣ là K – Q ; trong thời gian ts lƣợng hàng dƣ là S. Vậy S/ts = (K - Q)/T hay S = ts(K – Q). Mặt khác trong thời gian ts lƣợng hàng đƣợc nhập là q nên q/ts = K/T hay ts = q/K. Từ đó ta có : S =q(K – Q)/K và có sơ đồ biểu thị số lƣợng hàng dự trữ trong kho nhƣ sau : S = q( 1 – Q/K) ts tr t = ts + tr T = 1 Hình 1.2 : Sơ đồ lượng hàng dự trữ trong kho Hàm tổng chi phí là : F(q) = AQ/q + ICq/2(1 – Q/K) + CQ ( Mức dự trữ trung bình đƣợc tính bằng S/2 và S = q(1 – Q/K) ) Nếu đặt I’ = I(1 – Q/K) ta có hàm tổng chi phí ta có hàm tổng chi chi của mô hình Wilson trong đó I đƣợc thay bằng I’ Lời giải Lượng đặt hàng tối ưu mỗi lần là : q* = √ Và D(q*) = √
  • 19. 19 F(q*) = √ + CQ Số lần đặt hàng tối ưu là : n* = Q/q* Chu kỳ dự trữ, tiêu thụ là : t* = 1/n* Điểm đặt hàng trong trƣờng hợp này cần phân biệt mức B* khi đang làm đầy kho và khi đang làm vơi kho. Đầu tiên ta tính B : B = Q[T0 – t*.int(T0/t*)] Nếu B ≤ S* thì B* = B : Đặt hàng khi đang làm vơi kho. Nếu B > S* thì B* = B : Đặt hàng khi đang làm đầy kho. 1.4.2.3. Mô hình dự trữ trong trường hợp giá hàng thay đổi theo số lượng đặt mua mỗi lần ( Mô hình dự trữ nhiều mức giá ) Trong các mô hình trên, ta giả thiết giá của mỗi đơn vị hàng không đổi. Thực tế do nhiều lý do khác nhau, giá hàng có thể thay đổi theo quy mô của lô hàng mua mỗi lần, chẳng hạn ngƣời ta có thể chia các mức giá thành : giá bán lẻ, giá bán buôn cấp 1, giá bán buôn cấp 2, hay giá theo đơn đặt hàng có ứng vốn, … Nói một cách tổng quát là giá của mỗi đơn vị hàng có thể thay đổi theo số lƣợng đặt hàng mỗi lần. Sau đây ta sét một mô hình đại diện cho trƣờng hợp này. Mô tả bài toán Nhu cầu một loại hàng hóa trong thời gian T (T =1) là Q đơn vị. Chi phí cho mỗi lần đặt hàng là A, hệ số chi phí dự trữ là I, giá hàng thay đổi theo số lƣợng mua mỗi lần nhƣ sau: Nếu q < s1 giá c1 s1 ≤ q < s2 giá c2 s2 ≤ q < s3 giá c3 ----------------------------------- sk-1≤ q < sk giá ck ----------------------------------- sn-1 ≤ q giá cn Trong đó: s1< s2 <…< sn-1
  • 20. 20 Ta gọi si( i = 1,2,…,n ) là các mốc thay đổi giá, có thể xem s0 = 0, sn = và c1> c2>…>cn Thiết lập mô hình Để đơn giản cho việc tìm kết quả, ta giả thiết thời gian bổ sung hàng là bổ sung tức thời ( thời gian nhỏ, không đáng kể ). Đặt Fi(q) = + ICi + CiQ Đây chính là hàm tổng chi phí nếu mua hàng với giá ci. Ta có : F1(q) khi q (0,s1) F2(q) khi q (s1,s2) F(q) = …………….…… Fn-1(q) khi q (sn-2,sn-1) Fn(q) khi q (sn-1, ) Lời giải Theo giả thiết ta có: F1(q) > F2(q) > … > Fn(q) với q > 0 Gọi qi*là điểm cực tiểu của hàm Fi(q), ta có : qi* = √ Do ci giảm dần nên ta luôn có qi* > q*i-1 Mặt khác : Fi(qi*) = CiQ + 2AQ/qi* < Fi-1(qi-1) = Ci-1Q + 2AQ/q*i-1 Ta có thể mô tả trên đồ thị nhƣ sau : Hình 1.3 : Sơ đồ lượng hàng dự trữ trong kho
  • 21. 21 Với các đặc điểm trên ta có thể mô tả thuật toán tìm giá trị tối ƣu q* nhƣ sau : Trường hợp 2 mức giá : Tính q2* = √ Nếu q2* ≥ s1 thì lƣợng đặt hàng tối ƣu là q* = q2* Nếu q2* <s1 : Tính F2(s1) = AQ/s1 + IC2s1/2 + C2Q. Đây là giá trị bé nhất của hàm tổng chi phí với q ≥ s1 Tính q1* = √ F1(q1*) = √ + C1Q Có ba trƣờng hợp có thể xảy ra nhƣ sau : TH1: Nếu F2(s1) < F1(q1*) thì q* = s1 TH2: Nếu F2(s1) > F1(q1*) thì q* = q1* TH3: Nếu F2(s1) = F1(q1*) thì q* = q1* hoặc q* = s1 Trường hợp tổng quát n mức giá: Xét từ hàm Fn(q) để tìm giá trị nhỏ nhất của hàm F(q) trong khoảng [sn-1, ), nếu giá trị đó đặt tại điểm cực trị thì ta nhận đƣợc giá trị q* = qn* là giá trị tại đó F(q) nhỏ nhất, ngƣợc lại ta lấy giá trị Fn(sn-1) làm giá trị nhỏ nhất địa phƣơng. Xét khoảng [sn-2,sn-1] để tìm giá trị nhỏ n trong nhất của F(q) biểu hiện bởi giá trị nhỏ nhất của hàm Fn-1(q) trong khoảng này; so sánh với giá trị nhỏ nhất trong khoảng trƣớc đó. Nhƣ vậy, ta tìm đƣợc q* khi nhận đƣợc giá trị đầu tiên qi* [sn-2,sn-1]  Tính qn*  Nếu qn* ≥ sn-1 thì q* = qn*, giá trị nhỏ nhất của F(q) là F(qn*)  Nếu qn* < sn-1, tính Fn(sn-1) và tính q*n-1  Nếu qn-1 ≥ sn-2 thì tính Fn-1(q*n-1) và so sánh giá trị này với Fn(sn-1), giá trị nhỏ nhất tƣơng ứng cho biết lƣợng q* tối ƣu.  Nếu q*n-1< sn-2 , tính Fn-1(sn-2) và tính q*n-2  Nếu q*n-2 > sn-3 thì tính Fn-2(q*n-2) và so sánh giá trị này với Fn-1(sn-2) và Fn(sn-2), giá trị nhỏ nhất tƣơng ứng cho biết lƣợng q* tối ƣu.  Nếu q*n-2< sn-3, tính Fn-2(sn-3) …
  • 22. 22  Tiếp tục thuật toán trên cho đến khi nhận đƣợc qi* [sn-1,si] và tìm đƣợc lƣợng đặt hàng tối ƣu Cũng có thể thực hiện thuật toán trên một cách máy móc nhƣng đơn giản hơn khi số mức giá quá lớn nhƣ sau:  Tính các giá trị qk* với k = n, n-1, n-2, …. Cho đến khi nhận đƣợc q* thỏa mãn điều kiện  Tính { Fk(sk-1) với s > i } và Fi(q*i)  Tìm min { Fk(sk-1) với s > I; Fi(q*i) }  Điểm đạt nhỏ nhất chính là điểm cực tiểu của hàm F(q). 1.4.3. Bài toán phân tích và dự báo kinh tế Bài toán phân tích và dự báo là một bài toán có ý nghĩa quan trọng trong việc hỗ trợ các nhà quản lý đƣa ra quyết định đúng đắn dựa vào các dữ liệu đã thu thập đƣợc. Khi tiến hành dự báo cần căn cứ vào việc thu thập, xử lý số liệu trong quá khứ và hiện tại để xác định xu hƣớng vận động của các hiện tƣợng trong tƣơng lai nhờ vào một số mô hình toán học. Tính chính xác của dự báo Tính chính xác của dự báo đề cập đến độ chênh lệch của dự báo với số liệu thực tế. Bởi vì dự báo đƣợc hình thành trƣớc khi số liệu thực tế xảy ra, vì vậy tính chính xác của dự báo chỉ có thể đánh giá sau khi thời gian đã qua đi. Nếu dự báo càng gần với số liệu thực tế, ta nói dự báo có độ chính xác cao và lỗi trong dự báo càng thấp. Gọi: : giá trị thực tại giai đoạn t : giá trị dự báo tại giai đoạn t n: số giai đoạn Sai số dự báo: et = - Nếu một mô hình đƣợc đánh giá là tốt thì sai số dự báo phải tƣơng đối nhỏ. Tiêu chí Công thức tính 1. Sai số trung bình ME = ∑ 2. Sai số trung bình tuyệt đối MAE = ∑| | 3. Sai số phần trăm trung bình MPE = ∑ x 100%
  • 23. 23 4. Sai số phần trăm trung bình tuyệt đối MAPE = ∑| | x 100% 5. Sai số bình phƣơng trung bình MSE = ∑ 6. Sai số bình phƣơng trung bình chuẩn RMSE = √ Sai số của dự báo + Sai số dự báo là sự chênh lệch giữa mức độ thực tế và mức độ tính toán theo mô hình dự báo. + Sai số dự báo phụ thuộc vào 03 yếu tố: độ biến thiên của tiêu thức trong thời kỳ trƣớc, độ dài của thời gian của thời kỳ trƣớc và độ dài của thời kỳ dự đoán. + Vấn đề quan trọng nhất trong dự báo bằng ngoại suy hàm xu thế là lựa chọn hàm xu thế, xác định sai số dự đoán và khoảng dự đoán: - Công thức tính sai số chuẩn ( y ) 2 i y y y n p           Trong đó: y : Sai số chuẩn yˆ : Giá trị tính toán theo hàm xu thế yi: Giá trị thực tế n: Số các mức độ trong dãy số p: Số các tham số cần tìm trong mô hình xu thế Công thức này đƣợc dùng để lựa chọn dạng hàm xu thế (so sánh các sai số chuẩn tính đƣợc) sai số nào nhỏ nhất chứng tỏ rằng hàm tƣơng ứng với sai số sẽ xấp xỉ tốt nhất và đƣợc lựa chọn làm hàm xu thế để dự đoán. Thông thƣờng để việc dự đoán đƣợc tiến hành đơn giản ta vẫn chọn hàm xu thế làm hàm tuyến tính. Công thức tính sai số dự báo: pSˆ = δy )1( )12(31 1    nn n n L
  • 24. 24 Trong đó: pSˆ : Sai số của dự báo n: số lượng các mức độ (n=10) L: tầm xa của dự báo y : sai số chuẩn Hệ số tương quan Khái niệm: Hệ số tƣơng quan là chỉ tiêu đánh giá mức độ chặt chẽ của mối liên hệ tƣơng quan tuyến tính đơn của hai biến. Tác dụng: Xác định cƣờng độ của mối liên hệ từ đó chọn ra nguyên nhân chủ yếu hoặc thứ yếu đối với hiện tƣợng nghiên cứu. Xác định chiều hƣớng cụ thể của mối liên hệ (thuận – nghịch). Hệ số tƣơng quan còn dùng trong nhiều trƣờng hợp dự đoán thống kê và tính sai số của dự đoán Công thức tính: yx yxxy r  . .  Nhƣ vậy, dấu của hệ số tƣơng quan r phụ thuộc vào dấu của hệ số b vì phƣơng sai luôn mang dấu dƣơng. Các tính chất của hệ số tƣơng quan: Miền xác định: –1 ≤ r ≤ 1.  | |> 0,8 tƣơng quan mạnh  0,4 ≤ | | ≤ 0,8 tƣơng quan trung bình  | |< 0,4 tƣơng quan yếu  | | càng lớn thì tƣơng quan giữa x và y càng chặt  0 < r ≤1 : gọi là tƣơng quan tuyến tính thuận (x↑, y↑)  -1 ≤r ≤0 : gọi là tƣơng quan tuyến tính nghịch (x↑, y↓) Hệ số xác định ( 2 r ): Hệ số xác định dùng để đánh giá sự phù hợp của mô hình, nó cho biết tỷ lệ % thay đổi của y được giải thích bởi mô hình. 1.4.3.1. Phương pháp hồi quy tuyến tính Nhiệm vụ đầu tiên của phân tích hồi quy tƣơng quan là xây dựng mô hình hồi quy và xác định tính chất cũng nhƣ hình thức của mối liên hệ (loại mô hình).
  • 25. 25 Mô hình dự đoán theo phương trình hồi quy: tbay .ˆ  Trong đó: t : Trị số của tiêu thức gây ảnh hƣởng (nguyên nhân) (biến độc lập). yˆ : Trị số điều chỉnh của tiêu thức chịu ảnh hƣởng (kết quả) (biến phụ thuộc) theo quan hệ với t. a: Hệ số tự do (hệ số chặn), là điểm xuất phát của đƣờng hồi quy lý thuyết, nêu lên ảnh hƣởng của các nhân tố khác (tiêu thức nguyên nhân khác) ngoài t tới sự biến động của y. b: Hệ số hồi quy (hệ số góc, độ dốc), phản ánh ảnh hƣởng trực tiếp của tiêu thức nguyên nhân t đến tiêu thức kết quả y. Mỗi khi t tăng lên 1 đơn vị thì y sẽ thay đổi trung bình b đơn vị. b nói lên chiều hƣớng của mối liên hệ: b > 0: Mối liên hệ thuận; b < 0: Mối liên hệ nghịch. + Cách xác định tham số: a, b phải đƣợc xác định sao cho đƣờng hồi quy lý thuyết mô tả gần đúng nhất mối liên hệ thực tế. Khoảng cách từ điểm thực tế đến điểm thuộc đƣờng hồi quy lý thuyết nhỏ nhất sẽ là tốt nhất. Từ phƣơng trìnhh trên bằng phƣơng pháp bình phƣơng nhỏ nhất hoặc thông qua việc đặt thứ tự thời gian (t) trong dãy số để tính các tham số a, b. Nếu đặt thứ tự thời gian t sao cho ∑t # 0 ta có công thức tính tham số nhƣ sau: 22 .. tt tyty a    tayb . Nếu đặt thứ tự thời gian t sao cho ∑t = 0 ta có: y n y a   2 t yt b  1.4.3.2. Phương pháp san bằng mũ Điều hòa mũ đƣa ra các dự báo cho giai đoạn trƣớc và thêm vào đó một lƣợng điều chỉnh để có đƣợc lƣợng dự báo cho giai đoạn kế tiếp. Sự điều chỉnh này là một tỷ lệ nào đó của sai số dự báo ở giai đoạn trƣớc và đƣợc tính bằng cách nhân số dự báo của giai đoạn trƣớc với hệ số nằm giữa 0 và 1. Hệ số này gọi là hệ số điều hòa. Công thức tính nhƣ sau: Ft = Ft-1+ α (At-1−Ft-1) Trong đó : Ft: Dự báo cho giai đoạn thứ t, giai đoạn kế tiếp. Ft-1: Dự báo cho giai đoạn thứ t-1, giai đoạn trƣớc. At-1: Số liệu thực tế của giai đoạn thứ t-1
  • 26. 26 1.4.3.3. Phương pháp Holt – Winter Mô hình này thƣờng áp dụng đối với sự biến động của hiện tƣợng qua thời gian có xu thế là tuyến tính và không có biến động thời vụ. - Giả sử chúng ta có dãy số thời gian y1, y2, y3,…, yn với biến động có tính xu thế. Bước 1: Chọn các hệ số ,  ( 0 < ,  < 1) Nếu chọn hằng số san nhỏ tức là chúng ta coi các mức độ hiện thời của dãy số ít ảnh hƣởng đến mức độ dự báo. Ngƣợc lại nếu chọn hằng số san lớn tức là chúng ta muốn dãy số san số mũ phản ứng mạnh với những thay đổi hiện tại. Bước 2: Tiến hành san mũ cho giá trị ƣớc lƣợng và xu thế của dãy số: Coi giá trị của dãy số thời gian là tổng của 2 thành phần: Thành phần trung bình có trọng số của các giá trị thực tế (ký hiệu là St – giá trị ƣớc lƣợng của hiện tƣợng ở thời điểm t) và thành phần xu thế (ký hiệu là Tt). Ta có mô hình san số mũ: 1 t tty S T   Trong đó: 1 ( 1)(1 ) (1 )t t t t t tS y S T y S              1 ( 1)( ) (1 ).t t t tT S S T      Đặt S2 = Y2 T2 = Y2 – Y1 Tiến hành san số mũ từ thời điểm thứ 3 trở đi, ta có: 3 3 2 2 3 3 2 2 4 4 3 3 4 4 3 3 (1 )( ) ( ) (1 ) (1 )( ) ( ) (1 ) ... S Y S T T S S T S Y S T T S S T                         Bước 3: Sử dụng mức và xu thế đã đƣợc san số mũ tại thời điểm để dự đoán cho các thời điểm trong tƣơng lai để dự đoán giá trị của hiện tƣợng ở thời điểm tƣơng lai t + 1: 1 t tty S T   Ở thời điểm tƣơng lai (t + h) (h=2, 3 …) t tt hy S hT  
  • 27. 27 1.4.3.4. Phương pháp trung bình động Phƣơng pháp trung bình động có trọng số là phƣơng pháp trung bình động có tính đến ảnh hƣởng của từng giai đoạn khác nhau đến nhu cầu thông qua việc sử dụng các trọng số. Trong phƣơng bình quân đơn giản đƣợc đề cập ở phần trên, chúng ta xem vai trò của các số liệu trong quá khứ là nhƣ nhau. Trong một vài trƣờng hợp, các số liệu này có ảnh hƣởng khác nhau trên kết quả dự báo, vì thế, ngƣời ta thích sử dụng quyền số không đồng đều cho các số liệu quá khứ. Quyền số hay trọng số là các con số đƣợc gán cho các số liệu quá khứ để chỉ mức độ quan trọng của chúng ảnh hƣởng đến kết quả dự báo. Quyền số lớn đƣợc gán cho số liệu gần với kỳ dự báo nhất để ám chỉ ảnh hƣởng của nó là lớn nhất.Việc chọn các quyền số phụ thuộc vào kinh nghiệm và sự nhạy cảm của ngƣời dự báo. Công thức: ∑ Trong đó: : dự báo thời kỳ thứ t. : số liệu thực tế thời kỳ trƣớc (i = 1,2,3...) : quyền số tƣơng ứng ở thời kỳ i. 1.4.4. Bài toán lãi suất Khái niệm: Lãi suất là tỷ lệ của tổng số tiền phải trả so với tổng số tiền vay trong một khoảng thời gian nhất định. Lãi suất là giá mà ngƣời vay phải trả để sử dụng tiền không thuộc sở hữu của họ và lợi tức ngƣời cho vay có đƣợc đối với việc trì hoãn chi tiêu. Mục tiêu: Quản lý lãi suất nhằm hạn chế tối đa tổn thất về thu nhập do sự thay đổi về lãi suất thị trƣờng, hay nói cách khác khi lãi suất thị trƣờng thay đổi sẽ không ảnh hƣởng tới mức chênh lệch giữa thu nhập lãi và chi phí lãi và giá trị vốn chủ sở hữu. Các nhà quản lý thƣờng sử dụng hệ số chênh lệch lãi ròng để đo lƣờng và so sánh sự thay đổi của thu nhập khi có biến động của lãi suất thị trƣờng. Nhiệm vụ của quản lý rủi ro lãi suất là kiểm soát quy mô của hệ số thu nhập lãi ròng bằng. Phương thức tính lãi Thực hiện đa dạng hóa lãi suất: Do các nhân tố ảnh hƣởng đến chính sách lãi suất của mỗi hệ thống ngân hàng là khác nhau nên quan điểm điều hành lãi suất của mỗi nhà quản lý ngân hàng cũng khác nhau. Vì vậy, lãi suất ở hệ thống ngân hàng cũng không dập khuân, tạo cho khách hàng có nhiều cơ hội lựa chọn ngân hàng để gửi tiền và vay tiền. Để có thể huy động đƣợc vốn, lãi suất của mỗi loại tiền gửi cũng phải khác nhau. Cụ thể nhƣ sau: Lãi suất tiền gửi giao dịch (tiền gửi thanh toán). Lãi suất tiền gửi thanh toán dùng trong các doanh nghiệp không đƣợc hƣởng lãi trực tiếp mà ngƣời gửi chỉ đƣợc hƣởng lãi gián tiếp thông qua các
  • 28. 28 dịch vụ thanh toán miễn phí của ngân hàng. Tài khoản tiền gửi thanh toán dùng cho cá nhân đƣợc ngân hàng trả lãi, nhƣng lãi suất cho loại tiền gửi này thƣờng thấp hơn lãi suất cho tiền gửi định kỳ. Lãi suất tiền gửi giao dịch (tiền gửi có kỳ hạn và tiền gửi tiết kiệm ). Khác với tiền gửi thanh toán, tiền gửi định kỳ là tiền tạm thời chƣa sử dụng hoặc tiền để dành của cá nhân. Vì vậy mục đích gửi tiền vào ngân hàng là nhằm tìm kiếm lãi -tiền gửi không kỳ hạn: Tiền lãi đƣợc nhập vào gốc tháng hoặc quý vào ngày đến hạn nếu khách hàng không đến lãnh lãi. Tiền gửi có kỳ hạn: Tiền lãi đƣợc trả trƣớc vào ngày khách hàng gửi tiền (đối với loại tiết kiệm trả lãi trƣớc) hoặc trả lãi định kỳ tháng, quý, 6 tháng, 1 năm (đối với loại tiết kiệm trả lãi định kỳ) hoặc trả lãi cuối kỳ (đối với loại tiết kiệm trả lãi sau). Rút vốn trước hạn (áp dụng lãi bậc thang): Khách hàng gửi tiền có kỳ hạn khi có nhu cầu rút vốn trƣớc hạn đƣợc áp dụng lãi suất ở kỳ hạn tƣơng đƣơng với thời gian gửi thực tế hoặc mức lãi suất ở kỳ hạn ngắn hơn kế trƣớc (nếu Ngân hàng không huy động loại kỳ hạn tƣơng đƣơng thời gian khách hàng đã gửi) Các phương pháp tính lãi suất Tính lãi suất Tiền gửi không kỳ hạn: Tiền lãi đƣợc nhập vào gốc tháng hoặc quý vào ngày đến hạn (rút hết số tiền gửi) nếu khách hàng không đến lĩnh lãi. Công thức tính lãi: Tiền lãi = (số dƣ * lãi suất) / 30 * số ngày Tiền gửi có kỳ hạn: Tiền lãi đƣợc trả trƣớc vào ngày khách hàng gửi tiền (đối với loại tiền gửi có kỳ hạn trả lãi trƣớc toàn bộ); hoặc trả lãi định kỳ tháng, quý, 6 tháng, 1 năm (đối với loại tiền gửi trả lãi sau định kỳ); hoặc trả lãi cuối kỳ (đối với loại tiền gửi trả lãi sau toàn bộ). Công thức tính lãi đơn: Tiền lãi = số dƣ * số tháng gửi * lãi suất Công thức tính lãi kép: Tiền lãi kép = (số dƣ *(1 + lãi suất)^ thời gian gửi ) - số dƣ 1.4.6. Bài toán quản lý Ứng dụng các phần mềm quản lý là một giải pháp cũng nhƣ xu hƣớng tất yếu của doanh nghiệp khi muốn phát triển, mở rộng trong tƣơng lai. Thực vậy, khi mà quy mô và phạm vi hoạt động của doanh nghiệp phát triển đến một mức nào đó sẽ làm cho số lƣợng dữ
  • 29. 29 liệu phát sinh cần phải xử lý cùng với độ phức tạp của bài toán quản lý ngày càng tăng lên. Việc duy trì một hệ thống thông tin cũ thủ công hay lạc hậu sẽ dần trở thành một gánh nặng, không đáp ứng đƣợc yêu cầu của công tác quản lý, là nguyên nhân cản trở sự phát triển, mở rộng của doanh nghiệp hiện tại và trong tƣơng lai. Sử dụng các phần mềm quản lý đem lại cho doanh nghiệp những lợi ích sau đây: Có khả năng cung cấp thông tin một cách nhanh chóng cho các nhà quản lý để hỗ trợ việc ra quyết định. Toàn bộ quá trình xử lý thông tin, tổng hợp báo cáo đƣợc thực hiện tự động hóa bởi hệ thống phần mềm ứng dụng khiến cho thời gian cần thiết để đáp ứng yêu cầu của nhà quản lý trong việc truy vấn và khai thác thông tin sẽ rút ngắn rất nhiều. Hơn nữa, một hệ thống thông tin đƣợc xây dựng toàn diện, tổng thể còn cho phép nhà quản lý có thể thực hiện việc kiểm tra, theo dõi quá trình, tiến độ và kết quả việc thực hiện các quyết định quản lý đƣợc ban hành. Đối với các công ty có quy mô lớn, tính chất theo kiểu tập đoàn, công ty mẹ con thì việc tin học hóa công tác quản lý sẽ giúp cho họ tổ chức thành công việc quản lý, thu thập tổng hợp số liệu từ các nguồn khác nhau. Doanh nghiệp sẽ giảm chi phí về nhân công, chi phí cho việc lƣu trữ, bảo quản và tiết kiệm đƣợc thời gian. Để có thể đảm bảo thực hiện nhiệm vụ của mình thì một hệ thống quản lý thủ công cần rất nhiều nhân lực. Khi áp dụng tin học vào hoạt động quản lý thì hầu hết những công việc tổng hợp và xử lý số liệu phải thực hiện thủ công trƣớc đây nay đƣợc làm tự động hóa bởi các phần mềm máy tính. Công việc của cán bộ trong hệ thống thông tin quản lý nay chỉ còn phải cập nhật số liệu phát sinh từ giao dịch hay hoạt động của tổ chức với sự trợ giúp của máy tính sau đó thực hiện in các báo cáo theo yêu cầu tại các mục chức năng tƣơng ứng của phần mềm ứng dụng. Việc lƣu trữ hệ thống chứng từ, hóa đơn thủ công trƣớc đây cần rất nhiều không gian cũng nhƣ tốn rất nhiều thời gian nếu có nhu cầu tìm kiếm và tra cứu. Cơ sở dữ liệu của hệ thống quản lý tin học hóa đƣợc lƣu trữ trong các phƣơng tiện nhớ của máy tính điện tử, đƣợc quản trị một cách hợp nhất bởi một hệ quản trị cơ sở dữ liệu bảo đảm tối ƣu về không gian lƣu trữ cũng nhƣ thời gian truy xuất và tìm kiếm Sử dụng các phần mềm để giải quyết các bài toán quản lý giúp doanh nghiệp có cơ hội tiếp cận những ứng dụng hiện đại của công nghệ thông tin nhƣ tham gia thƣơng mại điện tử, với cơ hội mở rộng phạm vi giao dịch vƣợt ra ngoài biên giới quốc gia vƣơn tới các nƣớc trong khu vực và trên thế giới, thời gian giao dịch có thể đƣợc tiến hành 24/7. Với hệ thống thông tin quản lý hiện đại, doanh nghiệp sẽ có uy tín hơn đƣợc tin tƣởng hơn trong mắt các đối tác bạn hàng trong khu vực và trên thế giới, vì vậy sẽ có cơ hội tiếp cận những hợp đồng lớn hơn, giá trị cao hơn.
  • 30. 30 1.5. Câu hỏi và bài tập chương 1 Câu 1: Anh(chị) hãy trình bày thông tin và vai trò của thông tin trong kinh tế và xã hội? Câu 2: Anh(chị) hãy trình bày thông tin kinh tế và hệ thống thông tin kinh tế? Câu 3: Anh(chị) hãy trình bày mô hình kinh tế và ý nghĩa của việc tin học hóa các mô hình kinh tế? Câu 4: Anh(chị) hãy trình bày hiểu biết của mình về tình hình tin học hóa công tác quản lý, nghiệp vụ tại các cơ quan, doanh nghiệp nƣớc ta hiện nay? Câu 5: Tại sao nói ”Lập trình ứng dụng kinh tế là giải pháp phát triển cũng nhƣ là xu thế của các doanh nghiệp Việt Nam trong giai đoạn hội nhập kinh tế quốc tế hiện nay”, Anh(chị) hãy bình luận về phát biểu trên. Câu 6: Anh(chị) hãy phân tích những lợi ích thu đƣợc khi tin học hóa công tác quản lý, nghiệp vụ tại các cơ quan, doanh nghiệp? Câu 7: Anh(chị) hãy phân tích những ai đƣợc hƣởng lợi từ việc tin học hóa công tác quản lý, nghiệp vụ tại các cơ quan, doanh nghiệp? Câu 8: Anh(chị) hãy trình bày hệ thống phục vụ công cộng từ chối cổ điển? Cho ví dụ minh họa? Câu 9: Anh(chị) hãy trình bày hệ thống chờ với độ dài hàng chờ hạn chế và thời gian chờ không hạn chế? Cho ví dụ minh họa? Câu 10: Anh(chị) hãy trình bày hệ thống chờ thuần nhất? Cho ví dụ minh họa? Câu 11: Anh(chị) hãy trình bày mô hình dự trữ với việc tiêu thụ đều, bổ sung tức thời? Cho ví dụ minh họa? Câu 12: Anh(chị) hãy trình bày mô hình dự trữ tiêu thụ đều, bổ sung dần dần? Cho ví dụ minh họa? Câu 13: Anh(chị) hãy trình bày mô hình dự trữ nhiều mức giá? Cho ví dụ minh họa? Câu 14: Anh(chị) hãy trình bày tính chính xác của dự báo? Câu 15: Anh(chị) hãy trình bày sai số của dự báo? Câu 16: Anh(chị) hãy trình bày hệ số tƣơng quan của dự báo? Câu 17: Anh(chị) hãy trình bày phƣơng pháp hồi quy tuyến tính? Cho ví dụ minh họa? Câu 18: Anh(chị) hãy trình bày phƣơng pháp san bằng mũ? Cho ví dụ minh họa? Câu 19: Anh(chị) hãy trình bày phƣơng pháp Holt – Winter? Cho ví dụ minh họa?
  • 31. 31 Câu 20: Anh(chị) hãy trình bày phƣơng pháp trung bình động? Cho ví dụ minh họa? Câu 21: Anh(chị) hãy trình bày khái niệm và mục tiêu của bài toán lãi suất? Câu 22: Anh(chị) hãy trình bày phƣơng thức tính lãi trong bài toán lãi suất? Cho ví dụ minh họa? Câu 23: Anh(chị) hãy trình bày các phƣơng pháp tính lãi suất? Cho ví dụ minh họa?
  • 32. 32 Chương 2. LẬP TRÌNH WINDOWS FORMS Tóm tắt chương 02 Trong chương này, giáo trình cung cấp cách thức xây dựng một ứng dụng trên nền tảng Windows Form Application. Các ứng dụng được hướng dẫn xây dựng qua hai phần chính là phần giao diện và mã chương trình. Phần giao diện là màn hình Form chức các control cho phép người sử dụng thao tác, chỉ thị, nhập liệu và trình bày dữ liệu phục vụ cho nhu cầu của tổ chức doanh nghiệp. Trong khi đó, mã chương trình là tập lệnh bao gồm hai phần chính là khai báo và chương trình con. Bên cạnh đó, giáo trình còn cung cấp các kiến thức nền tảng của ngôn ngữ lập trình C Sharp như : môi trường lập trình, biến, hằng, kiểu dữ liệu, cấu trúc điều khiển, cấu trúc lặp… và các thức xử lý dữ liệu với ADO.Net Các vấn đề chính sẽ được đề cập:  Kiến thức cơ bản về ngôn ngữ C Sharp  Xây dựng Windows Form Application  Xử lý dữ liệu với ADO.Net  Câu hỏi và bài tập chương 2 2.1. Cơ bản ngôn ngữ C# 2.1.1. Giới thiệu C# Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 80 từ khóa và hơn mƣời mấy kiểu dữ liệu đƣợc dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa to lớn khi nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hƣớng đối tƣợng. Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại. Hơn nữa ngôn ngữ C# đƣợc xây dựng trên nền tảng hai ngôn ngữ mạnh nhất là C++ và Java. Tóm lại, C# có các đặc trƣng sau đây:  C# là ngôn ngữ đơn giản  C# là ngôn ngữ hiện đại  C# là ngôn ngữ hƣớng đối tƣợng  C# là ngôn ngữ mạnh mẽ và mềm dẻo  C# là ngôn ngữ hƣớng module  C# sẽ trở nên phổ biến
  • 33. 33 2.1.1.1. C# là ngôn ngữ đơn giản  C# loại bỏ đƣợc một vài sự phức tạp và rối rắm của các ngôn ngữ C++ và Java.  C# khá giống C / C++ về diện mạo, cú pháp, biểu thức, toán tử.  Các chức năng của C# đƣợc lấy trực tiếp từ ngôn ngữ C / C++ nhƣng đƣợc cải tiến để làm cho ngôn ngữ đơn giản hơn. 2.1.1.2. C# là ngôn ngữ hiện đại C# có đƣợc những đặc tính của ngôn ngữ hiện đại nhƣ:  Xử lý ngoại lệ  Thu gom bộ nhớ tự động  Có những kiểu dữ liệu mở rộng  Bảo mật mã nguồn 2.1.1.3. C# là ngôn ngữ hướng đối tượng C# hỗ trợ tất cả những đặc tính của ngôn ngữ hƣớng đối tƣợng là:  Sự đóng gói (encapsulation)  Sự kế thừa (inheritance)  Đa hình (polymorphism) 2.1.1.4. C# là ngôn ngữ mạnh mẽ và mềm dẻo  Với ngôn ngữ C#, chúng ta chỉ bị giới hạn ở chính bản thân của chúng ta. Ngôn ngữ này không đặt ra những ràng buộc lên những việc có thể làm.  C# đƣợc sử dụng cho nhiều dự án khác nhau nhƣ: tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, xử lý bảng tính; thậm chí tạo ra những trình biên dịch cho các ngôn ngữ khác.  C# là ngôn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa dùng để mô tả thông tin, nhƣng không vì thế mà C# kém phần mạnh mẽ. Chúng ta có thể tìm thấy rằng ngôn ngữ này có thể đƣợc sử dụng để làm bất cứ nhiệm vụ nào. 2.1.1.5. C# là ngôn ngữ hướng module  Mã nguồn của C# đƣợc viết trong Class (lớp). Những Class này chứa các Method (phƣơng thức) thành viên của nó.  Class (lớp) và các Method (phƣơng thức) thành viên của nó có thể đƣợc sử dụng lại trong những ứng dụng hay chƣơng trình khác. 2.1.1.6. C# sẽ trở nên phổ biến C# mang đến sức mạnh của C++ cùng với sự dễ dàng của ngôn ngữ Visual Basic.
  • 34. 34 2.1.2. Môi trường lập trình 2.1.2.1. Sử dụng Notepad soạn thảo Bước 1: Soạn thảo tập tin và lƣu với tên C:ChaoMung.cs có nội dung nhƣ sau class ChaoMung { static void Main() { // Xuat ra man hinh chuoi thong bao 'Chao mung ban den voi LTUDKT System.Console.WriteLine("Chao mung ban den voi LTUDKT ") ; System.Console.ReadLine() ; } } Bước 2: Vào menu Start | All Programs | Microsoft Visual Studio 2008 | Visual Studio Tools | Visual Studio 2008 Command Prompt Bước 3:  Gõ lệnh biên dịch tập tin ChaoMung.cs sang tập tin ChaoMung.exe C:> csc /t:exe /out:chaomung.exe chaomung.cs  Chạy tập tin ChaoMung.exe và đƣợc kết quả nhƣ sau : C:> chaomung.exe Chao mung ban den voi LTUDKT 2.1.2.2. Sử dụng Micosoft Visual Studio 2008 để tạo chương trình Bước 1: Khởi động Visual Studio 2008 Start | All Programs | Microsoft Visual Studio 2008 | Microsoft Visual Studio 2008 Bước 2: Vào menu File | New | Project Bước 3: Khai báo
  • 35. 35 Hình 2.1. Khai báo khi tạo ứng dụng Mặc định: Visual Studio 2008 (Visual Studio .NET) sẽ tạo ra tập tin Program.cs chứa một namespace tên ChaoMung và trong namespace này chứa một class tên Program. Bước 4: trong phƣơng thức Main, gõ đoạn mã lệnh sau * Ví dụ: // Xuat ra man hinh chuoi thong bao 'Chao mung ban den voi LTUDKT System.Console.WriteLine("Chao mung ban den voi LTUDKT ") ; System.Console.ReadLine() ; Bước 5: Để chạy chƣơng trình, nhấn F5 hoặc nhắp vào nút 2.1.3. Biến, hằng, toán tử 2.1.3.1. Biến a) Khái niệm: - Biến là một vùng lƣu trữ ứng với một kiểu dữ liệu. - Biến có thể đƣợc gán giá trị và cũng có thể thay đổi giá trị trong khi thực hiện các lệnh của chƣơng trình. b) Khai báo biến: Sau khi khai báo biến phải gán giá trị cho biến <Kiểu_Dữ_Liệu> <tên_biến> [ = <giá_trị> ] ; c) Ví dụ: Khởi tạo và gán giá trị một biến class Bien
  • 36. 36 { static void Main() { // Khai bao va khoi tao bien int bien = 9 ; System.Console.WriteLine("Sau khi khoi tao: bien = {0}", bien) ; // Gan gia tri cho bien bien = 5 ; // Xuat ra man hinh System.Console.WriteLine("Sau khi gan: bien = {0}", bien) ; } } 2.1.3.2. Hằng a) Khái niệm: - Hằng cũng là một biến nhƣng giá trị của hằng không thay đổi trong khi thực hiện các lệnh của chƣơng trình. - Hằng đƣợc phân làm 3 loại: + Giá trị hằng (literal) + Biểu tƣợng hằng (symbolic constants) + Kiểu liệt kê (enumerations) b) Giá trị hằng: Ví dụ: x = 100; // 100 đƣợc gọi là giá trị hằng c) Biểu tƣợng hằng: gán một tên hằng cho một giá trị hằng. Khai báo: <const> <Kiểu_Dữ_Liệu> <tên_hằng> = <giá_trị> ; Ví dụ: Nhập vào bán kính, in ra chu vi và diện tích hình tròn. class HinhTron {
  • 37. 37 static void Main() { // Khai bao bieu tuong hang const double PI = 3.14159 ; // Khai bao bien int bankinh ; double chuvi , dientich ; string chuoi ; // Nhap gia tri cho bien chuoi System.Console.Write("Nhap ban kinh hinh tron: ") ; chuoi = System.Console.ReadLine() ; // Doi chuoi thanh so va gan vao bien so bankinh = System.Convert.ToInt32(chuoi) ; // Gan gia tri cho bien chuvi = 2 * bankinh * PI ; dientich = bankinh * bankinh * PI ; // Xuat ra man hinh System.Console.WriteLine("Chu vi hinh tron = {0:0.00}", chuvi) ; System.Console.WriteLine("Dien tich hinh tron = {0:0.00}", dientich) ; } } d) Kiểu liệt kê: là tập hợp các tên hằng có giá trị số không thay đổi Khai báo: <enum> <Tên_Kiểu_Liệt_Kê> { <tên_hằng_1> = <giá_trị_số_1>, <tên_hằng_2> = <giá_trị_số_2>, ... ,
  • 38. 38 } ; Ví dụ: enum NhietDoNuoc { DoDong = 0, DoNguoi = 20, DoAm = 40, DoNong = 60, DoSoi = 100, } ; 2.1.3.3. Toán tử a) Toán tử toán học: + , - , * , / , % b) Toán tử tăng / giảm: += , -= , *= , /= , %= c) Toán tử tăng / giảm 1 đơn vị: ++ , -- d) Toán tử gán: = e) Toán tử quan hệ: == , != , > , >= , < , <= f) Toán tử logic: ! , && , || g) Toán tử 3 ngôi: (Điều_Kiện) ? (Biểu_Thức_1) : (Biểu_Thức_2) ; 2.1.4. Kiểu dữ liệu C# chia kiểu dữ liệu thành hai tập hợp kiểu dữ liệu chính:  Kiểu xây dựng sẵn (built-in): do ngôn ngữ cung cấp cho ngƣời lập trình.  Kiểu do ngƣời dùng định nghĩa (user-defined): do ngƣời lập trình tạo ra. 2.1.4.1. Kiểu dữ liệu dựng sẵn Bảng 2.1. Kiểu dữ liệu dựng sẵn Kiểu C# Số byte Kiểu .NET Mô tả byte 1 Byte Số nguyên dƣơng không dấu từ 0 đến 255 char 2 Char Ký tự Unicode bool 1 Boolean Giá trị logic true / false sbyte 1 Sbyte Số nguyên có dấu từ -128 đến 127 short 2 Int16 Số nguyên có dấu từ -32768 đến 32767 ushort 2 Uint16 Số nguyên dƣơng không dấu từ 0 đến 65535
  • 39. 39 int 4 Int32 Số nguyên có dấu từ -2.147.483.647 đến 2.147.483.647 uint 4 Uint32 Số nguyên không dấu từ 0 đến 4.294.967.295 float 4 Single Kiểu dấu chấm động, giá trị xấp xỉ từ -3.4E- 38 đến 3.4E+38, với 7 chữ số có nghĩa double 8 Double Kiểu dấu chấm động có độ chính xác gấp đôi, giá trị xấp xỉ từ -1.7E-308 đến 1.7E+308, với 15, 16 chữ số có nghĩa decimal 8 Decimal Có độ chính xác đến 28 con số và giá trị thập phân, đƣợc dùng trong tính toán tài chính, kiểu này đòi hỏi phải có hậu tố “m” hay “M” long 8 Int64 Kiểu số nguyên có dấu có giá trị trong khoảng -9.223.370.036.854.775.808 đến 9.223.372.036.854.775.807 ulong 8 Uint64 Số nguyên không dấu từ 0 đến 0xfffffffffffffff * Bảng trình bày các ký tự đặc biệt Bảng 2.2. Bảng các ký tự đặc biệt Ký tự Ý nghĩa ' Dấu nháy đơn " Dấu nháy kép Dấu chéo 0 Ký tự null a Alert b Backspace f Sang trang form feed n Dòng mới r Đầu dòng t Tab ngang v Tab dọc
  • 40. 40 2.1.4.2. Chuyển đổi kiểu dữ liệu Ví dụ a: short x = 10 ; int y = x ; // chuyển đổi ngầm định Ví dụ b: short x ; int y = 100 ; x = (short) y ; // ép kiểu tường minh, trình biên dịch không báo lỗi Ví dụ c: short x ; int y = 100 ; x = y ; // không biên dịch, lỗi 2.1.5. Cấu trúc điều khiển 2.1.5.1. Câu lệnh if … else a) Cú pháp: if (Điều_Kiện) <Khối lệnh Điều_Kiện đúng> [else <Khối lệnh Điều_Kiện sai>] b) Ví dụ: Dùng câu lệnh điều kiện if … else using System; class Chan_Le { static void Main() { // Khai bao va khoi tao bien int bienDem = 9 ; // Xuat ra man hinh
  • 41. 41 if (bienDem % 2 == 0) Console.WriteLine("{0} la so chan", bienDem) ; Else Console.WriteLine("{0} la so le", bienDem) ; } } 2.1.5.2. Câu lệnh if lồng nhau a) Cú pháp: if (Điều_Kiện_1) <Khối lệnh 1> else if (Điều_Kiện_2) <Khối lệnh 2.1> Else <Khối lệnh 2.2> b) Ví dụ: using System; class Thu_Trong_Tuan { static void Main() { // Khai bao va khoi tao bien int thu = 5 ; // 0: Chu nhat, 1: Thu hai, 2: Thu ba, 3: Thu tu, // 4: Thu nam, 5: Thu sau, 6: Thu bay // Xuat ra man hinh if ((thu == 1) || (thu == 3) || (thu == 5)) Console.WriteLine("Day la ngay 2-4-6") ; else if ((thu == 2) || (thu == 4) || (thu == 6))
  • 42. 42 Console.WriteLine("Day la ngay 3-5-7") ; Else Console.WriteLine("Day la ngay chu nhat") ; } } 2.1.5.3. Câu lệnh switch a) Cú pháp: switch (Biểu_Thức) { case <giá_trị_1>: < Khối lệnh 1> <Lệnh Nhảy> case <giá_trị_2>: < Khối lệnh 2> <Lệnh Nhảy> …. [default: < Khối lệnh khác>] } b) Ví dụ: using System; class Thu { static void Main() { // Khai bao va khoi tao bien int thu = 5 ; // 0: Chu nhat, 1: Thu hai, 2: Thu ba, 3: Thu tu, // 4: Thu nam, 5: Thu sau, 6: Thu bay
  • 43. 43 // Xuat ra man hinh switch (thu) { case 0: Console.WriteLine("Chu nhat") ; break; case 1: Console.WriteLine("Thu hai") ; break; case 2: Console.WriteLine("Thu ba") ; break; case 3: Console.WriteLine("Thu tu") ; break; case 4: Console.WriteLine("Thu nam") ; break; case 5: Console.WriteLine("Thu sau") ; break; case 6: Console.WriteLine("Thu bay") ; break; default: Console.WriteLine("Khong phai la thu trong tuan") ; break; }
  • 44. 44 } } 2.1.6. Cấu trúc lặp 2.1.6.1. Lệnh lặp while a) Cú pháp: while (Điều_Kiện) < Khối lệnh> b) Ví dụ: using System; class UsingWhile { static void Main() { // Khai bao va khoi tao bien dem int i = 1 ; // Xuat ra man hinh while (i<=10) { Console.WriteLine("i = {0}",i) ; i++ ; // tang bien dem, } } } 2.1.6.2. Lệnh lặp do … while a) Cú pháp: do < Khối lệnh> while (Điều_Kiện) ;
  • 45. 45 b) Ví dụ: using System; class UsingDoWhile { static void Main() { // Khai bao va khoi tao bien dem int i = 1 ; // Xuat ra man hinh do { Console.WriteLine("i = {0}",i) ; i++ ; // tang bien dem } while (i<= 10) ; } } 2.1.6.3. Lệnh lặp for a) Cú pháp: for ([Khởi_tạo] ; [Điều_kiện] ; [Bƣớc_lặp]) < Khối lệnh> b) Ví dụ: using System; class UsingFor { static void Main() { for (int i=1 ; i<=30 ; i++)
  • 46. 46 if (i % 10 ==0) Console.Write("{0} nr",i) ; Else Console.Write("{0} ",i) ; } } 2.1.6.4. Lệnh lặp foreach a) Cú pháp: foreach (<Kiểu_tập_hợp> <Tên_truy_cập_thành_phần> in <Tên_tập_hợp>) < Khối lệnh> b) Ví dụ: using System; public class UsingForeach { public static void Main() { // Khai báo mảng gồm các phần từ từ 1 đến 10 int[] intArray = {1,2,3,4,5,6,7,8,9,10}; foreach (int item in intArray) // Xuất màn hình Console.WriteLine("i = {0} ",item) ; } } 2.1.7. Một số kiến thức cần nhớ 2.1.7.1. Namespace  .NET cung cấp một thƣ viện các class rất đồ sộ, trong đó Console là một class nhỏ trong thƣ viện các class này.  Mỗi class có một tên riêng, vì vậy ngƣời lập trình không thể nào nhớ hết tên các class trong .NET. Để giải quyết vấn đề này là việc tạo ra một namespace,
  • 47. 47 namespace sẽ hạn chế phạm vi của một tên, làm cho tên này chỉ có ý nghĩa trong vùng đã định nghĩa. 2.1.7.2. Từ khóa using  Để không phải viết namespace cho từng đối tƣợng, ta dùng từ khóa using.  Ta có thể dùng dòng lệnh sau ở đầu chƣơng trình: using System ; Khi đó, thay vì viết đầy đủ System.Console. ta chỉ cần viết Console. 2.1.7.3. Từ khóa static Từ khóa static chỉ ra rằng hàm Main() có thể đƣợc gọi mà không cần phải tạo đối tƣợng ChaoMung. 2.1.7.4. Từ khóa this Từ khóa this dùng để tham chiếu đến thể hiện hiện hành của đối tƣợng. 2.1.7.5. Chú thích (Comment)  Một chƣơng trình đƣợc viết tốt thì cần phải có chú thích các đoạn mã lệnh đƣợc viết.  Mục đích chính là làm cho đoạn mã lệnh nguồn rõ ràng và dễ hiểu.  Có 2 loại chú thích: - Chú thích một dòng: // - Chú thích nhiều dòng: /* */ 2.1.7.6. Phân biệt chữ thường và chữ hoa C# là ngôn ngữ phân biệt chữ thƣờng với chữ hoa. 2.1.7.7. Toán tử '. ' Toán tử '. ' đƣợc sử dụng để truy cập đến phƣơng thức hay dữ liệu trong một class và ngăn cách giữa tên class đến một namespace. 2.1.7.8. Câu lệnh (statement) Một chỉ dẫn lập trình đầy đủ đƣợc gọi là một câu lệnh. Ví dụ: int bankinh = 5 ; // một câu lệnh chuvi = 2 * bankinh * PI ; // một câu lệnh khác 2.1.7.9. Kiểu chuỗi ký tự Kiểu chuỗi ký tự là một mảng các ký tự.
  • 48. 48 a) Khai báo chuỗi hằng: string <Tên_chuỗi_hằng> = <"Noi dung chuoi hang"> ; Ví dụ: string tentuong = "Lap Trinh Ung Dung Kinh te" ; b) Khai báo biến kiểu chuỗi: string <Biến_chuỗi> [= "Noi dung chuoi hang"] ; Ví dụ: string hoten = "Nguyen Van A" ; c) Nhập chuỗi: <Biến_chuỗi> = System.Console.ReadLine() ; Ví dụ: hoten = System.Console.ReadLine() ; d) Xuất chuỗi: System.Console.WriteLine("Chuoi") ; Ví dụ: System.Console.WriteLine("Do dai cua chuoi la:") ; e) Một số thao tác trên chuỗi: Bảng 2.3. Một số thao tác trên chuỗi Phương thức Ý nghĩa Length Chiều dài của chuỗi Substring() Lấy chuỗi con ToLower() Trả về bản sao của chuỗi ở kiểu chữ thƣờng ToUpper() Trả về bản sao của chuỗi ở kiểu chữ IN HOA 2.2. Xây dựng Windows form application 2.2.1. Sử dụng Microsoft Visual Studio 2008 2.2.1.1. Khởi động Bước 1: Khởi động Visual Studio 2008 Start | All Programs | Microsoft Visual Studio 2008 | Microsoft Visual Studio 2008 Bước 2: Vào menu File | New | Project
  • 49. 49 Bước 3: Khai báo Hình 2.2. Khao báo khi khởi tạo ứng dụng Windows form application Mở hộp ToolBox: Menu View | ToolBox chứa các control Mở cửa sổ Properties: Menu View | Properties chứa thuộc tính Mở cửa sổ Solution Explorer: Menu View | Solution Explorer cửa sổ Project xuất hiện. Bước 4: Thiết kế Form – Viết code Thiết kế form: Nhắp vào View Designer (trong cửa số Solution Explorer) Viết code: Nhắp vào View Code (trong cửa số Solution Explorer) Bước 5: Để chạy chƣơng trình, nhấn F5 hoặc nhắp vào nút Để dừng chƣơng trình, nhấn Shift + F5 hoặc nhắp vào nút 2.2.1.2. Các thao tác với Project / Solution a) Tạo Project  C1. Vào menu File | New | Project  C2. Ctrl + Shift + N  C3. Chọn công cụ New Project trên thanh Standart b) Mở Project / Solution:  C1. Vào menu File | Open | Project / Solution  C2. Ctrl + Shift + O
  • 50. 50 c) Lƣu Project / Solution  C1. Vào menu File | Save All  C2. Chọn công cụ Save All trên thanh Standart d) Đóng Solution: Vào menu File | Close Solution 2.2.1.3. Màn hình giao diện của Windows Forms a) Cửa sổ thiết kế Form (Designer): Hình 2.3. Cửa sổ thiết kế form b) Cửa sổ viết code: Hình 2.4. Cửa sổ viết code 2.2.1.4. Các thao tác với Form a) Thêm một Form mới vào Project: Bước 1:  C1. Vào menu Project | Add New Item …  C2. Chọn công cụ Add New Item trên thanh Standart Bước 2: Khai báo  Categories: chọn Windows Forms  Templates: chọn Windows Form
  • 51. 51  Name: đặt tên Form Bước 3: Nhắp Add b) Thêm một Form có sẵn vào Project: Bước 1: Vào menu Project | Add Existing Item … Bước 2: Chọn Form Bước 3: Nhắp Add c) Xóa bỏ một Form đang có trong Project: Bước 1: Chọn Form cần gỡ bỏ (ở cửa sổ Solution Explorer) Bước 2: Vào menu Edit | Delete d) Lƣu Form  Vào menu File | Save Form.cs  Ctrl + S * Ghi chú - Ta đem “bỏ vào” form các đối tƣợng nhƣ: Label, TextBox, Button, … + Label, TextBox, Button, … đƣợc gọi là control hay còn gọi là component. + Form đƣợc gọi là control “chứa”. - Khi thay đổi nội dung của Label, TextBox, Button, … ta thay đổi vào Text. Text đƣợc gọi là Property của control. 2.2.1.5. Control là gì?  Control là lớp (class) các thành phần đƣợc thêm vào Windows Forms để tƣơng tác giữa ngƣời sử dụng với Windows.  Có rất nhiều loại control trong Windows Forms nhƣ: Label, TextBox, ListBox, ComboBox, Button, …  Các control sử dụng trên Windows Forms dùng namespace System.Windows.Forms. 2.2.1.6. Properties (thuộc tính) của control  Properties là những thông tin mà ta có thể thay đổi nội dung, cách trình bày … của ngƣời thiết kế để ứng dụng vào control.  Mỗi lớp (class) có nhiều property khác nhau. Tuy nhiên, vẫn có một số property giống nhau đƣợc xây dựng từ lớp ban đầu.
  • 52. 52 Bảng trình bày các thuộc tính (Properties) Bảng 2.4. Mô tả các thuộc tính Thuộc tính Mô tả Anchor Có 4 hƣớng đƣợc định nghĩa là: top, bottom, left, right để cố định (neo). Khi control chứa nó thay đổi kích thƣớc thì nó sẽ bị thay đổi kích thƣớc nếu nếu các hƣớng left / right / top / bottom bị cố định (neo). BackColor Màu nền của control. Bottom Là khoảng cách theo chiều dọc từ cạnh đáy của control đến cạnh trên của control chứa nó. Dock Giống nhƣ Anchor nhƣng việc cố định (neo) này theo một cạnh nào đó của control (hoặc cả 4 cạnh) với control chứa nó. Enabled Control đƣợc phép tƣơng tác (True) hay không đƣợc phép tƣơng tác (False)) với ngƣời dùng. ForeColor Màu chữ của control. Height Là chiều cao của control tính từ cạnh trên của control đến cạnh dƣới của control. Left Là khoảng cách theo chiều ngang từ cạnh trái của control đến cạnh trái của control chứa nó. Name Tên của control. Parent Chỉ đến control chứa control hiện hành. Right Là khoảng cách theo chiều ngang từ cạnh phải của control đến cạnh trái của control chứa nó. TabIndex Thứ tự focus khi nhấn phím Tab (trên bàn phím) của control so với các control khác cùng nằm trong control chứa nó. TabStop Chỉ định control có đƣợc phép “bắt” (True) / không đƣợc phép “bắt” (False) phím Tab. Nếu không đƣợc phép thì TabIndex cũng không dùng đƣợc. Tag Là nhãn phân biệt giữa các control giống nhau trong cùng form. Text Nội dung hiện trong control.
  • 53. 53 Top Là khoàng cách theo chiều dọc từ cạnh trên của control đến cạnh trên của control chứa nó. Visible Cho phép control hiện (True) / không hiện (False) khi chạy ứng dụngWidth Là chiều rộng của control tính từ cạnh trái của control đến cạnh phải của control. Bảng trình bày các phƣơng thức (Method) xử lý trên chuỗi Bảng 2.5. Mô tả các phương thức xử lý trên chuỗi Phương thức Mô tả Clear() Xóa nội dung ResetText() Xóa nội dung Text Trim() Cắt bỏ khoảng trắng thừa hai bên chuỗi Dừng chương trình: this.Close(); Application.Exit(); Event (sự kiện) là gì?  Sự kiện là những phản ứng của đối tƣợng. Nói cách khác, sự kiện là những tín hiệu phát ra khi ngƣời dùng thao tác trên đối tƣợng.  Nhờ có event, ngƣời lập trình sẽ nhận đƣợc những tín hiệu và xử lý những tín hiệu đó để phản hồi lại cho ngƣời dùng, tạo nên sự nhịp nhàng cho chƣơng trình. Bảng trình bày các sự kiện (Events) của control Bảng 2.6. Mô tả các sự kiện Sự kiện Mô tả Click Gọi đến khi control bị Click. Trong một vài control, event này cũng xảy ra khi ngƣời dùng nhấn phím Enter. DoubleClick Gọi đến khi control bị Double-Click. Trong một vài control, event này không báo giờ đƣợc gọi. Ví dụ: control Button. DragDrop Gọi đến khi việc “Drag and Drop” đƣợc hoàn tất.
  • 54. 54 DragEnter Gọi đến khi đối tƣợng vừa đƣợc “Drag” đến biên của control. DragLeave Gọi đến khi đối tƣợng vừa đƣợc “Drag” ra ngoài biên của control.DragOver Gọi đến khi đối tƣợng đƣợc “Drag” bên trong control. KeyDown Gọi đến khi vừa bấm một phím bất kỳ từ 1 control đang focus. Sự kiện này luôn đƣợc gọi trƣớc sự kiện KeyUp. KeyPress Gọi đến khi vừa bấm một phím bất kỳ từ 1 control đƣợc focus. Sự kiện này đƣợc gọi sau sự kiện KeyUp. KeyUp Gọi đến khi vừa bấm một phím bất kỳ rồi thả ra từ 1 control đang focus. Sự kiện này luôn đƣợc gọi sau sự kiện KeyDown. GotFocus Gọi đến khi control đƣợc focus. LostFocus Gọi đến khi control bị mất focus. MouseDown Gọi đến khi con trỏ chuột nằm trên 1 control và nút chuột đƣợc nhắp nhƣng chƣa thả ra. MouseMove Gọi đến khi con trỏ chuột đi qua 1 control. MouseUp Gọi đến khi con trỏ chuột nằm trên 1 control và nút chuột vừa đƣợc thả.Paint Gọi đến khi control đƣợc vẽ. Validated Gọi đến khi control focus, property CaucesValidation đƣợc đặt là true và sau khi gọi việc kiểm tra bằng Validating. Validating Gọi đến khi control mất focus, property CaucesValidation đƣợc đặt là true. 2.2.2. Các control cơ bản 2.2.2.1. Label ( ) a) Công dụng: Hiển thị chuỗi ký tự không thay đổi trên form (nhãn). b) Tạo Label:  Chọn công cụ  Rê chuột và vẽ Label trên form.
  • 55. 55 c) Thuộc tính: Bảng 2.7. Mô tả thuộc tính của label Thuộc tính Mô tả AutoSize Điều chỉnh kích thƣớc đối tƣợng cho vừa với chiều dài chuỗi ký tự Font Quy định font chữ cho văn bản Name Tên của label Bold True: đậm / False: bỏ đậm Italic True: nghiêng / False: bỏ nghiêng Size Quy định cỡ chữ cho văn bản Underline True: gạch dƣới / False: bỏ gạch dƣới TextAlign Canh lề (Left / Center / Right) 2.2.2.2. TextBox ( ) a) Công dụng:  Dùng trình bày văn bản và cho phép ngƣời dùng đƣợc thay đổi nội dung văn bản.  Công dụng chính là cho ngƣời dùng nhập văn bản. b) Tạo TextBox:  Chọn công cụ  Rê chuột và vẽ TextBox trên form. c) Thuộc tính: Bảng 2.8. Mô tả thuộc tính của textbox Thuộc tính Mô tả PasswordChar Quy định ký tự hiển thị cho ô mật khẩu. Multiline True: hiện thanh cuộn / False: không hiện thanh cuộn ScrollBars Thanh cuộn (None / Horizontal / Vertical / Both)
  • 56. 56 2.2.2.3. Button ( ) a) Công dụng:  Dùng để thực thi lệnh.  Khi nhắp chuột lên button, chƣơng trình nhận đƣợc tín hiệu Click và lệnh đƣợc thi hành. b) Tạo Button:  Chọn công cụ  Rê chuột và vẽ Button trên form. c) Thuộc tính: Bảng 2.9. Mô tả thuộc tính của button Thuộc tính Mô tả Text Nhập nội dung vào Button 2.2.2.4. CheckBox ( ) a) Công dụng: Cho phép ngƣời dùng chọn hoặc không chọn. b) Tạo CheckBox:  Chọn công cụ  Rê chuột và vẽ CheckBox trên form. c) Thuộc tính: Bảng 2.10. Mô tả thuộc tính của checkbox Thuộc tính Mô tả Checked Không có dấu check (False) / Có dấu check (True) 2.2.2.5. ListBox ( ) a) Công dụng: Dùng để hiển thị một danh sách các lựa chọn. b) Tạo ListBox:  Chọn công cụ  Rê chuột và vẽ ListBox trên form.
  • 57. 57 c) Thuộc tính: Bảng 2.11. Mô tả thuộc tính của listbox Thuộc tính Mô tả Items Các mục giá trị trong ListBox SelectedItem Item đƣợc chọn Phương thức Mô tả Add("chuỗi") Thêm một mục giá trị là "chuỗi" ToString() Trả về chuỗi ký tự đƣợc chọn * Nhập giá trị vào ListBox: <Ten_ListBox>.Items.Add ("Chuỗi") ; * Lấy giá trị trong ListBox: <Ten_ListBox>.SelectedItem.ToString() ; 2.2.2.6. ComboBox ( ) a) Công dụng: Dùng để hiển thị một danh sách các lựa chọn / hoặc nhập vào một giá trị. b) Tạo ComboBox:  Chọn công cụ  Rê chuột và vẽ ComboBox trên form. c) Thuộc tính: Bảng 2.12. Mô tả thuộc tính của combobox Thuộc tính Mô tả DisplayMemb er Gán nội dung thể hiện trên ComboBox Items Liệt kê các mục giá trị trong ComboBox SelectedItem Lấy Item đƣợc chọn SelectedText Lấy nội dung thể hiện trên ComboBox từ DisplayMember SelectedValue Lấy giá trị từ ValueMember ValueMember Gán giá trị cho ComboBox
  • 58. 58 2.2.2.7. RadioButton ( ) a) Công dụng: Dùng để chọn một trong các lựa chọn trong danh sách. b) Tạo RadioButton:  Chọn công cụ  Rê chuột và vẽ RadioButton trên form. c) Thuộc tính: Bảng 2.13. Mô tả thuộc tính của radiobutton Thuộc tính Mô tả Checked Không có dấu chọn (False) / Có dấu chọn (True) 2.2.2.8. GroupBox ( ) a) Công dụng: Tạo ra một nhóm. b) GroupBox:  Chọn công cụ  Rê chuột và vẽ GroupBox trên form. c) Thuộc tính: Bảng 2.14. Mô tả thuộc tính của groupbox Thuộc tính Mô tả BackgroundImage Hình nền BackgroundImageLayout None / Tile / Center / Stretch / Zoom 2.2.2.9. Timer ( ) a) Công dụng: Quy định khoảng thời gian định kỳ để thực hiện một công việc. b) Tạo Timer:  Chọn công cụ  Rê chuột và vẽ Timer là control dạng unvisible (ẩn).
  • 59. 59 c) Thuộc tính: Bảng 2.15. Mô tả thuộc tính của timer Thuộc tính Mô tả Enabled Bật / tắt chế độ hẹn thời gian Interval Khoảng thời gian định kỳ 2.2.2.10. RichTextBox ( ) a) Công dụng: Dùng để nhập văn bản với định dạng văn bản đa dạng. b) Tạo RichTextBox:  Chọn công cụ  Rê chuột và vẽ RichTextBox trên form. c) Thuộc tính: Bảng 2.16. Mô tả thuộc tính của richtextbox Thuộc tính Mô tả ReadOnly Không cho soạn thảo, chỉ đọc. 2.2.2.11. Panel ( ) a) Công dụng: Bảng chứa các control hay một nhóm các control. b) Tạo Panel:  Chọn công cụ  Rê chuột và vẽ Panel. c) Thuộc tính: Bảng 2.17. Mô tả thuộc tính của Panel Thuộc tính Mô tả AutoScroll Tự động cuộn nếu số control nằm ngoài vùng BorderStyle None / FixedSingle / Fixed3D
  • 60. 60 2.2.2.12. PictureBox ( ) a) Công dụng: Khung chứa hình ảnh. b) Tạo PictureBox:  Chọn công cụ  Rê chuột và vẽ PictureBox. c) Thuộc tính: Bảng 2.18. Mô tả thuộc tính của picturebox Thuộc tính Mô tả Image Hình chứa trong PictureBox 2.2.3. Menu và ToolBar 2.2.3.1. MenuStrip ( ) a) Công dụng: Tạo menu. b) Tạo MenuStrip:  Nhắp đúp vào control .  Nhập menu. 2.2.3.2. ToolStrip ( ) a) Công dụng: Tạo ra toolbar. b) Tạo ToolStrip:  Chọn công cụ  Kéo control ToolStrip vào trong form.  Bấm vào ToolStrip vừa tạo, ta có thể tạo ra các tool (công cụ) nhƣ: Label, TextBox, Button, ComboBox, DropDownButton…. Ví dụ: * Tạo ứng dụngWindows Forms Application nhƣ hình. * Hƣớng dẫn: dùng RichTextBox, MenuStrip và ToolStrip.
  • 61. 61 Hình 2.5. Sử dụng menutrip 2.3. Xử lý dữ liệu với ADO.NET Xử lý dữ liệu là nhiệm vụ phổ biến và quan trọng của nhiều chƣơng trình ứng dụng. Dữ liệu đƣợc truy xuất, xử lý của một chƣơng trình ứng dụng có thể là một tập tin văn bản, tập tin các bản ghi, hay là một nguồn dữ liệu từ CSDL nào đó. .NET Framework cung cấp một lƣợng lớn các thành phần giao diện (Win Forms, Web Forms) hỗ trợ cho việc trình bày, kết buộc (bind) dữ liệu. Cùng với đó là nền tảng xử lý dữ liệu ADO.NET cung cấp cách thức làm việc với nhiều loại nguồn dữ liệu khác nhau một cách linh động. Do tính chất quan trọng của việc xử lý dữ liệu trong một ứng dụng cùng với sự phức tạp của ADO.NET, trƣớc khi bắt tay vào thực hiện các bài tập thực hành, chúng ta khảo sát qua một số điểm lý thuyết cơ bản. 2.3.1. Kiến trúc tổng quan của ADO.NET Kiến trúc của ADO.NET đƣợc mô tả nhƣ hình dƣới, bao gồm hai thành phần chính: Thành phần truy cập nguồn dữ liệu và thành phần lưu trữ xử lý dữ liệu. Hình 2.6. Kiến trúc của ADO.Net