làm cho quen với công tác Pascal – Khai báo, áp dụng biến – các thủ tục vào ra.

Bạn đang xem: Chương trình pascal lớp 8

Bài tập 1.1:

Viết lịch trình tính chu vi và mặc tích của hình chữ nhật có chiều lâu năm hai cạnh là a, b (được nhập tự bàn phím).

hướng dẫn:

– Nhập nhị cạnh vào hai trở nên a, b.

– Chu vi hình chữ nhật bởi 2*(a+b); diện tích hình chữ nhật bằng a*b.

Mã chương trình:

 

Program Chu_nhat;

uses crt;

Var a, b, S, CV: real;

Begin

Write(‘Nhap chieu dai:’); readln(a);

Write(‘Nhap chieu rong:’); readln(b);

S := a*b;

CV := (a+b)*2;

Writeln(‘Dien tich hinh chu nhat la:’,S);

Writeln(‘Chu vi hinh chu nhat la:’,CV:10:2);

readln

end.

 

nhận xét: Lệnh write chất nhận được in ra màn hình một hoặc những mục. Có thể định dạng được số in ra bằng cách qui định khoảng dành riêng cho phần nguyên, khoảng giành riêng cho phần thập phân.

Bài tập 1.2:

Viết lịch trình tính chu vi, diện tích hình vuông có cạnh a (được nhập tự bàn phím).

phía dẫn:

– Nhập cạnh vào phát triển thành canh.

– Chu vi hình vuông bằng 4*canh; Diện tích hình vuông bằng canh*canh.

Mã chương trình:

 

 

Program HINH_VUONG;

uses crt;

Var canh: real;

Begin

clrscr;

Write(‘Nhap bởi dai canh:’);readln(canh);

Writeln(‘Chu vi hinh vuong la:’,4*canh:10:2);

Writeln(‘Dien tich hinh vuong la:’,canh*canh:10:2);

readln

end.

 

nhận xét: bài bác tập 1.2 tiết kiệm chi phí được hai trở thành là CV và S vì lệnh write được cho phép in một biểu thức. Trong lập trình việc tiết kiệm ngân sách biến là cần thiết nhưng thỉnh thoảng gây nặng nề hiểu lúc đọc, kiểm soát chương trình.

Bài tập 1.3:

Viết lịch trình tính chu vi và mặc tích hình tròn có nửa đường kính r (được nhập tự bàn phím).

hướng dẫn:

– Nhập nửa đường kính vào trở thành r.

– Chu vi mặt đường tròn bằng 2*p*r.

– Diện tích hình tròn trụ bằng p*r*r.

Mã chương trình:

 

Program HINH_TRON;

uses crt;

Var r: real;

Begin

clrscr;

Write(‘Nhap ban kinh:’); readln(r);

Writeln(‘Chu vi duong tron la:’,2*pi*r:10:2);

Writeln(‘Dien tich hinh tron la:’,pi*r*r:10:2);

readln

end.

 

nhận xét: pi là hằng số. Một hằng số rất có thể được người tiêu dùng khai báo hoặc vày Pascal trường đoản cú tạo. Pi là hằng do Pascal tự làm cho người cần sử dụng không đề nghị khai báo.

Bài tập 1.4:

Viết chương trình tính diện tích của tam giác có tía cạnh là a,b,c (được nhập từ bàn phím)

phía dẫn:

– Nhập ba cạnh của tam giác vào ba biến a,b,c.

– Nửa chu vi của tam giác p = (a+b+c)/2.

– diện tích s của tam giác: s =.

Mã chương trình:

Program TAM_GIAC;

uses crt;

Var a,b,c,p,S: real;

Begin

clrscr;

Write(‘Nhap canh a:’);readln(a);

Write(‘Nhap canh b:’);readln(b);

Write(‘Nhap canh c:’);readln(c);

p:=(a+b+c)/2;

S:= sqrt(p*(p-a)*(p-b)*(p-c));

Write(‘Dien tich tam giac la:’,s:10:2);

readln

end.

 

nhận xét: Ở phía trên ta lại nhị lần dùng vươn lên là trung gian p, s để chương trình sáng sủa, dễ dàng theo dõi.

 

 

Bài tập 1.5:

Viết chương trình cho phép tính trung bình cộng của tứ số.

phía dẫn:

– Nhập bốn số vào bốn đổi thay a, b, c, d

– Trung bình cộng của a, b, c, d bởi (a + b + c + d)/4.

Mã chương trình:

 

Program TB_Cong_4_So;

uses crt;

Var a, b, c, d: real;

Begin

Clrscr;

Write(‘Nhap so thu nhat:’);readln(a);

Write(‘Nhap so thu hai:’);readln(b);

Write(‘Nhap so thu ba:’);readln(c);

Write(‘Nhap so thu tu:’);readln(d);

Writeln(‘Trung binh cong: ‘,(a+b+c+d)/4):10:2;

Readln

end.

 

 

Bài tập 1.6:

Viết chương trình được cho phép tính trung bình cùng của tứ số với đk chỉ được thực hiện hai biến.

hướng dẫn:

– dùng một phát triển thành S có mức giá trị lúc đầu bằng 0.

– sử dụng một phát triển thành để nhập số.

– sau thời điểm nhập một số cộng ngay vào biến đổi S.

Mã chương trình:

Program TB_Cong_4_So;

uses crt;

Var s,a: real;

Begin

Clrscr;

S:=0;

Write(‘Nhap so thu nhat:’);readln(a); S:=S+a;

Write(‘Nhap so thu hai:’);readln(a); S:= S+a;

Write(‘Nhap so thu ba:’);readln(a); S:=S+a;

Write(‘Nhap so thu tu:’);readln(a); S:=S+a;

Writeln(‘Trung binh cong: ‘,S/4:10:2);

readln

end.

 

 

nhấn xét: Câu lệnh gán S:= S+a thực hiện nay việc thêm vào đó a vào phát triển thành S. Thực ra là triển khai các bước: lấy quý giá của S cộng với a rồi ghi đè vào lại biến đổi S. Ở đây ta cũng đã sử dụng trở nên a như là 1 biến tạm để chứa trong thời điểm tạm thời giá trị được nhập trường đoản cú bàn phím.

 

Bài tập 1.7:

Viết chương trình được cho phép tính vừa phải nhân của bốn số với điều kiện chỉ được sử dụng hai biến.

phía dẫn:

– cần sử dụng một đổi thay S có giá trị ban sơ bằng 1.

– cần sử dụng một vươn lên là để nhập số.

– sau khi nhập một số trong những nhân ngay lập tức vào thay đổi S.

– trung bình nhân tư số là căn bậc 4 tích của bọn chúng (Dùng hai lần căn bậc hai).

Mã chương trình:

Program TB_nhan;

uses crt;

Var a, S: real;

Begin

clrscr;

S:=1;

Write(‘Nhap so thu nhat: ‘); readln(a); S:=S*a;

Write(‘Nhap so thu hai: ‘); readln(a); S:=S*a;

Write(‘Nhap so thu ba: ‘); readln(a); S:=S*a;

Write(‘Nhap so thu tu: ‘); readln(a); S:=S*a;

Write(‘Trung binh nhan cua bon so la:’,sqrt(sqrt(s)));

readln

End.

dấn xét: Ta đã dùng hai lần khai phương để mang căn bậc 4 của một số. Để cùng dồn giá bán trị vào một trong những biến thì phát triển thành đó có mức giá trị ban sơ là 0. Để nhân dồn giá chỉ trị thuở đầu vào vươn lên là thì phát triển thành đó cần có giá trị ban đầu là 1.

