baigiang05 thuattoan(1s 1p)

16
THUẬT TOÁN & NGÔN NGỮ LẬP TRÌNH

Upload: khoa-tin

Post on 17-Jun-2015

12.901 views

Category:

Entertainment & Humor


0 download

TRANSCRIPT

Page 1: Baigiang05 thuattoan(1s 1p)

THUẬT TOÁN &

NGÔN NGỮ LẬP TRÌNH

Page 2: Baigiang05 thuattoan(1s 1p)

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

Page 3: Baigiang05 thuattoan(1s 1p)

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

Page 4: Baigiang05 thuattoan(1s 1p)

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

Page 5: Baigiang05 thuattoan(1s 1p)

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

Page 6: Baigiang05 thuattoan(1s 1p)

Thuật toán

• Sơ đồ khối gồm các kí hiệu sau:

begin

Bắt đầu

end

Kết thúc Nhập/xuất dữ liệu

Thực hiện công việc

điều kiện

Kiểm tra rẽ nhánh

đúng sai

Page 7: Baigiang05 thuattoan(1s 1p)

Các cấu trúc điều khiển

• Cấu trúc điều kiện

Nếu nhiệt độ thấp hơn 15 độ

In ra “Cần phải mặt áo ấm”

Ngược lại

In ra “Không cần mặt áo ấm”

Điều

kiện

Công việc A Công việc

B

Đúng Sai

Page 8: Baigiang05 thuattoan(1s 1p)

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ì

. . .

Gán đếm = đếm + 1

. . .

Điều

kiện

Công việc A

Đúng

Sai

Page 9: Baigiang05 thuattoan(1s 1p)

Thuật toán

• Ví dụ: vẽ sơ đồ khối tính n!

p = 1.2.3 … n

i = 1

p = 1

begin

Nhap n

i < n

i = i + 1

p = p * i

In ra p

Page 10: Baigiang05 thuattoan(1s 1p)

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

Page 11: Baigiang05 thuattoan(1s 1p)

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

Page 12: Baigiang05 thuattoan(1s 1p)

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, …

Page 13: Baigiang05 thuattoan(1s 1p)

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

Page 14: Baigiang05 thuattoan(1s 1p)

Biên dịch

Chương

trình bằng

ngôn ngữ

bậc cao

Chương

trình bằng

mã máy

Biên

dịch

Input Output

Page 15: Baigiang05 thuattoan(1s 1p)
Page 16: Baigiang05 thuattoan(1s 1p)