Nội dung
1 Các khái niệm về lập trình máy tính
2 Các mô hình phát triển phần mềm
3 Các phương pháp tiếp cận trong lập trình
4 Tổng quan về lập trình hướng đối tượng
5 Ngôn ngữ C# và nền tảng .NET
46 trang |
Chia sẻ: phuongt97 | Lượt xem: 483 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Cơ sở Lập trình (Fundamental of Programming) - Chương 1: Tổng quan về lập trình máy tính - Nguyễn Thị Khiêm Hòa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 1:
Tổng quan về lập trình máy tính
Giảng viên: Ths. Nguyễn Thị Khiêm Hòa
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
1
Nội dung
1 Các khái niệm về lập trình máy tính
2 Các mô hình phát triển phần mềm
3 Các phương pháp tiếp cận trong lập trình
4 Tổng quan về lập trình hướng đối tượng
5 Ngôn ngữ C# và nền tảng .NET
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM 2
Các khái niệm lập trình
1 Các khái niệm cơ bản
2 Các bước xây dựng chương trình
3 Biểu diễn thuật toán
4 Cài đặt thuật toán bằng NNLT
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
3
Các khái niệm cơ bản
Lập trình máy tính
Gọi tắt là lập trình (programming).
Nghệ thuật cài đặt một hoặc nhiều thuật toán
trừu tượng có liên quan với nhau bằng một
ngôn ngữ lập trình để tạo ra một chương trình
máy tính.
Thuật toán
Là tập hợp (dãy) hữu hạn các chỉ thị (hành
động) được bố trí theo một trình tự xác định
được đề ra trước nhằm giải quyết một bài toán
cụ thể nào đó.
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
4
Các khái niệm cơ bản
Ví dụ
Thuật toán giải PT bậc nhất: ax + b = 0
(a, b là các số thực).
Đầu vào: a, b thuộc R
Đầu ra: nghiệm phương trình ax + b = 0
• Nếu a = 0
• b = 0 thì phương trình có nghiệm bất kì.
• b ≠ 0 thì phương trình vô nghiệm.
• Nếu a ≠ 0
• Phương trình có nghiệm duy nhất x = -b/a
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
5
Các tính chất của thuật toán
Bao gồm 5 tính chất sau:
Tính đúng đắn
Tính hữu hạn
Tính xác định
Tính khả thi
Tính phổ dụng
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
6
Các bước xây dựng chương trình
Xác định vấn đề Biểu diễn bằng:
- bài toán • Ngôn ngữ tự nhiên
• Lưu đồ - Sơ đồ khối
Lựa chọn • Mã giả
phương pháp giải
Xây dựng
thuật toán/ thuật giải
Cài đặt
chương trình
Lỗi cú pháp Hiệu chỉnh
Lỗi ngữ nghĩa chương trình
Thực hiện
chương trình
7
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Sử dụng ngôn ngữ tự nhiên
Đầu vào: a, b thuộc R
Đầu ra: nghiệm phương trình ax + b = 0
1. Nhập 2 số thực a và b.
2. Nếu a = 0 thì
2.1. Nếu b = 0 thì
2.1.1. Phương trình vô số nghiệm
2.1.2. Kết thúc thuật toán.
2.2. Ngược lại
2.2.1. Phương trình vô nghiệm.
2.2.2. Kết thúc thuật toán.
3. Ngược lại
3.1. Phương trình có nghiệm.
3.2. Giá trị của nghiệm đó là x = -b/a
3.3. Kết thúc thuật toán.
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM 8
Sử dụng lưu đồ - sơ đồ khối
Khối giới hạn
Chỉ thị bắt đầu và kết thúc.
Khối vào ra
Nhập/Xuất dữ liệu.
Khối lựa chọn
Tùy điều kiện sẽ rẽ nhánh.
Khối thao tác
Ghi thao tác cần thực hiện.
Đường đi
Chỉ hướng thao tác tiếp theo.
9
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Sử dụng lưu đồ - sơ đồ khối
Bắt đầu
Đọc a,b
Đ S
a = 0
Đ S
Tính
b = 0
x = -b/a
“Vô số “Vô
Kết quả x
nghiệm” nghiệm”
Kết thúc
10
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Sử dụng mã giả
Vay mượn ngôn ngữ nào đó (ví dụ Pascal) để
biểu diễn thuật toán.
Đầu vào: a, b thuộc R
Đầu ra: nghiệm phương trình ax + b = 0
If a = 0 Then
Begin
If b = 0 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”
11
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Sử dụng ngôn ngữ lập trình
Dùng một ngôn ngữ lập trình để thực hiện cài
đặt (C#).
12
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Các mô hình phát triển phần mềm
Mô hình thác nước (Waterfall model)
Mô hình thăm dò (Spiral model)
Tạo nguyên mẫu
Biến đổi hình thức
Tập hợp các thành phần dùng lại
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
13
Mô hình thác nước
Ưu điểm:
Thích hợp cho những dự án lớn.
Quản lý dự án sẽ dễ dàng và thuận tiện.
Nhược điểm:
Thiếu sự trao đổi giữa người sử dụng và
nhóm phát triển.
Không cho phép thay đổi nhiều theo các đặc
tả yêu cầu của hệ thống.
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
14
Mô hình thăm dò
Phát triển hệ thống nhanh, sửa lỗi đến khi hoàn
thiện.
Ưu điểm:
Linh hoạt trong việc thay đổi yêu cầu.
Nhược điểm:
Các pha bị lặp lại quá nhiều lần.
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
15
Tạo nguyên mẫu (prototype)
Phát triển hệ thống cho người sử dụng dùng rồi
tạo ra nguyên mẫu
Ưu điểm:
Linh hoạt trong việc thay đổi yêu cầu.
Rút ngắn thời gian phát triển.
Nhược điểm:
Không thích hợp trong dự án lớn.
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
16
Các cách tiếp cận trong lập trình
Lập trình tuần tự: Assembler, basic
Chương trình quá dài, khó nhớ
Khó kiểm soát lỗi
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
17
Các cách tiếp cận trong lập trình
Lập trình hướng cấu trúc
Ưu điểm
Phân chia chương trình thành các
module (Thủ tục, hàm)
Dùng lại các đoạn chương trình
Chương trình = CTDL + giải thuật
Nhược điểm
Thiếu sự nhất quán khi trao đổi thông
tin dùng chung
Tính tái sử dụng thấp
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
18
Lập trình hướng đối tượng
(Object Oriented Programming – OOP)
Lập trình hướng đối tượng
Là phương pháp lập trình thực hiện việc hợp nhất thành
phần dữ liệu và thao tác thành một, cho phép chúng ta
định nghĩa một đối tượng (Object) theo cách mà chúng ta
nghĩ về thế giới quanh mình (data) và gắn các hành động
cụ thể trên đối tượng đó (Method).
Đối tượng (Object)
Mô tả một thực thể hay một quan hệ trong thế giới thực
Đối tượng = Dữ liệu + Hành vi
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
19
Lập trình hướng đối tượng
Dữ liệu Hành vi
- Giây - Tăng giây
- Phút - Tăng phút
- Giờ - Tăng giờ
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
20
Một số nguyên tắc cơ bản
Trừu tượng hóa (Abstraction)
Mô tả bài toán với những khía cạnh quan trọng nhất
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
21
Một số nguyên tắc cơ bản
Trừu tượng hóa
Những công việc
thực hiện trên đối
tượng đơn hàng
là gì?”
Đơn hàng
Tạo đơn hàng
Cập nhật đơn hàng
Tổng giá trị
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
22
Một số nguyên tắc cơ bản
Đóng gói (Encapsulation)
Là sự che giấu dữ liệu cấm truy xuất trực tiếp từ bên
ngoài mà phải thông qua giao diện người dùng nhắm bảo
vệ dữ liệu và tăng tính mềm dẻo cho hệ thống.
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
23
Một số nguyên tắc cơ bản
Đóng gói (Encapsulation)
Lớp đối tượng Bên ngoài
Các phương
DonHang thức chung của
int MaDH đơn hàng
int MaKH
Tinh_gia();
public: TaoDH
TaoDH( ) CapnhatDH
CapnhatDH( ) GiatriDH
GiatriDH( )
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
24
Một số nguyên tắc cơ bản
Đóng gói (Encapsulation)
Hmm... muốn thay
đổi Tinh_Gia thành
DonHang TinhTongGia
int MaDH
int MaKH
Tinh_gia();
public:
TaoDH( )
CapnhatDH( )
GiatriDH( ) GiatriDH() gọi phương
thức Tinh_gia()
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
25
Một số nguyên tắc cơ bản
Đóng gói (Encapsulation)
Dễ thôi mà, không
ảnh hưởng đến
DonHang người dùng
int MaDH
int MaKH
TinhTonggia();
public:
TaoDH( )
CapnhatDH( )
GiatriDH( ) GiatriDH() gọi phương
thức TinhTonggia()
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
26
Một số nguyên tắc cơ bản
Kế thừa (Inherritance)
Là sự chia sẻ các thuộc tính (Data) và phương thức
(Method) của các lớp cơ sở trên quan niệm phân cấp
(Hierarchy) nhằm tăng mức độ trừu tượng hoá và
giảm sự trùng lắp thông tin.
Tăng tính tái sử dụng của hệ thống
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
27
Một số nguyên tắc cơ bản
Kế thừa (Inherritance) Đơn hàng sử dụng
thông tin vận chuyển
Phieukho (Kết hợp)
Phieunhapkho Phieuxuatkho Phieuxuatkho_
kiemvanchuyennoibo
Phieunhapkho
và Phieuxuatkho
kế thừa từ
Phieukho
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
28
Phát triển hệ thống hướng đối tượng
Kiến trúc n_Tier và n_Layer
Presentation tier Browsers GUI
Local clients
Web Server
Web Server Application Web
Logicalview Business logic
Business tier
Data Access
Data tier Data
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
29
Vai trò của các layer
GUI (Presentation) Layer: Nhập liệu và trình bày dữ liệu, có thể bao
gồm các bước kiểm tra dữ liệu trước khi gọi Business Logic
Layer.
Business Logic Layer: Kiểm tra các yêu cầu nghiệp vụ trước khi
cập nhật dữ liệu, quản lý các Transaction, quản lý các concurrent
access.
Data Access Layer: Kết nối CSDL, tìm kiếm, thêm, xóa, sửa,trên
CSDL
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
30
Tính chất mô hình 3_Layer
Giảm sự kết dính giữa các thực thể phần mềm
(decoupling)
Tái sử dụng
Chia sẻ trách nhiệm
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
31
Môi trường phần mềm trước đây
Đối với người phát triển ứng dụng
Luôn quan tâm đến hệ điều hành
Luôn quan tâm đến ngôn ngữ
Không tích hợp được những ngôn ngữ khác nhau
Bất lợi của DLL và đăng ký vào registry
Phải xác định thiết bị truy cập
Khó khăn khi phát triển ứng dụng phân tán
Đối với người dùng
Bất lợi khi cài đặt ứng dụng
Các trang web không tương tác với nhau
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
32
Nền tảng công nghệ .NET
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
33
Multimedia: Giới thiệu Microsoft .Net
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
34
Kiến trúc .NET framwork
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
35
Kiến trúc .NET framwork
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
36
Kiến trúc .NET framwork
VB C++ C#
.NET Compiler
Intermediate
Languge
CLR for Linux CLR for CLR for Unix
Windows
Linux Native code Windows Native Unix
code Native code
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
37
Multimedia: Giới thiệu Microsoft .Net framework
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
38
Tính năng của visual studio .NET
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
39
Giới thiệu C#
Xây dựng dựa trên việc kế thừa C++ và Java
Dễ sử dụng hơn C++
Là ngôn ngữ hướng đối tượng
Ngôn ngữ đơn giản, an toàn, ít từ khóa (80 từ
khóa)
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
40
Viết một ứng dụng trên Console
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
41
Viết một ứng dụng trên Console
Viết đoạn mã sau:
using System;
class Hello
{
static void Main( )
{
//Console from the System namespace
Console.WriteLine("Hello World");
/* Use the system console object as
explained in the text */
Console.ReadLine();
}
}
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
42
Viết một ứng dụng trên Console
Sau khi viết xong, nhấn Ctrl+F5 để chạy chương
trình
Cũng có thể soạn thảo trên Notepad, lưu file có
phần mở rộng là .cs, sau đó từ dấu nhắc DOS
command promt, gõ lệnh:
csc .cs
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
43
Tóm tắt
Phát triển hệ thống hướng đối tượng
Khái niệm
Nguyên tắc
Kiến trúc 3-layer
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
44
Tóm tắt
.Net là một nền tảng phát triển phần mềm
Đa ngôn ngữ
Độc lập với hệ điều hành
Sử dụng ngôn ngữ trung gian IL
Hướng đến các ứng dụng phân tán
Phát triển ứng dụng nhanh
Triển khai ứng dụng dễ dàng
An toàn
Hướng đối tượng
Dựa trên nền tảng component
CLR (gồm CTS, CLS ), FCL là nền tảng
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
45
Q & A
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
46
Các file đính kèm theo tài liệu này:
- bai_giang_co_so_lap_trinh_fundamental_of_programming_chuong.pdf