Thứ Tư, 7 tháng 11, 2012

Bài tập Tin 8

Bài 1:nhập vào 1 dãy số thực, tìm xem có bao nhiêu phần tử là số dương, số âm và số không

uses crt;
var i,sduong,sam,skhong,n:integer;
a:array [1..100] of real;
begin
clrscr;
write('nhap so so hang ');
readln(n);
for i:=1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;
for i:=1 to n do
begin
if a[i]<0 then sam:=sam+1;
if a[i]>0 then sduong:=sduong+1;
if a[i]=0 then skhong:=skhong+1;
end;
write('so so am trong day so la ',sam,' va so so duong trong day so la ',sduong,' va so so 0 trong day so la ',skhong);
readln;
end.

Bài 2:Nhập vào 1 dãy số nguyên và nhập 1 số x, tìm xem có bao nhiu phần tử giống x? Ở vị trí nào? Kết quả in ra màn hình


uses crt;
var i,n,x:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap x : ');
readln(x);
write('nhap so so hang: ');
readln(n);
for i:=1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;
write('vi tri cac so giong phan tu x la : ');
for i:=1 to n do
begin
if a[i] = x then write (i,' ');
end;
readln;
end.

Bài 3:Nhập vào một dãy số nguyên, tìm phần tử nhỏ nhất rồi hoán đổi vị trí của nó với phần tử đầu tiên, in ra màn hình


uses crt;
var i,n,min,vtri:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap so so hang: ');
readln(n);
for i:=1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;
writeln('ta co mang luc dau la: ');
for i:=1 to n do
write(a[i],' ');
min:=a[1];
for i:=2 to n do
begin
if min> a[i] then
begin
min:=a[i];
vtri:=i;
end;
end;
writeln;
a[vtri]:=a[1];
a[1]:=min;
writeln('ta co mang sau do la : ');
for i:=1 to n do
write(a[i],' ');
readln;
end.

Bài 4:Nhập vào 1 dãy số nguyên, in ra các phần tử là số chính phương

uses crt;
var i,n,c:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap so so hang: ');
readln(n);
for i:=1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;
for i:=1 to n do
begin
for c:=1 to a[i] do
if c*c=a[i] then writeln(a[i],' la so chinh phuong');
end;
readln;
end.

Bài 5: Nhập vào 1 dãy số nguyên, đếm có bao nhiêu phần tử là số ngtố?

uses crt;
var i,n,dem,c,snt:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap so so hang: ');
readln(n);
for i:= 1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;
for i:=1 to n do
begin
dem:=0;
for c:=1 to a[i] do
if a[i] mod c =0 then dem:=dem+1;
if dem=2 then snt:=snt+1;
end;
write('so so nguyen to la ',snt);
readln;
end.

Bài 6: Nhập vào 1 danh sách hs của 1 tổ, rồi in danh sách ra màn hình

uses crt;
var i,n:integer;
a:array[1..100] of string;
begin
clrscr;
write('nhap so hoc sinh: ');
readln(n);
for i:= 1 to n do
begin
write('nhap ten hoc sinh thu ',i,' : ');
readln(a[i]);
end;
writeln('ta co danh sach hs: ');
for i:=1 to n do
begin
writeln(a[i]);
end;
readln;
end.

Bài 8: Nhập vào 1 dãy số nguyên, in ra màn hình phần ử có giá trị tuyệt đối lớn nhất (cho biết hàm abs là hàm lấy giá trị tuyệt đối)

uses crt;
var i,n,max:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap so so hang: ');
readln(n);
for i:= 1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;
for i:=1 to n do
begin
if abs(a[i])>abs(max) then max:=a[i];
end;
write('so co gia tri tuyet doi lon nhat la: ',max);
readln;
end.

Bai 8 nhập vào 1 dãy số nguyên, in ra màn hình những phần tử là SNT

uses crt;
var i,n,dem,c,snt:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap so so hang: ');
readln(n);
for i:= 1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;
write('ta co cac so nguyen to la : ');
for i:=1 to n do
begin
dem:=0;
for c:=1 to a[i] do
if a[i] mod c =0 then dem:=dem+1;
if dem=2 then write(a[i],' ');
end;
readln;
end.

Bai 9: Nhập vào 1 dãy số nguyên, in ra màn hình phần tử là số fibonaci
uses crt;
var i,n,b,c,linhcanh:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap so so hang: ');
readln(n);
for i:= 1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;
write('cac phan tu la so fibo la: ');
for i:= 1 to n do
begin
b:=0;
c:=1;
linhcanh:=0;
while (b begin
b:=b+c;
if a[i]=b then linhcanh:=1;
c:=c+b;
if a[i]=c then linhcanh:=1;
end;
if linhcanh=1 then write(a[i],' ');
end;
readln;
end.

bai 10: Nhập vào 1 dãy số nguyên, sắp xếp lại các ptử từ nhỏ đến lớn rồi in ra màn hình

uses crt;
var i,n,c,trungian:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap so so hang: ');
readln(n);
for i:= 1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;
writeln('ta co mang truoc khi sap xep la : ');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln('ta co mang sau khi sap xep la : ');

for i:=1 to n do
begin
for c:=i to n do
begin
if a[i]>a[c] then
begin
trungian:=a[i];
a[i]:=a[c];
a[c]:=trungian;
end
end;
end;
for i:=1 to n do
write(a[i],' ');
readln;
end.


Lưu ý các bài luôn luôn có phần này:
uses crt;
var i,n:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap so so hang: ');
readln(n);
for i:= 1 to n do
begin
write('nhap so thu ',i,' : ');
readln(a[i]);
end;

Không có nhận xét nào:

Đăng nhận xét