Ví dụ về thuật toán trong đời sống

Trong cuộc sống và trong công việc hằng ngày, chúng ta đều gặp những vấn đề cần phải đưa ra hướng giải quyết. Ngay từ lúc còn ngồi trong ghế nhà trường, ta đã được luyện tập giải quyết các vấn đề qua môn toán học. Vậy hôm nay các bạn hãy cùng Wikicachlam tìm hiểu xem bài toán và thuật toán là gì nhé.

Ví dụ về thuật toán trong đời sống

Khái niệm bài toán và thuật toán qua ví dụ cụ thể

Tìm hiểu khái niệm bài toán

Bài toán trong tin học được hiểu là một việc gì đó mà ta muốn máy tính thực hiện nhằm cho ra kết quả.

Ví dụ như là tính diện tích hình chữ nhật, tìm ước chung lớn nhất của hai số nguyên dương, giải phương trình bậc nhất, quản lý nhân sự, quản lý tiền lương của nhân viên…

Muốn giải một bài toán nào đó trên máy tính, trước tiên ta cần xác định được hai yếu tố cơ bản:

  • Đầu vào (Input): đưa vào máy thông tin gì ( các thông tin đã có )
  • Đầu ra (Output): cần lấy ra thông tin gì (các thông tin cần tìm )

Hay ta có thể hiểu một cách đơn giản những thông tin mà chúng ta đã biết thì gọi là input, còn những thông tin chúng ta cần tìm là output.

Ví dụ 1: Biết chiều rộng và chiều dài của hình chữ nhật. Tính diện tích hình chữ nhật

  • Input: chiều rộng, chiều dài
  • Output: diện tích

Ví dụ 2: Giải phương trình bậc nhất ax+b = 0

  • Input: Hệ số a, b (a khác 0)
  • Output: Nghiệm của phương trình

Ví dụ 3: Tìm ước chung lớn nhất của hai số nguyên dương

  • Input: a, b nguyên dương
  • Output: UCLN của a,b

Ví dụ 4: Xếp loại kết quả học tập của học sinh

  • Input: Bảng điểm của học sinh trong lớp
  • Output: Bảng xếp loại học lực

Như vậy, khi muốn giải quết một bài toán thì điều đầu tiên chúng ta cần phải xác định được đầu vào (input) và đầu ra (output) của bài toán. Ta gọi chung việc xác định bài toán là xác định input và xác định output.

Tìm hiểu khái niệm và tính chất của thuật toán

Ví dụ về thuật toán trong đời sống

Một câu hỏi được đặt ra là làm sao khi ta đưa thông tin vào máy tính, ta có thể xác định được output của bài toán. Việc chỉ ra tường minh một cách tìm output của bài toán được gọi là thuật toán. Vậy thuật toán là gì chúng ta cùng nhau tìm hiểu khái niệm sau:

Thuật toán (algorithm) để giải một bài toán là một dãy hứu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác đó, từ Input của bài toán, ta nhận được Output cần tìm.

Từ định nghĩa ở trên, với thuật toán ta cần quan tâm đếm 3 điểm chính sau:

+ Dãy hữu hạn các thao tác

+ Sắp xếp có thứ tự

+Từ input cho ra output

Để trình bày thuật toán, ta sẽ có nhiều cách khác nhau như: Dùng ngôn ngữ tự nhiên, mã giải, sơ đồ khối, ngôn ngữ lập trình, các bảng điều khiển.

Các cách viết thuật toán:

Sau đây chúng tôi sẽ trình bày cho các bạn 2 cách biểu diễn thuật toán gồm có các cách như sau:

Cách 1: Dùng phương pháp liệt kê

Ta sẽ liệt kê ra các thao tác cần tiến hành một cách tuần tự

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

  • Input: Các số thực a, b, c (a khác 0)
  • Output: Số thực x thỏa : ax2 + bx + c = 0

Trình bày thuật toán

Bước 1: Nhập hệ số a, b, c (a khác 0)

Bước 2: Tính ∆ = b2 – 4ac

Bước 3: Nếu ∆ < 0 thì kết luận phương trình vô nghiệm rồi kết thúc

