BÀI GIẢ NG
THUẬT TOÁ N VÀ
NGÔN NGỮ LẬP TRÌNH C
Giá o viên: Hà Nguyên Long
Company Logo Company Logo
www.themegallery.com
THUẬT TOÁ N
TỪ BÀ I TOÁ N ĐẾ N CHƯƠNG TRÌNH
1. Mô tả các bước giải bài toán. 2. Vẽ sơ đồ xử lý dựa trên các bước. 3. Dựa trên sơ đồ xử lý để viết chương trình xử lý bằng ngôn ngữ giả (ngôn ngữ bình thường của chúng ta).
4. Chọn ngôn ngữ lập trình và chuyển chương trình từ ngôn ngữ giả sang ngôn ngữ lập trình để tạo thành một chương trình hoàn chỉnh.
5. Thực hiện chương trình: nhập vào các tham số,
nhận kết quả.
Company Logo Company Logo
www.themegallery.com
THUẬT TOÁ N
THUẬT TOÁ N
Thuật toán là một hệ thống chặt chẽ và rõ ràng các quy tắc nhằm xác định một dãy các thao tác trên những dữ liệu vào sao cho sau một số hữu hạn bước thực hiện các thao tác đó ta thu được kết quả của bài toán.
Company Logo Company Logo
www.themegallery.com
THUẬT TOÁ N
THUẬT TOÁ N
Ví dụ 1: Giả sử có hai bình A và B đựng hai loại chất lỏng khác nhau, chẳng hạn bình A đựng rượu, bình B đựng nước mắm. Thuật toán để hoán đổi chất lỏng đựng trong hai bình đó là: - Yêu cầu phải có thêm một bình thứ ba gọi là bình C. - Bước 1: Đổ rượu từ bình A sang bình C. - Bước 2: Đổ nước mắm từ bình B sang bình A. - Bước 3: Đổ rượu từ bình C sang bình B.
Company Logo Company Logo
www.themegallery.com
THUẬT TOÁ N
THUẬT TOÁ N
Ví dụ 2: Một trong những thuật toán tìm ước chung lớn nhất của hai số a và b là: - Bước 1: Nhập vào hai số a và b. - Bước 2: So sánh 2 số a,b chọn số nhỏ nhất gán cho UCLN. - Bước 3: Nếu một trong hai số a hoặc b không chia hết cho UCLN thì thực hiện bước 4, ngược lại (cả a và b đều chia hết cho UCLN) thì thực hiện bước 5. - Bước 4: Giảm UCLN một đơn vị và quay lại bước 3 - Bước 5: In UCLN - Kết thúc.
Company Logo Company Logo
www.themegallery.com
THUẬT TOÁ N
Các đặc trưng của thuật toán
Company Logo Company Logo
www.themegallery.com
o Tính kết thúc: Thuật toán phải dừng sau một số hữu hạn bước. o Tính xác định: Các thao tác máy tính phải thực hiện được và các máy tính khác nhau thực hiện cùng một bước của cùng một thuật toán phải cho cùng một kết quả. o Tính phổ dụng: Thuật toán phải "vét' hết các trường hợp và áp dụng cho một loạt bài toán cùng loại. o Tính hiệu quả: Một thuật toán được đánh giá là tốt nếu nó đạt hai tiêu chuẩn sau: - Thực hiện nhanh, tốn ít thời gian. - Tiêu phí ít tài nguyên của máy, chẳng hạn tốn ít bộ
nhớ
THUẬT TOÁ N
Ngôn ngữ biểu diễn thuật toán
● Ngôn ngữ tự nhiên ● Ngôn ngữ sơ đồ (Lưu đồ) ● Ngôn ngữ tựa (giả ) chương trı̀nh
Company Logo Company Logo
www.themegallery.com
THUẬT TOÁ N
Ngôn ngữ sơ đồ
Company Logo Company Logo
www.themegallery.com
THUẬT TOÁ N
Bắ t đầ u
a, b
Biể u diễn thuật toá n tı́nh diện tı́ch hı̀nh chữ nhật bằ ng ngôn ngữ tự nhiên và ngôn ngữ sơ đồ
S=a*b
Bướ c 1: Nhập độ dà i cạnh a, b
S
Bướ c 2: Tı́nh diện tı́ch S=a*b
Kế t thú c
Bướ c 3: In ra diện tı́ch S
Company Logo Company Logo
www.themegallery.com
THUẬT TOÁ N
Các cấu trúc lệnh cơ bản dùng trong biểu diễn thuật toán
Cấ u trú c tuầ n tự (Sequential)
Cấ u trú c lựa chọn (Selection)
Cấ u trú c lặp (Repeating)
Company Logo Company Logo
www.themegallery.com
THUẬT TOÁ N
Kiể u dữ liê ̣u
Kiểu dữ liệu sơ cấp Kiểu dữ liệu sơ cấp là kiểu dữ liệu mà giá trị của nó là đơn nhất. Ví dụ: Trong ngôn ngữ lập trình C, kiểu char gọi là kiểu sơ cấp vì kiểu này bao gồm các ký tự
Company Logo Company Logo
www.themegallery.com
Kiểu dữ liệu có cấu trúc Kiểu dữ liệu có cấu trúc là kiểu dữ liệu mà các giá trị của nó là sự kết hợp của các giá trị khác. Ví dụ: Kiểu chuỗi ký tự trong ngôn ngữ lập trình C là một kiểu dữ liệu có cấu trúc.
THUẬT TOÁ N
Bà i tâ ̣p
Biể u diễn cá c thuật toá n sau bằ ng ngôn ngữ tự nhiên và ngôn ngữ sơ đồ
● Tı́nh diện tı́ch hı̀nh tam giá c khi biế t cạnh đá y và
chiề u cao
● Tı́nh diện tı́ch hı̀nh thang khi biế t độ dà i 2 cạnh
đá y và chiề u cao
● Tı́nh diện tı́ch hı̀nh trò n khi biế t đườ ng kı́nh
Company Logo Company Logo
www.themegallery.com
TIẾ P THEO
Biể u diễn một số thuâ ̣t toá n cơ bả n ● Tı́nh tổ ng dãy số ● Tı̀m giá tri ̣ lớ n nhấ t củ a dãy số ● Sắ p xế p dãy số