Thứ tự các bước của quả trình giải bài toán trên máy tính

Các bước giải bài toán trên máy tính là: Xác định bài toán [xác định Input, Output] → Mô tả thuật toán [các bước giải bài toán] → Viết chương trình [dùng ngôn ngữ lập trình để viết chương trình giúp máy tính hiểu và thực hiện được].

   Đáp án: B

Thứ tự các bước giải bài toán trên máy tính:

A. Xác định bài toán → Viết chương trình → Mô tả thuật toán

B. Xác định bài toán → Mô tả thuật toán → Viết chương trình

C. Mô tả thuật toán → Xác định bài toán → Viết chương trình

D. Viết chương trình → Xác định bài toán → Mô tả thuật toán

Các câu hỏi tương tự

B. Xác định bài toán → Mô tả thuật toán → Viết chương trình Các bước giải bài toán trên máy tính là: Xác định bài toán [xác định Input, Output] → Mô tả thuật toán [các bước giải bài toán] → Viết chương trình [dùng ngôn ngữ lập trình để viết chương trình giúp máy tính hiểu và thực hiện được].

* Các bước để giải một bài toán trên máy tính:

+ Xác định bài toán

+ Lựa chọn hoặc thiết kế thuật toán

+ Viết chương trình

+ Hiệu chỉnh

+ Viết tài liệu.

Cùng Top lời giải tìm hiểu chi tiết các bước này nhé:

1. Xác định bài toán

- Là quá trình xác định 2 thành phần: Input và Output và mối quan hệ giữa chúng.

- Ví dụ: Tìm bội chung lớn nhất [BCNN] của hai số nguyên dương A và B

+ Input: A, B

+ Output: BCNN[A,B]

2. Lựa chọn hoặc thiết kế thuật toán

a] Lựa chọn thuật toán

- Một bài toán có nhiều cách giải, do đó người ta lựa chọn thuật toán phù hợp nhất dựa trên các tiêu chí:

+ Thời gian thực hiện ngắn;

+ Sử dụng ít ô nhớ;

+ Thuật toán dễ hiểu, ít phức tạp;

+ Tốn ít tài nguyên nhất có thể.

b] Diễn tả thuật toán

Ví dụ:Tìm ước chung lớn nhất [ƯCLN] của hai số nguyên dương M và N.

•Xác định bài toán:

- Input: Nhập M, N;

- Output: ƯCLN[M, N].

•Ý tưởng:Sử dụng những điều đã biết sau:

- Nếu M = N thì giá trị chung đó là ƯCLN của M và N;

- Nếu M > N thì ƯCLN[M, N] = ƯCLN[M – N,N];

- Nếu M < N thì ƯCLN[M, N] = ƯCLN[M,N- M].

•Thuật toán

- Thuật toán diễn tả bằng cách liệt kê

+ Bước 1: Nhập M, N;

+ Bước 2: Nếu M = N đưa ra ƯCLN[M,N]=M; Kết thúc;

+ Bước 3: Nếu M > N thì M ←M - N rồi quay lại bước 2;

+ Bước 4: N ←N - M rồi quay lại bước 2.

- Thuật toán diễn tả bằng sơ đồ khối

Sau đây là hai ví dụ mô phỏng các bước thực hiện thuật toán trên:

3. Viết chương trình

- Viết chương trình là việc tổng hợp giữa việc lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để diễn đạt đúng thuật toán.

Ngôn ngữ lập trình + Thuật toán = Chương trình

- Khi viết chương trình ta nên chọn một ngôn ngữ lập trình hoặc một phần mềm chuyên dụng thích hợp với thuật toán.

- Viết chương trình trong ngôn ngữ nào thì phải tuân theo ngôn ngữ đó.

- Chương trình dịch chỉ có thể phát hiện và thông báo về mặt ngữ pháp.

4. Hiệu chỉnh

- Khái niệm: là việc thử chương trình với 1 số bộ Input tương ứng với Output đã biết trước, từ đó ta xác định được các lỗi của chương trình.

- Mỗi bộ Input – Output được gọi là các Test.

5. Viết tài liệu

- Tài liệu dùng để:

+ mô tả bài toán, thuật toán;

+ thiết kế chương trình;

+ kết quả thử nghiệm;

+ hướng dẫn sử dụng.

- Tài liệu này rất có ích cho người sử dụng chương trình và cho việc đề xuất những khả năng hoàn thiện thêm.

