Tiếp tục quá trình trên khi các bài toán con có thể giải quyết dễ dàng.. Tạo nguyên mẫu (prototype)[r]
(1)4/10/2012
Chương 1
Tổng quan lập trình cho MTĐT
Giảng viên:ThS.Phạm Thanh An
Khoa côngnghệ thông tin
Đại học Ngân hàng TP Hồ Chí Minh
Nội dung trình bày
Khái niệm chương trình, ngơn ngữ lập
trình, giải thuật
Giới thiệu Top down Design
Mơ hình phát triển phần mềm
Các cách tiếp cận lập trình
Tổng quan lập trình hướng đối tượng
Kiến trúc NET Framework C#
Viết chương trình đơn giản
Chương trình
Computer program -Là tập hợp câu
lệnh (chỉ dẫn) liệt kê theo trình tự định nhằm giải vấn đề.
Chương trình máy tính viết
một ngơn ngữ lập trình.
Theo Niklaus Wirth
(2)4/10/2012
Giải thuật - Algorithm
Giải thuật (Thuật toán - Thuật giải)
Là dãy câulệnh (chĩ dẫn) chặt chẽ
rõ ràng, xácđịnh trình tự thao tác
trênmột số đối tượng cho sau
một số hữu hạn bước thực ta đạt kết mong muốn
Câu lệnh, chương trình, phần mềm
Software
Program 2 Program 1
Commands Commands Commands
Ngôn ngữ lập trình
Programming language -Ngơn ngữ lập
trình ngơn ngữ để viết chương trình.
Ngơn ngữ lập trình bao gồm hệ thống
các kýhiệu, qui ước ngữ pháp và
ngữ nghĩa, dùng để xây dựng thành các chương trình cho máy tính.
(3)4/10/2012
Các lớp Ngôn ngữ lập trình
MACHINE CODE ASSEMBLER LANGUAGES
HIGH-LEVEL LANGUAGES
ForTran, COBOL, C, C++, LISP, Pascal, Java, 4GLs ORACLE, SEQUEL, INGRES,
5GLs Artificial intelligence
Hợp ngữ - Assembler
Nguyên lý Von Neumann
Bao gồm bước: Input –Process -Output
Các bước lập trình Xác định u cầu
bài tốn
Phân tích tốn Thiết kế Giải thuật
(4)4/10/2012
Mô tả giải thuật
Ngôn ngữ tự nhiên
Sơ đồ khối (flow chart)
Mã giả (Pseudocode)
Mô tả ngôn ngữ tự nhiên
Input: Vào a, b thuộc tập R
Ra: Nghiệm phương trình ax + b =0
1 Nhập số thực a b Nếu a =0
2.1 Nếu b = 0,
2.1.1 Phương trinh vô số nghiệm 2.1.2 Kết thúc giải thuật 2.2 Ngược lại
2.2.1 Phương trình vơ nghiệm 2.2.2 Kết thúc giải thuật Ngược lại
3.1 Phương trình có nghiệm 3.2 Giátrị nghiệm x = -b/a 3.3 Kết thúc giải thuật
Bằng Sơ đồ khối (Flow Chart)
Condition expression: Lựa chọn, kiểm tra điều kiện
Process : Xử lý
Data input/ out put : Vào liệu
(5)4/10/2012
Ví dụ: Cộng hai số
Ví dụ:
S T A R T
I N P U T n u m
r = n u m M O D
r =
D I S P L A Y "N u m b e r i s E v e n "
S T O P
Ví dụ:
S TA R T
IN P UT n um
r = num M O D
r =
DI SP L AY "N u mb er is E ve n" D IS PL A Y " N um ber is O d d"
(6)4/10/2012
Bằng mã giả
Input: Vào a, b thuộc tập R
Ra: Nghiệm phương trình ax + b =0 If a = then
Begin If b = then
Xuất “Phương trình vơ số nghiệm” Else
Xuất “Phương trình vơ nghiệm” End
Else
Xuất “Phương trình có nghiệm x = -b/a”
3 cấu trúc điều khiển bản
Trong lập trình có cấu trúc bản
Tuần tự: bước thực tuần tự, từ
trên xuống, bước thực lần
Lựa chọn: chọn hay nhiều thao tác
để thực
Lặp: Một hay nhiều thao tác lặp lại
hay nhiều lần
Top-down Design
Top-Down Design kỹ thuật chiến lược
chia để trị
Các vấn đề phức tạp giải
bằng kỹ thuật top-down design hay stepwise
refinement , với qui tắc
Chia bai toán lớn thành toán Tiếp tục chia toán thành
tốn nhỏ
(7)4/10/2012
Các phase phát triển phần mềm
Tìm hiểu phân tích u cầu
Thiết kế
Cài đặt
Kiểm thử
Triển khai Bảo trì hệ thống
Mơ hình WaterFall
Mơ hình WaterFall (tt)
Ưu điểm:
Thích hợp cho dự án lớn
Quản lý dự án dễ dàng thuận tiện
Nhược điểm:
Thiếu trao đổi người sử dụng
nhóm phát triển
Khơng cho phép thay đổi nhiều theo
(8)4/10/2012
Mơ hình xoắn ốc
Mơ hình xoắn ốc (tt)
Pháttriển hệ thống nhanh, sửa lỗi đến hoàn thiện.
Ưu điểm:
Linhhoạt việc thay đổi yêu cầu
Nhược điểm:
Các phabị lặp lại nhiều lần
Tạo nguyên mẫu (prototype)
Tạo nguyên mẫu cho người sử dụng dùng tạo ra hoànthiện hệ thống
Ưu điểm:
Linhhoạt việc thay đổi yêu cầu
Rútngắn thời gian phát triển
Nhược điểm:
(9)4/10/2012
Các phương pháp lập trình
Lập trình tuần tự: Assembler (hợp ngữ)
Chương trình dài, khó nhớ Khó kiểm sốt lỗi
Lập trình cấu trúc (thủ tục/hướng chức năng)
Chương trình chia nhỏ thành chương trình
Mỗi chương trình thực cơng việc xác định
Lập trình hướng đối tượng
Lập trình cấu trúc
Hàm_1 Hàm_2 Hàm_3
Hàm_4 Hàm_5 Hàm_6
Hàm_7 Hàm_8 Hàm_9
Chương trình main()
So sánh HĐT hướng chức năng
Cách tiếp cận hướng đối tượng
Hệ thống xem tập hợp đối
tượng làm việc với để Các đối tượng thực hành động
yêu cầu
Mỗi đối tượng trì liệu riêng
Tiếp cận thủ tục (Procedural approach)
Hệ thống xem tập hợp thủ
(10)4/10/2012
So sánh HĐT hướng chức năng
Tiếp cận hướng chức tiếp cận hướng đối tượng
Khái niệm hướng đối tượng
Lớp (Classes)
Đối tượng (Objects)
Attributes
Methods
Trừu tượng hóa liệu
Bao gói che dấu thơng tin
Kế thừa
Đa hình
Đối tượng
Đối tượng = Dữ liệu + Hành vi
Hành vi -Tăng giây -Tăng phút -Tăng Dữ liệu