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.
2. Nội dung
Bài toán: Bộ số Pi-ía-go
Biết rằng bộ 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 là đúng hay không:
a2 = b2 + c2
b2 = a2 + c2
c2 = a2 + b2
Những công việc cần thực hiện:
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 da nhap khong la bo so Pi-ta-go) ;
readln
End.
Chú ý:
a) Trước else không có dấu chấm phẩy (;).
b) Lưu chương trình với tên PITAGO lên đĩa.
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 Deburg 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) Quan sát 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 = 500.
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ả có gì thay đổi với bộ dữ liệu cho ở câu g?