- Các bước có thể lặp đi lặp lại nhiều lần cho đến khi ta cho rằng chương trình đã làm việc đúng đắn và hiệu quả.

Bài tập liên quan:

Câu 1: Hãy nêu tiêu chuẩn lựa chọn thuật toán.

Lời giải chi tiết

Một bài toán có thể được biểu diễn bởi nhiều thuật toán, việc chọn lựa thuật toán thích hợp sẽ giúp cho quá trình viết chương trình đơn giản hơn và máy tính thực hiện với thời gian nhanh hơn. Vì vậy, có ba tiêu chuẩn cơ bản lựa chọn thuật toán đó là:

- Thuật toán có độ phức tạp thời gian nhỏ nhất [thực hiện chương trình trong thời gian ngắn nhất];

- Số lượng ô nhớ sử dụng ít nhất;

- Viết chương trình cho thuật toán dễ hiểu, đơn giản nhất.

Câu 2:

Hãy nêu nội dung và mục đích của bước hiệu chỉnh khi giải bài toán trên máy tính.

Lời giải chi tiết

•Nội dung của bước hiệu chỉnh

- Chạy thử chương trình với các bộ test tiêu biểu phụ thuộc vào đặc thù của bài toán để phát hiện các lỗi cú pháp, lỗi cấu trúc...

- Nếu phát hiện chương trình sai, sửa chương trình rồi chạy thử lại, quá trình tiếp tục cho đến khi không phát hiện lỗi nào nữa.

•Mục đích của bước hiệu chỉnh

Khi chương trình hoàn thành, vẫn có thể có nhiều lỗi chính tả, lỗi sai cú pháp ngôn ngữ lập trình, lỗi mô tả thuật giải... Nhờ có bước hiệu chỉnh ta có thể sưa lại chương trình đúng với yêu cầu của bài toán.

Câu 3:
Hãy viết thuật toán giải phương trình bậc nhất: ax + b = 0 và đề xuất các test tiêu biểu.

Lời giải chi tiết

Thuật toán giải phương trình ax + b = 0

- Bằng liệt kê tuần tự

+ Bước 1: Nhập hai số thực a, b

+ Bước 2. Nếu a = 0

  • Bước 2.1. Nếu b ≠0 thì thông báo phương trình vô định, rồi kết thúc;
  • Bước 2.2. Nếu b = 0 thì gán x

+ Bước 3: x

+ Bước 4. Đưa ra nghiệm x, rồi kết thúc.

- Sơ đồ khối:

Đề xuất các test tiêu chuẩn

Để xét tất cả các trường hợp có thể xảy ra, ta sử dụng ba bộ test như sau:

i] a = 0, b = 1 [kiểm tra trường hợp phương trình vô định];

ii] a = 0,b = 0 [kiểm tra trường hợp nghiệm x=0];

iii] a = 3, b = 6 [kiểm tra trường hợp nghiêm , y = -b/a].

Câu hỏi: Các bước giải bài toán trên máy tính được tiến hành theo thứ tự nào sau đây

A. Xác định bài toán – Lựa chọn thuật toán – Viết chương trình – Hiệu chỉnh – Viết tài liệu

B. Xác định bài toán – Viết chương trình – Lựa chọn thuật toán – Viết tài liệu

C. Lựa chọn thuật toán – Xác định bài toán – Viết chương trình – Hiệu chỉnh – Viết tài liệu

D. Viết chương trình – Hiệu chỉnh – Viết tài liệu

Đáp án A.

Các bước giải bài toán trên máy tính được tiến hành theo thứ tự: Xác định bài toán – Lựa chọn thuật toán – Viết chương trình – Hiệu chỉnh – Viết tài liệu.

Trắc nghiệm: Thứ tự các bước giải bài toán trên máy tính:

A. Xác định bài toán → Viết chương trình → Mô tả thuật toán

B. Mô tả thuật toán → Xác định bài toán → Viết chương trình

C. Xác định bài toán → Mô tả thuật toán → Viết chương trình

D. Viết chương trình → Xác định bài toán → Mô tả thuật toán

Trả lời:

Đáp án: C. Xác định bài toán → Mô tả thuật toán → Viết chương trình

Thứ tự các bước giải bài toán trên máy tính: Xác định bài toán → Mô tả thuật toán → Viết chương trình

Cùng Top Tài Liệu tìm hiểu thêm về máy tính và các chương trình máy tính nhé!

– Khái niệm câu lệnh: là những chỉ dẫn, nhiệm vụ cần được thực hiện được đưa ra để ra lệnh cho máy tính làm việc.