Bài tập 1.8:

Viết lịch trình nhập hai số, đổi giá trị hai số rồi in ra hai số.

hướng dẫn:

– Dùng những biến a, b để lưu nhị số được nhập từ bàn phím;

– Gán cho trở thành tam cực hiếm của a.

– Gán quý hiếm của b mang lại a. (Sau lệnh này a có mức giá trị của b).

– Gán quý giá của tạm cho cho b (Sau lệnh này b có giá trị của tam = a).

Mã chương trình:

Program Doi_Gia_Tri;

uses crt;

var a, b, tam:real;

Begin

clrscr;

write(‘nhap a: ‘); readln(a);

write(‘nhap b: ‘); readln(b);

writeln(‘Truoc lúc doi a =’,a,’ va b= ‘,b);

readln;

tam:=a;

a:=b;

b:=tam;

writeln(‘Sau khi doi a =’,a,’ va b= ‘,b);

readln

end.

Nhận xét:Nếu triển khai hai lệnh a:= b; b:=a để đổi cực hiếm hai biến chuyển thì sau hai lệnh này nhì biến có mức giá trị bằng nhauvà bằng b. Thực chất sau lệnh thứ nhất hai biến hóa đã có mức giá trị đều bằng nhau và bằng b rồi! Trong thực tế để đổi vị trí số dầu ở hai bình lẫn nhau ta yêu cầu dùng thêm 1 bình phụ.

Bài tập 1.9

Giải bài bác tập 1.8 mà chỉ được áp dụng hai biến chuyển (Tức không được sử dụng thêm phát triển thành tạm).

hướng dẫn:

– cộng thêm b vào a. (Giá trị hai đổi mới sau lệnh này là: a+b, b)

– Gán b bởi tổng trừ đi b (Sau lệnh này b có giá trị bằng a);

– Gán quý hiếm a bằng tổng trừ đi b new (Sau lệnh này a có giá trị bằng b).

Mã chương trình:

Program Doi_Gia_Tri;

uses crt;

var a, b:real;

Begin

clrscr;

write(‘nhap a: ‘); readln(a);

write(‘nhap b: ‘); readln(b);

writeln(‘Truoc khi doi a =’,a,’ va b= ‘,b);

readln;

a:=a+b;

b:=a-b;

a:=a-b;

writeln(‘Sau khi doi a =’,a,’ va b= ‘,b);

readln

end.

 

Nhận xét:Giống quý phái dầu thân hai bình nhưng rất khác hoàn toàn!!!Kỹ thuật đổi quý hiếm biến cho nhau sẽ được áp dụng nhiều trong phần chuẩn bị xếp.

Bài tập 1.10:

Viết chương trình cho biết thêm chữ số sản phẩm trăm, hàng chục, hàng đơn vị của một trong những có bố chữ số. Ví dụ khi nhập số 357 thì thiết bị in ra:

– Chữ số sản phẩm trăm: 3.

– Chữ số mặt hàng chục: 5.

– Chữ số hàng solo vị: 7.

Hướng dẫn:

sử dụng hàm mov để đưa số dư. Khi chia cho 10 để lấy số dư ta được chữ số hàng đối chọi vị. Sử dụng DIV để mang phần nguyên. Khi chia cho 10 để mang phần nguyên ta đã loại bỏ chữ số hàng đơn vị để số có cha chữ số còn số gồm hai chữ số.

Mã chương trình:

Program CHU_SO;

uses crt;

var n:integer;

begin

clrscr;

write(‘Nhap so n: ‘);readln(n);

writeln(‘Chu so hang don vi: ‘,n hack 10);

n:=n div 10;

writeln(‘Chu so hang chuc: ‘,n mod 10);

n:=n div 10;

writeln(‘Chu so hang tram: ‘,n thủ thuật 10);

readln

end.

 

nhấn xét:

Hãy sửa chương trình để có hiệu quả là mặt hàng trăm, sản phẩm chục, hàng đơn vị.

Mã chương trình:

Program CHU_SO;

uses crt;

var n:integer;

begin

clrscr;

write(‘Nhap so n: ‘);readln(n);

writeln(‘Chu so hang trm: ‘,n div 100);

n:=n mov 100;

writeln(‘Chu so hang chuc: ‘,n div 10);

n:=n div 10;

writeln(‘Chu so hang tram: ‘,n);

readln

end.

 

 

 

 

 

 

II.Cấu trúc lựa chọn: if … then … else

Case … of …

 

Bài tập 2.1:

Viết công tác in ra số to hơn trong hai số (được nhập từ bàn phím).

hướng dẫn:Nhập hai số vào hai phát triển thành a, b.Nếu a > b thì in a. Ví như a

– Hoặc: nếu như a > b thì in a. Trái lại thì in b.

Mã chương trình:

 

Program SO_SANH1;

uses crt;

var a,b: real;

begin

clrscr;

write(‘nhap so thu nhat: ‘); readln(a);

write(‘nhap so thu hai: ‘); readln(b);

if a> b then writeln(‘ So lon la:’,a);

if a

Hoặc:

Program SO_SANH2;

uses crt;

var a,b: real;

begin

clrscr;

write(‘nhap so thu nhat: ‘); readln(a);

write(‘nhap so thu hai: ‘); readln(b);

if a> b then writeln(‘ So lon la:’,a:10:2)

else writeln(‘ So lon la:’,b:10:2);

readln

end.

 

 

Bài tập 2.2:

Viết lịch trình in ra số lớn nhất trong bốn số nhập tự bàn phím.

hướng dẫn:

nếu như a³ b với a³ c và a³ d thì a là số mập nhất.

Tương tự như vậy xét các trường hợp còn sót lại để kiếm tìm số bự nhất.

Mã chương trình:

Program So_Lon_Nhat_1;

Uses crt;

Var a,b,c,d: real;

Begin

Clrscr;

Write(‘Nhap so thu nhat:’);readln(a);

Write(‘Nhap so thu hai:’);readln(b);

Write(‘Nhap so thu ba:’);readln(c);

Write(‘Nhap so thu tu:’);readln(d);

if (a>=b) & (a>=c) và (a>= d) then writeln(‘So lon nhat la:’,a:10:2);

if (b>=a) & (b>=c) & (b>= d) then writeln(‘So lon nhat la:’,b:10:2);

if (c>=a) và (c>=b) and (c>= d) then writeln(‘So lon nhat la:’,c:10:2);

if (d>=a) and (d>=b) & (d>= c) then writeln(‘So lon nhat la:’,d:10:2);

readln

end.

 

 

Bài tập 2.3:

Viết lịch trình in ra số lớn số 1 trong tứ số nhập từ bàn phím với điều kiện chỉ được dùng hai biến.

hướng dẫn:

áp dụng một trở thành max và một trở thành a để chứa số vừa nhập. Cho max thông qua số đầu tiên. Sau thời điểm nhập một trong những thực hiện so sánh nếu số vừa nhập to hơn max thì giữ số vừa nhập vào max. Sau khi nhập xong ta tất cả max là số lơn nhất

(Giải thuật này gọi là kỹ thuật quân nhân canh).

Mã chương trình:

Program So_Lon_Nhat_2;

Uses crt;

Var a,max: real;

Begin

Clrscr;

Write(‘Nhap so thu nhat:’);readln(a);Max:=a;

Write(‘Nhap so thu hai:’);readln(a);if a>=Max then Max:=a;

