các bạn xem giùm mình xem mình có làm sai không mà không ra đc kết quả đúng
đề bài là:viết chương trình nhập vào số thực x và kiểm tra xem số đó có chình phương hay không?
var a:real;
t:integer;
begin
Write('nhap a=');readln(a);
if (sqrt(a)=t) and (int(t)=t) then
write('day la so chinh phuong')
else
write('day khong phai là so chinh phuong');
readln;
end.
chạy đc chương trình nhưng mình thử với a=4 thì máy trả lời rằng không phải chính phương
các bạn giúp mình nha
sai ở đâu?
Bắt đầu bởi kaka'sfan, 24-09-2006 - 22:28
#1
Đã gửi 24-09-2006 - 22:28
mọi sự so sánh đều là khập khiễng
#2
Đã gửi 25-09-2006 - 00:06
sai ở chỗ
Có thể sửa lại là
thêm nữa, ngay từ phần khai báo biến, nếu dùng chương trình của bạn, bạn cho t là integer, nhưng lại gán t = sqrt(a) trong chương trình (tất nhiên dùng chỗ if đó thì sao mà báo lỗi đc )
tại sao sai?if (sqrt(a)=t) and (int(t)=t) then
bạn tự hiểu nhá , chỉ có thể nói thêm là chương trình của bạn, dù nhập số nào đi chăng nữa thì nó đểu bảo là ko là scpif (sqrt(a)=t)
Có thể sửa lại là
var a:real; t:integer; begin Write('nhap a='); readln(a); a:=sqrt(a); t:=int(a); if a=t then write('day la so chinh phuong') else write('day khong phai là so chinh phuong'); readln; end.
thêm nữa, ngay từ phần khai báo biến, nếu dùng chương trình của bạn, bạn cho t là integer, nhưng lại gán t = sqrt(a) trong chương trình (tất nhiên dùng chỗ if đó thì sao mà báo lỗi đc )
Bài viết đã được chỉnh sửa nội dung bởi hieuchuoi@: 25-09-2006 - 00:17
#3
Đã gửi 25-09-2006 - 12:28
Real mà là số chính phương được à????
Theo tui nhớ thì số chính phương thuộc tập N mà
Theo tui nhớ thì số chính phương thuộc tập N mà
#4
Đã gửi 25-09-2006 - 17:23
hơ, bạn ấy gán t = căn bậc 2 của a, lỡ a ko phải số chính phương, t thành real mà khai báo là t là integer cơ mà
(nhưng vì bạn ấy cho vào if nên điều này ko xảy ra)
(nhưng vì bạn ấy cho vào if nên điều này ko xảy ra)
#5
Đã gửi 25-09-2006 - 17:29
ý tui nói la ở chỗ var a:real; kìa
số thực sao lại là số chính phương? Sai từ trong gốc rồi
số thực sao lại là số chính phương? Sai từ trong gốc rồi
#6
Đã gửi 25-09-2006 - 17:33
nhập vào số thực để kiểm tra xem nó có chính phương không chứ có phải là nhập số nguyên vào đâuviết chương trình nhập vào số thực x và kiểm tra xem số đó có chình phương hay không
#7
Đã gửi 25-09-2006 - 18:34
ui thanks bạn nhé!cảm ơn các bạn đã góp ý cho mình
mọi sự so sánh đều là khập khiễng
#8
Đã gửi 25-09-2006 - 18:39
chít quên .bạn hiếu chuối ơi.làm sao mà gán a:=sqrt(a);đc
với lại nhà mình không hiểu sao lại không gán đc hàm sqrt(x);
với lại nhà mình không hiểu sao lại không gán đc hàm sqrt(x);
mọi sự so sánh đều là khập khiễng
#9
Đã gửi 25-09-2006 - 22:20
Có quái gì không được )chít quên .bạn hiếu chuối ơi.làm sao mà gán a:=sqrt(a);đc
với lại nhà mình không hiểu sao lại không gán đc hàm sqrt(x);
Phép gán luôn được thực hiện sau cùng.
#10
Đã gửi 26-09-2006 - 22:02
nhưng cấn đề là không đc tớ cũng không hiểu
mọi sự so sánh đều là khập khiễng
#11
Đã gửi 26-09-2006 - 23:49
begin
var a: integer;
a:=6;
a:=sqrt(a);
writeln(a);
end.
xem xem cái này có chạy không, không thì nó báo lỗi gì?????????
Nếu làm hoài không được thì bỏ pascal qua java học
var a: integer;
a:=6;
a:=sqrt(a);
writeln(a);
end.
xem xem cái này có chạy không, không thì nó báo lỗi gì?????????
Nếu làm hoài không được thì bỏ pascal qua java học
#12
Đã gửi 27-09-2006 - 00:38
cái này mà ko chạy thì đi mua máy mới đi à ko thì làm bộ Pascal mới đi nếu vẫn ko chạy được thì đi hỏi chúa
#13
Đã gửi 27-09-2006 - 11:22
Tớ nghĩ sai ở chỗ t:integer thì sao mà gán
t:= sqrt(a) được
t:= sqrt(a) được
<span style='color:red'><center>Con gái có bồ như hoa đã có chủ
Con người hiện đại phải biết đánh chủ giựt hoa.</center></span>
Con người hiện đại phải biết đánh chủ giựt hoa.</center></span>
0 người đang xem chủ đề
0 thành viên, 0 khách, 0 thành viên ẩn danh