1. Trang chủ
  2. » Công Nghệ Thông Tin

CHƯƠNG 1 một số KHÁI NIỆM LIÊN QUAN đến lập TRÌNH

12 17 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 98,5 KB

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

Nội dung

1 số khái niệm cơ bản liên quan đến lập trình C++ cho người mới bắt đầu học lập trình và lập trình đối với ngôn ngữ C

Trang 1

CHƯƠNG 1: MỘT SỐ KHÁI NIỆM LIÊN QUAN ĐẾN LẬP TRÌNH

1.1 Mục tiêu.

Mục tiêu của chương này giúp người đọc:

Hiểu được các khái niệm cơ bản liên quan đến lập trình

Nắm được các bước lập trình

Xác định được dữ liệu đầu vào, thành phần xử lý, dữ liệu đầu ra

Phân tích được các bài toán đơn giản

Thể hiện được thuật toán bằng ngôn ngữ tự nhiên, lưu đồ, mã giả

1.2 Các khái niệm cơ bản.

1.2.1 Thuật toán.

Thuật toán là một dãy các thao tác xác định trên một đối tượng từ trạng thái ban đầu cho trước, sao cho sau khi thực hiện một số hữu hạn các bước thì đạt được kết quả sau cùng như đã dự kiến

Nói cách khác, thuật toán là tập hợp (dãy) hữu hạn các chỉ thị (hành động) được định nghĩa rõ ràng nhằm giải quyết một bài toán cụ thể nào đó.

Theo R.A.Kowalski thì bản chất của thuật toán là:

Thuật toán = Logic + Điều khiển

Logic: đây là phần khá quan trọng, nó trả lời câu hỏi “Thuật toán làm gì và giải quyết vấn đề gì?”, những yếu tố trong bài toán có quan hệ với nhau như thế nào? Ngoài ra

nó còn bao gồm cả những kiến thức chuyên môn cần phải biết để có thể tiến hành giải bài toán Chẳng hạn như để giải bài toán tính diện tích hình cầu, mà không còn nhớ công thức tính diện tích hình cầu thì không thể viết chương trình cho máy để giải bài toán này được

Điều khiển: thành phần này trả lời câu hỏi thuật toán phải làm như thế nào? Chính là cách thức tiến hành áp dụng thành phần logic để giải quyết vấn đề

Ví dụ 1_1: Thuật toán giải phương trình bậc nhất P(x): ax + b = 0, (a, b là các số thực)

Đầu vào: a, b thuộc R

Trang 2

Đầu ra: nghiệm của phương trình ax + b = 0

 Nếu a = 0

o b = 0 thì P(x) có nghiệm bất kì

o b ≠ 0 thì P(c) vô nghiệm

 Nếu a ≠ 0

o P(x) có duy nhất một nghiệm x = (-

b)/a Các tính chất của thuật toán

 Tính chính xác: để đảm bảo kết quả tính toán hay các thao tác mà máy tính thực hiện được là chính xác

 Tính rõ ràng: thuật toán phải được thể hiện bằng các câu lệnh minh bạch; các câu lệnh được sắp xếp theo thứ tự nhất định

 Tính khách quan: một thuật toán dù được viết bởi nhiều người trên nhiều máy tính vẫn phải cho kết quả như nhau

 Tính phổ dụng: thuật toán không chỉ áp dụng cho một bài toán nhất định mà có thể áp dụng cho một lớp các bài toán có đầu vào tương tự nhau

 Tính kết thúc: Thuật toán phải gồm một số hữu hạn các bước tính toán

1.2.2 Chương trình.

Chương trình là một tập hợp các chỉ thị, hướng dẫn để thực hiện một tác vụ cụ thể được thực hiện bởi máy tính Theo Niklaus Wirth thì:

Chương trình = Thuật toán + Cấu trúc dữ liệu

Các thuật toán và chương trình đều có cấu trúc dựa trên 3 cấu trúc điều khiển cơ bản sau:

 Tuần tự (sequential): các bước thực hiện tuần tự một cách chính xác từ trên xuống, mỗi bước chỉ thực hiện đúng một lần

 Chọn lọc (selection): chọn 1 trong 2 hay nhiều thao tác để thực hiện

 Lặp lại (repetition): một hay nhiều bước được thực hiện lặp lại một số lần

Trang 3

1.2.3 Ngôn ngữ lập trình.

Ngôn ngữ lập trình là hệ thống các ký hiệu tuân theo các qui ước về ngữ pháp và ngữ nghĩa, dùng để xây dựng thành các chương trình cho máy tính