Write(‘Nhap so thu ba:’);readln(a);if a>=Max then Max:=a;

Write(‘Nhap so thu tu:’);readln(a);if a>=Max then Max:=a;

Write(‘So lon nhat la:’,Max:10:2);

readln

end.

 

 

Bài tập 2. 4

Viết công tác xét xem một tam giác tất cả là tam giác đều hay không khi biết ba cạnh của tam giác.

phía dẫn:Nhập ba cạnh của tam giác vào ba biến a,b,c.Nếu a = b với b = c thì tam giác là tam giác đông đảo và trái lại tam giác không là tam giác đều.

 

 

Mã chương trình:

Program Tam_giac_deu;

uses crt;

var a,b,c: real;

begin

clrscr;

write(‘Nhap a = ‘); readln(a);

write(‘Nhap b = ‘); readln(b);

write(‘Nhap c = ‘); readln(c);

if (a = b) & (b = c) then writeln(‘La tam giac deu’)

else

writeln(‘Khong phai la tam giac deu’);

readln

end.

Bài tập 2. 5

Viết công tác xét xem một tam giác bao gồm là tam giác cân hay là không khi biết bố cạnh của tam giác.

a.Hướng dẫn:

Nhập tía cạnh của tam giác vào cha biến a,b,c.Nếu a = b hoặc b = c hoặc a = c thì tam giác là tam giác cân và trái lại tam giác không là tam giác cân.

b.Mã chương trình:

Program Tam_giac_can;

uses crt;

var a,b,c: real;

begin

clrscr;

write(‘Nhap a = ‘); readln(a);

write(‘Nhap b = ‘); readln(b);

write(‘Nhap c = ‘); readln(c);

if (a = b) or (b = c) or (a = c) then writeln(‘La tam giac can’)

else

writeln(‘Khong phai la tam giac can’);

readln

end.

 

Bài tập 2. 6

Viết công tác xét xem một tam giác có là tam giác vuông hay không khi biết ba cạnh của tam giác.

a.Hướng dẫn:

Nhập ba cạnh của tam giác vào cha biến a,b,c.Nếu a2 = b2 + c2 hoặc b2 = c2 + a2 hoặc c2 = a2+b2 thì tam giác là tam giác vuông và ngược lại tam giác ko là tam giác vuông.

 

b.Mã chương trình:

Program Tam_giac_can;

uses crt;

var a,b,c: real;

begin

clrscr;

write(‘Nhap a = ‘); readln(a);

write(‘Nhap b = ‘); readln(b);

write(‘Nhap c = ‘); readln(c);

if (a*a = b*b+c*c) or (b*b = c*c+a*a) or (c*c= a*a+b*b) then writeln(‘La tam giac vuong’)

else

writeln(‘Khong phai la tam giac vuong’);

readln

end.

 

Bài tập 2.7:

Viết công tác giải phương trình ax + b = 0 (Các hệ số a, b được nhập từ bỏ bàn phím).

a.Hướng dẫn:

Nếu a ¹ 0 thì phương trình bao gồm nghiệm x =Nếu a = 0 cùng b = 0 thì phương trình gồm vô số nghiệm
Nếu a = 0 và b ¹ 0 thì phương trình vô nghiệm

 

Hoặc:

Nếu a = 0 thì xét b. Giả dụ b = 0 thì phương trình gồm vô số nghiệm ngược lại (b ¹0) thì phương trình vô nghiệm ngược lại (a ¹0) phương trình tất cả nghiệm x = .Mã chương trình:

Program Phuong_trinh_2;

uses crt;

var a,b:real;

begin

clrscr;

Writeln(‘ CHUONG TRINH GIAI PT ax + b = 0’);

Write(‘Nhap he so a = ‘);readln(a);

Write(‘Nhap he so b = ‘);readln(b);

if (a0) then writeln(‘phuong trinh’,a:10:2,’x + ‘,b:10:2,’= 0′,’ teo nghiem x =;’,-b/a:10:2);

if (a=0) and (b=0) then writeln(‘Phuong trinh co vo so nghiem’);

if (a=0) và (b0) then writeln(‘Phuong trinh vo nghiem’);

readln

 

end.

 

 

Hoặc:

Program Phuong_trinh_2;

uses crt;

var a,b:real;

begin

clrscr;

Writeln(‘ CHUONG TRINH GIAI PT ax + b = 0’);

Write(‘Nhap he so a = ‘);readln(a);

Write(‘Nhap he so b = ‘);readln(b);

if (a0) then writeln(‘phuong trinh’,a:10:2,’x + ‘,b:10:2,’= 0′,’ co nghiem x =;’,-b/a:10:2)

else

if (b=0) then writeln(‘Phuong trinh teo vo so nghiem’)

else

writeln(‘Phuong trinh vo nghiem’);

readln

 

end.

 

Bài tập 2.8:

Viết chương trình giải phương trình ax2 + bx + c = 0 Với những hệ số a,b,c được nhập từ bàn phím.

phía dẫn:

– Nhập những số các hệ số vào các biến a,b,c.

– Tính delta = b2 – 4ac.

– ví như delta > 0 thì phương trình có hai nghiệm x1 = (-b + sqrt(delta))/(2a)

x2 = (-b – sqrt(delta))/(2a)

– nếu như delta = 0 thì phương trình teo nghiệm kép x = -b/(2a)

– nếu delta Mã chương trình:

Program Phuong_trinh_Bac_hai;

uses crt;

var a,b,c,delta,x1,x2:real;

begin

clrscr;

write(‘Nhap a = ‘); readln(a);

write(‘Nhap b = ‘); readln(b);

write(‘Nhap c = ‘); readln(c);

delta:=b*b-4*a*c;

if delta > 0 then

begin

x1:= -b+sqrt(delta)/(2*a);

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

writeln(‘Phuong trinh teo hai nghiem phan biet’);

writeln(‘x1=’,x1:10:2);

writeln(‘x2=’,x2:10:2);

end;

if delta = 0 then

begin

x1:= -b/(2*a);

writeln(‘Phuong trinh co nghiem kep’);

writeln(‘x1=x2=’,x1:10:2);

end;

if delta

 

Bài tập 2.9:

Viết chương trình dịch các ngày vào tuần sang tiếng anh

2

3

4

5

6

7

8

Monday

Tuesday

Wednesday

Thursday

Friday

Saturday

Sunday

 

Hướng dẫn:Dùng trở thành a đẳng cấp byte để chứa thứ (2 mang đến 8)Trường hòa hợp a = 2: Monday
Trường hòa hợp a = 3: Thursday…Trường hòa hợp a = 8: Sunday
Ngoài ra không hề thứ nào.Mã chương trình:

Program dich;

uses crt;

Var thu:byte;

begin

clrscr;

write(‘nhap thu can dich 2à8: ‘); readln(thu);

case thu of

2: Write(‘–> Monday’);

3: Write(‘–> Tuesday’);

4: Write(‘–> Wednesday’);

5: Write(‘–> Thursday’);

6: Write(‘–> Friday’);

7: Write(‘–> Saturday’);

8: Write(‘–> Sunday’);

else

Write(‘ Khong co thu nay’);

end;

readln

end.

 

 

 

Bài tập 2.10

Viết chương trình có thể chấp nhận được tính diện tích những hình: Hình vuông; Hình chữ nhật; Hình tròn; Tam giác; Hình thang. Người tiêu dùng chọn hình buộc phải tính diện tích từ bảng chọn, tiếp nối khai báo các thông số kỹ thuật liên quan và nhận được diện tích s của hình:

