BÀI TẬP MÔN TIN HỌC ĐẠI CƯƠNG CÓ LỜI GIẢI
Bài 1 : Cho dãy x1,x2…xn. Tính giá trị trung bình của dãy
Giải
var i,n : integer;
x:array[1..100] of real;
tong : real;
begin
write('n = ');readln(n);
for i:=1 to n do
begin
write('x[',i,']= ');
readln(x[i]);
end;
for i:=1 to n do
tong:=tong+x[i];
writeln('TB = ',tong/n);
readln;
end.
Bài 2 : Cho dãy x1,x2…xn. Tác dãy trên thành 2 dãy : 1 dãy gồm các phần tử >=0, 1 dãy gồm các phần tử <0
Giải
var i,n,k,l : integer;
x,y,z : array[1..100] of real;
begin
write('Nhap n : ');readln(n);
for i:=1 to n do
begin
write('x[',i,'] = ');
readln(x[i]);
end;
for i:=1 to n do
if x[i]>=0 then
begin
k:=k+1;
y[k]:=x[i];
end
else
begin
l:=l+1;
z[l]:=x[i];
end;
Writeln('Day ca phan tu >=0 la :');
for i:=1 to k do
writeln('y[',i,'] = ',y[i]:4:1);
Writeln('Day ca phan tu <0 la :');
for i:=1 to l do
writeln('z[',i,'] = ',z[i]:4:1);
readln;
end.
Bài 3 : Cho dãy x1,x2…xn. Sắp xếp dãy số sao cho phần tử >=0 về đầu, phần tử <0 về cuối, trật tự các phần tử không thay đổi
Giải
var i,n,k : integer;
x,y : array[1..100] of real;
begin
write('Nhap n : ');readln(n);
for i:=1 to n do
begin
write('x[',i,'] = ');
readln(x[i]);
end;
for i:=1 to n do
if x[i]>=0 then
begin
k:=k+1;
y[k]:=x[i];
end;
for i:=1 to n do
if x[i]<0 then
begin
k:=k+1;
y[k]:=x[i];
end;
for i:=1 to k do
writeln('y[',i,'] = ',y[i]:4:1);
readln;
end.
Bài 4 : Cho dãy x1,x2…xn. Xóa phần tử xk
Giải
var i,n,k : integer;
x,y : array[1..100] of real;
begin
write('Nhap n : ');readln(n);
for i:=1 to n do
begin
write('x[',i,'] = ');
readln(x[i]);
end;
write('Nhap vi tri k :');readln(k);
for i:=k to n-1 do
x[i]:=x[i+1];
for i:=1 to n-1 do
writeln('x[',i,']= ',x[i]:4:1);
readln;
end.
Bài 5 : Cho dãy x1,x2…xn. Chèn M vào vị trí k
Cách 1 :
var i,n,k,m : integer;
x,y : array[1..100] of real;
begin
write('Nhap n : ');readln(n);
for i:=1 to n do
begin
write('x[',i,'] = ');
readln(x[i]);
end;
write('Nhap vi tri k :');readln(k);
write('Nhap so can chen M :');readln(m);
for i:=1 to n+1 do
if i y[i]:=x[i] else if i=k then y[i]:=m else y[i]:=x[i-1]; for i:=1 to n+1 do writeln('y[',i,']= ',y[i]:4:1); readln; end. Cách 2 : Dino uses crt; var i,k,m,n:integer; a:array[1..100] of integer; Begin clrscr; write('Nhap so phan tu day: '); readln(n); For i:=1 to n do begin write('A[',i,']= '); readln(a[i]); end; write('Nhap vi tri k: '); readln(k); write('Nhap so m: '); readln(m); for i:=n downto k do a[i+1]:=a[i]; a[k]:=m; writeln('Day sau khi chen la: '); for i:=1 to n+1 do write(a[i]:4); readln; End. Bài 6 : Kiểu mảng - Cho bảng sau : STT Họ tên Điểm 1 ….. m 1..n Giải : var n,m,i,j,k :integer; ht:array[1..20] of string[20]; diem:array[1..20,1..10] of real; tong,tb:array[1..20] of real; tg,tg2,s,max:real; tg1:string[20]; begin write('Nhap n : ');readln(n); write('Nhap m : ');readln(m); for i:=1 to n do begin write('HTSV ',i,' la '); readln(ht[i]); for j:=1 to m do begin write('DT mon ',j,' la '); readln(diem[i,j]); end; end; for i:=1 to n do begin tong[i]:=0; for j:=1 to m do tong[i]:=tong[i]+diem[i,j]; tb[i]:=tong[i]/m; end; max:=tb[1]; for i:=1 to n do if tb[i]>max then max:=tb[i]; write('Danh sach cac hoc sinh co TB max bang ',max:6:1,' la :'); for i:=1 to n do if tb[i]=max then write(ht[i],', '); for i:=1 to n-1 do for k:=i+1 to n do if tb[i]>tb[k] then begin tg:=tb[i]; tb[i]:=tb[k]; tb[k]:=tg; tg1:=ht[i]; ht[i]:=ht[k]; ht[k]:=tg1; for j:=1 to m do begin tg2:=diem[i,j]; diem[i,j]:=diem[k,j]; diem[k,j]:=tg2; end; end; writeln('Danh sach sau khi sap xep la :'); for i:=1 to n do begin writeln; write(ht[i]); for j:=1 to m do write(' ',diem[i,j]:4:1,' '); end; readln; end. Bài 7 : Cho ma trận Anxm, tính tổng từng hàng, từng cột của ma trận Giải var i,m,n,j : integer; a:array[1..10,1..10] of real; b1:array[1..10] of real; b2:array[1..10] of real; begin write('Nhap so hang : ');readln(n); write('Nhap so cot : ');readln(m); for i:=1 to n do for j:=1 to m do begin write('a[',i,',',j,']= '); readln(a[i,j]); end; for i:=1 to n do b1[i]:=0; for i:=1 to m do b2[i]:=0; for i:=1 to n do for j:=1 to m do begin b1[i]:=b1[i]+a[i,j]; b2[j]:=b2[j]+a[i,j]; end; for i:=1 to n do begin writeln; for j:=1 to m do write(a[i,j]:4:1,' '); end; writeln; writeln('Tong tung hang la : '); for i:=1 to n do writeln('Hang ',i,'= ',b1[i]:4:1); writeln('Tong tung cot la : '); for j:=1 to m do writeln('Cot ',j,'= ',b2[j]:4:1); readln; end. Bài 8 : Cho ma trận Anxm, xóa hàng thứ k của ma trận. Giải var i,m,n,k,j:integer; a:array[1..100,1..100] of real; begin write('Nhap so hang :');readln(n); write('Nhap so cot :');readln(m); for i:=1 to n do for j:=1 to m do begin write('a[',i,',',j,']= '); readln(a[i,j]); end; write('Nhap hang can xoa :');readln(k); for j:=1 to m do for i:=k to n-1 do a[i,j]:=a[i+1,j]; for i:=1 to n-1 do for j:=1 to m do writeln('a[',i,',',j,']= ',a[i,j]:4:1); readln; end. Bài 9 : Cho ma trận Anxm tìm giá trị lớn nhất của ma trận, xóa hàng đầu tiên chứa giá trị lớn nhất đó. Giải var n,m,i,j,max,k : integer; x:array[1..10,1..10] of integer; begin write('Nhap n : ');readln(n); write('Nhap m : ');readln(m); for i:=1 to n do for j:=1 to m do begin write('x[',i,',',j,']= '); readln(x[i,j]); end; k:=1; max:=x[1,1]; for i:=1 to n do for j:=1 to m do if x[i,j]>max then begin max:=x[i,j]; k:=i; end; for j:=1 to m do for i:=k to n-1 do x[i,j]:=x[i+1,j]; for i:=1 to n-1 do begin writeln; for j:=1 to m do write(x[i,j],' ') ; end; readln; end. Bài 10: Cho ma trận Anxm tìm giá trị lớn nhất của ma trận, xóa cột đầu tiên chứa giá trị lớn nhất đó. Giải var i,j,m,n,k,max:integer; a:array[1..10,1..10] of integer; begin write('Nhap n : ');readln(n); write('Nhap m : ');readln(m); for i:=1 to n do for j:=1 to m do begin write('a[',i,',',j,']= '); readln(a[i,j]); end; k:=1; max:=a[1,1]; for j:=1 to m do for i:=1 to n do if a[i,j]>max then begin max:=a[i,j]; k:=j; end; for i:=1 to n do for j:=k to m-1 do a[i,j]:=a[i,j+1]; for i:=1 to n do begin writeln; for j:=1 to m-1 do write(a[i,j],' '); end; readln; end. {-- Xem đầy đủ nội dung tại Xem online hoặc Tải về--} Trên đây là trích dẫn một phần Bài tập môn Tin học đại cương có lời giải, để xem đầy đủ nội dung đề thi và đáp án chi tiết các em vui lòng đăng nhập website Chúng tôi chọn Xem online hoặc Tải về máy tính. Chúc các em học tốt và thực hành hiệu quả!