Một chương trình được viết bằng một ngôn ngữ lập trình cụ thể (ví dụ Pascal, C…) gọi là chương trình nguồn, chương trình dịch làm nhiệm vụ dịch chương trình nguồn thành chương trình thực thi được trên máy tính

1.3 Các bước xây dựng chương trình.

1.3.1 Các bước cơ bản.

Các bước cơ bản để xây dựng một chương trình như sau:

Bước 1: Phân tích vấn đề và xác định các đặc điểm (xác định dữ liệu đầu vào, xác định thành phần cần xử lý, xác định dữ liệu đầu ra)

Bước 2: Đưa ra giải pháp (đưa ra thuật giải)

Bước 3: Cài đặt (viết chương trình)

Bước 4: Chạy thử chương trình (dịch chương trình)

Bước 5: Kiểm chứng và hoàn thiện chương trình (thử nghiệm bằng nhiều số liệu và đánh giá)

1.3.2 Quy trình Nhập – Xử lý – Xuất (I-P-O cycle).

Quy trình xử lý cơ bản của máy tính gồm nhập – xử lý – xuất (input – process- output)

Trang 4

Input

Output

Quy trình này nhận dữ liệu đầu vào từ người dùng hoặc các nguồn khác nhau, thực hiện tính toán trên dữ liệu và sau đó trả về kết quả của việc tính toán Quy trình này được sử dụng rộng rãi trong việc phân tích hệ thống và phát triển phần mềm

Ví dụ 1_2: Xác định Input, Process, Output của việc pha một ly cà phê.

Input : ly, đường, cà phê, nước sôi, muỗng

Process : hòa cà phê vào nước sôi, cho đường vào hỗn hợp, khuấy đều hỗn hợp

Process

Trang 5

Output : ly cà phê đã sẵn sàng

Ví dụ 1_3: Xác định Input, Process, Output của chương trình tính tiền lương cho công

nhân, biết rằng lương = lương căn bản * ngày công.

Input : lương căn bản, ngày công

Process : nhân lương căn bản với ngày

công Output : lương

Ví dụ 1_4: Xác định Input, Process, Output của chương trình giải phương trình bậc

nhất ax + b = 0

Input : hệ số a,

b Process : chia –b cho

a Output : nghiệm x

Ví dụ 1_5: Xác định Input, Process, Output của chương trình tìm số lớn nhất của 2 số

a và b

Input : a, b

Process : nếu a > b thì Output = a, ngược lại Output = b

1.4 Biểu diễn thuật toán.

Để có thể truyền đạt thuật toán cho người khác hiểu, hay chuyển thuật toán thành chương trình máy tính, cần phải có phương pháp biểu diễn thuật toán Có ba phương pháp biểu diễn thuật toán:

- Dùng ngôn ngữ tự nhiên

- Dùng lưu đồ - sơ đồ khối (flowchart)

- Dùng mã giả (pseudocode)

1.4.1 Sử dụng ngôn ngữ tự nhiên.

Để biểu diễn thuật toán bằng ngôn ngữ tự nhiên, người ta sử dụng ngôn ngữ thường ngày để liệt kê các bước của thuật toán Phương pháp này không yêu cầu người viết

Trang 6

cũng như người đọc phải nắm các quy tắc, vì gần như không có một quy tắc cố định

Trang 7

Dữ liệu đầu vào: a, b thuộc R

Dữ liệu đầu ra: nghiệm của phương trình ax + b = 0

1 Nhập 2 số thực a và b

2 Nếu a = 0 thì

2.1 Nếu b = 0 thì

2.1.1 Phương trình vô số nghiệm

2.1.2 Kết thúc thuật toán

2.2 Ngược lại

2.2.1 Phương trình vô nghiệm

2.2.2 Kết thúc thuật toán

3 Ngược lại

3.1 Phương trình có nghiệm x = - b / a

3.2 Kết thúc thuật toán

nào trong việc thể hiện thuật toán bằng ngôn ngữ tự nhiên Tuy nhiên, để dễ đọc, người ta thường viết các bước con lùi vào bên phải và đánh số bước theo quy tắc phân cấp như 1, 1.1, 1.1.1,…

Ví dụ 1_6: Sử dụng ngôn ngữ tự nhiên biểu diễn thuật toán giải phương trình ax + b =

0

1.4.2 Sử dụng lưu đồ - sơ đồ khối.

Để dễ hơn, các nhà lập trình đưa ra dạng lưu đồ để minh họa từng bước quá trình xử

lý một vấn đề (bài toán)

Hình dạng (Symbol) Hành động (Activity)

Dữ liệu vào/ ra (Input/ Ouput)

Xử lý (Process)

Quyết định (Decicion), sử dụng điều kiện

Trang 8

Luồng xử lý (Flow lines)