MOI BAN CHON HINH CAN TINH DIEN TICH

 

Hình vuông.Hình chữ nhật.Hình tròn
Tam giác
Hình thang.

Muốn tình diện tích s tam giác, người dùng gõ D cùng khai báo mặt đường cao, đáy. Lịch trình tính với thông diện tích s đến fan dùng.

phía dẫn:

– Dùng kết cấu chọn Case chon of với chon tất cả kiểu Char để tạo thành bảng chọn.

– sử dụng 3 biến hóa a,b,c nhằm lưu các thông số kỹ thuật của hình; phát triển thành S nhằm lưu diện tích s của hình.

– tiến hành chung câu thông báo diện tích (Nằm ngoài Case . . . Of) nhằm gọn chưong trình.

Mã chương trình:

Program Dien_Tich_cac_hinh;

uses crt;

var chon: byte;

a,b,c,S: real;

Begin

clrscr;

writeln(‘CHUONG TRINH TINH DIEN TICH CAC HINH’);

Writeln(‘ ————‘);

writeln(‘1. DIEN TICH HINH TAM GIAC’);

writeln(‘2. DIEN TICH HINH VUONG’);

writeln(‘3. DIEN TICH HINH CHU NHAT’);

writeln(‘4. DIEN TICH HINH THANG’);

writeln(‘5. DIEN TICH HINH TRON’);

write(‘Moi ban chon hinh can tinh dien tich: ‘);readln(chon);

(case upcase chon) of

1 : Begin

Write(‘Cho biet canh day: ‘); readln(a);

Write(‘Cho biet chieu cao: ‘); readln(b);

S:=(a*b)/2;

end;

2:Begin

Write(‘Cho biet chieu dai canh: ‘); readln(a);

S:=a*a;

end;

3:Begin

Write(‘Cho biet chieu dai: ‘); readln(a);

Write(‘Cho biet chieu rong: ‘); readln(b);

S:=a*b;

end;

4:Begin

Write(‘Cho biet day lon: ‘); readln(a);

Write(‘Cho biet day nho: ‘); readln(b);

Write(‘Cho biet chieu cao: ‘); readln(c);

S:=(a+b)*c/2;

End;

5:Begin

Write(‘Cho biet ban kinh: ‘); readln(a);

S:=a*a*pi;

End;

else

Writeln(‘Chon không nên roi!!!’);

end;

Writeln(‘Dien tich cua hinh la: ‘,S:8:2);

readln

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

III. Kết cấu lặp với số lần lặp đang biết: For … to lớn … do

Bài tập 3.1:

Viết công tác in ra các số chẵn nhỏ hơn hoặc bằng n ( cùng với n được nhập).

hướng dẫn:

– Cho đổi mới i chạy từ 1 đến n.

– ví như i chẵn ( i chia 2 dư 0) thì in ra số n.

Mã chương trình:

 

Program In_So_Le;

Uses crt;

var i,n: integer;

Begin

Clrscr;

Write(‘Nhap so n =’); readln(n);

For i:=1 khổng lồ n do if i gian lận 2 =1 then Write(i:3,’,’);

readln

end.

 

 

 

Bài tập 3.2:

Viết công tác in ra các số lẻ nhỏ dại hơn hoặc bởi n ( với n được nhập). Sao cho 15 số lẻ được in ấn trên một dòng.

phía dẫn:

– đến j =0.

– Cho biến I chạy từ là một đến n.

– trường hợp I chẵn ( I phân tách 2 dư 0) thì in ra số n và tăng j lên 1

– nếu như j phân chia hết mang đến 15 thì thực hiện xuống cái (Dùng Writeln).

Mã chương trình:

Program In_So_Le;

Uses crt;

var Dem,i,n: integer;

Begin

Clrscr;

Write(‘Nhap so n =’); readln(n);

Dem:= 0;

For i:=1 to n bởi vì if i mod 2 =1 then

Begin Write(i:3,’,’);

Dem:= Dem + 1;

if Dem hack 15 = 0 then Writeln;

end;

readln

end.

 

 

 

Bài tập 3.3:

Viết lịch trình in ra tổng những số lẻ nhỏ tuổi hơn hoặc bởi n ( cùng với n được nhập).

phía dẫn:

– đến S = 0.

– Cho biến đổi i chạy từ một đến n.

– ví như i chẵn ( I chia 2 dư 0) thì cộng thêm I vào S.

– In ra S.

Mã chương trình:

Program In_So_Le;

Uses crt;

var S,i,n: integer;

Begin

Clrscr;

Write(‘Nhap so n =’); readln(n);

For i:=1 khổng lồ n vì chưng if i hack 2 =1 then S:= S+i;

Writeln(‘Tong cac so le nho hon ‘,n,’ la: ‘,S);

readln

end.

 

 

Bài tập 3.4:

Viết lịch trình in ra tất cả các cầu của một vài n (Với n được nhập tự bàn phím)

hướng dẫn:

– Cho biến hóa i chạy từ là 1 đến n.Nếu n phân tách hết cho i thì in ra i.

Mã chương trình:

Program Tim_uoc;

uses crt;

Var n, i: integer;

Begin

clrscr;

Write(‘Nhap so n =’); readln(n);

For i:=1 lớn n bởi if n gian lận i = 0 then write(i:3,’,’);

readln

end.

 

 

Bài tập 3.5:

một vài có tổng các ước bé dại hơn nó bởi chính nó được gọi là số trả chỉnh.

Ví dụ: 6 có những ước bé dại hơn nó là 1, 2, 3. Tổng là một trong những + 2 + 3 = 6.

Viết lịch trình xét xem một trong những n được nhập từ bỏ bàn phím có phải là số hoàn hảo không.

hướng dẫn:

– Dùng biến hóa n giữ số bắt buộc xét.

– thay đổi S có mức giá trị lúc đầu bằng 0.

– đến i chạy từ là 1 đến n-1. Trường hợp i là cầu của n thì thêm vào đó i vào S.

– ví như S = n thì S là số hoàn chỉnh.

 

Mã chương trình:

 

Program So_Hoan_Chinh;

uses crt;

var n, i, s: integer;

begin

write(‘nhap so n: ‘);readln(n);

s:=0;

for i:= 1 khổng lồ n -1 do if n thủ thuật i = 0 then s:=s+i;

if s = n then write(n, ‘ la so hoan chinh’)

else writeln(n, ‘ khong phai la so hoan chinh’);

readln

end.

 

 

Bài tập 3.6:

Viết chương trình tìm các số hoàn chỉnh nhỏ tuổi hơn n (Với n được nhập từ bàn phím).

phía dẫn:

Cho biến chuyển i chạy từ là 1 đến n. Xét i. Nếu như nó là số hoàn hảo thì in ra.

Mã chương trình:

Program Tim_uoc_2;

uses crt;

Var S, n, i,j: longint;

Begin

clrscr;

Write(‘Nhap so n =’); readln(n);

For i:=1 khổng lồ n do

Begin

S:=0;

For j:=1 lớn i bởi if i thủ thuật j = 0 then S:=S+j;

if S = 2*i then write(i:6,’,’);

end;

readln

end.

 

 

 

Bài tập 3.7

In bảng cửu chương n (Với n nhập tự bàn phím)

a.Hướng dẫn :

Mã chương trình:

Program Cuu_Chuong_1;

uses crt;

var n, i : integer;

begin

clrscr;