Bước 4: Nếu ∆ = 0 thì phương trình có nghiệm kép x1 = x2 =   rồi kết thúc thuật toán, nếu khác 0 thì chuyển sao bước tiếp theo

Bước 5: Nếu ∆ > 0 thì phương trình có 2 nghiệm là

x1 = ; x2=  rồi kết thúc

Ví dụ 2: Thuật toán tìm số lớn nhất trong dãy

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

  • Input: Số nguyên dương N, dãy N số nguyên a1,…,aN
  • Output: Giá trị lớn nhất của dãy số

Ý tưởng của thuật toán:

  • Khởi tạo giá trị lớn nhất Max = a1.
  • Lần lượt xét i từ 2 đến N, ta so sánh giá trị số hạng ai với giá trị Max, nếu ai > Max thì Max là giá trị ai.

Thuật toán được mô tả như như sau (mô tả liệt kê)

  • Bước 1: Nhập N và cá số a1,a2,…,an
  • Bước 2: Max := a1, i := 2;
  • Bước 3: Nếu i > N thì chuyển đến bước 6
  • Bước 4: Nếu ai > Max thì Max := ai;
  • Bước 5: i := i + 1 rồi quay lại bước 3;
  • Bước 6: Thông báo giá trị Max rồi kết thúc.

Quy ước vẽ hình:

Thế hiện thao tác nhập, xuất dữ liệu: hình ô van

Thể hiện thao tác so sánh: hình thoi

Thể hiện các phép toán: hình chữ nhật

Quy định trình tự các thao tác thực hiện: các mũi tên

Các tính chất của thuật toán:

  • Tính chính xác: nhằm giúp kết quả tính toán hay các thao tác mà máy tính thực hiện đưa ra kết quả chính xác.
  • Tính rõ ràng: Thuật toán thực hiện bằng câu lệnh minh bạch, rõ ràng.
  • Tính khách quan: thuật toán dù nhiều người thực hiện trên máy tính cho kết quả giống nhau.
  • Tính phổ dụng: Thuật toán không phải dùng cho các bài toán nhất định mà có thể áp dụng cho một lớp các bài toán với điều kiện đầu vào giống nhau.
  • Tính kết thúc: Thuật toán là các số hữu hạn các bước tính toán.

Xem thêm: Các công thức toán học 12

Qua bài viết này, các bạn đã hiểu được thế nào là bài toán và thuật toán, không có gì quá khó hiểu phải không nào. Các bạn hãy đọc kĩ các ví dụ để có thể dễ hiểu hơn, cảm ơn các bạn đã theo dõi bài viết của chúng tôi, nếu có thắc mắc các bạn hãy để lại comment, chúng tôi sẽ giúp bạn giải đáp nhé.

Hướng dẫn Giải Tin học 6 Bài 1: Khái niệm thuật toán chi tiết, đầy đủ nhất, bám sát nội dung bộ SGK Cánh diều, giúp các em học tốt hơn.

Giải cánh diều tin học 6 bài 1: Khái niệm thuật toán

Giải chi tiết, cụ thể bài 1: Khái niệm thuật toán tin học 6 bộ sách Cánh diều. Đây là bộ sách mới được phê duyệt trong chương trình đổi mới của Bộ Giáo dục và đào tạo. Hi vọng, với cách hướng dẫn cụ thể và giải chi tiết học sinh sẽ nắm bài học tốt hơn trong chương trình học mới này.

Nội dung bài gồm:

  • 1.Thuật toán trong đời sống hằng ngày
  • 2. Bài toán và thuật toán
  • 3. Vận dụng thuật toán trong cuộc sống hằng ngày
  • Luyện tập
  • Vận dụng
  • Câu hỏi tự kiểm tra

1. Thuật toán trong đời sống hằng ngày

Có một bài thơ lục bát khá phổ biến trong các thế hệ học sinh:

Muốn tính diện tích hình thang

Đáy lớn đáy nhỏ ta mang cộng vào

Rồi đem nhân với chiều cao

Chia đôi lấy nửa thế nào cũng ra

1. Bài thơ trên cho biết cách giải quyết bài toán nào?

2. Hãy nêu lại từng bước giải toán đó, đánh số thứ tự cho các bước

