Bài giảng Thuật toán & ngôn ngữ lập trình
Bạn đang xem tài liệu "Bài giảng Thuật toán & ngôn ngữ lập trình", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_thuat_toan_ngon_ngu_lap_trinh.pdf
Nội dung text: Bài giảng Thuật toán & ngôn ngữ lập trình
- THUẬT TOÁN & NGÔN NGỮ LẬP TRÌNH
- Thuật toán • Thuật toán (algorithm) – Thuật toán/giải thuật: thủ thuật giải quyết một bài toán – Thuật toán là một dãy có trình tự các công việc cần thực hiện – Tính chất cơ bản của thuật toán • Tính hữu hạn: kết thúc sau một số bước • Tính hiệu quả: thuật toán đơn giản, tối ưu về mặt sử dụng bộ nhớ, thời gian • Tính tổng quát: giải quyết một cách tổng quát • Tính xác định: kết quả chỉ phụ thuộc vào dữ liệu của bài toán
- Thuật toán • Thuật toán –Hai phương tiện đơn giản mô tả thuật toán • Giả mã: dùng ngôn ngữ tự nhiên • Sơ đồ khối: dùng các kí hiệu đồ họa
- Thuật toán • Giả mã – Ví dụ 2 : xây dựng thuật toán tính tổng s = 1 + 2 + n • Bước 1: Nhập giá trị n • Bước 2: Cho s = 0, i = 0 (i là biến đếm) • Bước 3: Trong khi i còn nhỏ hơn n thì thực hiện – Bước 3.1: tăng i lên một đơn vị (i = i + 1) – Bước 3.2: cộng i vào s (s = s + i) – Bước 3.3: lặp lại bước 3 • Bước 4: Xuất ra giá trị của s
- Thuật toán • Giả mã – Bài tập: xây dựng thuật toán tính giai thừa p = n! = 1.2.3 n • Bước 1: Nhập giá trị n • Bước 2: Cho p = 1, i = 1 (i là biến đếm) • Bước 3: Trong khi i còn nhỏ hơn n thì thực hiện – Bước 3.1: tăng i lên một đơn vị (i = i + 1) – Bước 3.2: nhân i vào p (p = p * i) – Bước 3.2: lặp lại bước 3 • Bước 4: Xuất ra giá trị của p
- Thuật toán • Sơ đồ khối gồm các kí hiệu sau: begin end Bắt đầu Kết thúc Nhập/xuất dữ liệu điều kiện đúng sai Thực hiện công việc Kiểm tra rẽ nhánh
- Các cấu trúc điều khiển • Cấu trúc điều kiện Đúng Sai Nếu nhiệt độ thấp hơn 15 độ Điều In ra “Cần phải mặt áo ấm” kiện Ngược lại In ra “Không cần mặt áo ấm” Công việc Công việc A B
- Các cấu trúc điều khiển • Cấu trúc lặp Gán đếm = 1 Trong khi (đếm <= giới hạn) thì Sai Điều . . . kiện Gán đếm = đếm + 1 . . . Đúng Công việc A
- Thuật toán begin • Ví dụ: vẽ sơ đồ khối tính n! Nhap n p = 1.2.3 n i = 1 p = 1 i < n i = i + 1 In ra p p = p * i
- Thuật toán • Bài tập: –Vẽ sơ đồ khối tính tổng: s = 1 + 2 + n –Xây dựng thuật toán giải phương trình bậc hai ax2 + bx + c = 0 • Dùng giả mã • Dùng sơ đồ khối
- Ngôn ngữ lập trình • Ngôn ngữ lập trình (programming language) –Gồm bộ từ vựng (vocabulary) và các quy tắc cú pháp (rules) áp dụng lên bộ từ vựng đó –Dùng để viết chương trình chạy trên máy tính
- Ngôn ngữ lập trình • Ngôn ngữ lập trình – Phân loại ngôn ngữ lập trình • Ngôn ngữ máy: là các chuỗi nhị phân được xử lí trực tiếp bởi bộ vi xủ lí • Ngôn ngữ bậc thấp: sử dụng một số từ dễ nhớ thay cho ngôn ngữ máy, như ngôn ngữ Assembly • Ngôn ngữ bậc cao: gần gũi với ngôn ngữ tự nhiên, dễ sử dụng, như C, Pascal,
- Ngôn ngữ lập trình • Chương trình dịch (compiler) – Máy tính chỉ hiểu được ngôn ngữ máy (các bit 0 và 1) – Chương trình dịch dịch chương trình viết bằng ngôn ngữ bậc cao ra ngôn ngữ máy – Có hai loại chương trình dịch • Thông dịch: dịch và thực hiện từng lệnh một • Biên dịch: dịch toàn bộ chương trình rồi mới thực thi
- Biên dịch Chương Input Output Chương trình bằng Biên trình bằng ngôn ngữ dịch mã máy bậc cao