write(‘Nhap n: ‘); readln(n);

for i:= 1 lớn 9 bởi vì writeln(n,’ x ‘, i, ‘ = ‘, n*i);

readln

end.

 

Bài tập 3.8

thứu tự in các bảng cửu chương.

a.Hướng dẫn :

– Cho đổi thay i chạy từ 2 mang lại 9

– In bảng cửu chương i.

Mã chương trình:

Program Cuu_Chuong_1;

uses crt;

var i,j : integer;

begin

clrscr;

for i:= 2 lớn 9 do

Begin

Writeln(‘Bang cuu chuong ‘,i);

For j := 1 to lớn 9 vì writeln(i,’ x ‘, j, ‘ = ‘, j*i);

readln

end;

readln

end.

 

 

 

Bài tập 3.9

Viết lịch trình xét xem một số n có phải là số thành phần không?

a.Hướng dẫn:

– Cho đổi thay i chạy trường đoản cú 2 mang lại n – 1 trường hợp n không chia hết đều số i thì thì n là số nguyên tố.

– áp dụng biến ok gồm kiểu boolean và có giá trị ban sơ là true. Cứ mỗi lần xét phép phân tách n cho i thì

b.Mã chương trình:

 

Program Nguyen_to_1;

uses crt;

var n, i: integer;

ok: boolean;

begin

ok:=true;

write(‘Nhap n: ‘);readln(n);

for i:= 2 khổng lồ n – 1 do if n mod i = 0 then ok :=ok và false;

if ok then write(n,’ la so nguyen to’)

else write(n, ‘ khong la so nguyen to’);

readln

end.

 

Bài tập 3.10

Viết công tác in ra toàn bộ các số nguyên tố bé hơn hoặc bằng n?

phía dẫn:

 

Mã chương trình:

Program Nguyen_to_1;

uses crt;

var n, i, j: integer;

ok: boolean;

begin

clrscr;

write(‘Nhap n: ‘); readln(n);

for i := 2 khổng lồ n do

begin

ok:=true;

for j:= 2 lớn i – 1 vì chưng if i hack j = 0 then ok :=ok and false;

if ok then write(i,’;’)

end;

readln

end.

 

 

 

 

cấu trúc lặp với chu kỳ lặp chưa biết

Bài tập 4.1:

Viết chương trình in ra những số lẻ bé dại hơn hoặc bằng n ( với n được nhập).

phía dẫn:

– Sử dụng kiến thức số lẻ thứ nhất bằng 1. Số lẻ sau thông qua số trước cùng với 2.

– Cho trở thành i có giá trị thuở đầu bằng 1.

– dùng vòng lặp while vì chưng với điều kiện i Mã chương trình:

Program In_So_Le;

uses crt;

var i,n:integer;

begin

clrscr;

write(‘Nhap so n: ‘);readln(n);

i:=1;

while i

Nhận xét:

– hồ hết vòng lặp For … to lớn … vì đều có thể thay thế bằng vòng lặp while … do.

– trong khoảng lặp while tốt nhất thiết phải có một câu lệnh làm đổi khác điều khiếu nại lặp. Ở đó là i:=i+2. Nếu không có sẽ dẫn đến trường hợp lặp vô hạn. Chương trình chạy mãi mà không có lối ra (Không thoát thoát ra khỏi vòng lặp được).

 

Bài tập 4.2:

Viết chương trình tính n! cùng với n! được tư tưởng như sau:

– n! = 1 cùng với n = 0

– n! = 1.2.3…n (Tích của n số từ 1 đến n).

Yêu cầu: sử dụng vòng lặp cùng với số lần chưa biết trước:

Hướng dẫn:

– rất có thể viết lại: n! = n.(n-1)… 3.2.1.

– Lặp gt = gt*n; n = n-1 với đk n>0.

Mã chương trình:

Program Giai_Thua_while;

uses crt;

var n, gt:longint;

begin

clrscr;

write(‘Nhap n: ‘);readln(n);

gt:=1;

while n>0 do

begin

gt:=gt*n;

n:=n-1;

end;

writeln(‘Giai thất bại cua n la: ‘,gt);

readln

end.

 

dấn xét: Tiết kiệm được một trở nên i để chạy tuy thế làm chuyển đổi n nên lúc xuất ra chỉ rất có thể xuất một câu thông thường chung “Giai thất bại cua n la:”

 

Bài tập 4.3:

Viết công tác tính n! với n! được khái niệm như sau:

– n!! = 1 với n = 0

– n!! = 1.3.5..n cùng với n lẻ.

– n!! = 2.4.6..n cùng với n chẵn.

Yêu cầu: sử dụng vòng lặp cùng với số lần chưa biết trước:

Hướng dẫn:

– nhị số chẵn tiếp tục hơn kém nhau 2. Nhị số lẻ thường xuyên cũng vậy.

– tiến hành tính như giai quá đơn nhưng với bước nhảy đầm là 2.

Mã chương trình:

Program Giai_thua_kep;

uses crt;

var n,gt:longint;

begin

write(‘Nhap n: ‘);readln(n);

gt:=1;

while n>0 do

begin

gt:=gt*n;

n:=n-2;

end;

write(‘Giai thua trận la: ‘,gt);

readln

end.

 

thừa nhận xét:

– cùng với thuật toán bên trên ta không nên xét n là chẵn tuyệt lẻ.

 

Bài tập 4.4:

Viết chương trình chất nhận được tính tổng của rất nhiều số (Chưa biết từng nào số). Nhập số 0 để xong xuôi quá trình nhập.

Hướng dẫn:Mã chương trình:

Program Tong_Repeat;

uses crt;

var i: byte;

so, tong: real;

begin

write(‘NHAP CAC SO – NHAP 0 DE NGUNG ‘);

readln;

repeat

clrscr;

write(‘Nhap so thu ‘,i,’: ‘);

readln(so);

tong:=tong+so;

i:=i+1;

until so=0;

write(‘Tong la: ‘,tong:6:1);

readln

end.

 

 

Bài tập 4.5

Viết chương trình tìm cầu chung lớn số 1 (UCLN) của nhị số với yêu cầu sử dụng thuật toán Euclid.

Thuật toán Euclid: nếu như a chia hết đến b (a phân chia b dư 0) thì UCLN(a,b) bởi b

nếu a chia b dư r thì UCLN(a,b) = UCLN(b,r)

a.Hướng dẫn:

– Nhập a, b với gán r = a mod b.

– Lặp với điều kiện r 0: b = r, a = b, r = a thủ thuật b.

b.Mã chương trình:

Program UCLN;

uses crt;

var a,b,r:byte;

begin

clrscr;

writeln(‘CHUONG TRINH TIM UCLN CUA hai SO’);

write(‘Nhap a: ‘);readln(a);

write(‘Nhap b: ‘);readln(b);

r:=a mod b;

while r 0 do

begin

b:=r;

a:=b;

r:=a thủ thuật b;

end;

write(‘UCLN cua nhị so la: ‘,b);

readln

end.

 

 

Bài tập 4.6

hàng Fibonacy tất cả hai thành phần đầu là 1, 1. Các phần tử sau bằng tổng hai phần tử đứng ngay lập tức trước nó: 1, 1, 2, 3, 5, 8, 13, 21, …

Viết chương trình in ra dãy Fibonacy có thành phần lớn nhất bé dại hơn n?

a.Hướng dẫn:

 

 

b.Mã chương trình:

 

 

 

V.DỮ LIỆU KIỂU MẢNG

Bài tập 5.1

