Đề Ôn Tập Tổng Hợp
(Từ Phần đầu đến hết mảng sâu kí tự)
Người viết: Trần Quang Linh
Nguồn Tài Liệu: Lê Văn Hưng.
( Phần Bài Tập không dùng mảng )
Bài 1 viết chương trình giải phương trình bậc hai ax²+bx+c=0(a#0).
Bài làm:
program it_linh;
uses crt;
var a,b,c : integer;
d: real;
begin
clrscr;
writeln('nhap he so cua phuong trinh a,b,c');
readln(a,b,c);
if a = 0 then writeln(' day khong phai phuong trinh bac hai bye')
else begin
d:=(b*b)-4*a*c;
if d < 0 then writeln('phuong trinh vo nghiem roi ')
else if d = 0 then writeln(' phuong trinh co nghiem kep x1=x2=',(-b)/
(2*a):9:0)
else if d > 0 then begin
writeln(' phuong trinh co hai nghiem phan biet ');
writeln(' x1= ',((-b+sqrt(d))/(2*a)):9:0);
writeln(' x2= ',((-b-sqrt(d))/(2*a)):9:0);
end;
end;
readln
end.
Bài 2 viết chương trình tính S, C,đường chéo hình vuông cạnh là a.
Bài làm:
program it_linh;
uses crt;
var a: longint;
begin
clrscr;
writeln('nhap do dai canh hinh vuong');
readln(a);
if a >= 0 then
begin
writeln(' dien tich hinh vuong la :',a*a);
writeln(' chu vi hinh vuong la:',a*4);
writeln(' do dai duong cheo cua hinh vuong la: ',sqrt((a*a)+(a*a)):4:9);
end
else if a<0 then writeln(' so nhap vao yeu cau lon hon khong');
readln
end.
Bài 3 viết chương trình tính S , C, đường cao của tam giác có 3 cạnh là a,b,c.
Hướng đi dùng hệ thức hê rông
Bài làm:
program it_linh;
uses crt;
var a,b,c:longint;
p:real;
begin
clrscr;
writeln('nhap do dai 3 canh cua tam giac');
readln(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then
begin
p:=(a+b+c)/2;
writeln(' dien tich tam giac la : ',sqrt(p*(p-a)*(p-b)*(p-c)):9:0);
writeln(' chu vi tam giac la: ',2*p:9:0);
writeln(' duong cao cua tam gia co do dai la',(2*sqrt(p*(p-a)*(p-b)*(p-c)))/a:9:0);
end
else writeln(' day khong phai 3 canh cua tam giac');
readln
end.
Bài 4 kiểm tra xem n có phải là số chính phương khơng.
Bài làm:
program it_linh;
uses crt;
var a:longint;
begin
clrscr;
writeln(' nhap so vao ');
readln(a);
if a < 0 then writeln(' day khong phai so chinh phuong ')
else if trunc(sqrt(a)) = sqrt(a) then writeln(' so ',a,' la so chinh phuong')
else writeln(' khong phai so chinh phuong');
readln
end.
Bài 5 viết chương trình tính trung bình cộng các số lẻ từ 1 đến n.
Bài làm:
program it_linh;
uses crt;
var n,dem,i:longint;
a: real;
begin
clrscr;
writeln(' nhap so n');
readln(n);
a:=0;
dem:=0;
for i:=1 to n do if i mod 2 <>0 then
begin
a:=a+i;
dem:=dem+1;
end;
writeln('trung binh cong cac so tu 1 den ', n ,' la: ',a/dem:9:2);
readln
end.
Bài 6 viết chương trình tính tổng các ước của a.
Bài làm:
program it_linh;
uses crt;
var i,a,tong:longint;
begin
clrscr;
writeln('nhap so ');
readln(a);
tong:=0;
for i:=1 to a do if a mod i = 0 then
begin
tong:=tong+i;
end;
writeln( 'tong cac uoc cua ', a ,' la : ',tong);
readln
end.
Bài 7 viết chương trình tính tổng s = 1+ 4+…+(3n+1)
Bài làm:
program it_linh;
uses crt;
var i,a,tong:longint;
begin
clrscr;
writeln('nhap so n tinh ap dung day s = 1+ 4+ ... +(3n+1) ');
readln(a);
tong:=0;
for i:=0 to a-1 do
begin
tong:=tong+(3*i+1);
end;
writeln('KQ !!! : ',tong);
readln
end.
Bài 8 cho 2 số tự nhiên M và N. lập chương trình các số chia hết cho 3 trong đoạn
[M,N].
Bài Làm:
program it_linh;
uses crt;
var i,m,n:longint;
begin
clrscr;
writeln('nhap M va N de tao khoang nao do [M,N]');
readln(m,n);
writeln('cac so chia het cho 3 la :');
for i:=m to n do if i mod 3 = 0 then write(' ',i);
readln
end.
Bài 9 cho 1 số tự nhiên a. viết chương trình thơng báo a có phai số ngun tố hay
khơng.
Bài Làm:
program it_linh;
uses crt;
var i,a,t:longint;
begin
clrscr;
writeln('nhap so kiem tra');
readln(a);
t:=0;
if a < 1 then writeln(' day khong phai so nguyen to !!!')
else
begin
for i:= 1 to a do if a mod i =0 then t:=t+1;
if t = 2 then writeln(' day la so nguyen to !!!')
else writeln(' day khong phai so nguyen to !!!');
end;
readln
end.
( Phần Bài Tập có mảng )
Bài 10 viết chương trình tính tổng các số ở vị trí chẵn.
Bài làm:
program it_linh;
uses crt;
var a: array[1..10000] of integer;
tong,i,n:integer;
begin
clrscr;
writeln('nhap so phan tu cua mang');
readln(n);
for i:=1 to n do
begin
write('A[',i,'] :=');
readln(a[i]);
end;
for i:=1 to n do if a[i] mod 2 =0 then tong:=tong+a[i];
writeln('tong cac so chan cua mang la :',tong);
readln
end.
Bài 11 viết chương trình tính trung bình cộng các số lẻ.
Bài làm:
program it_linh;
uses crt;
var a: array[1..10000] of integer;
tong,i,n,t:integer;
begin
clrscr;
writeln('nhap so phan tu cua mang');
readln(n);
t:=0;
tong:=0;
for i:=1 to n do
begin
write('A[',i,'] :=');
readln(a[i]);
end;
for i:=1 to n do if a[i] mod 2 <>0 then
begin
tong:=tong+a[i];
t:=t+1;
end;
writeln(' trung binh cong cac so le la: ',tong/t:9:2);
readln
end.
Bài 12 tìm số chính phương lớn nhất trong dãy nhập từ bàn phím.
Bài làm:
program it_linh;
uses crt;
var a: array[1..10000] of integer;
tg,j,i,n,k,max:integer;
begin
clrscr;
writeln('nhap so phan tu cua mang');
readln(n);
for i:=1 to n do
begin
write('A[',i,'] :=');
readln(a[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i] > a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
k:=0;
for i:=1 to n do if trunc(sqrt(a[i])) = sqrt(a[i]) then k:=k+1;
if k = 0 then writeln(' trong mang khong co so chinh phuong ')
else begin
for i:=1 to n do if trunc(sqrt(a[i])) = sqrt(a[i]) then max:=a[i];
writeln('so chinh phuong lon nhat la :',max);
end;
readln
end.
Bài 14 viết chương trình tìm số có 2 chữ số nhỏ nhất trong dãy.
Bài làm:
program it_linh;
uses crt;
var a: array[1..10000] of integer;
tg,j,i,n,dem,c,o,min:integer;
begin
clrscr;
writeln('nhap so phan tu cua mang');
readln(n);
for i:=1 to n do
begin
write('A[',i,'] :=');
readln(a[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i] > a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
for i:=n downto 1 do
begin
c:=a[i];
dem:=0;
while c > 0 do
begin
c:=c div 10;
dem:=dem+1;
end;
if dem = 2 then
begin
o:=o+1;
min:=a[i];
end;
end;
if o <> 2 then writeln('khong co so co hai chu so')
else writeln('so nho nhat co hai chu so la: ',min);
readln
end.
Bài 15 viết chương trình in ra các số ngun tố có trong dãy .
Bài làm:
program it_linh;
uses crt;
var a: array[1..10000] of integer;
i,n,j,dem:integer;
begin
clrscr;
writeln('nhap so phan tu cua mang');
readln(n);
for i:=1 to n do
begin
write('A[',i,'] :=');
readln(a[i]);
end;
writeln;
writeln('cac so nguyen to co trong mang la:
' );
for i:=1 to n do
begin
dem:=0;
begin
for j:=1 to a[i] do if a[i] mod j = 0 then dem:=dem+1;
if dem = 2 then write(a[i]:6);
end;
end;
readln
end.
Bài 16 tìm số ngun tố nhỏ nhất có trong dãy.
Bài làm:
program it_linh;
uses crt;
var a: array[1..10000] of integer;
tg,j,i,n,dem:integer;
begin
clrscr;
writeln('nhap so phan tu cua mang');
readln(n);
for i:=1 to n do
begin
write('A[',i,'] :=');
readln(a[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i] > a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
for i:=n downto 1 do
begin
dem:=0;
for j:=1 to a[i] do if a[i] mod j =0 then dem:=dem+1;
if (dem = 2) and (a[i] > 1) then tg:=a[i];
end;
writeln('so nguyen to nho nhat trong day la : ',tg);
readln
end.