– Khái niệm chương trình: là một dãy các câu lệnh mà máy tính có thể hiểu để thực hiện theo.

– Mục đích của việc viết chương trình: chương trình được tạo ra nhằm khai thác tốc độ và khả năng tính toán của máy tính để ứng dụng nó vào các bài toán trong cuộc sống, công việc, học tập. chương trình giúp con người điều khiển máy tính đơn giản và hiệu quả hơn.

– Máy tính thực hiện các câu lệnh 1 cách tuần tự, từ trên xuống dưới.

Ví dụ: Chương trình Rô-bốt nhặt rác sẽ có thể có cách lệnh được thực hiện từ trên xuống dưới như sau:

– Tiến 2 bước

– Quay trái, tiến 1 bước

– Nhặt rác

– Quay phải, tiến 3 bước

– Quay trái tiến 2 bước

– Bỏ rác vào thùng

– Khái niệm ngôn ngữ máy: là các câu lệnh được tạo nên từ hai số 1 và 0.

– Khái niệm ngôn ngữ lập trình: là ngôn ngữ dùng để viết các chương trình máy tính.

– Ý nghĩa của ngôn ngữ lập trình: thay thế cho ngôn ngữ máy, bởi vì ngôn ngữ máy rất khó để sử dụng, ngôn ngữ lập trình thường là các từ có nghĩa, dễ nhớ nên gần gũi với con người hơn.

– Khái niệm chương trình dịch: Ngôn ngữ lập trình chỉ có con người hiểu được, để máy tính hiểu được thì phải dùng ngôn ngữ máy. Chương trình dịch là chương trình chuyển đổi từ ngôn ngữ lập trình sang ngôn ngữ máy.

– 2 bước tạo ra chương trình máy tính:

+ Viết chương trình bằng 1 ngôn ngữ lập trình

+ Dịch chương trình thành ngôn ngữ máy để máy tính hiểu được

– Chương trình soạn thảo và chương trình dịch cùng với các công cụ tìm kiếm, sửa lỗi và thực hiện chương trình thường được kết nạp vào 1 phần mềm, được gọi là môi trường lập trình.

a. Bài toán

Bài toán là một công việc hay một nhiệm vụ cần phải giải quyết.

Ví dụ về bài toán:

  • Bài toán 1: Tính tổng của các số tự nhiên từ 1 đến 100
  • Bài toán 2: Tính quãng đường ô tô đi được trong 3 giờ với vận tốc 60km/giờ
  • Bài toán 3: Bài toán điều khiển Rô-bốt nhặt rác
  • Bài toán 4: Lập bảng điểm của các bạn trong lớp

b. Xác định bài toán

Để giải quyết được một bài toán cụ thể, người ta cần xác định bài toán, tức là xác định rõ các điều kiện cho trước và kết quả thu được.

a. Khái niệm thuật toán

– Thuật toánlà dãy hữu hạn các thao tác cần thực hiện để giải một bài toán

– Giải bài toán trên máy tínhnghĩa là đưa cho máy tính dãy hữu hạn các thao tác đơn giản [thuật toán] để máy tính thực hiện và cho kết quả

– Chương trình chỉ là thể hiện của thuật toán trong một ngôn ngữ lập trình cụ thể

Ví dụ :Bài toán điều khiển rô-bốt nhặt rác:

1. Tiến 2 bước;

2. Quay trái, tiến 1 bước;

3. Nhặt rác;

4. Quay phải, tiến 3 bước;

5. Quay trái, tiến 2 bước;

6. Bỏ rác vào thùng;

b. Quá trình giải bài toán trên máy tính

Hình 1. Quá trình giải bài toán trên máy tính

Quá trình giải bài toán trên máy tính gồm 3 bước:

– Xác định bài toán:

+Xác định thông tin đã cho [Input]

+Thông tin cần tìm [Output]

-Mô tả thuật toán: Tìm cách giải bài toán và diễn tả bằng các lệnh cần phải thực hiện

-Viết chương trình: Dựa vào mô tả thuật toán, ta viết chương trình bằng một ngôn ngữ lập trình

a. Khái niệm

Mô tả thuật toán là liệt kê các bước cần thiết để giải một bài toán

b. Các ví dụ

Ví dụ 1: Thuật toán pha trà mời khách

Input:Trà, nước sôi, ấm và chén

Output:Chén trà đã pha để mời khách

* Các bước thực hiện để pha trà mời khách:

Bước 1.Tráng ấm chén bằng nước sôi.