Viết chương trình có thể chấp nhận được nhập n số và in ra theo lắp thêm tự ngược lại. Ví dụ như nhập 3, 5, 7 thì in ra 7, 5, 3.

a.Hướng dẫn:

Dùng biến hóa n để lưu lượng số đề nghị nhập.Dùng mảng nhằm lưu các số vừa nhập.Cho i chạy tự n về 1 để in các số vừa nhập.

b.Mã chương trình:

Program mang_1;

uses crt;

var n, i: integer;

M: array<1..100> of real;

Begin

write(‘Nhap so n: ‘);readln(n);

for i:=1 khổng lồ n do

Begin

write(‘M<‘,i,’>=’); readln(M);

end;

for i:= n downto 1 vì chưng write(m,’ ,’);

readln

end.

 

Bài tập 5.2

Viết công tác nhập dãy n số với in ra tổng những số lẻ trong hàng số vừa nhập.

phía dẫn:

 

Mã chương trình:

Program Mang_Tong_Le;

uses crt;

var i,n:byte;

M:array<1..100> of integer;

tong:longint;

begin

write(‘Nhap so phan tu cua day: ‘);readln(n);

for i:=1 to lớn n do

begin

write(‘M<‘,i,’>’); readln(M);

end;

tong:=0;

for i:=1 to n vì chưng if M thủ thuật 2 =1 then

tong:=tong+M;

write(‘Tong cac so le trong day la: ‘,tong);

readln

end.

 

 

Bài tập 5.3

Viết công tác nhập n số, xoá số đồ vật k trong n số vừa nhập.In ra n-1 số còn lại.

n= 10 (Nhập 10 phần tử)

Ví dụ: Nhập 2, 3, 4, 5, 6, 8, 7, 6, 5, 4.

k= 8 (Xoá thành phần thứ 8).

In ra: 2, 3, 4, 5, 6, 8, 7, 5, 4.

phía dẫn:

Xoá phần tử k bằng phương pháp ghi đè phần tử thứ k+1 lên nó.

Mã chương trình:

Program Xoa_mang;

uses crt;

var m:array<1..100> of integer;

n,i,k:byte;

begin

Write(‘So phan tu cua day: ‘);readln(n);

for i:=1 khổng lồ n do

Begin

write(‘M<‘,i,’>=’);

readln(M);

end;

write(‘Nhap phan tu can xoa: ‘);readln(k);

for i:=k khổng lồ n-1 vì chưng m:=m;

for i:=1 to n-1 bởi write(m,’, ‘);

readln

end.

 

Bài tập 5.4

Viết chương trình được cho phép nhập nhập một dãy có n số nguyên. Nhập thêm một số và chèn cung ứng dãy sau thành phần k.

Hướng dẫn:

– Dời các thành phần từ địa chỉ k sau đây một bước.

– Nhập giá trị yêu cầu chèn vào địa chỉ k.

Mã chương trình:

Program Mang_chen;

uses crt;

var M: array<1..100> of integer;

i,n,k:integer;

begin

clrscr;

write(‘Nhap : ‘);readln(n);

for i:=1 khổng lồ n do

begin

write(‘M<‘,i,’>=’); readln(M);

end;

write(‘Vi tri chen: ‘);readln(k);

for i:=n+1 downto k+1 do M:=M;

write(‘Nhap so can chen: ‘); readln(M);

for i:=1 lớn n+1 vì write(M,’, ‘);

readln

end.

 

Bài tập 5.5

Viết chương trình có thể chấp nhận được nhập n số và cho biết số nhỏ nhất trong những số vừa nhập là số sản phẩm mấy.

a.Hướng dẫn:

Dùng đổi mới n nhằm lưu lượng số bắt buộc nhập.Dùng mảng nhằm lưu các số vừa nhập.Cho Min = M<1>, j = 1 (Xem bộ phận đầu tiên là bé xíu nhất)So sánh Min cùng với n-1 số còn lại. Trong quá trình so sánh ví như Min > M thì gán Min = M, j=i và liên tiếp so sánh .

b.Mã chương trình:

Program TIM_NHO_NHAT;

uses crt;

var n,i,nhonhat:integer;

m: array<1..100> of real;

min:real;

begin

write(‘Nhap n: ‘); readln(n);

for i:=1 lớn n do

begin

write(‘M<‘,i,’>=’);

readln(m);

end;

min:=m<1>;

nhonhat:=1;

for i:=2 to n vị if m

 

Bài tập 5.6

Viết chương trình có thể chấp nhận được nhập n số sắp xếp và in ra những số đã nhập theo sản phẩm tự tăng dần.

phía dẫn:

 

Mã chương trình:

Program Sap_xep_1;

uses crt;

var n,i,k,nhonhat:integer;

m: array<1..100> of integer;

min,tam:integer;

begin

— Nhap với co n phan tu——

write(‘Nhap n: ‘); readln(n);

for i:=1 to lớn n do

begin

write(‘M<‘,i,’>=’);

readln(m);

end;

—Tim so be nhat ——–

for k:=1 to lớn n do

begin

min:=m;

nhonhat:=k;

for i:=k+1 khổng lồ n vì if m

 

Bài tập 5.7:

Viết công tác in hàng n số fibonacy.

a.Hướng dẫn:

– thực hiện mảng M để cất dãy n số fibonacy. Tạo lập hai bộ phận đầu tiên là 1, 1.

– đến i chạy trường đoản cú 3 mang đến n. M = M+M.

– In n thành phần đầu tiên của mảng.

b.Mã chương trình:

Program Fibonacy_mang;

uses crt;

var i,n: integer;

m:array<1..100> of longint;

begin

write(‘Nhap so phan tu can in:’); readln(n);

m<1>:=1;

m<2>:=1;

for i:=3 lớn n bởi vì m:=m+m;

for i:=1 to n vì chưng write(m,’ ,’);

readln

end.

 

Bài tập 5.8

Để xác định hệ số mang đến đa đồ vật khai triển (a+b)n tín đồ ta thực hiện tam giác Pascal.

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

… Hàng vật dụng n được xác minh từ hàng n-1:

– thành phần đầu tiên và phần tử cuối cùng đều bởi 1.

– bộ phận thứ 2 là tổng của bộ phận thứ duy nhất và thứ 2 của mặt hàng n-1

– thành phần thứ k của hàng trang bị n là tổng cảu phần tử thứ k-1 cùng k của hàng vật dụng n-1.

hướng dẫn :

– cần sử dụng hai mảng: Tam, với m để chế tạo ra và in các hàng của tam giác.

– Khởi động mang lại mảng m<1>=1; m<2>:=1

– Lập mảng tam cho chiếc i.

– gửi mảng tạm mang lại mảng m.

– In ra chiếc i.

Mã chương trình:

Program Tam_giac_Pascal;

uses crt;

var n,i,j:integer;

m,tam: array<1..100> of integer;

begin

write(‘Nhap bac cua tam giac: ‘);readln(n);

m<1>:=1;

m<2>:=1;

for i:=1 to lớn n do

begin

Phan tu dau bang 1

tam<1>:=1;

for j:=2 khổng lồ i-1 bởi tam:=m+m;

Phan tu cuoi bang 1

tam:=1;

Chuyen cac phan tu tu có tam sang với m

for j:=1 to i vày m:=tam;

in ra hang thu i

for j:=1 to lớn i bởi write(m:3); writeln;

end;

readln

end.

 

 

Bài tập 5.9

Viết chương trình được cho phép nhập.

