Tải bản đầy đủ (.pdf) (52 trang)

BÀI TẬP TIN 11 NÂNG CAO (BT)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (735.89 KB, 52 trang )

Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 1

Trường THPT Hoàng Văn Thụ
Tổ Toán - Tin









Trần Văn Chung






Nha Trang 7/2015
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 2

Lêi giíi thiÖu


Bài tập pascal cơ bản đến nâng cao theo chương trình TIN HỌC


lớp 11 không phân ban
Nhằm giúp các bạn học sinh lớp 11 tiếp cận với ngôn ngữ lập trình Pascal một cách dễ
dàng và vận dụng vào các ngôn ngữ lập trình khác trong tin học, tôi sưu tầm và biên soạn một số
bài toán cơ bản đến nâng cao có trong chương trình của lớp 11 không phân ban. Các chương
trình nhằm mục đích tham khảo cho các bạn ham mê tin học và là tài liệu chuẩn bị cho các bài
kiểm tra về môn tin học.
Trong tập tài liệu này sẽ không tránh khỏi sai sót mong các bạn góp ý thêm để tài liệu
thêm hoàn thiện: liên lạc theo địa chỉ email:

Nha trang tháng 8 năm 2013





Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 3

Phần I : CÁC BÀI TẬP CƠ BẢN
Bài 1:
Tìm

giá trị lớn

nhất trong 4 số

a, b, c,

d


(a, b, c, được nhập từ bàn

phím).

Program
Program
TIM_SO_LON_NHAT;

Uses crt;

Var

a,b,c,d,max : real;
BEGIN
Clrscr;

Writeln('TIM SO LON NHAT TRONG BON SO A, B, C, D');
Writeln(' ');
Write('Nhap a='); Readln(a);