Trả lời:

1. Cách giải quyết bài toán: Công thức tính diện tích hình thang

2. Bước 1: Đáy lớn + Đáy nhỏ

Bước 2: Lấy tống của đáy lớn và đáy nhỏ nhân với chiều cao

Bước 3: Kết quả của phép tính ở bước 2, chia cho hai = diện tích hình thang

2. Bài toán và thuật toán

3. Vận dụng thuật toán trong cuộc sống hằng ngày

Luyện tập

Bài 1:Trong một bài tập làm theo nhóm, bạn Mai được giao nhiệm vụ tìm một ảnh đồng hồ thông minh trên internet. Em hãy:

1) Phát biểu nhiệm vụ giao cho bạn Mai dưới dạng một bài toán và đặt tên cho bài toán đó

2) Nêu một thuật toán cho bài toán em vừa phát biểu ở trên, đánh số cho ác bước của thuật toán

Bài 2:Theo kiểu mô tả một thuật toán, em hãy chỉ cho bạn Tuấn cách đi từ trường học về nhà bạn Quân (nhà có mũi tên chỉ vào) sau khi quan sát hình trên

Trả lời:

Bài 1:

1) Bài toán: Tìm ảnh của một chiếc đồng hồ thông minh trên Internet.

Tên bài toán: Tìm ảnh đồng hồ.

2) Một thuật toán cho bài toán:

Bước 1: Mở máy tìm kiếm.

Bước 2: Gõ từ khóa " đồng hồ thông minh".

Bước 3 : Nhấn enter và nhận kết quả hiển thị trên màn hình.

Bài 2:

Bước 1: Từ trường đi thẳng đến ngã tư bên trên hiệu sách thì rẽ trái

Bước 2: Đi thẳng và rẽ phải ở ngõ rẽ đầu tiên

Bước 3: Tiếp tục đi thẳng và rẽ phải ở ngã ba

Bước 4: Đi thằng một đoạn nữa rồi rẽ trái

Vận dụng

Khi còn học ở cấp tiểu học, em đã từng tạo một chương trình trong môi trường lập trình trực quan (ví dụ Scratch) để thể hiện một nhân vật chuyển động. Bản liệt kê tuần tự các bước làm cho nhân vật chuyển động có phải là một thuật toán không? Vì sao/

Trả lời:

Bản liệt kê tuần tự các bước làm cho nhân vật chuyển động trong môi trường lập trình trực quan (ví dụ Scratch) là một thuật toán vì thuật toán là một quy trình chặt chẽ gồm một số bước, có chỉ rõ trình tự thực hiện để giải một bài toán mà bài toán ở đây là làm cho nhân vật chuyển động.

Câu hỏi tự kiểm tra

Câu 1:Em hãy chọn câu trả lời đúng cho câu hỏi " Cần làm thế nào để lên kế hoạch cụ thể, từng bước rõ ráng nhằm hoàn thành một nhiệm vụ, giải quyết một vấn đề?"

1. Xác định nó như một bài toán

2, Chia bài toán làm nhiều phần, nêu việc phải làm để giải quyết mỗi phần

3. Sắp xếp lại các trình trự các việc phải làm cho hợp lý

4. Cần làm cả ba việc trên

Câu 2:Trong các câu sau đây, câu nào đúng?

1. Bài toán là một vấn đề phải giải quyết bằng tính toán

2. Bài toán là một nhiệm vụ cần hoàn thành, đã xác định rõ ràng đầu vào và đầu ra

3. Thuật toán là cách để tính toán nhanh

4. Thuật toán là một quy trình chặt chẽ gồm một số bước, có chỉ rõ trình tự thực hiện để hoàn thành một nhiệm vụ, giải quyết một vấn đề nào đó

Trả lời:

Câu 1. 4. Cần làm cả ba việc trên

Câu 2: Câu đúng là:

2. Bài toán là một nhiệm vụ cần hoàn thành, đã xác định rõ ràng đầu vào và đầu ra

4. Thuật toán là một quy trình chặt chẽ gồm một số bước, có chỉ rõ trình tự thực hiện để hoàn thành một nhiệm vụ, giải quyết một vấn đề nào đó