Kiểm tra 1 dãy số có là cấp số cộng hay không
Chia sẻ bởi I am weasel |
Ngày 25/04/2019 |
57
Chia sẻ tài liệu: Kiểm tra 1 dãy số có là cấp số cộng hay không thuộc Tin học 11
Nội dung tài liệu:
Kiểm tra 1 dãy số có là cấp số cộng hay không
{chương trình đơn giản hơn}
program capsocong;
var i,n:byte;
u:array[1..120] of integer;
d:integer;
begin
write(`Nhap n>=2 `);readln(n);
for i:=1 to n do begin write(`u[`,i,`]=`);readln(u[i]) end;
d:=u[2]-u[1]; i:=2;
while (iif i=n then
writeln(`Day so la cap so cong. u[1]=`,u[1],` ;d=`,d,` u[n]=`,u[1],`+(n-1) x `,d)
else
writeln(`Day so khong la cap so cong vi: u[`,i+1,`]-u[`,i,`]=`,u[i+1]-u[i],` Khac d=u[2]-u[1]=`,d);
readln
end.
program capsocong;
uses crt;
var i,n,dem,c:byte;
d:integer;
u:array[1..120] of integer;
begin
clrscr;
write(`Nhap n>=2 `);readln(n);
for i:=1 to n do
begin
write(`u[`,i,`] = `);readln(u[i]);
end;
d:=u[2]-u[1]; dem:=1;
for i:=2 to n do
if u[i+1]-u[i]=d then dem:=dem+1 else begin c:=i; i:=n{ngat vong lap} end;
{Việc gán i:=n làm vòng lặp for do dừng => không phải i>cuối mà phải là i=cuối thì kết thúc}
if dem=n-1 then {nếu có n-1 phép trừ = nhau}
writeln(`Day so la cap so cong. u[1]=`,u[1],` ;d=`,d,` u[n]=`,u[1],`+(n-1) x `,d)
else
write(`Day so khong la cap so cong vi: u[`,c+1,`]-u[`,c,`]=`,u[c+1]-u[c],` Khac d=u[2]-u[1]=`,d);
readln
end.
Dùng Repeat … Until
program capsocong;
uses crt;
var i,n:byte;
d,di:integer;
u:array[1..120] of integer;
begin
clrscr;
write(`Nhap n>=2 `);readln(n);
write(`u[1] = `);readln(u[1]);
write(`u[2] = `);readln(u[2]);
d:=u[2]-u[1]; i:=2;
{kiem tra ngay khi vua nhap neu sai thi ket thuc luon ma khong can nhap tat}
repeat
i:=i+1;
write(`u[`,i,`] = `);readln(u[i]);
di:=u[i]-u[i-1];
until (di<>d)or(i>=n);
if di=d then writeln(`Day so la cap so cong. u[1]=`,u[1],` ;d=`,d,` u[n]=`,u[1],`+(n-1) x `,d)
else
writeln(`Day so khong la cap so cong vi: u[`,i,`]-u[`,i-1,`]=`,u[i]-u[i-1],` Khac d=u[2]-u[1]=`,d);
readln
end.
Kết quả:
Nếu là Cấp số cộng thì đưa ra thông báo và số hạng tổng quát
Nếu không là Cấp số cộng thì chỉ rõ tại sao không là cấp số cộng
Miroslav Klosetei
{chương trình đơn giản hơn}
program capsocong;
var i,n:byte;
u:array[1..120] of integer;
d:integer;
begin
write(`Nhap n>=2 `);readln(n);
for i:=1 to n do begin write(`u[`,i,`]=`);readln(u[i]) end;
d:=u[2]-u[1]; i:=2;
while (i
writeln(`Day so la cap so cong. u[1]=`,u[1],` ;d=`,d,` u[n]=`,u[1],`+(n-1) x `,d)
else
writeln(`Day so khong la cap so cong vi: u[`,i+1,`]-u[`,i,`]=`,u[i+1]-u[i],` Khac d=u[2]-u[1]=`,d);
readln
end.
program capsocong;
uses crt;
var i,n,dem,c:byte;
d:integer;
u:array[1..120] of integer;
begin
clrscr;
write(`Nhap n>=2 `);readln(n);
for i:=1 to n do
begin
write(`u[`,i,`] = `);readln(u[i]);
end;
d:=u[2]-u[1]; dem:=1;
for i:=2 to n do
if u[i+1]-u[i]=d then dem:=dem+1 else begin c:=i; i:=n{ngat vong lap} end;
{Việc gán i:=n làm vòng lặp for do dừng => không phải i>cuối mà phải là i=cuối thì kết thúc}
if dem=n-1 then {nếu có n-1 phép trừ = nhau}
writeln(`Day so la cap so cong. u[1]=`,u[1],` ;d=`,d,` u[n]=`,u[1],`+(n-1) x `,d)
else
write(`Day so khong la cap so cong vi: u[`,c+1,`]-u[`,c,`]=`,u[c+1]-u[c],` Khac d=u[2]-u[1]=`,d);
readln
end.
Dùng Repeat … Until
program capsocong;
uses crt;
var i,n:byte;
d,di:integer;
u:array[1..120] of integer;
begin
clrscr;
write(`Nhap n>=2 `);readln(n);
write(`u[1] = `);readln(u[1]);
write(`u[2] = `);readln(u[2]);
d:=u[2]-u[1]; i:=2;
{kiem tra ngay khi vua nhap neu sai thi ket thuc luon ma khong can nhap tat}
repeat
i:=i+1;
write(`u[`,i,`] = `);readln(u[i]);
di:=u[i]-u[i-1];
until (di<>d)or(i>=n);
if di=d then writeln(`Day so la cap so cong. u[1]=`,u[1],` ;d=`,d,` u[n]=`,u[1],`+(n-1) x `,d)
else
writeln(`Day so khong la cap so cong vi: u[`,i,`]-u[`,i-1,`]=`,u[i]-u[i-1],` Khac d=u[2]-u[1]=`,d);
readln
end.
Kết quả:
Nếu là Cấp số cộng thì đưa ra thông báo và số hạng tổng quát
Nếu không là Cấp số cộng thì chỉ rõ tại sao không là cấp số cộng
Miroslav Klosetei
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: I am weasel
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)