anh chị giúp em bài tập pascal này đi, em viết mãi mà không được. hic. giúp em với. em cảm ơn và hậu tạ
cho 2 số x,y hoán đổi vị trí 2 số x,y đó cho nhau. viết chương trình.
t:=x;
x:=y;
y:=t;

|
Đang tải dữ liệu...
|
" tôi đã sống thành tâm, thành ý và lương tâm tôi không bị cắn rứt thì ai muốn khen hay chê cũng mặc"
uses crt;
var x,y,tam:integer;
begin
clrscr;
write('nhap x:');readln(x);
write('nhap y:');readln(y);
tam:=x;
x:=y;
y:=tam;
writeln('hai so sau khi hoan doi la:');
write('x=',x);writeln;
write('y=',y);
readln;
end.
Lần sửa cuối bởi nguyenthanhduong, ngày 27-10-2010 lúc 10:36 PM. Lý do: như boycool đã nói
"Chặng đường nào trải bước trên hoa hồng,
bàn chân cũng thấm đau vô vàn những mũi gai”
muacauvong_2106 (28-10-2010)
Ủa, mình đâu cần đặt begin... end; (phần con phía dưới ák) trong phần thân đâu đúng hok anh?
Đúng rồi em. Anh làm dư chỗ đó! Cảm ơn em nha! Nếu em có cách làm nào hay hơn thì cứ post lên cho mọi người cùng tham khảo với nha, chưa hẳn cách này là hay nhất đâu.
"Chặng đường nào trải bước trên hoa hồng,
bàn chân cũng thấm đau vô vàn những mũi gai”
hồi lớp 10 pascal mình đc 10. mà giờ kg biết cái gì luôntoàn copy paste của bọn nó
.....................em cảm ơn, cảm ơn anh dương và anh băng nhiều...................
" tôi đã sống thành tâm, thành ý và lương tâm tôi không bị cắn rứt thì ai muốn khen hay chê cũng mặc"
đúng gòi, cảm ơn anh kia vì giúp tìm cách giải, còn cảm ơn anh vì chỉ cách đc 10 phẩy hen
cái này thì không cần dùng biến tạmMã:uses crt; var x,y :interger; begin write('nhap x,y '); readln(x,y); x := x+y; y := x-y; x := x-y; write('2 so sau khi hoan doi la: x= ',x, ' y=',y); readln; end.
muacauvong_2106 (29-10-2010), nguyenthanhduong (29-10-2010)
em chưa hiểu lắm, tại sao x:=x+y; mà phía dưới lại là x:=x-y; ?????
cái này khi hoán đổi em hiểu như vầy không biết có đúng không : ví dụ 2 viên phấn trên tay, ta không thể nào đổi chúng trên tay vì khi đó chúng sẽ trùng nhau nên phải đặt 1 viên phấn xuống và di chuyển viên phấn kia tới vị trí viên phấn được đặt xuống nên sẽ cần có 1 biến trung gian chứ anh???
" tôi đã sống thành tâm, thành ý và lương tâm tôi không bị cắn rứt thì ai muốn khen hay chê cũng mặc"
Thực ra đây chỉ là một thủ thuật thôi em ah (rất hay đó em), khi ta nhập 2 biến x,y thì máy sẽ làm phép tính x:=x+y trước, 2 phép tính còn lại thì máy sẽ lấy kết quả của phép tính trước mà thế vào. Em nhẩm thử rồi sẽ thấy thôi (chỉ là phép toán thôi mà).em chưa hiểu lắm, tại sao x:=x+y; mà phía dưới lại là x:=x-y; ?????
cái này khi hoán đổi em hiểu như vầy không biết có đúng không : ví dụ 2 viên phấn trên tay, ta không thể nào đổi chúng trên tay vì khi đó chúng sẽ trùng nhau nên phải đặt 1 viên phấn xuống và di chuyển viên phấn kia tới vị trí viên phấn được đặt xuống nên sẽ cần có 1 biến trung gian chứ anh???
vd:
x=3,y=4
b1: gán x:=x+y. Vậy lúc này x sẽ bằng 7.
b2: y=x-y. Vậy lúc này y sẽ bằng 7-4=3=x lúc đầu.
b3: x=x-y. Lúc này x sẽ bằng 7-3=4=y lúc đầu.
Tới đây hiểu chưa em?
Thực ra máy tính nó chỉ biết làm những gì mà mình nhập cho nó. Mình bảo nó làm cái gì trước thì nó sẽ làm cái đó. Nó chỉ biết làm theo tuần tự từ trên xuống thôi em ah.
"Chặng đường nào trải bước trên hoa hồng,
bàn chân cũng thấm đau vô vàn những mũi gai”
muacauvong_2106 (04-11-2010)
Có 1 người đang xem chủ đề. (0 thành viên và 1 khách)



Đánh dấu