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

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

pdf46 trang | Chia sẻ: phuongt97 | Lượt xem: 483 | Lượt tải: 0download
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:

  • pdfbai_giang_co_so_lap_trinh_fundamental_of_programming_chuong.pdf