Bước 2.Cho một ít trà vào ấm.

Bước 3.Tráng trà

Bước 4.Rót nước sôi vào ấm và đợi 3 – 4 phút

Bước 5.Rót trà ra chén để mời khách

Ví dụ 2: Thuật toán “Làm món trứng tráng”

Input: Trứng, dầu ăn, muối, hành

Output: Món trứng tráng

* Các bước thực hiện để làm món trứng tráng:

Bước 1. Đập trứng, tách vỏ và cho trứng vào bát

Bước 2.Cho một chút muối và hành tươi thái nhỏ vào bát trứng. Dùng đũa quấy mạnh cho đến khi đều

Bước 3. Cho một thìa dầu ăn vào chảo, đun nóng đều rồi đổ trứng vào. Đun tiếp trong khoảng 1 phút

Bước 4. Lật mặt trên của miếng trứng úp xuống dưới. Đun tiếp trong khoảng 1 phút

Bước 5.Lấy trứng ra đĩa

Ví dụ 3: Một hình A được ghép từ một hình chữ nhật với chiều rộng 2a, chiều dài b và một hình bán nguyệt ban kính a như hình dưới đây:

Xác định bài toán:

+ Input: Số a là 12 chiều rộng của hình chữ nhật và là bán kính của hình bán nguyệt, b là chiều dài của hình chữ nhật

+ Output: Diện tích của hình A

Mô tả thuật toán:

+ Bước 1.Tính S1=2a×b       {Tính diện tích hình chữ nhật}

+ Bước 2.Tính  S2=πa2/2       {Tính diện tích hình bán nguyệt}

+ Bước 3.Tính kết quả S=S1+S2; Và kết thúc

Ví dụ 4: Viết thuật toán tính tổng 100 số tự nhiên đầu tiên

S = 0;

S1 = S + 1;

S2 = S1 + 2;

S3 = S2 + 3;

S100 = S99 + 100

Xác định bài toán:

+ Input: Dãy 100 số tự nhiên đầu tiên

+ Output: Giá trị của tổng 1 + 2 + … + 100

Mô tả thuật toán:

+ Bước 1.SUM ← 0; i ← 0

+ Bước 2.i ← i + 1

+ Bước 3.Nếu i ≤ 100, thì SUM ← SUM + 1 và quay lại Bước 2

+ Bước 4.Thông báo kết quả và kết thúc thuật toán

Mô phỏng thuật toán với số liệu cụ thể:

Với N=5:

Bước

1 2 3 4 5 6

i

1 2 3 4 5

6

i≤N

Đ Đ Đ Đ Đ

S

SUM 1 3 6 10 15

Kết thúc

Ví dụ 5: Đổi giá trị của hai biến x, y

Xác định bài toán:

+ Input: Hai biến x, y có giá tri tương ứng là a và b

+ Output: Hai biến x, y có giá trị tương ứng là b và a

Mô tả thuật toán:

+ Bước 1.z←a {Sau bước này giá trị của z sẽ bằng a}

+ Bước 2.x←y {Sau bước này giá trị của x sẽ bằng b}

+ Bước 3.y←z {Sau bước này giá trị của y sẽ bằng giá trị của z, chính là a, giá trị ban đầu của biến x}

Ví dụ 6: Cho hai số thực a, b. Hãy cho biết kết quả so sánh hai số đó dưới dạng “a lớn hơn b”, “a nhỏ hơn b” hoặc “a bằng b”

Xác định bài toán:

+ Input: hai số thực a và b

+ Output: kết quả so sánh

Mô tả thuật toán:

+ Bước 1.Nếu a >b, kết quả là “a lớn hơn b” và chuyển đến Bước 3

+ Bước 2. Nếu a < b, kết quả là “a nhỏ hơn b”; ngược lại, kết quả là “a bằng b”

+ Bước 3. Kết thúc thuật toán

Ví dụ 7: Tìm số lớn nhất trong  dãy A các số: a1,a2,…,an

Xác định bài toán:

+ Input: dãy A các số a1,a2,…an[n≥1]

+ Output: Giá trị MAX ={a1,a2,…,an}

Mô tả thuật toán:

+ Bước 1.MAX←a1; i←1

+ Bước 2. i←i+1

+ Bước 3.nếu i > n, chuyển đến bước 5

+ Bước 4.Nếu ai>MAX, MAX←ai. Quay lại bước 2

+ Bước 5.Kết thúc thuật toán

Video liên quan

Chủ Đề