Trang chủ > Lớp 11 > Giải BT Tin học 11 > Bài tập và thực hành 2 - Giải BT Tin học 11

Bài tập và thực hành 2 - Giải BT Tin học 11

Bài tập và thực hành 2

1. Mục đích, yêu cầu.

+ Xây dựng chương tì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.

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?

Ý tưởng: Kiểm tra xem có đẳng thức nào trong ba đẳng thức sau đây xảy ra hay không:

a2=b2+c2

b2=a2+c2

c2=a2+b2

a) 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 ban nhap khong la bo so Pi-ta-go'); readln; end.

b) Lưu chương trình với tên PITAGO lên đĩa.

Nhấn File sau đó nhấn Save as…

Bài tập và thực hành 2 ảnh 1

Sau đó nhập PITAGO. pas sau đó nhấn OK.

Bài tập và thực hành 2 ảnh 2

c) Nhấn 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=3, c=5;

Bài tập và thực hành 2 ảnh 3

Khi đến câu lệnh readln (a, b, c) chương trình dựng cho ta nhập dữ liệu.

Bài tập và thực hành 2 ảnh 4

d) Vào bảng chọn Debug để mở cửa sổ hiệu chỉnh xem giá trị a2, b2, c2.

- Nhấn phím Ctrl+F7 để thêm các biến muốn xem giá trị.

Bài tập và thực hành 2 ảnh 5

- Nhấn F7 để chạy tiếp các câu lệnh để nhìn giá trị của các biến.

Bài tập và thực hành 2 ảnh 6

e) Tiếp tục nhấn phím F7 để thực hiện các câu lệnh tính giá trị.

Nhận được kết quả a2=9, b2=16, c2=25 ở bảng debug

Bài tập và thực hành 2 ảnh 7

f) Quan sát quá trình rẽ nhánh. Ta thấy nhánh rẽ vào mệnh đề sau then

Bài tập và thực hành 2 ảnh 8

g) Lặp lại bộ dữ liệu a=700, b=1000, c=800.

Bài tập và thực hành 2 ảnh 9

h) Nếu thay dãy lệnh


a2: =a; b2: =b; c2: =c; a2: =a2*a; b2: =b2*b; c2*=c2*c;

bằng dãy lệnh:


a2: =a*a; b2: =b*b; c2: =c*c;

thì kết quả không thay đổi so với câu g.

Nguyên nhân: Bếu ta gán a2: =a sau đó thực hiện nhân a2 với a thì thực ra ta chỉ gán a2: =a*a;

Tương tự như vậy với b2, c2.

Do đó, kết quả không thay đổi với dữ liệu ở câu g).