PDA

View Full Version : Kiểm tra tính chẵn lẻ của 1 số mà ko dùng if...then



cuong93
31-10-2009, 16:26
Bà cô dạy Tin mới bảo suy nghĩ cách kiểm tra tính chẵn lẻ của 1 số và tính chia hết cho 3 của 1 số mà ko được dùng if...then . Ai biết chỉ dùm em với

lehang_gb1
31-10-2009, 19:16
Bạn học kiểu mảng chưa nếu học rồi thì sử dụng
a[1]:='le';
a[0]:='chan';
write(a[N mod 2]);

[=========> Bổ sung bài viết <=========]

Var N:integer;
a:array[0..1] of string;
Begin
Write('Nhap vao so nguyen duong N:');
Readln(N);
a[1]:='N la so le';
a[0]:='N la so chan';
write(a[N mod 2 ]);
Readln
End.

cuong93
31-10-2009, 21:52
mảng thì biết rồi, nhưng ở trên lớp thì còn lâu mới tới. Chỉ sử dụng kiến thức mấy bài đầu trước bài câu lệnh if thôi ! vậy mới khó :(

lehang_gb1
31-10-2009, 22:31
Bạn hỏi cô giáo bạn rồi đưa bài giải lên để mình tham khảo nha!

freshgraduate09
31-10-2009, 22:36
tại sao không cho dùng if , trong bất kỳ ngôn ngữ lập trình cũng phải có các câu lệnh điều kiện - rẽ nhánh mà if là chủ yếu. Cái bài này chả qua là đánh đố, không có tác dụng thực tiễn.

Xin lỗi chứ nghe nói mà muốn chửi thề, "bà cô dạy tin học", không biết có đi làm ngày nào không mà đánh đố kiểu này, xài kiểu nào mặc xác ng ta, miễn có kq cho hưởng thì thôi

ở bên C/Java tớ xài như vầy:



Boolean isChan(int number)
{
return (number%2)?true:false;
}


nghĩa là chẵn thì trả về true, lẻ thì trả về false đó, có sách dịch đây là "tác tử tam phân", cái này tương đương if else

jiSh@n
01-11-2009, 09:28
var N:integer; sochan, sole, chiahetcho3:boolean;
begin
{nhập N}
sochan := N mod 2 = 0;
sole := N mod 2 <> 0;
chiahetcho3 := N mod 3 = 0;
end.

Được chưa?

cuong93
01-11-2009, 10:45
Cảm ơn tất cả :) Special thanks to jiShan

lehang_gb1
01-11-2009, 21:27
var N:integer; sochan, sole, chiahetcho3:boolean;
begin
{nhập N}
sochan := N mod 2 = 0;
sole := N mod 2 <> 0;
chiahetcho3 := N mod 3 = 0;
end.

Được chưa?

Nhưng chương trình của bạn chỉ đua ra True, False mà ko đưa được thông báo là số chẵn hay là số lẻ

jiSh@n
01-11-2009, 21:42
Nhưng chương trình của bạn chỉ đua ra True, False mà ko đưa được thông báo là số chẵn hay là số lẻ

Có yêu cầu đưa ra thông báo đâu lol Ko thấy bảo mới học đến if à? Yêu cầu của GV nhằm giúp học sinh hiểu về cái gọi là biểu thức logic thôi.

phamdoanw
03-11-2009, 09:36
var a:array[1..100] of integer;
i,n:integer;
begin
write('nhap so phan tu day so');readln(n);
for i:=1 to n do
begin
write('nhap day so');readln(a[i]);
if a[i] mod 2 = 0 then writeln(a[i],'la so chan');
else writeln(a[i],'la so le');
end;
readln;
end.
day la nguyên văn bài phân biệt chẵn lẻ bằng if ... then ok ?

love-nt-forever
03-11-2009, 15:48
đơn giản hơn là làm như sau:
[khai báo nhá]
Repeat

[=========> Bổ sung bài viết <=========]

tg:=x;
tg:=tg mod 2;
Case tg of
1:write('So vua nhap le');
0:write('so vua nhap chan');
Readlnl;
[het]