Bài giảng Lập trình cơ bản bài 5: Giải thuật xử lý thông tin và ngôn ngữ lập trình

36 670 2
Bài giảng Lập trình cơ bản bài 5: Giải thuật xử lý thông tin và ngôn ngữ lập trình

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Lập trình cơ bản bài 5: Giải thuật xử lý thông tin và ngôn ngữ lập trình

Bài 5. Giải thuật xử thông tin ngôn ngữ lập trình KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM Bài giảng: LẬP TRÌNH BẢN Tài liệu tham khảo Giải thuật xử thông tin ngôn ngữ lập trình2  Giáo trình tin học sở, Hồ Sỹ Đàm, Đào Kiến Quốc, Hồ Đắc Phương. Đại học Sư phạm, 2004 – Chương 7, 9. NỘI DUNG  Khái niệm bài toán giải thuật  Đặc trưng của giải thuật  Các phương pháp diễn đạt giải thuật  Sơ lược về đánh giá giải thuậtNgôn ngữ lập trình các mức khác nhau của ngôn ngữ lập trình  Quá trình thực hiện chương trình trên ngôn ngữ bậc cao 3 Giải thuật xử thông tin ngôn ngữ lập trình KHÁI NIỆM BÀI TOÁN Cho số tự nhiên n n phải số nguyên tố hay không “có” hay “không” Cho hồ sơ điểm sinh viên Tìm tất cả các sinh viên điểm trung bình trên 8 Danh sách sv thoả mãn Thiết kế hình học, tải trọng Tính sức bền Độ bền Input Yêu cầu Output Cho một bài toán nghĩa là cho input, yêu cầu để tìm (tính) ra output 4 Giải thuật xử thông tin ngôn ngữ lập trình KHÁI NIỆM THUẬT TOÁN  Thuật toán (algorithm) là một quá trình gồm một dãy hữu hạn các thao tác thể thực hiện được sắp xếp theo một trình tự xác định dùng để giải một bài toán  Ví dụ : thuật toán Euclid tìm ước số chung lớn nhất của hai số tự nhiên. Thay vì phải tính toán theo định nghĩa chỉ làm rõ cấu trúc của USCLN (tích của các ước số chung với số mũ nhỏ nhất) thuật toán Euclid dựa trên các tính chất sau:  USCLN(a,b) = USCLN (b,a))  Nếu a> b, USCLN(a,b) = USCLN (a-b,b)  USCLN(a,a)= a 5 Giải thuật xử thông tin ngôn ngữ lập trình THUẬT TOÁN EUCLID TIM USCLN CỦA HAI SỐ TỰ NHIÊN  Bài toán: Cho hai số m, n tìm d = USCLN(m,n) 1. 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 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 3. Bước 3: m <n, bớt n đi một lượng bằng m quay về bước 1 4. Bước 4: bớt m đi một lượng bằng n quay về bước 1 5. Bước 5: Lấy d chính là giá trị chung của m n. Kết thúc 6 Giải thuật xử thông tin ngôn ngữ lập trình VÍ DỤ CÁC BƯỚC CỦA THUẬT TOÁN EUCLID m n 15 21 9 6 15 6 3 6 3 3 m<n m>n m>n m<n m=n USCLN(15,21) = 3 7 Giải thuật xử thông tin ngôn ngữ lập trình CÁC ĐẶC TRƯNG CỦA THUẬT TOÁN  Input  Output  Tính xác định: Sau mỗi bước, bước tiếp theo hoàn toàn xác định.  Tính khả thi: các chỉ dẫn đặt ra đều thể thực hiện được  Tính dừng: quá trình tính toán luôn phải dừng sau một số hữu hạn bước.  Tính phổ dụng: mỗi thuật toán không chỉ dùng cho một bài toán với dữ liệu cụ thể mà thể áp dụng với một lớp các bài toán cùng kiểu. Chẳng hạn người ta nói tới thuật toán tìm USCLN của hai số tự nhiên bất kỳ chứ không phải thuật toán tìm USCLN của 15 21. 8 Giải thuật xử thông tin ngôn ngữ lập trình CÁC PHƯƠNG PHÁP BIỂU DIỄN THUẬT TOÁN  Dùng các chỉ dẫn  Dùng sơ đồ khối  Dùng cấu trúc điều khiển 9 Giải thuật xử thông tin ngôn ngữ lập trình THUẬT TOÁN BỐC SỎI  Ví dụ: Bài toán bốc sỏi: 30 viên sỏi. Hai người chơi, mỗi người đến lượt mình bốc từ 1 đến 3 viên sỏi. Ai bốc cuối cùng là thắng. Làm thế nào để người đi trước thắng. 1. Bước 1, bốc 2 viên 2. Bước 2: nếu số sỏi đã hết, dừng cuộc chơi, tuyên bố người (đi trước) thắng cuộc. Nếu không về bước tiếp theo 3. Bước 3: Đối phương bốc k viên 0 < k<4 4. Bước 4: Người đi trước bốc một lượng là 4 - k sau đó quay về bước 2 10 Giải thuật xử thông tin ngôn ngữ lập trình [...]... lập trình CÂU HỎI BÀI TẬP 7 So sánh ngôn ngữ thuật toán với ngôn ngữ máy hợp ngữ 8 Kể tên một số ngôn ngữ lập trìnhbạn biết 9 Nếu các bước thực hiện một chương trình trên ngôn ngữ thuật giải 10 Phân biệt lỗi cú pháp lỗi ngữ nghĩa 11 Trình bày môi trường phát triển tích hợp 35 Giải thuật xử thông tin ngôn ngữ lập trình HỎI ĐÁP Máy tính điện tử xử thông tin ... một thuật toán thể diễn đạt bằng nhiều chương trình khác nhau trên những ngôn ngữ khác nhau 21 Giải thuật xử thông tinngôn ngữ lập trình CÁC MỨC CỦA NGÔN NGỮ LẬP TRÌNHNgôn ngữ máy: ngôn ngữ thể hiện trực tiếp trong hệ lệnh của máy Nói chung ngôn ngữ máy là ngôn ngữ ở mức các bít, nên cũng được gọi là ngôn ngữ nhị phân  Hợp ngữ (assembly) là loại ngôn ngữ về bản là gần với ngôn ngữ. .. Sau đó mới nạp chương trình này vào thi hành 25 Giải thuật xử thông tinngôn ngữ lập trình NGÔN NGỮ BẬC CAO  Ngôn ngữ máy hợp ngữ phụ thuộc vào máy, lại khó dùng, vì nó buộc người lập trình phải viết tinh tế đến mức lệnh máy  Người ta muốn các ngôn ngữ chỉ diễn tả thuật toán mà thôi, không liên quan đến các hệ lệnh đặc thù của máy tính cụ thể Các ngôn ngữ này gọi là ngôn ngữ bậc cao (high level... 20 Giải thuật xử thông tin ngôn ngữ lập trình NGÔN NGỮ LẬP TRÌNHNgôn ngữ lập trình (programming language) là ngôn ngữ biểu diễn thuật toán dùng để điều khiển máy tính thực hiện các công việc đã định  Các quy tắc viết được gọi là cú pháp (syntax) của ngôn ngữ ý nghĩa mà ngôn ngữ chuyển tải gọi là ngữ nghĩa (semantic)  Một chương trình máy tính (program)phải được thể hiện trên một ngôn ngữ. .. 31 Giải thuật xử thông tinngôn ngữ lập trình Tóm tắt nội dung  Ngôn ngữ lập trình là phương tiện diễn tả thuật toán để máy tính thể sử dụng trực tiếp hoặc gián tiếp  Theo mức trừu tượng hoá các mức là ngôn ngữ máy, hợp ngữ ngôn ngữ thuật toán Đối với hợp ngữ phải sử dụng phần mềm hợp dịch, với ngôn ngữ thuật toán phải dùng phần mềm biên dịch để tạo ra phần mềm tương ứng trong ngôn ngữ. .. là ngôn ngữ bậc cao (high level language) hay còn gọi là ngôn ngữ thuật toán (algorithmic language)  Ngôn ngữ thuật toán hình thức giống với ngôn ngữ tự nhiên hoặc ngôn ngữ toán học nên dễ diễn đạt hơn nhiều so với ngôn ngữ máy hoặc hợp ngữ 26 Giải thuật xử thông tinngôn ngữ lập trình VÍ DỤ VỀ NGÔN NGỮ BẬC CAO  Ví dụ giải phương trình bậc 2 trên PASCAL DELTA := B*B - 4*A*C; IF DELTA >=... vậy chương trình thông dịch thực sự đóng vai trò một máy ảo Trong chế độ thông dịch, không sinh chương trình tương ứng trong mã nhị phân - Dịch chương trình trong ngôn ngữ thuật toán thành một chương trìnhngôn ngữ máy bảo toàn ngữ nghĩa nhờ chương trình biên dịch (compiler) 28 Giải thuật xử thông tin ngôn ngữ lập trình THỰC HIỆN CHƯƠNG TRÌNH TRÊN NGÔN NGỮ BẬC CAO  Soạn thảo chương trình nhờ... của ngôn ngữ máy một lệnh tương ứng của hợp ngữ nhưng hợp ngữ sử dụng mã chữ  Ngôn ngữ bậc cao – còn gọi là ngôn ngữ thuật toán (Algorithmic language) là ngôn ngữ biểu diễn thuật toán độc lập với hệ lệnh của máy  Mỗi ngôn ngữ xác định một kiểu diễn đạt kịch bản điều khiển máy tính Mỗi một kịch bản điều khiển máy viết trên một ngôn ngữ lập trình gọi là một chương trình (program) 22 Giải thuật xử lý. .. điều kiện Kết thúc Thứ tự xử 11 Giải thuật xử thông tin ngôn ngữ lập trình BIỂU DIỄN BẰNG LƯU ĐỒ THUẬT TOÁN EUCLID m,n m=n? + m>n ? + m:=m-n 12 d:= m - n:= n - m d Giải thuật xử thông tin ngôn ngữ lập trình BIỂU DIỄN BẰNG CẤU TRÚC ĐIỀU KHIỂN Trong khi m ≠ n thì lặp lại khối sau: Nếu m > n thì Bớt m đi một lượng là n Điều chỉnh lại giá trị Nếu ngược lại thì của m n Bớt n đi một lượng... b-a > ε, quay về 1, nếu không làm tiếp 5 Dừng, lấy c làm nghiệm 15 Giải thuật xử thông tin ngôn ngữ lập trình TÍNH NGHIỆM XẤP XỈ VỚI ĐỘ CHÍNH XÁC ε = 0.000001 CỦA PHƯƠNG TRÌNH f(x)= ex- x3 = 0 a:= 1; b:= 4; ε = 0.00001 c:= (a+b)/2 + f(c) >0 ? - a:= c 16 b:= c b-a < ε + c Giải thuật xử thông tin ngôn ngữ lập trình Chương trình trong PASCAL BIỂU DIỄN BẰNG CẤU TRÚC ĐIỀU KHIỂN Cho ε = 0.000001,

Ngày đăng: 09/05/2014, 15:42

Từ khóa liên quan

Mục lục

  • Slide 1

  • Tài liệu tham khảo

  • NỘI DUNG

  • KHÁI NIỆM BÀI TOÁN

  • KHÁI NIỆM THUẬT TOÁN

  • THUẬT TOÁN EUCLID TIM USCLN CỦA HAI SỐ TỰ NHIÊN

  • VÍ DỤ CÁC BƯỚC CỦA THUẬT TOÁN EUCLID

  • CÁC ĐẶC TRƯNG CỦA THUẬT TOÁN

  • CÁC PHƯƠNG PHÁP BIỂU DIỄN THUẬT TOÁN

  • THUẬT TOÁN BỐC SỎI

  • BIỂU DIỄN BẰNG LƯU ĐỒ HOẶC SƠ ĐỒ KHỐI

  • BIỂU DIỄN BẰNG LƯU ĐỒ THUẬT TOÁN EUCLID

  • BIỂU DIỄN BẰNG CẤU TRÚC ĐIỀU KHIỂN

  • TÍNH NGHIỆM XẤP XỈ VỚI ĐỘ CHÍNH XÁC ε = 0.000001 CỦA PHƯƠNG TRÌNH f(x)= ex- x3 = 0

  • Slide 15

  • Slide 17

  • HIỆU QUẢ CỦA THUẬT TOÁN

  • VÍ DỤ HIỆU QUẢ TÌM KIẾM

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan