1. Trang chủ
  2. » Thể loại khác

phan-i-gioi-thieu-ve-cau-truc-du-lieu-giai-thuat

12 6 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 1,28 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

2/19/2011 1 PHẦN I GIỚI THIỆU VỀ CẤU TRÚC DỮ LIỆU & GIẢI THUẬT ¡ Từ bài toán đến chương trình ¡ Giải thuật § Khái niệm giải thuật § Các đặc trưng của giải thuật § Ngôn ngữ biểu diễn giải thuật § Một v[.]

Trang 1

PHẦN I: GIỚI THIỆU VỀ CẤU TRÚC DỮ LIỆU & GIẢI THUẬT

¡ Giải thuật

§ Khái niệm giải thuật

§ Các đặc trưng của giải thuật

§ Ngôn ngữ biểu diễn giải thuật

§ Một vài ví dụ về giải thuật

§ Các cấu trúc suy luận cơ bản của giải thuật

Trang 2

¡ Các bước giải bài toán bằng máy tính

§ Mô tả các bước giải bài toán

§ Vẽ sơ đồ xử lý

§ Viết chương trình xử lý bằng ngôn ngữ giả

§ Chọn ngôn ngữ lập trình và chuyển chương trình

từ ngôn ngữ giải sang ngôn ngữ lập trình

§ Thực hiện chương trình: chạy chương trình à

nhập dữ liệu à nhận kết quả

¡ Khái niệm giải thuật

¡ Các đặc trưng của giải thuật

¡ Ngôn ngữ biểu diễn giải thuật

¡ Một vài ví dụ về giải thuật

¡ Các cấu trúc suy luận cơ bản của giải thuật

Trang 3

¡ Ví dụ: Hoán đổi chất lỏng trong 2 bình A

(nước mắm) và B (rượu):

§ Cần có thêm một bình thứ 3 gọi là bình C

§ Bước 1: đỗ nước mắm từ A à C

§ Bước 2: đỗ rượu từ B à A

§ Bước 3: đỗ nước mắm từ C à B

¡ “Giải thuật là 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 ta thu được kết quả của bài toán”.

¡ Tính kết thúc

§ Số bước là hữu hạn

§ Máy phải thực hiện được

§ Cho cùng kết quả trên các máy khác nhau

§ “Vét” hết mọi trường hợp của bài toán

§ Áp dụng được cho các bài toán cùng loại

§ Thực hiện nhanh

§ Ít tốn tài nguyên

Trang 4

¡ Ngôn ngữ tự nhiên

¡ Ngôn ngữ sơ đồ

¡ Ngôn ngữ giả

ax + b = 0

§ Bước 1: Nhận vào giá trị của các tham số a, b

§ Bước 2: Xét giá trị của a xem có bằng 0 hay không

▪ Nếu a = 0 thì thực hiện bước 3

▪ Nếu a khác 0 thì thực hiện bước 4

§ Bước 3:

▪ Nếu b bằng 0 à pt vô số nghiệm

▪ Nếu b khác 0 à pt vô nghiệm

§ Bước 4: Phương trình có nghiệm x = -b/a

Trang 5

¡ Mô tả giải thuật bằng các sơ đồ khối đã

được qui ước trước

Bắt đầu / Kết thúc Đường đi Nhập / Xuất Chương trình con

Lựa chọn Lời chú thích

¡ Ví dụ: dùng lưu đồ biểu diễn giải thuật tìm

ước chung lớn nhất của hai số a và b

Bắt đầu

Nhập a, b

a < b

UCLN = b UCLN = a

A

A

a và b chia hết cho UCLN

Xuất UCLN

Kết thúc UCLN = UCLN - 1

Trang 6

¡ Ngôn ngữ kết hợp giữa ngôn ngữ tự nhiên với

các cấu trúc câu lệnh của một ngôn ngữ lập

trình

¡ Ví dụ: Giải thuật giải pt bậc nhất ax + b = 0

§ Nhập vào a, b

§ IF (a == 0) THEN

IF (b == 0) THEN

Kết luận pt có vô số nghiệm

ELSE

Kết luận pt vô nghiệm

ELSE

Kết luận pt có nghiệm x = -b/a

¡ Ví dụ 1: Yêu cầu

§ Nhập vào 1 dãy có n số

hạng a1, a2, a3, …, an

§ Tính tổng S:

S = a1 + a2 + a3 + … + an

§ Xuất S ra màn hình

Bắt đầu Nhập số các số hạng n

S = 0

i = 1

i <= n

Xuất S

Kết thúc

Sai

Nhập số ai

S = S + ai

i = i + 1

Đúng

Trang 7

¡ Ví dụ 2: Yêu cầu

§ Nhập vào hai hệ số a, b

của pt: ax + b = 0

§ Cho biết nghiệm của pt

Bắt đầu Nhập a, b

a = 0

Nghiệm

x = -b/a

Kết thúc

Sai

PT vô nghiệm

Đúng

b = 0

PT vô số nghiệm

¡ 3 cấu trúc suy luận cơ bản:

§ Tuần tự (Sequential)