Hướng dẫn:Mã chương trình:

 

 

Bài tập 5.10

Viết chương trình được cho phép nhập.

Hướng dẫn:Mã chương trình:

 

công tác con

Bài tập 6.1:

Viết chương trình giải phương trình bậc nhì với yêu mong sử dụng những chương trình nhỏ để xử lý các trường thích hợp xãy ra của delta.

Hướng dẫn:Mã chương trình:

Program Giai_PT_bac_hai;

uses crt;

var a,b,c,delta:real;

———————-

Procedure delta_duong;

begin

write(‘Phuong trinh teo hai nghiem x1=’,(-b+sqrt(delta))/(2*a),’x2=’,(-b+sqrt(delta))/(2*a));

end;

———————

Procedure delta_khong;

begin

write(‘Phuong trinh teo nghiem kep x=’,-b/(2*a):3:1);

end;

——————–

Procedure delta_am;

begin

writeln(‘Phuong trinh vo nghiem’);

end;

Chuong trinh chinh

Begin

clrscr;

write(‘Nhap a: ‘);readln(a);

write(‘Nhap b: ‘);readln(b);

write(‘Nhap c: ‘);readln(c);

delta:=b*b-4*a*c;

if delta>0 then delta_duong

else if delta = 0 then delta_khong

else delta_am;

readln

end.

 

thừa nhận xét: công tác con có thể chấp nhận được chia bé dại công bài toán nhằm đơn giản dễ dàng hoá. Trong khi lập trình đòi hỏi kỹ năng lập trình theo nhóm.Mỗi người tiến hành một mô-đun riêng, sau đó thự hiện tại ghép nối để có chương trình trả chỉnh.

Bài tập 6.2:

Viết chương trình chất nhận được nhập nhì số vào nhì biến, thực hiện đổi giá trị của hai biến cho nhau. Yêu cầu cần sử dụng chương trình nhỏ để thực hiện chức năng đổi giá bán trị.

Hướng dẫn: Mã chương trình:

Program CTC_1;

uses crt;

var a,b: real;

—-CTC doi gia tri—-

Procedure swap(var x,y:real);

var tam:real;

begin

tam:=x;

x:=y;

y:=tam;

end;

—–Ket thuc CTC—–

begin

clrscr;

write(‘Nhap so a: ‘);readln(a);

write(‘Nhap so b: ‘);readln(b);

swap(a,b);

write(‘Sau lúc doi a =’,a:3:1);

write(‘Sau khi doi b =’,b:3:1);

readln

end.

 

dấn xét:

– Nếu quăng quật từ var sinh hoạt khai báo var x,y:real thì chương trình vẫn không báo lỗi nhưng tính năng đổi quý hiếm của hai trở nên không tiến hành được.

Bài tập 6.3:

Viết chương trình tính giai thừa của số n (Viết là n!). Với yêu thương cầu:

– Nếu người tiêu dùng nhập số n hướng dẫn:Mã chương trình:

Program CTC_2;

uses crt;

var n:integer;x:longint;

Procedure Giai_Thua(var GT:longint; n:byte);

begin

GT:=1;

while n>0 do

begin

GT:=GT*n;

n:=n-1;

end;

end;

begin

repeat

clrscr;

write(‘Nhap so n: ‘);readln(n);

if n =0’);readln; end;

until n>=0;

Giai_Thua(x,n);

writeln(‘Giai thảm bại cua ‘,n,’la:’,x);

readln

end.

 

 

Bài tập 6.4:

Viết công tác tính n! với yêu cầu sử dụng hàm để tính giai thừa.

Hướng dẫn:Mã chương trình:

Program Giai_thua_Ham;

uses crt;

var n: longint;

Function Giai_Thua(n:longint):longint;

Var GT:Longint;

begin

GT:=1;

while n > 0 do

begin

GT:=GT * n;

n:=n-1;

end;

Giai_thua:=GT;

end;

begin

clrscr;

write(‘Nhap n: ‘); readln(n);

write(n,’!=’,Giai_thua(n));

readln

end.

 

 

Bài tập 6.5:

Viết chương trình chất nhận được thực hiện tại rút gọn gàng phân số.

Hướng dẫn:

– tìm kiếm UCLN của tử số và mẫu số.

– phân tách tử và mẫu của phân số mang lại UCLN vừa tra cứu được.

Mã chương trình:

Program Rut_gon_phan_so;

uses crt;

var tu,mau:integer;

Function UCLN(a,b:integer):integer;

var r: integer;

begin

r:= a thủ thuật b;

while r 0 do

begin

a:= b;

b:= r;

r:=a hack b;

end;

UCLN:=b;

end;

begin

clrscr;

write(‘Nhap tu: ‘); readln(tu);

write(‘Nhap mau: ‘); readln(mau);

write(‘Ket qua rut gon: ‘,tu,’/’,mau,’=’,tu div UCLN(tu,mau),’/’,mau div UCLN(tu,mau));

readln

end.

 

 

Bài tập 6.6:

Viết chương trình được cho phép trộn hai dãy số A với B cùng có số bộ phận là k để được hàng số C theo yêu cầu sau:

A = a1, a2 … ak

B = b1, b2 … bk

Được C = a1, b1, a2, b2 … ak, bk.

 

Hướng dẫn:Mã chương trình:

Program Tron_day;

uses crt;

type kieu_mang = array<1..100> of integer;

var A, B, C: Kieu_mang;

n,i,j: integer;

Procedure Nhap_Mang(Var X: Kieu_mang; n:byte);

var i:integer;

begin

for i:=1 khổng lồ n do

begin

write(‘M<‘,i,’>=’);readln(X);

end;

end;

Procedure In_Mang(X:kieu_mang; n:byte);

var i: byte;

begin

for i:=1 khổng lồ n vì chưng write(x,’, ‘);

end;

———–

begin

clrscr;

write(‘Nhap so phan tu cua day: ‘);read(n);

Nhap_mang(A,n);

Nhap_mang(B,n);

i:=1;

j:=1;

while i

 

Bài tập 6.7:

Viết chương trình in ra những số nguyên tố nhỏ dại hơn n với yêu cầu cần sử dụng hàm để kiểm tra một vài có đề xuất là số nguyên tố tuyệt không.

hướng dẫn:

Mã chương trình:

Program In_so_nguyen_to;

uses crt;

var n, i: integer;

——Ham kiem tra——-

Function kiem_tra(n:integer):boolean;

var i: integer;

begin

kiem_tra:=true;

for i:=2 khổng lồ n-1 vày if (n mod i) = 0 then kiem_tra:=false;

end;

——CTC—————-

begin

clrscr;

write(‘Nhap n: ‘); readln(n);

for i:=2 khổng lồ n do if kiem_tra(i) then write(i:3, ‘, ‘);

readln;

end.

 

 

Bài tập 6.8:

Viết chương trình chất nhận được sắp xếp một hàng số cùng với yêu mong sử dụng những chương trình con: Nhập mảng, in mảng, đổi cực hiếm của nhì số.

phía dẫn: Mã chương trình:

Program Sap_xep_day;

uses crt;

type kieu_mang =array<1..100> of integer;

Var A: kieu_mang;

n,i,j:byte;

———————

Procedure Nhap_mang(var M:Kieu_Mang;n:byte);

Var i:byte;

begin

for i:=1 khổng lồ n do

begin

write(‘M<‘,i,’>=’);readln(M);

end;

end;

———————

Procedure In_mang(var M:Kieu_Mang;n:byte);

