Nội dung của bài thực hành số 2 dưới đây, các em sẽ cùng tìm hiểu về cách xây dựng một chương trình có sử dụng cấu trúc rẽ nhánh, thông qua đó bước đầu giúp các em làm quen với việc hiệu chỉnh chương trình. Mời các em cùng theo dõi nội dung chi tiết của bài thực hành.
Tóm tắt lý thuyết
1.1. Mục đích, yêu cầu
- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh;
- Làm quen với việc hiệu chỉnh chương trình.
1.2. Nội dung
Bài toán. Bộ số Pi-ta-go
Biết rằng bộ ba số nguyên dương a, b, c được gọi là bộ số Pi-ta-go nếu tổng các bình phương của hai số bằng bình phương của số còn lại. Viết chương trình nhập từ bàn phím ba số nguyên dương a, b, c và kiểm tra xem chúng có là bộ số Pi_ta_go hay không.
Gợi ý làm bài:
Ý tưởng: Kiểm tra xem có đẳng thức nào trong ba đẳng thức sau đây được thực hiện hay không:
- a2 = b2 + c2;
- b2 = a2 + c2;
- c2 = a2 + b2.
Xác định bài toán:
- Input: Các số a,b,c nhập từ bàn phím.
- Output: Đưa ra màn hình câu thông báo: ba số a, b, c có phải là bộ số Pi – ta – go hay không?
Thiết kết bài toán:
- Đơn vị dữ liệu:
- Các số a, b, c, a2, b2, c2.
- Loại số: số nguyên dương.
- Kiểu: a, b, c: interger.
- Đơn vị xử lý:
- Nhập vào 3 số nguyên dương a, b, c.
- Tính các bình phương của a, b, c.
- Kiểm tra: nếu tổng các bình phương của 2 số bằng bình phương của số còn lại thì kết luận: ba số là bộ số Pi_ta_go.
- Ngược lại: không phải là bộ số Pi_ta_go.
Thuật giải chương trình:
Program Pi_ta_go
Khai báo sử dụng a, b, c, a2, b2, c2(a, b, c nguyên dương)
Gán: a2:=a; b2:=b; c2:=c;
Tính:
- a2:= a2*a;
- b2:= b2*b;
- c2:= c2*c;
Nếu a2= b2+ c2 hoặc b2= a2+ c2 hoặc c2= a2+ b2 thì:
- Xuất ra "a, b, c là bộ số Pi_ta_go"
- Ngược lại: “a, b, c không là bộ số Pi_ta_go”
Những công việc cần thực hiện:
a)
- Khởi động chương trình Turbo Pascal bằng cách: Nháy đúp chuột vào biểu tượng trên màn hình Desktop.
- Gõ chương trình sau:
program Pi_ta_go;
uses crt;
var a, b, c: integer;
a2, b2, c2: longint;
begin
clrscr;
write('a, b, c: ');
readln(a, b, c);
a2:= a;
b2:= b;
c2:= c;
a2:= a2*a;
b2:= b2*b;
c2:= c2*c;
if(a2 = b2 + c2) or (b2 = a2 + c2) or (c2 = a2 + b2)
then writeln('Ba so da nhap la bo so Pi-ta-go')
else writeln('Ba so da nhap khong la bo so Pi-ta-go');
readln
end.
Chú ý: Trước else không có dấu chấm phẩy (;).
b) Sau khi gõ xong, lưu chương trình vào đĩa bằng cách nhấn phím F2 (hoặc vào File → Save), nhập tên tệp rồi nhấn phím Enter (phần mở rộng của tệp ngầm định là .pas).
c) Gõ phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị a = 3, b = 4, c = 5.
d) Vào bảng chọn Debug mở cửa sổ hiệu chỉnh để xem giá trị a2, b2, c2.
e) Gõ phím F7 để thực hiện các câu lệnh tính những giá trị nói trên, so sánh với kết quả a2 = 9, b2 = 16, c2 = 25.
f) Tiếp tục nhấn F7 để theo dõi quá trình rẽ nhánh.
g) Lặp lại các bước trên với bộ dữ liệu a = 700, b = 1000, c = 800.
h) Nếu thay dãy lệnh
a2:= a;
b2:= b;
c2:= c;
a2:= a*a;
b2:= b*b;
c2:= c*c;
bằng dãy lệnh
a2:= a*a;
b2:= b*b;
c2:= c*c;
Thì kết quả có gì thay đổi ở bộ dữ liệu a = 700, b = 1000, c=800.
2. Luyện tập Bài tập và thực hành 2 Tin học 11
Sau khi học xong Bài tập và thực hành 2, hi vọng các em sẽ biết cách xây dựng một chương trình bài toán đơn giản có sử dụng cấu trúc rẽ nhánh và thành thạo các thao tác hiệu chỉnh chương trình.
2.1. Trắc nghiệm
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 11 Bài tập và thực hành 2 cực hay có đáp án và lời giải chi tiết.
-
- A. Đây là chương trình giải phương trình bậc hai nhưng chưa xét hết các trường hợp
- B. Đây là chương trình giải phương trình bậc hai nhưng không đưa ra thông báo gì khi chương trình có nghiệm kép
- C. Đây là chương trình giải và thông báo nghiệm của một phương trình bậc hai nếu phương trình đó có nghiệm
- D. Đây là chương trình giải phương trình bậc hai, nhưng không đưa ra thông báo gì khi phương trình vô nghiệm
-
- A. Đây là chương trình giải phương trình bậc hai hoàn chỉnh
- B. Đây là chương trình giải phương trình bậc hai sai vì không thông báo nghiệm trong trường hợp có nghiệm kép
- C. Đây là chương trình giải phương trình bậc hai sai vì với trường hợp phương trình vô nghiệm, chương trình vẫn thực hiện tính nghiệm thực
- D. Đây là chương trình giải phương trình bậc hai sai vì chỉ xét trường hợp DELTA < 0 mà thôi
Câu 3-Câu 5: Xem thêm phần trắc nghiệm để làm thử Online
2.2. Bài tập SGK
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 11 Bài tập và thực hành 2 để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Bài tập 1 trang 50 SGK Tin học 11
Bài tập 2 trang 50 SGK Tin học 11
Bài tập 3 trang 51 SGK Tin học 11
Bài tập 4 trang 51 SGK Tin học 11
Bài tập 5 trang 51 SGK Tin học 115
Bài tập 6 trang 51 SGK Tin học 11
Bài tập 7 trang 51 SGK Tin học 11
Bài tập 8 trang 51 SGK Tin học 11
3. Hỏi đáp Bài tập và thực hành 2 Tin học 11
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học Chúng tôi sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 11 Chúng tôi