▪ Các công việc được thực hiện tuần tự, công việc này nối

tiếp công việc kia

§ Cấu trúc lựa chọn (Selection)

▪ Lựa chọn một công việc để thực hiện căn cứ vào một

điều kiện nào đó

▪ Cấu trúc 1: Nếu <Điều kiện> (Đúng) thì thực hiện <Công việc>

▪ Cấu trúc 2: Nếu <Điều kiện> (Đúng) thì thực hiện <Công việc 1>

ngược lại (Điều kiện sai) thì thực hiện <Công việc 2>

▪ Cấu trúc 3: Trường hợp <i> thực hiện <Công việc i>

Trang 8

¡ 3 cấu trúc suy luận cơ bản (tt):

§ Cấu trúc lặp (Repeating)

▪ Lặp lại thực hiện một công việc không hoặc nhiều lần

căn cứ vào một điều kiện nào đó

▪ Có 2 dạng như sau:

▪ Lặp với số lần xác định

▪ Lặp với số lần không xác định

¡ Tập hợp các giá trị có cùng một tính chất và

tập hợp các phép toán thao tác trên các giá

trị đó

¡ Ví dụ:

int x, y;

float diem_trung_binh = 8.25;

¡ Có 2 loại:

§ Kiểu dữ liệu sơ cấp

§ Kiểu dữ liệu có cấu trúc

Trang 9

¡ Kiểu dữ liệu có giá trị đơn nhất

¡ Ví dụ: Kiểu int trong ngôn ngữ C

§ Là kiểu số nguyên

§ Phạm vi biểu diễn: -32768 đến 32767

§ Các phép toán: +, -, *, /, %

¡ Kiểu dữ liệu có giá trị là sự kết hợp của các

giá trị khác

¡ Ví dụ: Kiểu chuỗi trong C

§ Là một dãy liên tiếp các ký tự

§ Ví dụ: “Hello World”

‘H’, ‘E’, ‘L’, ‘L’, ‘O’, ‘W’, ‘O’, ‘R’, ‘L’, ‘D’

Trang 10

¡ Ngôn ngữ dùng để viết chương trình cho

máy tính

¡ Phân loại:

§ Ngôn ngữ máy (machine language)

§ Hợp ngữ (assemply language)

§ Ngôn ngữ cấp cao (high-level language)

¡ Các chỉ thị dưới dạng

nhị phân, can thiệp

trực tiếp vào trong các

mạch điện tử

¡ Có thể được thực hiện

ngay

¡ Dễ sai sót, cồng kềnh,

Machine Language

10100110 01110110

00100110 00000000

01001110 10100110

11001110 00101110

10100110 01001110

01001110 10000110

etc

Trang 11

¡ Bao gồm tên các câu lệnh và quy tắc viết các câu

lệnh đó

¡ Tên câu lệnh bao gồm 2 phần:

§ Phần mã lệnh: chỉ phép toán cần thực hiện

§ Phần địa chỉ: chứa toán hạng của phép toán

¡ Để máy thực hiện được chương trình viết bằng

hợp ngữ thì chương trình đó phải được dịch sang

ngôn ngữ máy bằng công cụ gọi là Assembler

¡ Ví dụ: INPUT a

ànhập giá trị cho a từ bàn phím

¡ Gần gũi với ngôn ngữ

của con người

¡ Một chương trình được

viết bằng ngôn ngữ cấp

cao được gọi là chương

trình nguồn ( source

program )

¡ Để máy tính thực hiện

được chương trình

nguồn thì nó phải được

dịch thành dạng chương

trình có khả năng thực

thi bằng cách dùng công

cụ gọi là chương trình

dịch

#include “stdio.h”

int main() {

printf(“Hello World!”);

return 0;

}

00001101 10101010

00111001 10101010

00111111 00000011

High-level

Executable Code

Chương trình dịch (Compiler)

Trang 12

¡ Chương trình dùng để chuyển chương trình

nguồn sang chương trình đích

§ Thông dịch ( interpret ): dịch từng câu lệnh, dịch đến

đâu thực thi đến đó

§ Biên dịch ( compile ): dịch toàn bộ chương trình

nguồn sang chương trình đích rồi mới thực thi

¡ Ví dụ:

§ Thông dịch: ngôn ngữ PHP, Python, LISP

§ Biên dịch: ngôn ngữ C, Pascal

§ Kết hợp cả hai: Net, Java

Ngày đăng: 30/04/2022, 03:39

HÌNH ẢNH LIÊN QUAN

§ Xuất S ra màn hình - phan-i-gioi-thieu-ve-cau-truc-du-lieu-giai-thuat
u ất S ra màn hình (Trang 6)
¡ Ngôn ngữ kết hợp giữa ngôn ngữ tự nhiên với cáccấutrúc câulệnh của mộtngônngữ lập - phan-i-gioi-thieu-ve-cau-truc-du-lieu-giai-thuat
g ôn ngữ kết hợp giữa ngôn ngữ tự nhiên với cáccấutrúc câulệnh của mộtngônngữ lập (Trang 6)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w