Write('Nhap

b=');

Readln(b);
Write('Nhap c='); Readln(c);
Write('Nhap

d=');


Readln(d); max :=a;

If

b>max then max :=b; If

c>max then max :=c; if d>max then max :=d;

Writeln('So

lon

nhat la : ',max : 4 : 2);
Readln;
END.
Bài 1B: Viêt chương trình nhập ba số dương bất kỳ, kiểm tra ba số vừa nhập có phải là ba
cạnh của tam giác không? Nếu phải thì tính chu vi và diện tích của tam giác đó.
PROGRAM
Kiem_tra_tam_giac;
Uses crt;
Var a,b,c,cv,s,p : real;
BEGIN
Clrscr;
Writeln(‘nhap so thu nhat’); readln(a);
Writeln(‘nhap so thu hai’); readln(b);
Writeln(‘nhap so thu ba’); readln(c);
If(a+b>c) And(a+c>b) And(b+c>a) then
Begin
Cv :=a+b+c; p :=c/2; s :=sqrt(p*(p-a)*(p-b)*(p-c));

Writeln(‘ba so vua nhap la ba canh cua tam giac’);
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 4

Writeln(‘ chu vi cua tam gia la’, cv : 4 : 2, ‘ dien tich cua tam giac la’, s:6 :2);
End
Else Writeln(‘ba so vua nhap khong phai la ba canh cua tam giac’);
Readln
End.
Bài 1C: Viết chương trình nhập độ cao h so với mặt đất của một vật rơi tại nơi có gia tốc g,
Tính và hiển thị vận tốc của vật tại mặt đất.
Program
Tinh_van_toc;
Uses crt;
Var h, v,g : real;
Begin
Clrscr;
Writeln(‘nhap do cao cua vat’); readln(h);
Writeln(‘nhap gia toc’); readln(g);
V :=sqrt(2*g*h);
Writeln(‘van toc tai mat dat la’, v : 6 : 2);
Readln
End.
Bài 1D: Nhập vào 3 số a,b,c từ bàn phím, kiểm tra ba số nhập vào có phải là 3 cạnh của tam giác
không? Nếu phải thì tam giác là tam giác gi? Đều, Vuông, Cân, Tam giác thường, hiển thị chu vi,
diện tích nếu đó là tam giác?
Program kiem_tra;
Uses crt;
Var a,b,c, cv,s,p : real;

Begin
Clrscr;
Write('nhap vao so thu nhat '); readln(a);
Write('nhap vao so thu hai '); readln(b);
Write('nhap vao so thu ba '); readln(c);
If (a+b>c) and (b+c>a) and (a+b>c) then
Begin
Writeln(' ba so nhap vao la ba canh cua tam giac ');
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 5

If (a=b) or (b=c) or (a=c) then Writeln(' tam giac la tam giac can')
Else If (a=b) and (b=c) then Writeln(' tam giac la tam giac deu')
Else If (sqr(a)=sqr(b)+sqr(c)) or (sqr(b)=sqr(a)+sqr(c)) or( sqr(c)=sqr(b)+sqr(a))
then Writeln(' tam giac la tam giac vuong')
Else Writeln(' tam giac la tam giac thuong ');
Cv:=a+b+c; p:=(a+b+c)/2;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(' chu vi tam giac la ', cv:6:2);
write( ' dien tich tam giac la ',s:6:2);
End
Else Writeln(' ba so nhap vao khong phai la ba canh cua tam giac');
Readln
End.
Bài 2: Viết chương trình giải phương trình ax+b=0
Program

GIAI_PHUONG_TRINH_BAC_NHAT;
Uses crt;


Var

a,b,x : real;
Begin

Clrscr;
Writeln('GIAI PHUONG TRINH BAC NHAT : AX +

B=0');
Writeln(' ');
Write ('Nhap

a= ');

readln(a);

Write

('Nhap

b= '); readln(b);
If(a=0)

then

If(b=0) then Writeln('

Phuong trinh


co

vo so nghiem')

Else writeln('

Phuong

tring

vo

nghiem')
Else Writeln('Phuong trinh

co nghiem

x=',-b/a : 4 : 2);
Readln
End.
Bài 3: Viết chương

trình giải bất

phương

trình bậc 1 (ax

+


b
>

0)
Program

BAT_PHUONG_TRINH_BAC_I;

Uses crt;

Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 6

Var a,b : real;
Begin

Clrscr;

Writeln('GIAI BAT

PHUONG

TRINH BAC

NHAT : AX + B>=0');
Writeln(' ');
Write('nhap a='); readln(a);

Write('nhap


b='); readln(b);
If a<>0

then
If a>0

then

Writeln('Bat

phuong

trinh

co nghiem :

x>=',-b/a : 4 : 2)
Else Writeln('Bat phuong

trinh co

nghiem :

x<=',-b/a : 4 : 2)

Else
If b>=0 then Writeln('Bat phuong trinh

co


vo

so nghiem')
Else

writeln('Bat

phuong trinh

vo

nghiem');
Readln
End.

Bài 4:
Viết chương

trình giải phương

trình (ax
2
+ bx +

c =0)

Program

GIAI_PHUONG_TRINH_BACII;

Uses crt;

Var

a,b,c,d,x,x1,x2 : real;
Begin
Clrscr;
Writeln('GIAI PHUONG TRINH BAC II : ');
Writeln(' ');
Write('Nhap he

so a='); readln(a);

Write('Nhap he

so

b='); readln(b);
Write('Nhap he

so c='); readln(c);
If

a=0

then

If

b=0 then


If

c=0

then

Writeln('Phuong trinh co vo

so

nghiem')
Else Writeln('Phuong trinh

vo

nghiem')
Else Writeln('Phuong trinh

co mot nghiem :

x=',-c/b : 4 : 2)

Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 7

Else

Begin

d :=b*b-4*a*c;
If

d=0 then Writeln('Phuong trinh

co nghiem

kep :

x=',-b/(2*a) : 4 : 2)
Else if d<0 then Writeln(‘phuong trinh vo nghiem’)
Else
Begin
x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

Write('Phuong trinh

co

hai nghiem :

‘);
Writeln(‘

x1=',x1 : 4 : 2,'

va


x2=',x2 : 4 : 2);
End;
End;
Readln
End.
Bài 5:
Giải hệ phương

trình

tuyến

tính :
ax

+

by

=

m

cx

+

dy = n

Program


GIAI_HE_HAI_AN;
Uses crt;

Var

a,b,c,d,m,n : real;

dx,dy,dd : real;
BEGIN
Clrscr;

Writeln('GIAI

HE HAI AN : ');
Writeln(' ');
Write('Nhap

a='); readln(a);
Write('Nhap

b='); readln(b);
Write('Nhap

c='); readln(c);
Write('Nhap

m='); readln(m);
Write('Nhap


n='); readln(n);
dd :=a*d-b*c; dx :=m*d-b*n; dy :=a*n-c*m; If

dd=0 then

If

(dx=0) And (dy=0) then

Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 8

Writeln('He vo so

nghiem hoac vo nghiem')
Else writeln('He

vo

nghiem')
Else
Begin
Write('He co

nghiem

: '); Writeln('x=',dx/dd : 4 : 2,'

va


y=',dy/dd : 4 : 2);

End;
Readln
End.
Bài 6:
Nhập vào

thời gian 1 công

việc

nào
đ
ó

là x giây. Hãy chuyển
đổ
i và viết ra màn
hình

số thời gian

trên dưới dạng bằng bao nhiêu giờ, bao nhiêu phút, bao nhiêu

giây.
Program

DOI_GIO_PHUT_GIAY;

Uses crt;

Var

gio, phut,giay,

x :

longint;
Begin

Clrscr;

Writeln('DOI

SANG

GIO

PHUT GIAY');
Writeln(' ');
Write('Nhap

vao

so giay :

');
readln(x);
gio:=x div


3600; x :=x

mod 3600; phut :=x div

60; x :=x

mod 60;

Writeln('Ket qua = ',

gio,'gio

: ', phut, 'phut : ', x,

'giay');
Readln;
End.
Bài 7
:
Nhập

vào

tâm

và bán

kính


của một
đườn
g

tròn. Sau
đó
nhập vào

một
điể
m

A(x, y) bất kì và

kiểm

tra xem nó

có thuộc
đườ
ng

tròn

hay

không?

Program


KIEM_TRA_DIEM_THUOC_DUONG_TRON;
Uses crt;

Var

x0,y0,xa,ya,d,r : real;
Begin
Clrscr;

Writeln('KIEM TRA

DIEM THUOC DUONG

TRON : ');
Writeln(' ');
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 9

Write('Nhap ban

kinh R= '); readln(r);

Write('Nhap

hoanh do tam duong

tron =

'); readln(x0);

Write('Nhap

tung do tam duong

tron =

'); readln(y0);
Write('Nhap

hoanh do

diem a

= '); readln(xa);
Write('Nhap

tung do

diem a

= '); readln(ya);

d :=SQRT(SQR(xa-x0)+SQR(ya-y0));
If

r=d

then Writeln('Diem

A nam


tren

duong tron')
Else
If

d>r then

Writeln('Diem

A

nam

ngoai

duong

tron')
Else

Writeln('Diem

A nam

trong duong tron');
Readln
End.
Bài 7 b: Viết chương trình nhập vào tâm và bán kính hai đường tròn, xác định vị

trí tương đối của hai đường tròn đó.
Program Khao_Sat_Hai_Duong_Tron;
Var R 1, R2 ,x1, y1,x2,y2, Kc, Tong, Hieu : Real;
BEGIN
Writeln('KHAO SAT 2 DUONG TRON');
Writeln(' ');
Writeln;
Writeln('*Duong tron thu nhat');
Write(' +Ban kinh : '); Readln(R1);
Write(' +Toa do x : '); Readln(x1);
Write(' +Toa do y : '); Readln(y1);
writeln;
Writeln('*Duong tron thu hai');
Write(' +Ban kinh : '); Readln(R2);
Write(' +Toa do x : '); Readln(x2);
Write(' +Toa do y : '); Readln(y2);
Kc :=Sqrt(Sqr(x1 – x2) + Sqr(y1 – y2));
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 10

Tong :=R1 + R2; Hieu :=ABS(R1 – R2);
If (Kc = 0) AND (Hieu = 0) Then
Writeln('-Hai duong tron trung nhau')
Else
If (Hieu > Kc) Then
Writeln('-Hai duong tron long nhau')
Else If (Tong = Kc) OR (Hieu = Kc) Then
Writeln('-Hai duong tron tiep xuc nhau')
Else If (Tong > Kc) AND (Hieu < Kc) Then

Writeln('-Hai duong tron cat nhau ')
Else If (Tong < Kc) Then
Writeln('-Hai duong tron o ngoai nhau-');
Readln
End.
Bài 8: Tính

x
y
(

Với x,

y

là số thực).
Program

X_LUYTHUA_Y;

Uses crt;

Var
lt,
x,y,z : real;
Begin
Clrscr;

Writeln(‘TINH X LUY THUA


Y : ’);
Writeln(' ');
Write('Nhap

x = '); readln(x); Write('nhap

y

= '); readln(y);

If

x>=0

then

Begin
z :=exp(y*ln(x));
Writeln('x ^

y

=

',z : 4 : 2);
End
Else
Writeln('Khong tinh duoc do x

la so


am');
Readln;
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 11

End.
Bài 9: Tính n!

Program

TINH_N_GIAI_THUA;
Uses crt;

Var

i,n,gt : integer;
Begin

Clrscr;

Writeln('

TINH N

GIAI THUA : ');
Writeln(' ');
Write('Nhap n ='); readln(n); gt :=1;
For i :=1


to

n

do gt :=gt*i; Writeln(n,

'!=

',gt);

Readln;

End.
Bài 10** : Đọc ngày tháng năm, sau đó viết ra màn hình đó là ngày thứ mấy trong tuần.
Program Ngaythang;
Uses crt;

Var Thu, Ngay, Thang : Byte;
Nam : Integer;
BEGIN
Clrscr;
Write (' Doc Ngay : '); Readln ( Ngay );
Write (' Doc Thang : '); Readln ( Thang );
Write (' Doc Nam : '); Readln ( Nam );
Nam :=1900 + ( Nam mod 1900 );
If Thang < 3 Then
Begin
Thang :=Thang + 12; Nam :=Nam - 1;
End;

Thu :=Abs ( Ngay + Thang * 2 + ( Thang + 1 ) * 3 div 5 + Nam + Nam div 4 ) mod 7;
Case Thu Of
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 12

0 : Writeln (‘ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Chu Nhat ');
1 : Writeln ('ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Hai ');
2 : Writeln ('ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Ba ');
3 : Writeln (‘ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Tu ');
4 : Writeln (‘ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Nam ');
5 : Writeln ('ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Sau ');
6 : Writeln ('ngay ’,ngay,’ thang ',thang,’ nam ’,nam,’ la ngay Thu Bay ');
End;
Readln;
END.
Bài 11: Viết chương trình :
Nhâp số báo danh Nhập điểm văn, toán, ngoại ngữ
In ra màn hình dưới dạng :
 Phiếu điểm:
 Số báo danh :
 Điểm văn :
 Điểm toán :
 Điểm ngoại ngữ :
 Tổng số điểm:
Bạn đã trúng tuyển ( hoặc Bạn đã không trúng tuyển ) với điều kiện Tổng số điểm >= 15
hay ngược lại.
Program INPHIEU;
Uses Crt;
Var SBD : Integer;

Van, Toan, Ngoaingu, Tongdiem : Real;
BEGIN
Clrscr;
Write (' So bao danh : '); Readln( SBD );
Write (' Diem toan : '); Readln( Toan );
Write (' Diem ngoai ngu : '); Readln( Ngoaingu );
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 13

Write (' Diem van : '); Readln ( Van );
Tongdiem :=Toan + Van + Ngoaingu;
Writeln (' Phieu Bao Diem ');
Writeln (' So bao danh : ', SBD );
Writeln (' Diem van : ', Van );
Writeln (' Diem toan : ', Toan );
Writeln (' Diem ngoai ngu : ', Ngoaingu);
Writeln (' Tong diem : ', Tongdiem);
If Tongdiem >= 15 Then
Writeln(' Ban da trung tuyen ')
Else Writeln(' Ban khong trung tuyen ');
Readln;
END.
Bài 12 : Viết chương trình nhập hai số thực. Sau đó hỏi phép tính cần thực hiện và in kết
quả của phép tính đó.
Nếu là “+”, in kết quả của tổng lên màn hình.
Nếu là “-”, in kết quả của hiệu lên màn hình.
Nếu là “/”, in kết quả của thương lên màn hình.
Nếu là “*”, in kết quả của tích lên màn hình. Nếu là “+”, in kết quả của tổng lên màn
hình.

Nếu là “+”, in kết quả của tổng lên màn hình.
Program Chuongtrinh_tinh;
Uses Crt;
Var a, b, T : Real;
Pt : Char;
BEGIN
Clrscr;
Write (' a = '); Readln( a );
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 14

Write (' b = '); Readln( b );
Write (' Phep tinh thuc hien la (+ - * /) : ');
Readln( Pt );
If Pt = '+’ Then T :=a + b;
If Pt = '-’ Then T:=a - b;
If Pt = '*’ Then T :=a * b;
If Pt = '/’ Then T :=a / b;
Write ( a, pt, b, ' = ', T );
Readln;
END.
Bài 13: viêt chương trình nhập và tâm và bán kính của đường tròn và môt điểm bất
kỳ, xác định vị trí của điểm đó với đường tròn trên
Prgram vi_tri_tuong_doi;
Var xi, yi, R, Xa, Ya, IA : real;
Begin
Writeln(‘nhap hoanh do tam duong tron’); realnd(xi);
Writeln(‘nhap tung do tam duong tron’); realnd(yi);
Writeln(‘nhap hoanh do diem A’); realnd(xa);

Writeln(‘nhap tung do diem A’); realnd(Ya);
Writeln(‘nhap ban kinh duong tron’); realnd(R);
IA:=sqrt(sqr(xi-xa)+sqr(yi-ya));
If IA>R then Writeln(‘Diem A nam ngoai duong tron’);
If IA=R then Writeln(‘Diem A nam tren duong tron’);
If IA<R then Writeln(‘Diem A nam trong duong tron’);
Readln
End.

Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 15


Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 16

PHẦN II : CÂU LỆNH CÓ CẤU TRÚC
Bài 12. Cho số tự nhiên n, hãy lập trình để tính các tổng sau :
a. 1 + 1/2
2
+ 1/3
2
+ … + 1/n
2

b. 1 + 1/2! + 1/3! + … + 1/n!
Program Caua;
Uses crt;


Var n, i : Word;
S : Real;
BEGIN
Clrscr;
Write (' Nhap n : '); Readln (n);
S :=0;
For i :=1 To n Do
S :=S + 1 / sqr(i);
Writeln ('Tong la S = ', S : 6 : 2);
Readln
END.
Program Cau_b;
Uses crt;

Var n, i, j, p : Word;
S : Real;
BEGIN
Clrscr;
Write (' Nhap n : '); Readln(n);
p :=1; s :=0;
For i :=1 To n Do
Begin
p :=p * i; S :=S + 1 / p;
End;
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 17

Writeln ('Tong la S = ', S : 6 : 2);

Readln
End.
Câu 13a : Lập trình tính tổng :
A = 1 + 1/2 + 1/3 + … + 1/n
ở đây n là số tự nhiên được nhập vào từ bàn phím.
Program tinhtong;
Uses Crt;
Var i, n : Integer; tong : Real;
BEGIN
Clrscr;
Write (' Cho so tu nhien n : '); Readln (n);
tong :=0; i :=1;
While i <= n Do
Begin
tong:=tong + 1/i; i:=i + 1;
End;
Writeln (' Tong can tim la : ', tong : 8 : 2 );
Readln;
END.
Câu 13b : Tính số hạng thứ n của dãy FIBONAXI biết n nhập từ bàn phím và quy
luật dãy như sau F
0
=0; F
1
=1 và F
n
=F
n-1
+F
n-2


Program FIBONAXI;
Uses crt;

Var A : array[0 1000] of integer;
n : integer;
Begin
Clrscr;
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 18

Writeln(‘can so hang thu may cua day Fibonaxi’); readln(n);
A[0] :=0; A[1] :=1;
For i :=2 to n do
A[i] :=A[i-1]+A[i-2];
Writeln(‘so hang thu’, n,’cua day fibonaxi la’, A[n]);
Readln
End.
Câu 14a : Tính hàm lũy thừa a
n,
ở đây a thực và n tự nhiên được nhập vào từ bàn
phím.
Program Tinhgiaithua;
Uses Crt;
Var i, n : Integer;
a, giatri : Real;
BEGIN
Clrscr;
Write (' nhap co so a = : '); Readln(a);

Write (' nhap so mu n = : '); Readln(n);
i :=1; giatri :=1;
While i <= n Do
Begin
giatri :=giatri * a;
i:=i+1;
End;
Writeln(' a mu n bang : ', giatri : 8 : 2 );
Readln;
END.
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 19

Bài 14b. Viết chương trình nhập vào hai số nguyên dương a, b bất kỳ, hiển thị ước chung
lớn nhất của hai số và bội chung nhỏ nhất của hai số đó.
Program UC_BC;
Uses crt;

Var a, b, uc, bc : integer;
BEGIN
Clrscr;
Writeln(‘nhap so thu nhat ’); readln(a);
Writeln(‘nhap so thu hai ’); readln(b);
T:=a*b;
While (a<>b) do
Begin
If a>b then a :=a-b else b :=b-a;
End;
uc :=a; bc :=(T)/uc;

Writeln(‘uoc chung lon nhat cua ‘,a,’ va ’,b,’ la ‘,uc);
Writeln(‘boi chung nho nhat cua ‘,a,’va ’,b,’ la ‘,bc);
Readln
END.
Câu 15 : Chương trình nhập mảng một chiều gồm n phần tử n<=100 kiểu nguyên rồi
thực hiện
a. Đếm số lượng phần tử dương cho kết quả ra màn hình
b. Tính tổng các phần tử dương trong mảng.
c. Tính trung bình các phần tử trong mảng.
d. Tính trung bình các phần tử dương trong mảng
e. Tìm vị trí đầu tiên của phần tử =k với k nhập từ bàn phím.
f. Tìm vị trí phần tử =k với k nhập từ bàn phím, nếu có nhiều phần tử =k thì hiển
thị ra màn hình tất cả vị trí phần tử=k đó.
g. Đếm số lượng phần tử là nguyên tố trong mảng.
h. Kiểm tra mảng vừa nhập có phải là cấp số cộng hay không?
i. Sắp xếp mảng theo thứ tự tăng dần các phần tử và hiển thị ra màn hình mảng
tăng đó
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 20


Prgram BAI_15;
Uses crt;

Var A : array[1 100] of integr;
i, k,demd, s, demnt, tg,n, d, dd,j : integer;
tb, tbm : real;
Begin
Clrscr;

Writeln(‘nhap so luong phan tu cua mang’); readln(n);
Writeln(‘ nhap mang ‘);
For i :=1 to n do
Begin
Writeln(‘nhap so hang thu’, i, ‘A[‘,i,’]= ‘);
Readln(A[i]);
End;
{ Cau a }
demd :=0;
For i :=1 to n do if A[i]>0 then demd :=demd+1;
Writeln(‘ so luong phan tu duong cua mang la’, demd);
{ Cau b }
s :=0;
For i :=1 to n do if A[i]>0 then s :=s+ A[i];
Writeln(‘ tong cac phan tu duong cua mang la’, s);
{ Cau c }
s :=0;
For i :=1 to n do s :=s+A[i];
tbm :=s/n;
Writeln(‘ trung binh cac phan tu cua mang la ’, tbm : 6 : 2);
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 21

{ Cau d }
s :=0; demd :=0;
For i :=1 to n do
Begin
if A[i]>0 then s :=s+ A[i]; demd :=d+1;
End;

tb :=s/demd;
Writeln(‘ trung binh cac phan tu duong cua mang la ’, tb : 6 : 2);
{ Cau e }
Writeln(‘ nhap gia tri can tim vi tri ’); readln(k);
J :=1;
While (j<=n) And (A[j]<>k) do j :=j+1;
If j> n then Writeln(‘khong co gia tri ’, k, ’ trong mang’)
Else Writeln(k, ‘ nam o vi tri thu ’, j,’ trong mang’);
{ Cau f }
Writeln(‘ nhap gia tri can tim vi tri ’); readln(k);
J :=1; writeln(‘cac vi tri xuat hien cua ’,k,’ trong mang la’);
While (j<=n) do
Begin
If A[j]=k then write(j : 5);
j :=j+1;
end;
{ Cau g }
Demnt :=0;
For i:=1 to n do
Begin
j:=2;
While( j<=A[i] - 1 ) And (A[i] mod j<>0) do
Begin
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 22

J:=j+1;
End;
If j> A[i] - 1 then demnt :=demnt+1;

End;
Writeln(‘ so luong phan tu la nguyen to la’, demnt);
{ Cau h }
d :=A[2]-A[1]; j:=3;
While (j<=n) And (A[j]-A[j-1]=d) do j:=j+1;
if j>n then Writeln(‘ mang vua nhap la cap so cong’)
else Writeln(‘ mang vua nhap khong phai la cap so cong’);
{ Cau i }
For i :=1 to n do
For j :=i+1 to n-1 do
If A[j]>A[j+1] then
Begin {doi vi tri hai phan tu A[j] va A[j+1]}
tg :=A[j];
A[j] :=A[j+1];
A[j+1] :=tg;
End;
Writeln(‘mang sau khi duoc sap xep la’);
For i :=1 to n do write(A[i] : 5);
Readln
END.
Bài 15 b: Viết chương trình nhập vào mảng gồm n phần tử (n<=100) tìm và hiển thị
vị trí phần tử có giá trị lớn nhât, sau đó sắp xếp các phần tử theo thứ tự tăng dần và
hiển thị các phần tử sắp xếp đó ra màn hình.
Program Tim_vi_tri;
uses crt;
var a : array[1 100] of integer;
var i,n,j, tg,max, vt : integer;
begin
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang


ĐT : 0972.311.481 Trang 23

clrscr;
write(' nhap so phan tu cua mang ');
readln(n);
writeln(' moi nhap cac phan tu cua mang ');
for i:=1 to n do
begin
write('A', i,']= ');
readln(a[i]);
end;
Max :=a[1]; vt :=1;
For i :=1 to n do
begin
If A[i]>max then
Begin
Max :=a[i]; vt :=i;
End;
End;
Writeln('gia tri lon nhat la ', max, ' nam o vi tri thu ',vt);
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;
Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang


ĐT : 0972.311.481 Trang 24

writeln(' day sau khi sap xep la ');
for i :=1 to n do
write( a[i] : 4);
readln;
End.
Bài 15C: Viết chương trình nhập mảng gồm n phần tử kiểu nguyên(n<=100) và cho
ra màn hình phần tử xuât hiện nhiều nhất và số lần xuât hiện của nó trong mảng
Program Tansuat;
Uses crt;
var i,k,j,n,max:integer;
b,st: array [1 100] of integer;
begin
clrscr;
write('Nhap so pt:');readln(n);
for i:=1 to n do
Begin
write('st[',i,']=');readln(st[i]);
End;
b[i]:=0;
for i:=1 to n do
for j:=i to n do
if st[i]=st[j] then inc(b[i]);
max:=b[1];
for i:=1 to n do if b[i]>max then max:=b[i];
write(' So xuat hien nhieu nhat la ');
for i:=1 to n do
if max=b[i] then write(st[i],' ');
write(' xuat hien ',max,' –lan ');

Trần Văn Chung trường giáo viên trường THPT Hoàng Văn Thụ Nha Trang

ĐT : 0972.311.481 Trang 25

Readln
End.
Bài 16. Viết chương trình nhập mảng gồm n (n<=100) phần tử rồi chèn vào một số
bất kỳ vào một vị trí nào đó trong mảng, số cần chèn và vị trí chèn nhập từ bàn
phím.
Program Chen;
Uses crt;
Var i,spt, so,vitri : Integer;
A : Array[1 100] Of Integer;
Begin
Clrscr;
Writeln(' + CHEN MOT SO VAO MANG +');
Writeln(' ');
Write('-Co bao nhieu phan tu- : ');
Readln(spt);
For i :=1 To spt Do
Begin
Write('-Phan tu A[',i,']= ');
Readln(a[i]);
End;
Writeln;
Writeln(' MANG TRUOC KHI CHEN ');
For i :=1 To spt Do Write(a[i] : 6);
Writeln;
Write('-Can che so : ');
Readln(so);

Write('-Vao vi tri : ');
Readln(vitri);
For i :=spt+1 Downto Vitri+1 Do
a[i] :=a[i-1]; a[vitri] :=so; spt :=spt+ 1;
Writeln;
Writeln('MANG SAU KHI CHEN');

×