hi, mình là Tuân, sau đây sẽ up lời giải các bài tập thầy tin ra cho các bạn lớp 8. Đây chỉ là một cách làm của mình, bạn nào có cách khác hay hơn thì up lên
thanks. Bạn nào muốn hỏi vấn đề gì thì cứ tự nhiên hỏi còn không thì cứ chép thoải mái
)
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;
Điều trước tiên phải làm là khai báo 3 biến quan trọng thường sử dụng i,a,n. Sau đó là begin clrscr rồi các lệnh để nhập mảng từ bàn phím như trên
xong!!!!!!!!
thanks bạn Huỳnh Thị Ngọc Nghĩa đã cung cấp đề!!