HOC24
Lớp học
Môn học
Chủ đề / Chương
Bài học
a) 5>0 (số)
b) 31.4 (số)
c) 31.4 (xâu kí tự)
C:=3.14*2*R;
S:=3.14*R*R;
Tham khảo:
Bắt đầuGán cho số bí mật một giá trị ngẫu nhiên trong khoảng từ 1 - 100Hỏi và nhận giá trị từ bàn phím, lưu vào biến trả lờiHiển thị số bí mật trong 2 giâyHiển thị số trả lời trong 2 giâyKết thúc
a - 2b - 3c - 4d - 1
- 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).
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.
1. Đặt a (chưa lấy dư)
2. Đặt b (chưa lấy dư)
3. Lặp lại cho đến khi a+b = 0
4. Nói a+b trong 5s
5. Hỏi a = và đợi
6. Hỏi b = và đợi
7. Nếu a> b thì...
Khi chạy thử, em nhận ra rằng chương trình vẫn hoạt động vì máy tính vẫn hỏi và trả lời theo sự điều khiển của các khối lệnh. Tuy nhiên nó thực hiện không đúng kịch bản vì số lần đoán được hiển thị không đúng với số lần thực tế mà người chơi đã đoán.
Có hai loại lỗi:
1) Lỗi cú pháp xảy ra khi lệnh viết sai so với quy tắc của ngôn ngữ lập trình, làm cho chương trình không hoạt động:
2) Lỗi lôgic (hay lỗi ngữ nghĩa) xảy ra khi các câu lệnh trong chương trình tuy được viết đúng cú pháp nhưng thực hiện không đúng kịch bản như trong chương trình của trò chơi Đoán số.
1. Theo kịch bản, biến số lần đoán sẽ thay đổi trong tình huống nào?
Lỗi được thẻ hiện ở việc chương trình hiển thị sai giá trị của số lần đoán.2. Những khối lệnh nào làm thay đổi biến số lần đoán?
Số lần đoán cần phải tăng 1 đơn vị mỗi khi người chơi nhập một giá trị số (đoán). Điều này xảy ra ở các câu lệnh (4). (7) và (8).Tuy nhiên, có thể thấy rằng, mặc dù (9) tăng giá trị của số lần đoán sau khi (7) hoặc (8) được thực hiện, nhưng không có lệnh nào như thế sau khối lệnh (4) cả3. Có điều gì khác nhau giữa kịch bản và những khối lệnh tương ứng?
a. Tập trung vào những khối lệnh trực tiếp gây ra lỗi và những khối lệnh liên quan lôgic đến nó theo các cấu trúc điều khiển.b. Chạy chương trình từng bước, kết hợp theo dõi sự thay đổi của các biến, các giá trị đầu ra và so sánh với các giá trị tính được theo cách thủ công.