BÀI 15. BÀI TOÁN TIN HỌC

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn: FORLANG YOUTUBE
Người gửi: PhanThị Ái Duy
Ngày gửi: 09h:50' 15-04-2026
Dung lượng: 10.8 MB
Số lượt tải: 63
Nguồn: FORLANG YOUTUBE
Người gửi: PhanThị Ái Duy
Ngày gửi: 09h:50' 15-04-2026
Dung lượng: 10.8 MB
Số lượt tải: 63
Số lượt thích:
0 người
CHỦ ĐỀ 5 GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ
GIÚP
CỦA MÁY TÍNH
Bài 15.
Bài toán
tin học
Tính lương là một phần của những vấn đề mà doanh nghiệp
cần phải giải quyết. Việc trả lương thoả đáng và kịp thời thể
hiện tính chuyên nghiệp và có trách nhiệm của doanh nghiệp,
đem lại sự hài lòng cho nhân viên, động viên họ làm việc chăm
chỉ, đạt hiệu quả cao.
Qua ví dụ về bài toán tính lương, em sẽ biết cách chuyển
nhiều nhiệm vụ trong thực tế thành một bài toán trong tin
học và giao cho máy tính thực hiện.
Hoạt động 1
Nhiệm vụ của máy tính
Với những doanh nghiệp lớn có nhiều loại hình lao động, việc
thanh toán tiền lương cần phải tuân theo một quy trình chặt
chẽ giữa các bộ phận. Hình 15.1 mô tả một quy trình thanh
toán tiền lương. Theo em, bước nào trong quy trình đó có thể
giao cho máy tính thực hiện?
Quy trình thanh toán
tiền lương
Bước nào trong
quy trình có thể
giao cho máy tính
thực hiện?
1. Bài toán tin học
Một nhiệm vụ có thể giao cho
máy tính thực hiện được
Bài toán tin học cần có:
- Đầu vào: dữ liệu đã biết
- Đầu ra: dữ liệu cần tìm
ĐẦU VÀO
Tính lương
Mức lương,
thời gian
lao động
200.000Đ/NGÀY, 20 NGÀY
300.000Đ/NGÀY, 25 NGÀY
ĐẦU RA
Tiền lương
4.000.000Đ
7.500.000Đ
Ví dụ về một số bài toán Tin học
Chỉnh sửa ảnh
Giải phương trình:
ax2 +bx +c =0
Đầu vào:
Đầu vào:
các hệ số a, b, c
Đầu ra:
Đầu ra:
nghiệm của
phương trình
Đầu vào:
2 số nguyên a, b
Tìm UCLN của 2 số
Đầu ra:
USCLN của a, b
Dịch từ tiếng Việt sang
tiếng Anh
Đầu vào:
Câu tiếng Việt
Đầu ra:
Câu tiếng Anh
Bài toán trong tin học là một nhiệm vụ có thể giao cho máy tính thực hiện. Bài toán đó được xác
định bởi dữ liệu đã biết (đầu vào), dữ liệu cần tìm (đầu ra).
Hãy mô tả đầu vào và đầu ra của bài toán xác định một số nguyên dương có phải
số nguyên tố hay không.
Xác định số nguyên tố
Đầu vào:
Số nguyên dương N
Đầu ra:
- N là số nguyên tố
- N không là số nguyên tố
2. GIẢI BÀI TOÁN TIN HỌC
2. GIẢI BÀI TOÁN TIN HỌC
Các bước giải bài toán
1) Xác định bài
tintoán:
học:
• Xác định đầu vào, đầu ra.
2) Xây dựng thuật toán:
• Chia bài toán thành những bài toán nhỏ
• Xác định thứ tự thực hiện các bước
• Dùng cấu trúc điều khiển (tuần tự, rẽ nhánh, lặp) để mô tả các bước
3) Cài đặt thuật toán:
• Viết thành chương trình hoàn chỉnh (thực hiện giải pháp)
4) Gỡ lỗi và hiệu chỉnh chương trình:
• Chạy chương trình với những dữ liệu khác nhau
• Gỡ lỗi và hiệu chỉnh
Hoạt động 2
Bài toán tính lương
Hằng tuần, một công ti phải tính lương cho các nhân viên
của mình. Tiền lương của một nhân viên theo tuần phụ
thuộc vào mức lương theo giờ và số giờ làm việc mỗi
tuần. Số giờ lao động của một nhân viên tối thiểu là một
giờ và tối đa là 60 giờ mỗi tuần. Định mức làm việc của
nhân viên là 40 giờ/tuần. Mỗi giờ vượt định mức nhân
viên được trả gấp 1,5 lần mức lương của họ. Hãy trình
bày các bước giải quyết vấn đề tính lương của công ti.
Giải bài toán tính lương
1) Xác định bài toán:
• Đầu vào:
mức lương (muc_luong);
số giờ làm việc trong tuần (tgian_laodong)
• Đầu ra: tiền lương của nhân viên (tien_luong)
2) Xây dựng thuật toán:
Bước 1. Nhập dữ liệu đầu vào
• Mức lương và thời gian lao động
Bước 2. Xử lí dữ liệu
• Xác định thời gian lao động:
Thời gian lao động hợp lệ (tgian_laodong): 1 - 60 giờ
Thời gian định mức (tgian_dmuc): 1 – 40 giờ
Thời gian vượt mức (tgian_vuot): thời gian hợp lệ (> 40 giờ) - 40
• Tính tiền lương:
Tiền lương định mức (luong_dmuc) = thời gian định mức * mức lương
Tiền lương vượt mức (luong_vuot) = thời gian vượt mức * mức lương * 1.5
Tiền lương (tien_luong) = lương định mức + lương vượt mức
Bước 3. Xuất dữ liệu đầu ra
Sơ đồ khối
sai
đúng
sai
đúng
Tình
huống
muc_luong
tgian_laodong
tien_luong
Ghi chú
1
100
30
3000
tgian_laodong dưới định mức
2
100
40
4000
tgian_laodong vừa đủ định mức
3
100
50
5500
tgian_laodong vượt định mức
4
100
60
7000
tgian_laodong vừa đạt mức tối đa
70
Nhân viên đó làm việc
bao nhiêu giờ?
Cần phải nhập lại tgian_laodong
50
Mức lương của nhân
viên (theo giờ)?
Cần phải nhập lại muc_luong
5
6
100
-100
Giải bài toán tìm Max
1) Xác định bài toán:
• Đầu vào: X là số nguyên dương được nhập nhiều lần từ bàn phím, kết thúc bởi số 0
• Đầu ra: max là số lớn nhât trong các giá trị đã nhập
2) Xây dựng thuật toán:
1. Gán cho max giá trị bằng 0.
2. Lặp nhiều lần thao tác: nhập x và gán lại max theo giá trị x nhận được.
3. In kết quả.
• Thao tác nhập trị của x và xử lý giá trị đó được đặt trong một vòng lặp. Trong vòng lặp đó:
Điều kiện kết thúc vòng lặp: (x = 0)
Thân lặp: nhập x và so sánh nó với max để gán lại max nếu (x > max).
Giá trị khởi đầu của lặp: max = 0 để chỉ tính đến những số nguyên dương đầu tiên được
nhập.
• Lưu ý:
Các số x nhập vào là số nguyên dương nên số nguyên max tìm được cũng là một số nguyên
dương.
Liệt kê các bước
1. Bắt đầu
2. max ← 0
3. Nhập x
4. Lặp cho đến khi x = 0
4.1. Nếu x > max thì
max ← x
4.2. Nhập x
5. Nếu max = 0 thì
xuất "Không có dữ liệu"
ngược lại
xuất max
6. Kết thúc
Sơ đồ khối
X
So sánh
max
0
5
2
8
7
9
3
0
5 >0
2<5
5
5
8>5
7<8
9>8
3<9
8
8
9
9
9
3. Cài đặt thuật toán
quy trình giải một bài toán tin học gồm các bước: 1) Xác định bài toán; 2)
Xây dựng thuật toán; 3) Cài đặt thuật toán; 4) Gỡ lỗi và hiệu chỉnh chương
trình.
Bài toán tin học được xem như một vấn đề cần giải quyết. Khi đó, bước nào trong
quy trình giải bài toán tin học tương ứng với bước thực hiện giải pháp trong giải
quyết vấn đề?
A. Xác định bài toán.
B. Xây dựng thuật toán.
C. Cài đặt thuật toán.
D. Gỡ lỗi và hiệu chỉnh chương trình.
LUYỆN TẬP
Vẽ sơ đồ của thuật toán giải bài toán xác định một số có phải số nguyên tố hay không
bằng cách chỉ sử dụng những cấu trúc điều khiển cơ bản.
VẬN DỤNG
1. Hãy mô tả đầu vào, đầu ra của bài toán sắp xếp một dãy số theo thứ tự tăng dần.
2. Vẽ sơ đồ khối của giải thuật sắp xếp nổi bọt để sắp xếp một dãy số theo thứ tự tăng dần.
GIÚP
CỦA MÁY TÍNH
Bài 15.
Bài toán
tin học
Tính lương là một phần của những vấn đề mà doanh nghiệp
cần phải giải quyết. Việc trả lương thoả đáng và kịp thời thể
hiện tính chuyên nghiệp và có trách nhiệm của doanh nghiệp,
đem lại sự hài lòng cho nhân viên, động viên họ làm việc chăm
chỉ, đạt hiệu quả cao.
Qua ví dụ về bài toán tính lương, em sẽ biết cách chuyển
nhiều nhiệm vụ trong thực tế thành một bài toán trong tin
học và giao cho máy tính thực hiện.
Hoạt động 1
Nhiệm vụ của máy tính
Với những doanh nghiệp lớn có nhiều loại hình lao động, việc
thanh toán tiền lương cần phải tuân theo một quy trình chặt
chẽ giữa các bộ phận. Hình 15.1 mô tả một quy trình thanh
toán tiền lương. Theo em, bước nào trong quy trình đó có thể
giao cho máy tính thực hiện?
Quy trình thanh toán
tiền lương
Bước nào trong
quy trình có thể
giao cho máy tính
thực hiện?
1. Bài toán tin học
Một nhiệm vụ có thể giao cho
máy tính thực hiện được
Bài toán tin học cần có:
- Đầu vào: dữ liệu đã biết
- Đầu ra: dữ liệu cần tìm
ĐẦU VÀO
Tính lương
Mức lương,
thời gian
lao động
200.000Đ/NGÀY, 20 NGÀY
300.000Đ/NGÀY, 25 NGÀY
ĐẦU RA
Tiền lương
4.000.000Đ
7.500.000Đ
Ví dụ về một số bài toán Tin học
Chỉnh sửa ảnh
Giải phương trình:
ax2 +bx +c =0
Đầu vào:
Đầu vào:
các hệ số a, b, c
Đầu ra:
Đầu ra:
nghiệm của
phương trình
Đầu vào:
2 số nguyên a, b
Tìm UCLN của 2 số
Đầu ra:
USCLN của a, b
Dịch từ tiếng Việt sang
tiếng Anh
Đầu vào:
Câu tiếng Việt
Đầu ra:
Câu tiếng Anh
Bài toán trong tin học là một nhiệm vụ có thể giao cho máy tính thực hiện. Bài toán đó được xác
định bởi dữ liệu đã biết (đầu vào), dữ liệu cần tìm (đầu ra).
Hãy mô tả đầu vào và đầu ra của bài toán xác định một số nguyên dương có phải
số nguyên tố hay không.
Xác định số nguyên tố
Đầu vào:
Số nguyên dương N
Đầu ra:
- N là số nguyên tố
- N không là số nguyên tố
2. GIẢI BÀI TOÁN TIN HỌC
2. GIẢI BÀI TOÁN TIN HỌC
Các bước giải bài toán
1) Xác định bài
tintoán:
học:
• Xác định đầu vào, đầu ra.
2) Xây dựng thuật toán:
• Chia bài toán thành những bài toán nhỏ
• Xác định thứ tự thực hiện các bước
• Dùng cấu trúc điều khiển (tuần tự, rẽ nhánh, lặp) để mô tả các bước
3) Cài đặt thuật toán:
• Viết thành chương trình hoàn chỉnh (thực hiện giải pháp)
4) Gỡ lỗi và hiệu chỉnh chương trình:
• Chạy chương trình với những dữ liệu khác nhau
• Gỡ lỗi và hiệu chỉnh
Hoạt động 2
Bài toán tính lương
Hằng tuần, một công ti phải tính lương cho các nhân viên
của mình. Tiền lương của một nhân viên theo tuần phụ
thuộc vào mức lương theo giờ và số giờ làm việc mỗi
tuần. Số giờ lao động của một nhân viên tối thiểu là một
giờ và tối đa là 60 giờ mỗi tuần. Định mức làm việc của
nhân viên là 40 giờ/tuần. Mỗi giờ vượt định mức nhân
viên được trả gấp 1,5 lần mức lương của họ. Hãy trình
bày các bước giải quyết vấn đề tính lương của công ti.
Giải bài toán tính lương
1) Xác định bài toán:
• Đầu vào:
mức lương (muc_luong);
số giờ làm việc trong tuần (tgian_laodong)
• Đầu ra: tiền lương của nhân viên (tien_luong)
2) Xây dựng thuật toán:
Bước 1. Nhập dữ liệu đầu vào
• Mức lương và thời gian lao động
Bước 2. Xử lí dữ liệu
• Xác định thời gian lao động:
Thời gian lao động hợp lệ (tgian_laodong): 1 - 60 giờ
Thời gian định mức (tgian_dmuc): 1 – 40 giờ
Thời gian vượt mức (tgian_vuot): thời gian hợp lệ (> 40 giờ) - 40
• Tính tiền lương:
Tiền lương định mức (luong_dmuc) = thời gian định mức * mức lương
Tiền lương vượt mức (luong_vuot) = thời gian vượt mức * mức lương * 1.5
Tiền lương (tien_luong) = lương định mức + lương vượt mức
Bước 3. Xuất dữ liệu đầu ra
Sơ đồ khối
sai
đúng
sai
đúng
Tình
huống
muc_luong
tgian_laodong
tien_luong
Ghi chú
1
100
30
3000
tgian_laodong dưới định mức
2
100
40
4000
tgian_laodong vừa đủ định mức
3
100
50
5500
tgian_laodong vượt định mức
4
100
60
7000
tgian_laodong vừa đạt mức tối đa
70
Nhân viên đó làm việc
bao nhiêu giờ?
Cần phải nhập lại tgian_laodong
50
Mức lương của nhân
viên (theo giờ)?
Cần phải nhập lại muc_luong
5
6
100
-100
Giải bài toán tìm Max
1) Xác định bài toán:
• Đầu vào: X là số nguyên dương được nhập nhiều lần từ bàn phím, kết thúc bởi số 0
• Đầu ra: max là số lớn nhât trong các giá trị đã nhập
2) Xây dựng thuật toán:
1. Gán cho max giá trị bằng 0.
2. Lặp nhiều lần thao tác: nhập x và gán lại max theo giá trị x nhận được.
3. In kết quả.
• Thao tác nhập trị của x và xử lý giá trị đó được đặt trong một vòng lặp. Trong vòng lặp đó:
Điều kiện kết thúc vòng lặp: (x = 0)
Thân lặp: nhập x và so sánh nó với max để gán lại max nếu (x > max).
Giá trị khởi đầu của lặp: max = 0 để chỉ tính đến những số nguyên dương đầu tiên được
nhập.
• Lưu ý:
Các số x nhập vào là số nguyên dương nên số nguyên max tìm được cũng là một số nguyên
dương.
Liệt kê các bước
1. Bắt đầu
2. max ← 0
3. Nhập x
4. Lặp cho đến khi x = 0
4.1. Nếu x > max thì
max ← x
4.2. Nhập x
5. Nếu max = 0 thì
xuất "Không có dữ liệu"
ngược lại
xuất max
6. Kết thúc
Sơ đồ khối
X
So sánh
max
0
5
2
8
7
9
3
0
5 >0
2<5
5
5
8>5
7<8
9>8
3<9
8
8
9
9
9
3. Cài đặt thuật toán
quy trình giải một bài toán tin học gồm các bước: 1) Xác định bài toán; 2)
Xây dựng thuật toán; 3) Cài đặt thuật toán; 4) Gỡ lỗi và hiệu chỉnh chương
trình.
Bài toán tin học được xem như một vấn đề cần giải quyết. Khi đó, bước nào trong
quy trình giải bài toán tin học tương ứng với bước thực hiện giải pháp trong giải
quyết vấn đề?
A. Xác định bài toán.
B. Xây dựng thuật toán.
C. Cài đặt thuật toán.
D. Gỡ lỗi và hiệu chỉnh chương trình.
LUYỆN TẬP
Vẽ sơ đồ của thuật toán giải bài toán xác định một số có phải số nguyên tố hay không
bằng cách chỉ sử dụng những cấu trúc điều khiển cơ bản.
VẬN DỤNG
1. Hãy mô tả đầu vào, đầu ra của bài toán sắp xếp một dãy số theo thứ tự tăng dần.
2. Vẽ sơ đồ khối của giải thuật sắp xếp nổi bọt để sắp xếp một dãy số theo thứ tự tăng dần.
 








Các ý kiến mới nhất