Bài giảng Tin học đại cương - Chương 6: Thuật toán và ngôn ngữ lập trình
lượt xem 7
download
Bài giảng Tin học đại cương - Chương 6: Thuật toán và ngôn ngữ lập trình. Chương này gồm có 3 nội dung chính, đó là: Phương pháp giải quyết vấn đề bằng máy tính, thuật toán, ngôn ngữ lập trình. Mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tin học đại cương - Chương 6: Thuật toán và ngôn ngữ lập trình
- HỌC VIỆN NÔNG NGHIỆP VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Chương 6 Thuật toán và Ngôn ngữ lập trình
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương NỘI DUNG CHƯƠNG 6 1. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH 2. THUẬT TOÁN 2.1. Khái niệm thuật toán 2.2. Các tính chất của thuật toán 2.3. Độ phức tạp của thuật toán 2.4. Các cách diễn đạt thuật toán 3. NGÔN NGỮ LẬP TRÌNH 3.1. Khái niệm về ngôn ngữ lập trình 3.2. Lịch sử phát triển của ngôn ngữ lập trình 3.3. Trình biên dịch và trình thông dịch 3.4. Các công việc của lập trình Chương 6: Thuật toán và Ngôn ngữ lập trình 2
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương 1. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH • Phương pháp chung để giải quyết vấn đề (bài toán) bằng máy tính được thể hiện theo sơ đồ sau: BÀI TOÁN Cho một bài toán nghĩa là phải xác định dữ liệu cần nhập vào máy Xnh và Ym đầu ra THUẬT TOÁN Tìm ra cách xử lý dữ liệu đầu vào CHƯƠNG TRÌNH Viết chương trình bằng một ngôn ngữ lập trình nào đó NGÔN NGỮ MÁY Biên dịch chương trình sang ngôn ngữ máy MÁY THỰC HIỆN Chương 6: Thuật toán và Ngôn ngữ lập trình 3
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương NỘI DUNG CHƯƠNG 6 1. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH 2. THUẬT TOÁN 2.1. Khái niệm thuật toán 2.2. Các tính chất của thuật toán 2.3. Độ phức tạp của thuật toán 2.4. Các cách diễn đạt thuật toán 3. NGÔN NGỮ LẬP TRÌNH 3.1. Khái niệm về ngôn ngữ lập trình 3.2. Lịch sử phát triển của ngôn ngữ lập trình 3.3. Trình biên dịch và trình thông dịch 3.4. Các công việc của lập trình Chương 6: Thuật toán và Ngôn ngữ lập trình 4
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương 2.1 Khái niệm thuật toán • Thuật toán (thuật giải, algorithms): là tập hợp hữu hạn các thao tác, phép toán được thực hiện theo một trình tự xác định trên một số đối tượng dữ liệu nào đó để đạt được kết quả mong muốn. • Để tìm thuật toán cho một bài toán ta cần xác định dữ liệu vào (input) và dữ liệu ra (output) cho bài toán. • VD: Bài toán giải phương trình bậc 2 ax2 + bx + c = 0 – Dữ liệu vào: Giá trị của 3 hệ số a, b, c – Dữ liệu ra: Là nghiệm của phương trình Chương 6: Thuật toán và Ngôn ngữ lập trình 5
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương NỘI DUNG CHƯƠNG 6 1. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH 2. THUẬT TOÁN 2.1. Khái niệm thuật toán 2.2. Các tính chất của thuật toán 2.3. Độ phức tạp của thuật toán 2.4. Các cách diễn đạt thuật toán 3. NGÔN NGỮ LẬP TRÌNH 3.1. Khái niệm về ngôn ngữ lập trình 3.2. Lịch sử phát triển của ngôn ngữ lập trình 3.3. Trình biên dịch và trình thông dịch 3.4. Các công việc của lập trình Chương 6: Thuật toán và Ngôn ngữ lập trình 6
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương 2.2. Các 'nh chất của thuật toán • Tính kết thúc • Tính thực hiện được • Tính kết quả • Tính hiệu quả • Tính duy nhất • Tính hình thức Chương 6: Thuật toán và Ngôn ngữ lập trình 7
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương NỘI DUNG CHƯƠNG 6 1. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH 2. THUẬT TOÁN 2.1. Khái niệm thuật toán 2.2. Các tính chất của thuật toán 2.3. Độ phức tạp của thuật toán 2.4. Các cách diễn đạt thuật toán 3. NGÔN NGỮ LẬP TRÌNH 3.1. Khái niệm về ngôn ngữ lập trình 3.2. Lịch sử phát triển của ngôn ngữ lập trình 3.3. Trình biên dịch và trình thông dịch 3.4. Các công việc của lập trình Chương 6: Thuật toán và Ngôn ngữ lập trình 8
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương 2.3. Độ phức tạp của thuật toán • Đánh giá một thuật ta dựa vào hai tiêu chí sau: – Thời gian thực hiện: Đây là tiêu chí chủ yếu để đánh giá – Dung lượng bộ nhớ sử dụng • Đánh giá thời gian thực hiện thuật toán người ta dùng “Độ phức tạp tính toán của thuật toán”. => Độ phức tạp tính toán của thuật toán là thời gian thực hiện của thuật toán được đánh giá mà không phụ thuộc vào máy tính và các yếu tố liên quan, chỉ phụ thuộc vào kích thước của dữ liệu đầu vào. Chương 6: Thuật toán và Ngôn ngữ lập trình 9
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương 2.3. Độ phức tạp của thuật toán • Gọi n là kích thước của dữ liệu vào, thì thời gian thực hiện T của một giải thuật được biểu diễn như một hàm của n, gọi là T(n). • Nếu T(n) = Cn2 trong đó C là hằng số, thì ta nói độ phức tạp tính toán của thuật toán này có cấp n2, kí hiệu là: T(n) = O(n2) • Tổng quát: – Hàm f(n) có độ phức tạp tính toán cấp g(n) nếu hàm f(n) bị chặn bởi Cg(n), với C là hằng số. Kí hiệu là f(n) = O(g(n)) • Các hàm thể hiện độ phức tập tính toán của giải thuật có các dạng sau: nn, n!, 2n, n3, n2, nlog2n, n, log2n. Các hàm đó đã được sắp theo thứ tự ưu tiên giá trị giảm dần Chương 6: Thuật toán và Ngôn ngữ lập trình 10
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương NỘI DUNG CHƯƠNG 6 1. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH 2. THUẬT TOÁN 2.1. Khái niệm thuật toán 2.2. Các tính chất của thuật toán 2.3. Độ phức tạp của thuật toán 2.4. Các cách diễn đạt thuật toán 3. NGÔN NGỮ LẬP TRÌNH 3.1. Khái niệm về ngôn ngữ lập trình 3.2. Lịch sử phát triển của ngôn ngữ lập trình 3.3. Trình biên dịch và trình thông dịch 3.4. Các công việc của lập trình Chương 6: Thuật toán và Ngôn ngữ lập trình 11
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương 2.4. Các cách diễn đạt thuật toán Cách 1: • Liệt kê các bước bằng lời: Sử dụng ngôn ngữ tự nhiên để liệt kê các công việc của thuật toán qua các bước: Bước 1, Bước 2, Bước 3… VD: Cho hai số m, n tìm d = USCLN(m,n) Bước 1: Kiểm tra nếu m= n thì về bước 5, nếu không thực hiện tiếp bước 2 Bước 2: Nếu m> n thì về bước 4 nếu không thực hiện tiếp bước 3 Bước 3: m
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương VÍ DỤ CÁC BƯỚC CỦA THUẬT TOÁN EUCLID m n So sánh Bước 1: Kiểm tra nếu m= n thì về bước 5, nếu không thực hiện tiếp bước 2 15 21 m>n Bước 2: Nếu m> n thì về bước 4 nếu không thực hiện tiếp bước 3 15 6 m>n Bước 3: m n và quay về bước 1 Bước 4: bớt m đi một lượng bằng n và quay 3 6 m
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương 2.4. Các cách diễn đạt thuật toán Cách 2: • Dùng lưu đồ thuật toán: Sử dụng các hình vẽ cơ bản để vẽ hình có hướng đi thể hiện các công việc và trình tự thực hiện thuật toán. • Các hình cơ bản gồm có: Bắt đầu, Kết thúc, Vào/Ra dữ liệu, Thực hiện một công việc A, Kiểm tra điều kiện đúng/sai. Chương 6: Thuật toán và Ngôn ngữ lập trình 14
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương Các hình cơ bản gồm có: Khối thao tác Khối output Khối input đối tượng:= biểu Khối input thức Khởi đầu Kết thúc Khối điều kiện + - Thứ tự xử lý Chương 6: Thuật toán và Ngôn ngữ lập trình 15
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương VD: BIỂU DIỄN BẰNG LƯU ĐỒ THUẬT TOÁN EUCLID Bước 1: Kiểm tra nếu m= n Vào m,n thì về bước 5, nếu không thực hiện tiếp bước 2 Sai Đúng Bước 2: Nếu m> n thì về So sánh bước 4 nếu không thực m=n? hiện tiếp bước 3 Bước 3: m n ? về bước 1 Bước 4: bớt m đi một lượng bằng n và quay về d bước 1 m:=m-n n:= n - m Bước 5: Lấy d chính là giá trị chung của m và n. Kết thúc Chương 6: Thuật toán và Ngôn ngữ lập trình 16
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương 2.4. Các cách diễn đạt thuật toán Cách 3: • Sử dụng giả ngôn ngữ lập trình (giả mã): Sử dụng ngôn ngữ tự nhiên kết hợp với một số từ khóa và cấu trúc điều khiển trong ngôn ngữ lập trình bậc cao để diễn tả các công việc của thuật toán. • VD: Viết thuật toán Ym USCL của 2 số nguyên dương Chương 6: Thuật toán và Ngôn ngữ lập trình 17
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương VD: Viết thuật toán tìm USCL của 2 số nguyên dương Trong khi m ≠ n thì lặp lại khối sau: read(m,n); while m n do Nếu m > n thì if m>n then Bớt m đi một lượng là n m:=m-‐n Nếu ngược lại thì else Bớt n đi một lượng là m n:= n-‐m; write(m); Cho tới khi m = n thì kết luận USCLN chính là giá trị chung của m và n Chương trình trong PASCAL Chương 6: Thuật toán và Ngôn ngữ lập trình 18
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương NỘI DUNG CHƯƠNG 6 1. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH 2. THUẬT TOÁN 2.1. Khái niệm thuật toán 2.2. Các tính chất của thuật toán 2.3. Độ phức tạp của thuật toán 2.4. Các cách diễn đạt thuật toán 3. NGÔN NGỮ LẬP TRÌNH 3.1. Khái niệm về ngôn ngữ lập trình 3.2. Lịch sử phát triển của ngôn ngữ lập trình 3.3. Trình biên dịch và trình thông dịch 3.4. Các công việc của lập trình Chương 6: Thuật toán và Ngôn ngữ lập trình 19
- Khoa Công nghệ thông ;n – Học viện Nông nghiệp Việt nam Bài giảng Tin học đại cương 3.1. Khái niệm về ngôn ngữ lập trình • Ngôn ngữ lập trình (programming language : Tập hợp các ký hiệu và các quy tắc viết các lệnh để thể hiện thuật toán • Ngôn ngữ lập trình gồm 2 loại chính: – Ngôn ngữ lập trình bậc thấp (hợp ngữ, assembly): • Có cấu trúc lệnh rất giống với ngôn ngữ máy, chỉ khác là dùng mã chữ thay cho mã nhị phân. • Ví dụ: Lệnh ADD AX, BX cộng (Addition) nội dung thanh ghi AX và BX, kết quả để trong AX. Chương 6: Thuật toán và Ngôn ngữ lập trình 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Tin học đại cương: Chương 1 - Học viện ngân hàng
7 p | 388 | 24
-
Bài giảng Tin học đại cương: Bài 4 - ĐH Bách khoa Hà Nội
8 p | 156 | 13
-
Bài giảng Tin học đại cương: Bài 5 - ĐH Bách khoa Hà Nội
7 p | 135 | 13
-
Bài giảng Tin học đại cương: Bài 9 - ĐH Bách khoa Hà Nội
16 p | 130 | 11
-
Bài giảng Tin học đại cương: Chương 2 - Tin học và công nghệ thông tin
12 p | 185 | 10
-
Bài giảng Tin học đại cương: Bài 6 - ĐH Bách khoa Hà Nội
13 p | 138 | 10
-
Bài giảng Tin học đại cương: Bài 8 - ĐH Bách khoa Hà Nội
10 p | 113 | 8
-
Bài giảng Tin học đại cương: Bài 3 - ĐH Bách khoa Hà Nội
14 p | 146 | 8
-
Bài giảng Tin học đại cương: Bài 10 - ĐH Bách khoa Hà Nội
7 p | 107 | 7
-
Bài giảng Tin học đại cương: Bài 7 - ĐH Bách khoa Hà Nội
18 p | 120 | 7
-
Bài giảng Tin học đại cương: Phần 1 - ThS. Phạm Thanh Bình
18 p | 96 | 6
-
Bài giảng Tin học đại cương: Bài 11 - ĐH Bách khoa Hà Nội
8 p | 100 | 6
-
Bài giảng Tin học đại cương: Chương 1 - Đại cương về tin học
16 p | 125 | 5
-
Bài giảng Tin học đại cương (Phần 1): Bài 1.1 - Thông tin và tin học
50 p | 14 | 5
-
Bài giảng Tin học đại cương (Phần 1): Bài 3.1 - Các hệ thống quản lý thông tin
28 p | 8 | 5
-
Bài giảng Tin học đại cương: Bài mở đầu - Phạm Xuân Cường
7 p | 66 | 3
-
Bài giảng Tin học đại cương: Chương 1 - Đặng Xuân Hà
10 p | 90 | 2
-
Bài giảng Tin học đại cương: Bài 10 - Bùi Thị Thu Cúc
16 p | 85 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn