0% found this document useful (0 votes)
4 views

Algorithm

cslt
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Algorithm

cslt
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 75

Cơ sở lập trình

Các chủ đề liên quan


1. Tại sao chúng ta cần chương trình?
2. Máy tính là gì?
3. Chương trình và Ngôn ngữ Lập trình
4. Chương trình được tạo ra bằng cái gì?
5. Dữ liệu đầu vào, Xử lý và Dữ liệu đầu ra
6. Quy trình Lập trình
7. Thuật toán

1-3
1.1 Tại sao cần có chương trình?
Máy tính – Là thiết bị điện tử có thể lập trình
được, nhằm lưu trữ truy xuất và xử lý dữ liệu.
Chương trình / Phần mềm – Gồm các lệnh
trong bộ nhớ máy tính để cho nó làm việc gì
đó theo nhu cầu của người sử dụng.
Lập trình viên - Người viết lệnh (chương
trình) để làm cho máy tính thực hiện một
nhiệm vụ.

VẬY, không có lập trình viên, không có chương


trình; không có chương trình, máy tính không
thể làm bất cứ điều gì. 1-4
1.2 Hệ thống máy tính: Phần cứng và
Phần mềm
Phần cứng - Các thành phần vật lý của
máy tính
Danh mục các thành phần phần cứng chính
1. Đơn vị xử lý trung tâm (CPU)
2. Bộ nhớ chính (RAM)
3. Thiết bị lưu trữ thứ cấp
4. Thiết bị đầu vào
5. Thiết bị đầu ra

1-5
Danh mục các thành phần phần cứng chính

1-6
Đơn vị xử lý trung tâm (CPU)
CPU - Thành phần phần
cứng để chạy các
chương trình
Bao gồm:
• Đơn vị điều khiển
– Truy xuất và giải mã lệnh
chương trình
– Điều phối hoạt động máy
tính

• Đơn vị số học & logic


(ALU)
– Thực hiện các phép toán

1-7
Vai trò của CPU trong việc chạy một
chương trình
Chuyển qua:
• Fetch: lấy lệnh chương trình tiếp theo
• Decode: diễn giải lệnh và tạo ra một tín
hiệu
• Execute: định tuyến tín hiệu đến thành
phần thích hợp để thực hiện một hoạt
động.

1-8
Bộ nhớ chính
• Lưu trữ cả lệnh chương trình và dữ liệu

• Dễ mất - bị xóa khi chương trình kết


thúc hoặc máy tính được tắt

• Còn được gọi là bộ nhớ truy cập


ngẫu nhiên (RAM)

1-9
Tổ chức bộ nhớ chính
• Bit
- Phần nhỏ nhất của bộ nhớ
– Viết tắt của binary digit
– Có giá trị 0 (tắt) hoặc 1 (trên) 8 bits
• Byte
– 8 bit liên tiếp 0 1 1 0 0 1 1 1
– Có một địa chỉ

• Word
- Thường là 4 byte liên tiếp 1 byte

1-10
Bộ lưu trữ thứ cấp

• Không bay hơi - dữ liệu được lưu lại


khi chương trình không chạy hoặc
máy tính tắt.

• Có nhiều loại lưu trữ khác nhau:


– Đĩa từ: đĩa mềm hoặc ổ đĩa cứng,
nội bộ hoặc bên ngoài
– Đĩa quang: CD hoặc DVD
– flash: USB flash
1-11
Thiết bị đầu vào

• Được sử dụng để gửi thông tin


đến các máy tính từ ngoài
• Nhiều thiết bị có thể cung
cấp đầu vào như:
- bàn phím, chuột, micrô, máy
quét, máy ảnh kỹ thuật số, ổ
đĩa, ổ CD / DVD , USB flash

1-12
Đầu ra Thiết bị

• Được sử dụng để gửi thông tin từ


máy tính ra bên ngoài
• Nhiều thiết bị có thể được sử dụng
cho đầu ra như
- Màn hình máy tính, máy in, loa, ổ đĩa,
đầu ghi CD / DVD , USB flas, …

1-13
Chương trình phần mềm chạy trên
máy tính
• Hệ thống phần mềm
– Các chương trình quản lý phần cứng máy tính và các
chương trình chạy trên máy tính
– Hệ điều hành
• Kiểm soát hoạt động của máy tính
• Quản lý các thiết bị được kết nối
• Chạy các chương trình
– Các chương trình tiện ích
• Hỗ trợ các chương trình nhằm nâng cao hoạt động máy tính
• Ví dụ: phần mềm chống vi rút, sao lưu dữ liệu, nén dữ liệu
– Công cụ phát triển phần mềm
• Được các lập trình viên sử dụng để tạo phần mềm
• Ví dụ: trình biên dịch, môi trường phát triển tích hợp (IDE) 1-14
1.3 Chương trình và Ngôn ngữ lập
trình
• Chương trình
Một tập hợp các hướng dẫn chỉ đạo một
máy tính để thực hiện một nhiệm vụ

• Ngôn ngữ lập trình một ngôn ngữ được


sử dụng để viết chương trình

1-15
Chương trình và Ngôn ngữ lập trình
Các loại ngôn ngữ
– Cấp thấp: được sử dụng để giao tiếp
trực tiếp với phần cứng máy tính.
– Cấp cao: gần gũi hơn với ngôn ngữ
con người

1-16
Từ một chương trình cấp cao đến một
file có thể thực thi được

a) Tạo tệp chứa chương trình với một


text editor.
b) Chạy bộ tiền xử lý để chuyển đổi các
file chỉ thị nguồn đến các câu lệnh mã
nguồn chương trình.
c) Chạy trình biên dịch để chuyển đổi câu
lệnh chương trình nguồn sang mã máy

1-17
Từ một chương trình cấp cao đến một
file có thể thực thi được

d) Chạy trình liên kết để kết nối mã thư


viện dành riêng cho phần cứng với các
lệnh máy, tạo ra tệp thực thi tập tin.
Các bước b) đến d) thường được thực hiện
bởi một lệnh hoặc một nút nhấp chuột.
Lỗi xảy ra ở bất kỳ bước nào sẽ ngăn
cản việc thực hiện các bước sau.

1-18
Từ một chương trình cấp cao đến một
file có thể thực thi được

1-19
1.4 Chương trình được tạo ra
bằng gì?
Các phần tử phổ biến trong ngôn ngữ lập
trình:

– Key Words
– Lập trình viên xác định các định danh
– Các phép toán
– Chấm câu
– Cú pháp

1-20
Ví dụ
#include <iostream>
using namespace std;

int main()
{
double num1 = 5,
num2, sum;
num2 = 12;

sum = num1 + num2;


cout << "The sum is " << sum;
return 0;
}
1-21
Key Words
• Còn được gọi là từ ngữ dành riêng
• Có một ý nghĩa đặc biệt trong C ++
• Không thể được sử dụng cho các
khác mục đích
• Viết bằng chữ thường
• Ví dụ trong chương trình (hiển thị trong
xanh lá cây) :
using namespace std;
int main()
1-22
Lập trình viên xác định các định danh

• Tên được tạo nên bởi người lập trình


• Không phải là một phần của ngôn ngữ
C++
• Được sử dụng để đại diện cho những
thứ khác nhau, chẳng hạn như dưới
dạng các biến (định vị bộ nhớ)
• Ví dụ trong chương trình (hiển thị trong xanh lá
cây) :
double num1
1-23
Các phép toán
• Được sử dụng để thực hiện các
hoạt động trên dữ liệu
• Các loại phép toán
- Phép toán số học: +,-,*,/
- Phép gán: =
• Ví dụ trong chương trình (hiển thị trong
xanh lá cây) :
num2 = 12;
sum = num1 + num2;
1-24
Chấm câu
• Các ký tự đánh dấu phần cuối của một
câu lệnh hoặc phân tách các mục trong
một danh sách
• Ví dụ trong chương trình (hiển thị trong xanh
lá cây) :
double num1 = 5,
num2, sum;
num2 = 12;

1-25
Lines vs. Statements
Trong một tập tin nguồn,
Một dòng là tất cả các ký tự được nhập trước
dấu xuống dòng .
Dòng trống cải thiện khả năng đọc của
chương trình.
Đây là bốn dòng mẫu . Dòng 3 là trống:
1. double num1 = 5, num2, sum;
2. num2 = 12;
3.
4. sum = num1 + num2;

1-26
Lines vs. Statements
Trong một tập tin nguồn,
Một câu lệnh là một lệnh cho máy tính để thực
hiện một hoạt động.
Một câu lệnh có thể chứa các từ khóa, toán
tử, xác định các định danh do người lập
trình xác định và dấu chấm câu.
Một câu lệnh có thể vừa trên một dòng
hoặc nó có thể chiếm nhiều các dòng.
Đây là một câu lệnh đơn sử dụng hai dòng:
double num1 = 5,
num2, sum;
1-27
Biến
• Một biến là một vị trí được đặt tên trong bộ nhớ máy
tính (trong RAM)
• Nó chứa một phần dữ liệu. Dữ liệu mà nó nắm giữ
có thể thay đổi trong khi chương trình đang chạy.
• Tên của biến phải phản ánh mục đích
Nó phải được xác định trước khi nó có thể được sử
dụng. Định nghĩa biến cho biết tên biến và kiểu dữ
liệu mà nó có thể giữ.
• Ví dụ định nghĩa biến:
double num1;

1-28
1.5 Đầu vào, Xử lý và Đầu ra
Ba bước mà nhiều chương trình thực
hiện
1) Thu thập thông tin dữ liệu đầu vào
- từ bàn phím
- từ các tệp trên ổ đĩa
2) Xử lý dữ liệu đầu vào
3) Hiển thị kết quả dưới dạng đầu ra
- gửi nó lên màn hình hoặc máy in
- viết nó cho một tập tin

1-29
1.6 Qui trình lập trình
1. Xác định chương trình là để làm gì?
2. Mô phỏng chương trình đang chạy
trên máy tính.
3. Sử dụng các công cụ thiết kế để tạo ra
4. một mô hình của chương trình.
Biểu đồ phân cấp, lưu đồ, mã giả, vân vân.
4. Kiểm tra mô hình cho các lỗi logic.
5. Viết mã nguồn chương trình.
6. Biên dịch mã nguồn.
1-30
Quy trình lập trình (tiếp)
7. Sửa bất kỳ lỗi nào được tìm thấy trong quá
trình biên soạn.
8. Liên kết chương trình để tạo tập tin thực thi.
9. Chạy chương trình bằng cách sử dụng dữ
liệu đầu vào thử nghiệm.
10.Sửa bất kỳ lỗi nào được tìm thấy trong khi
chạy chương trình.
Lặp lại các bước 4 - 10 nhiều lần cần thiết.
11. Xác thực kết quả của chương trình.
Chương trình có thực hiện những gì đã được xác
định trong bước 1? 1-31
Quy trình lập trình (tiếp)
7. Sửa bất kỳ lỗi nào được tìm thấy trong quá
trình biên soạn.
8. Liên kết chương trình để tạo tập tin thực thi.
9. Chạy chương trình bằng cách sử dụng dữ
liệu đầu vào thử nghiệm.
10.Sửa bất kỳ lỗi nào được tìm thấy trong khi
chạy chương trình.
Lặp lại các bước 4 - 10 nhiều lần cần thiết.
11. Xác thực kết quả của chương trình.
Chương trình có thực hiện những gì đã được xác
định trong bước 1? 1-32
Thuật toán
Giới thiệu:
Trí thông minh là một trong những đặc điểm quan trọng
giúp phân biệt giữa con người với các sinh vật khác trên
trái đất.
Nhờ có trí thông minh mà con người có thể giải quyết
các vấn đề hang ngày, đưa ra các chiến lược để xử lý
các tình huống khác nhau phát sinh trong cuộc sống
hàng ngày.
Ví dụ: Một người đến Ngân hàng để rút tiền, đây là trí
thông minh cơ bản. Khi Con người gặp bất cứ vấn đề
gì, họ sẽ nghĩ ra giải pháp để giải quyết vấn đề theo
một trình tự nào đó
1-33
Vấn đề và giải quyết vấn đề

Có khi nào chúng ta nghĩ trong cuộc sống hàng ngày,


chúng ta không có cách nào để giải quyết các vấn đề?

1-34
Vấn đề và giải quyết vấn đề
Câu trả lời là không
Chúng ta bắt buộc phải giải quyết các vấn đề trong suốt
cuộc đời.
Có thể nói rằng bất cứ hoạt động nào mà con người
hay máy móc làm để đạt được một mục tiêu cụ thể cần
phải giải quyết vấn đề.

1-35
Vấn đề và giải quyết vấn đề

Vậy vấn đề là gì?


Giải quyết vấn đề là gì?

1-36
Vấn đề và giải quyết vấn đề

Ví dụ 1: Nếu bạn đang xem một kênh tin tức trên TV và bạn
muốn chuyển kênh

1-37
Vấn đề và giải quyết vấn đề

Ví dụ 2: Một buổi sáng thứ Hai, một sinh viên đến


trường theo thời khóa biểu nhưng lại mang nhầm tài
liệu.

1-38
Vấn đề và giải quyết vấn đề

Ví dụ 3: Nếu ai đó hỏi bạn, bây giờ là mấy giờ?

1-39
Vấn đề và giải quyết vấn đề

Ví dụ 4: Một số học sinh trong lớp dự định đi dã ngoại


và quyết định chia sẻ các chi phí giữa họ.

1-40
Vấn đề và giải quyết vấn đề

- Như vậy vấn đề là một loại rào cản để đạt được một
cái gì đó và giải quyết vấn đề là một quá trình để loại bỏ
rào cản đó bằng cách thực hiện một chuỗi các hoạt
động.

- Các vấn đề mở
- Nếu bạn có thể giải quyết một vấn đề đã cho thì bạn
cũng có thể viết một thuật toán cho nó.

1-41
Thuật toán

Thuật toán là gì?

1-42
Thuật toán

Một chuỗi các hoạt động được xử lý để nhận được đầu


ra mong muốn từ một đầu vào nhất định.

1-43
Thuật toán

Mỗi vấn đề chỉ có thể được giải quyết bằng một thuật
toán?

1-44
Thuật toán

Vậy thì thuật toán sẽ cần phải có những yêu cầu gì?

1-45
Thuật toán

1. Có một đầu ra cụ thể sau khi một thuật toán được


thực thi.
2. Sẽ chỉ nhận được đầu ra nếu thuật toán dừng sau
thời gian hữu hạn.
3. Các hoạt động trong một thuật toán được xác định
rõ ràng, nói cách khác là rõ ràng.

1-46
Thuật toán

Như vậy thuật toán có các thuộc tính:


- Tính hữu hạn: có hữu hạn bước và phải dừng.
- Tính xác định: các bước rõ ràng, thực thi được.
- Tính đúng: quá trình thực thi theo các bước đã chỉ ra
phải đi đến kết quả như ý.
- Tính hiệu quả: khối lượng, không gian, thời gian tính
toán không quá “lớn”.
- Tính tổng quát: áp dụng được cho mọi trường hợp của
bài toán.
1-47
Thuật toán

Trước khi viết thuật toán để giải quyết một vấn đề gì đó,
chúng ta cần xác định:
- Đầu vào là gì?
- Đầu ra là gì?

1-48
Thuật toán

Bài toán 1: Tính diện tích của hình tròn bán kính r.

Đầu vào cho thuật toán: Bánnính r của hình tròn.

Đầu ra mong đợi: Diện tích của vòng trơn

Thuật toán:
Step1: Read\input the Radius r of the Circle
Step2: Area=PI*r*r // calculation of area
Step3: Print Area

1-49
Thuật toán
Bài toán 2: Viết thuật toán đọc hai số và tìm tổng của
chúng.
Đầu vào cho thuật toán: Số thứ nhất (Num1), Số thứ
hai(Num2).
Đầu ra mong đợi: Tổng của hai số(Sum).
Thuật toán:
Step1: Start
Step2: Read\input the first num1.
Step3: Read\input the second num2.
Step4: Sum=num1+num2 // calculation of sum
Step5: Print Sum
Step6: End
1-50
Thuật toán

Bài toán 3: Chuyển đổi nhiệt độ từ độ F sang độ C


Đầu vào cho thuật toán: Nhiệt độ tính bằng độ F
Đầu ra mong đợi: Nhiệt độ tính bằng độ C

Thuật toán:
Step1: Start
Step 2: Read Temperature in Fahrenheit F
Step 3: C =5/9*(F-32)
Step 4: Print Temperature in Celsius: C
Step5: End

1-51
Các loại thuật toán

Thuật toán và lưu đồ, Có ba loại cấu trúc điều


khiển, gồm:
- Tuần tự
- Rẽ nhánh
- Lặp
Cấu trúc tuần tự

- Tuần tự được minh họa bằng chuỗi các câu


lệnh được đặt lần lượt - câu lệnh ở trên hoặc
trước khi câu lệnh khác được thực thi trước.
Trong lưu đồ, chuỗi các câu lệnh thường được
chứa trong hộp hình chữ nhật.
Cấu trúc rẽ nhánh

- Rẽ nhánh đề cập đến một quyết định nhị phân


dựa trên một số điều kiện. Nếu điều kiện là
đúng, một trong hai nhánh được thực thi; nếu
điều kiện là sai, thay thế khác sẽ được thực
hiện. Điều này thường được biểu diễn bằng cấu
trúc ‘if-then’ trong các chương trình và mã giả.
Trong sơ đồ, điều này được thể hiện bằng hộp
quyết định hình kim cương. Cấu trúc này còn
được gọi là cấu trúc lựa chọn.
Cấu trúc rẽ nhánh

Ví dụ: Tìm số lớn nhất trong hai số


Step1: Start
Step2: Read/input A and B
Step3: If A greater than B then C=A
Step4: if B greater than A then C=B
Step5: Print C
Step6: End
Cấu trúc lặp

- Vòng lặp cho phép một câu lệnh hoặc một


chuỗi câu lệnh được được thực hiện lặp đi lặp
lại dựa trên một số điều kiện vòng lặp. Nó được
biểu diễn bằng cấu trúc ‘while’ và ‘for’ trong hầu
hết các ngôn ngữ lập trình, tương ứng cho các
vòng lặp không bị ràng buộc và các vòng lặp có
giới hạn.
- Các vòng lặp không giới hạn đề cập đến những
vòng lặp có số lần lặp phụ thuộc vào tình
huống thỏa mãn điều kiện kết thúc; các vòng
lặp có giới hạn đề cập đến những vòng lặp có
số lần lặp đã biết trước.
- Trong sơ đồ, một mũi tên quay lại gợi ý sự hiện
diện của một vòng lặp
Cấu trúc lặp

- Chúng ta phải đảm bảo rằng điều kiện để kết


thúc vòng lặp phải được thỏa mãn sau một số
lần lặp lại hữu hạn, nếu không nó sẽ không bao
giờ kết thúc gọi là vòng lặp vô hạn, đây là một
lỗi phổ biến của các lập trình viên thiếu kinh
nghiệm.
Ví dụ: tìm các số chẵn từ 0 đến 99
1. Start
2. I = 0
3. Write I in standard output
4. I = I+2
5. If (I <=98) then go to line 3
6. End
Phương pháp biểu diễn thuật toán

Thuật toán thường được biểu diễn bằng các ngôn ngữ
sau:
* Dùng ngôn ngữ tự nhiên (NNTN - natural language)
* Dùng mã giả (pseudocode): ngôn ngữ tự nhiên (NNTN)
+ Ngôn ngữ lập trình (NNLT)
* Dùng lưu đồ - sơ đồ khối (flowchart)

1-58
Các phương pháp biểu diễn thuật toán

Biểu diễn bằng ngôn ngữ tự nhiên:

- Dùng ngôn ngữ thường ngày để liệt kê các bước của


thuật toán.
- Không thể hiện rõ cấu trúc của thuật toán.
- Dài dòng, có thể gây hiểu lầm hoặc khó hiểu
- KHÔNG yêu cầu người viết hay đọc nắm quy tắc.
Không có một quy tắc cố định
- Tính dễ đọc:
+ Viết các bước con lùi vào bên phải
+ Đánh số bước theo quy tắc phân cấp như 1, 1.1,
...
1-59
Biểu diễn bằng ngôn ngữ tự nhiên
Ví dụ:
Đầu vào: a, b thuộc R
Đầu ra: nghiệm phương trình ax + b = 0
1. Nhập 2 số thực a và b.
2. Nếu a = 0 thì
1. Nếu b = 0 thì
1. Phương trình vô số nghiệm
2. Kết thúc thuật toán.
2. Ngược lại
1. Phương trình vô nghiệm.
2. Kết thúc thuật toán.
3. Ngược lại
1. Phương trình có nghiệm.
2. Giá trị của nghiệm đó là x = -b/a
3. Kết thúc thuật toán. 1-60
Biểu diễn bằng mã giả

* Vay mượn các cú pháp của một ngôn ngữ lập trình
- dùng một phần ngôn ngữ tự nhiên
- bị phụ thuộc vào ngôn ngữ lập trình.
* Mọi ngôn ngữ lập trình đều có những thao tác cơ bản
- xử lý, rẽ nhánh và lặp
- tận dụng được các khái niệm trong ngôn ngữ lập
trình
* Dễ dàng nắm bắt nội dung thuật toán

1-61
Biểu diễn bằng mã giả
Ví dụ: Một đoạn mã giả của thuật toán giải pt bậc hai
if Delta > 0 then
x1=(-b-sqrt(delta))/(2*a) x2=(-
b+sqrt(delta))/(2*a)
xuất kết quả : phươngtrình có hai nghiệm là x1 và x2
end else
if delta = 0 then
xuất kết quả : phương trình có nghiệm kép là -b/(2*a)
else {trường hợp delta < 0 }
xuất kết quả : phương trình vô nghiệm
Biểu diễn bằng lưu đồ

Lưu đồ là một biểu đồ trình bày trực quan luồng dữ


liệu thông qua các hệ thống xử lý. Điều này có
nghĩa là bằng cách xem một biểu đồ luồng, người ta
có thể biết các hoạt động được thực hiện và trình tự
của các hoạt động này trong một hệ thống.
Thuật toán không là gì khác ngoài trình tự các bước
để giải quyết vấn đề. Vì vậy, một lưu đồ có thể được
sử dụng để biểu diễn một thuật toán.
Lưu đồ, sẽ mô tả các hoạt động (theo trình tự nào
đó ) được yêu cầu để giải quyết một vấn đề. Bạn có
thể xem lưu đồ dưới dạng bản thiết kế chi tiết mà
bạn đã thực hiện để giải quyết một vấn đề.
Biểu diễn bằng lưu đồ

Có 6 ký hiệu cơ bản thường được sử dụng trong


quá trình lưu lượng của chương trình hợp ngữ: Bắt
đầu / Kết thúc, Xử lý, Đầu vào / Đầu ra, Quyết định,
Kết nối và Quy trình được xác định trước. Đây
không phải là danh sách đầy đủ của tất cả các ký
hiệu lưu đồ có thể xảy ra, nó là những ký hiệu
được sử dụng thường xuyên nhất trong cấu trúc
lập trình hợp ngữ.
Biểu diễn bằng lưu đồ
▪ 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).
Biểu diễn bằng lưu đồ

Bài toán1: Tìm diện tích hình tròn


bán kính r.
Biểu diễn bằng lưu đồ

Bài toán 2: Bài toán chuyển từ độ


F sang độ C
Biểu diễn bằng lưu đồ

Bài toán 3: Lưu đồ cho một thuật


toán nhận hai số và in ra tổng giá
trị của chúng
Biểu diễn bằng lưu đồ

Bài toán 4: Thuật toán tìm số lớn


hơn giữa hai số.
Biểu diễn bằng lưu đồ

Bài toán 5: Lưu đồ cho vấn đề in


các số chẵn từ 9 đến 100:
Biểu diễn bằng lưu đồ

Bài toán 6 : Lưu đồ cho bài toán in các


số lẻ nhỏ hơn một số cho trước. Nó
cũng sẽ tính tổng và đếm của chúng.
Biểu diễn bằng lưu đồ

Bài toán 6 : Lưu đồ tính


điểm trung bình từ 25
điểm thi.
Biểu diễn bằng lưu đồ
Ưu điểm của việc sử dụng Lưu đồ
1. Kết nối: Lưu đồ có thể được sử dụng như một cách tốt
hơn để kết nối logic của một hệ thống và các bước liên
quan đến giải pháp, để tất cả đều liên quan đặc biệt đến
người dung cuối của hệ thống.

2. Phân tích hiệu quả: Một lưu đồ của một vấn đề có thể
được sử dụng để phân tích vấn đề một cách hiệu quả.
3. Tài liệu về Chương trình / Hệ thống: Sơ đồ
chương trình là một phần quan trọng của một tài
liệu chương trình tốt. Tài liệu chương trình được sử
dụng cho nhiều các mục đích như khám phá các
thành phần trong chương trình, độ phức tạp của
chương trình v.v.
Biểu diễn bằng lưu đồ
4. Bảo trì chương trình hiệu quả: Sau khi chương trình được
phát triển và chạy, nó cần bảo trì theo thời gian. Với sự giúp
đỡ của lưu đồ việc bảo trì trở nên dễ dàng hơn.

5. Viết chương trình: Mọi thiết kế giải pháp của một vấn đề
cuối cùng đều chuyển thành chương trình máy tính. Viết mã
của giải pháp dựa vào lưu đồ trở nên dễ dàng.
Bài tập
1) Thuật toán là gì?
2) Giải thích nhu cầu của một thuật toán?
3) Viết thuật toán tìm tuổi trung bình của nhóm 10
người chơi?
4) Viết thuật toán cho bài toán này:
A đi chợ để mua một số loại trái cây và rau quả.
Anh ta đang sử dụng 500 đồng để đi chợ. Từ một
cửa hàng, anh ta mua 2,0 kg Táo với giá 50,0 Đ/ kg,
1,5 kg Xoài có giá 3,5 Đ/ kg, 2,5 kg Khoai tây có giá
10,0 Đ/ kg và 1,0 kg Cà chua có giá 15 Đ/ kg.
Anh ta đưa ra 500 đồng cho chủ tiệm. Tìm số tiền
mà chủ cửa hàng sẽ trả lại cho A. và tổng số mặt
hàng đã mua.
Bài tập

5) Tìm giai thừa của N?


6) Giải thích các bước liên quan đến việc vẽ một lưu đồ.
7) Giải thích công dụng của Lưu đồ.
8) Vẽ lưu đồ tìm tổng của 100 số tự nhiên đầu tiên.
9) Vẽ lưu đồ tìm số lớn nhất trong ba số x, y và z.
10)Vẽ lưu đồ bài toán xác định số nguyên tố?
11)Vẽ lưu đồ tạo ra 50 số đầu tiên của dãy Fibonacci:
1, 1, 2, 3, 5, 8,… ?
12) Hãy thiết kế một thuật toán để chuyển một số thập
phân là n sang dạng nhị phân?

You might also like