Chương trình con, hàm … (Procedure, Function,…)

Bắt đầu, kết thúc (Begin, End)

Điểm ghép nối (Connector)

Trang 9

Bắt đầu

Đọc a, b

Xuất

Kết thúc

Tính

x = -b /a

Ví dụ 1_7: Sử dụng lưu đồ biểu diễn thuật toán giải phương trình ax + b = 0.

Ví dụ 1_8: Sử dụng lưu đồ biểu diễn thuật toán pha cà phê.

Trang 10

Bắt đầu

LCB, ngày công

Nhân LCB với ngày công

Ví dụ 1_9: Sử dụng lưu đồ biểu diễn thuật toán tính tiền lương cho công nhân, biết

rằng lương = lương căn bản * ngày công.

Bỏ đường vào Khuấy đều hỗn hợp

Hòa cà phê vào nước sôi

Bắt đầu

Cà phê, nước sôi

Cà phê đã pha

Kết thúc

LCB, ngày công

Kết thúc

Trang 11

Bắt đầu

Điểm

S Điểm >=0 và

Điểm <=10 Đ

Kết thúc

Dữ liệu đầu vào: a, b thuộc R

Dữ liệu đầu ra: nghiệm của phương trình ax + b = 0

If a = 0 Then

Begin

Ví dụ 1_10: Sử dụng lưu đồ biểu diễn thuật toán kiểm tra tính hợp lệ của điểm (theo

thang điểm 10)

1.4.3 Sử dụng mã giả.

Tuy sơ đồ khối thể hiện rõ quá trình xử lý và sự phân cấp của các trường hợp của thuật toán, tuy nhiên phương pháp này hơi cồng kềnh và mất khá nhiều thời gian để thể hiện Bên cạnh đó, lưu đồ chỉ thể hiện được hai thao tác đó là rẽ nhánh và xử lý

mà trong thực tế còn cần thêm thao tác lặp

Sử dụng mã giả là việc đi vay mượn cú pháp của một ngôn ngữ lập trình nào đó để thể hiện thuật toán Mọi ngôn ngữ lập trình đều có các thao tác cơ bản là xử lý, rẽ nhánh

và lặp, nên việc sử dụng mã giả sẽ tận dụng được các khái niệm của ngôn ngữ lập trình và giúp người đọc dễ dàng cài đặt thuật toán

Ví dụ 1_11: Vay mượn ngôn ngữ Pascal biểu diễn thuật toán giải phương trình ax + b

= 0

Trang 12

Xuất “Phương trình vô số nghiệm”

Else

Xuất “Phương trình vô nghiệm”

End

Else

Xuất “Phương trình có nghiệm x = -b/a”

1.5 Bài tập.

1 Xác định Input, Process, Output và vẽ lưu đồ cho chương trình đổi từ

tiền VND sang USD

2 Xác định Input, Process, Output và vẽ lưu đồ cho chương trình tính điểm

trung bình của học sinh gồm các môn Toán, Lý, Hóa

3 Xác định Input, Process, Output và vẽ lưu đồ cho chương trình giải

phương trình bậc 2: ax2 + bx + c = 0

4 Xác định Input, Process, Output và vẽ lưu đồ cho chương trình đổi từ độ

sang radian và ngược lại theo công thức / =a/180, với : radian, a: độ

5 Xác định Input, Process, Output và vẽ lưu đồ cho chương trình nhập bán

kính hình tròn, tính chu vi và diện tích của hình tròn đó

6 Xác định Input, Process, Output và vẽ lưu đồ cho chương trình nhập vào năm sinh của một người, tính tuổi của người đó

Xác định Input, Process, Output và vẽ lưu đồ cho chương trình nhập vào số xe (gồm 5

chữ số), cho biết số xe đó được m

Ngày đăng: 04/04/2022, 21:14

HÌNH ẢNH LIÊN QUAN

1.4.2. Sử dụng lưu đồ - sơ đồ khối. - CHƯƠNG 1 một số KHÁI NIỆM LIÊN QUAN đến lập TRÌNH
1.4.2. Sử dụng lưu đồ - sơ đồ khối (Trang 7)
Hình dạng (Symbol) Hành động (Activity) - CHƯƠNG 1 một số KHÁI NIỆM LIÊN QUAN đến lập TRÌNH
Hình d ạng (Symbol) Hành động (Activity) (Trang 7)
kính hình trịn, tính chu vi và diện tích của hình trịn đó. - CHƯƠNG 1 một số KHÁI NIỆM LIÊN QUAN đến lập TRÌNH
k ính hình trịn, tính chu vi và diện tích của hình trịn đó (Trang 12)

TỪ KHÓA LIÊN QUAN

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

w