Var i:byte;

begin

for i:=1 to lớn n vì chưng write(M:3,’, ‘)

end;

 

———————

Procedure swap(var a,b:integer);

var tam:integer;

begin

tam:=b;

b:=a;

a:=tam;

end;

———————

 

Begin

Clrscr;

write(‘Cho biet so phan tu cua day: ‘);readln(n);

nhap_mang(A,n);

for i:=1 to n-1 do

for j:= i lớn n vì chưng if A>A then swap(A,A);

In_mang(A,n);

readln

end.

 

 

Bài tập 6.9:

Viết chương trình tính n! bởi kỹ thuật đệ qui.

hướng dẫn:

Nếu = 0 thì n! = 1 ngược lại n! = n*(n-1)!

Mã chương trình:

Program Giai_thua_de_qui;

uses crt;

var n: longint;

function Giai_thua(n:longint):longint;

begin

if n=0 then giai_thua:=1

else Giai_thua:=n*Giai_thua(n-1);

end;

begin

clrscr;

write(‘Nhap n: ‘); readln(n);

write(n,’!=’,Giai_thua(n));

readln

end.

 

nhấn xét:

hàng số fibonacy được định nghĩa: F(1) = 1; F(2) = 1; F(n) = F(n-1) + F(n-2).

Dựa vào khái niệm này ta hoàn toàn có thể viết Fi(n) để tính số hạng sản phẩm n của dãy.

Bài tập 6.10:

Viết chương trình có thể chấp nhận được tìm cầu chung lớn số 1 của hai số bằng kỹ thuật đệ qui.

phía dẫn:

– nếu như a phân tách b dư 0 thì UCLN(a,b)=b ngược lại UCLN(a,b)=UCLN(b, a gian lận b)

 

Mã chương trình:

Program UCLN_de_qui;

uses crt;

var a,b: integer;

Function UCLN(a,b:integer):integer;

begin

if a mod b = 0 then UCLN:=b

else UCLN:=UCLN(b,(a thủ thuật b));

end;

begin

clrscr;

write(‘Nhap a: ‘);readln(a);

write(‘Nhap b: ‘);readln(b);

write(‘UCLN(‘,a,’,’,b,’)=’,UCLN(a,b));

readln

end.

 

 

 

 

 

 

 

 

 

 

 

 

VII. Dữ liệu kiểu xâu ký tự:

Bài 7.1:

Viết đoạn chương trình cho phép đọc một xâu ký kết tự và bình chọn xâu này còn có đối xứng không.

Ví dụ: Xâu “abcddcba” là xâu đối xứng. Xâu “abcdabcd” không đối xứng.

a.Hướng dẫn:

Mã chương trình:

Program xau_doi_xung;

var st:string;

doi_xung: boolean;

i,n:byte;

begin

write(‘Nhap xau can kiem tra: ‘); readln(st);

doi_xung:= true;

n:=length(st);

for i:=1 lớn n div 2 do

if st st then doi_xung:=false;

if doi_xung then write(‘Xau doi xung’) else write(‘Khong doi xung’);

readln

end.

 

Nhận xét:

– sử dụng thêm phát triển thành n để công tác rõ ràng, dễ theo dõi. Hoàn toàn có thể thay n bằng length(st);

– hoàn toàn có thể thay for i:=1 to lớn n div 2 bởi for i:=1 khổng lồ n tuy thế lúc đó chương trình cần xét n trường hợp cầm cố vì chỉ cần xét n/2 ngôi trường hợp.

– Thuật toán của bài này tương đương với thuật toán xét xem một số có nên là số nguyên tố không (Thuật toán lính canh).

Bài 7.2:

Viết chương trình chất nhận được viết hoa cam kết tự đầu từ vào một xâu.

Ví dụ: le nho duyet -> Le Nho Duyet

Hướng dẫn:Mã chương trình:

Program Doi_chu;

uses crt;

var st: string;

i:byte;

begin

clrscr;

write(‘Nhap xau can doi:’); readln(st);

for i:= 1 to lớn length(st) bởi if (st=’ ‘) then st:=upcase(st);

st<1>:=upcase(st<1>);

write(st);

readln

end.

 

Nhận xét:

Bài 7.3:

Viết công tác xoá các dấu biện pháp thừa trong một xâu cam kết tự (Giữa nhì từ chỉ gồm một vết cách.

Ví dụ: Le nho Duyet -> Le Nho Duyet

a.Hướng dẫn:

– tiến hành lặp cho tới khi không kiếm thấy hai cam kết tự trắng thường xuyên trong xâu: sửa chữa xâu hai cam kết tự trắng bằng xâu một ký tự trắng.

Mã chương trình:

Program Xoa_trang;

uses crt;

var st: string;

n:byte;

begin

clrscr;

write(‘Nhap xau can chuan hoa: ‘); readln(st);

n:= Pos(‘ ‘,st);

while n0 do

begin

delete(st,n,1);

n:=Pos(‘ ‘,st);

end;

write(st);

readln

end.

 

Nhận xét: không dùng đổi thay n lịch trình tuy khó khăn theo dõi hơn nhưng đơn giản hơn nhiều:

Thay: n:= Pos(‘ ‘,st);

while n0 do

begin

delete(st,n,1);

n:=Pos(‘ ‘,st);

end;

Bằng : while (‘ ‘,st) 0 bởi delete(st, Pos(‘ ‘,st),1)

Bài 7.4:

Viết chương trình mang lại phép bóc phần tên thoát khỏi xâu gồm họ và tên. Theo qui ước phương pháp ghi thương hiệu của giờ việt, thương hiệu là từ cuối cùng trong xâu.

Ví dụ: Le Nho Duyet -> Duyet.

a.Hướng dẫn:

Mã chương trình:

Program Tach_Ten;

uses crt;

var st,ten: string;

vitri,dai,i: byte;

begin

clrscr;

write(‘Nhap xau: ‘); readln(st);

for i:=1 lớn length(st) vì chưng if st=’ ‘ then vitri:=i+1;

writeln(vitri);

dai:=length(st) – vitri + 1;

ten:=Copy(st,vitri,dai);

write(ten);

readln

end.

 

nhận xét: lịch trình trên vẫn chạy sau trường hợp xâu tất cả ký tự trắng ngơi nghỉ cuối xâu (Lúc đó bài toán xác định vị trí của tên vẫn sai). Để hạn chế lỗi này ta cần thực hiện xoá ký kết tự trắng ở cuối xâu trước.

Bài 7.5:

Viết chương trình được cho phép dich xâu thanh lịch mã moocxo.

a.Hướng dẫn:

Mã chương trình:

Program Mooc_xo;

uses crt;

var st,mooc :string;

i: byte;

begin

write(‘Nhap cau bach van: ‘); readln(st);

for i:=1 to length(st) do

case st of

‘a’: mooc:=mooc + ‘ ‘+’._’;

‘b’: mooc:=mooc + ‘ ‘+’_.’;

end;

write(mooc);

readln

end.

Xem thêm: Hướng Dẫn Check In Online Vietnam Airlines Mới Nhất 2023, Làm Thủ Tục Trực Tuyến

 

nhấn xét:

– Đoạn chương trình mới chỉ mã hoá được hai ký tự a, b. Để có thể sử dụng cần khai báo cho những trường vừa lòng còn lại.

– thực tế không đề nghị phân biệt chữ hoa giỏi chữ thường nên ta qui về một kiểu. Để qui về mẫu mã chữ hoa ta cần sử dụng cas