Bạn đang xem: Phần mềm turbo pascal lớp 8
Bài tập 1.1:
Viết lịch trình tính chu vi và ăn diện tích của hình chữ nhật tất cả chiều nhiều năm hai cạnh là a, b (được nhập từ bỏ bàn phím).
hướng dẫn:– Nhập hai cạnh vào hai đổi thay a, b.
– Chu vi hình chữ nhật bằng 2*(a+b); diện tích s hình chữ nhật bởi 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.
|
Bài tập 1.2:
Viết chương 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 trở nên 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 vày 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.
|
Bài tập 1.3:
Viết chương trình tính chu vi và ăn mặc tích hình trụ có bán kính r (được nhập trường đoản cú bàn phím).
hướng dẫn:– Nhập nửa đường kính vào trở nên r.
– Chu vi con đường tròn bởi 2*p*r.
– Diện tích hình tròn 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.
|
Bài tập 1.4:
Viết công tác 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)
hướng dẫn:– Nhập cha cạnh của tam giác vào bố 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.
|
Bài tập 1.5:
Viết chương trình được cho phép tính trung bình cùng của bốn số.
phía dẫn:– Nhập tứ số vào bốn biến 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 cho phép tính trung bình cộng của bốn số với đk chỉ được sử dụng hai biến.
hướng dẫn:– cần sử dụng một biến đổi S có mức giá trị ban đầu bằng 0.
– sử dụng một phát triển thành để nhập số.
– sau khoản thời gian nhập một số trong những 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 tại việc cộng thêm a vào biến đổi S. Thực ra là thực hiện các bước: lấy giá trị của S cùng với a rồi ghi đè vào lại thay đổi S. Ở trên đây ta cũng đã sử dụng vươn lên là a như là 1 biến tạm nhằm chứa 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 cho phép tính mức độ vừa phải nhân của tứ số với điều kiện chỉ được thực hiện hai biến.
hướng dẫn:– cần sử dụng một biến chuyển S có giá trị ban đầu bằng 1.
– sử dụng một biến chuyển để nhập số.
– sau khoản thời gian nhập một vài nhân ngay lập tức vào phát triển thành S.
– vừa phải nhân bốn số là căn bậc 4 tích của bọn chúng (Dùng nhị 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. |
Bài tập 1.8:
Viết lịch trình nhập nhì số, đổi giá trị hai số rồi in ra hai số.
phía dẫn:– Dùng các biến a, b để lưu nhị số được nhập từ bàn phím;
– Gán cho biến chuyển tam quý giá của a.
– Gán quý giá của b cho a. (Sau lệnh này a có mức giá trị của b).
– Gán quý giá của tạm mang lại 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 lúc doi a =’,a,’ va b= ‘,b); readln end. |
Nhận xét:Nếu triển khai hai lệnh a:= b; b:=a nhằm đổi giá trị 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 tế sau lệnh đầu tiên hai phát triển thành đã có mức giá trị cân nhau và bởi b rồi! Trong thực tế để đổi nơi số dầu ở hai bình lẫn nhau ta cần 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à lại chỉ được sử dụng hai trở thành (Tức không được dùng thêm thay đổi tạm).
hướng dẫn:– cộng thêm b vào a. (Giá trị hai trở nên 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ó mức giá trị bởi a);
– Gán giá trị a bằng tổng trừ đi b new (Sau lệnh này a có mứ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 sang dầu giữa hai bình nhưng rất khác hoàn toàn!!!Kỹ thuật đổi quý giá biến cho nhau sẽ được sử dụng nhiều vào phần sắp 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ị chức năng của một số trong những có cha chữ số. Ví dụ lúc nhập số 357 thì máy in ra:
– Chữ số hàng trăm: 3.
– Chữ số mặt hàng chục: 5.
– Chữ số hàng 1-1 vị: 7.
Hướng dẫn:thực hiện hàm mov để lấy số dư. Khi phân chia cho 10 để đưa số dư ta được chữ số hàng đối chọi vị. Thực hiện DIV để đưa phần nguyên. Khi chia cho 10 để mang phần nguyên ta đã loại bỏ đi chữ số hàng đơn vị chức năng để số có ba chữ số còn số tất cả 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 mod 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.
|
Hãy sửa công tác để có kết quả là sản phẩm trăm, mặt hàng chục, hàng 1-1 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 chương trình in ra số to hơn trong nhị số (được nhập tự bàn phím).
hướng dẫn:Nhập hai số vào hai biến chuyển a, b.Nếu a > b thì in a. Nếu a– Hoặc: trường hợp a > b thì in a. Ngược 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 chương trình in ra số lớn số 1 trong tư số nhập từ bàn phím.
hướng dẫn:giả dụ a³ b với a³ c và a³ d thì a là số mập nhất.
Tương tự như thế xét những trường hợp sót lại để tìm kiếm số mập 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) and (a>= d) then writeln(‘So lon nhat la:’,a:10:2); if (b>=a) và (b>=c) and (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) và (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 nhất trong tứ số nhập từ keyboard với điều kiện chỉ được sử dụng hai biến.
hướng dẫn:áp dụng một vươn lên là max cùng một biến đổi a để cất số vừa nhập. Cho max ngay số đầu tiên. Sau khoản thời gian nhập một vài thực hiện đối chiếu nếu số vừa nhập to hơn max thì lưu giữ số vừa nhập vào max. Sau khi nhập xong ta bao gồm max là số lơn nhất
(Giải thuật này điện thoại tư vấn là kỹ thuật lính 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 lịch trình xét xem một tam giác có là tam giác đều hay không khi biết bố cạnh của tam giác.
hướng dẫn:Nhập cha cạnh của tam giác vào tía biến a,b,c.Nếu a = b và b = c thì tam giác là tam giác hầu hết và trái lại tam giác ko 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) and (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 lịch trình xét coi một tam giác bao gồm là tam giác cân 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 a = b hoặc b = c hoặc a = c thì tam giác là tam giác cân và ngược lại tam giác ko 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 lịch trình xét xem một tam giác bao gồm là tam giác vuông hay không khi biết tía cạnh của tam giác.
a.Hướng dẫn:
Nhập cha cạnh của tam giác vào tía 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 không 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 chương trình 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 có nghiệm x =Nếu a = 0 cùng b = 0 thì phương trình gồm vô số nghiệmNếu a = 0 và b ¹ 0 thì phương trình vô nghiệm
Hoặc:
Nếu a = 0 thì xét b. Nếu như b = 0 thì phương trình tất cả vô số nghiệm trái lại (b ¹0) thì phương trình vô nghiệm trái lại (a ¹0) phương trình bao gồm 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) & (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 co 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 các hệ số a,b,c được nhập trường đoản cú bàn phím.
hướng dẫn:– Nhập các số các hệ số vào các biến a,b,c.
– Tính delta = b2 – 4ac.
– nếu delta > 0 thì phương trình có hai nghiệm x1 = (-b + sqrt(delta))/(2a)
x2 = (-b – sqrt(delta))/(2a)
– ví như delta = 0 thì phương trình co nghiệm kép x = -b/(2a)
– giả dụ 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 lịch trình dịch các ngày vào tuần sang trọng tiếng anh
2 | 3 | 4 | 5 | 6 | 7 | 8 |
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
Hướng dẫn:Dùng đổi thay a thứ hạng byte để chứa thứ (2 mang đến 8)Trường đúng theo a = 2: Monday
Trường hợp a = 3: Thursday…Trường 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 cho phép 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 dùng chọn hình buộc phải tính diện tích s từ bảng chọn, tiếp đến khai báo các thông số kỹ thuật liên quan và nhận được diện tích 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 tam giác, người dùng gõ D và khai báo đường cao, đáy. Lịch trình tính cùng thông diện tích đến bạn dùng.
phía dẫn:– Dùng kết cấu chọn Case chon of cùng với chon tất cả kiểu Char để sinh sản bảng chọn.
– cần sử dụng 3 vươn lên là a,b,c nhằm lưu các thông số 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 tin 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 sai roi!!!’); end; Writeln(‘Dien tich cua hinh la: ‘,S:8:2); readln end.
|
III. Cấu tạo lặp với tần số lặp đang biết: For … to lớn … do
Bài tập 3.1:
Viết công tác in ra những số chẵn nhỏ dại hơn hoặc bằng n ( với n được nhập).
phía dẫn:– Cho biến chuyển i chạy từ 1 đến n.
– giả dụ 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 lớn n vày if i gian lận 2 =1 then Write(i:3,’,’); readln end.
|
Bài tập 3.2:
Viết lịch trình in ra các số lẻ bé dại hơn hoặc bằng n ( cùng với n được nhập). Làm sao để cho 15 số lẻ được in trên một dòng.
hướng dẫn:– cho j =0.
– Cho vươn lên là I chạy từ 1 đến n.
– giả dụ I chẵn ( I chia 2 dư 0) thì in ra số n và tăng j lên 1
– giả dụ j phân tách hết mang đến 15 thì triển khai xuống dòng (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 lớn n do if i hack 2 =1 then Begin Write(i:3,’,’); Dem:= Dem + 1; if Dem mod 15 = 0 then Writeln; end; readln end.
|
Bài tập 3.3:
Viết công tác in ra tổng những số lẻ bé dại hơn hoặc bằng n ( với n được nhập).
phía dẫn:– đến S = 0.
– Cho phát triển thành 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ì thêm vào đó 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 lớn n vị if i gian lận 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 chương trình in ra toàn bộ các cầu của một số trong những n (Với n được nhập từ bàn phím)
hướng dẫn:– Cho trở nên i chạy từ là 1 đến n.Nếu n phân tách hết mang lại 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 to lớn n vị if n hack i = 0 then write(i:3,’,’); readln end.
|
Bài tập 3.5:
một vài có tổng những ước nhỏ tuổi hơn nó bằng chính nó được gọi là số hoàn chỉnh.
Ví dụ: 6 có các ước bé dại hơn nó là 1, 2, 3. Tổng là một trong + 2 + 3 = 6.
Viết chương trình xét xem một trong những n được nhập từ bàn phím có phải là số hoàn hảo không.
hướng dẫn:– Dùng đổi mới n lưu lại số đề nghị xét.
– thay đổi S có giá trị ban đầu bằng 0.
Xem thêm: Lalarm phần mềm chống trộm laptop bằng phần mềm miễn phí prey hiệu quả nhất
– mang lại i chạy từ là 1 đến n-1. Nếu i là mong của n thì cộng thêm i vào S.
– giả dụ 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 hack 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 công tác tìm những số hoàn chỉnh bé dại hơn n (Với n được nhập tự bàn phím).
phía dẫn:Cho trở nên i chạy từ một đến n. Xét i. Giả dụ 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 lớn n do Begin S:=0; For j:=1 lớn i bởi vì if i mod 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 to 9 vì chưng writeln(n,’ x ‘, i, ‘ = ‘, n*i); readln end.
|
Bài tập 3.8
theo lần lượt in những bảng cửu chương.
a.Hướng dẫn :
– Cho vươn lên là i chạy tự 2 cho 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 to 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 chương trình xét xem một số n có phải là số yếu tắc không?
a.Hướng dẫn:
– Cho biến hóa i chạy từ bỏ 2 mang đến n – 1 nếu n không chia hết các số i thì thì n là số nguyên tố.
– áp dụng biến ok có kiểu boolean và có mức giá trị lúc đầu là true. Cứ các lần xét phép phân tách n đến 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 to lớn n – 1 vị if n thủ thuật i = 0 then ok :=ok & 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 lịch trình in ra tất cả các số nguyên tố nhỏ thêm hơn hoặc bằng n?
hướng 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 to n do begin ok:=true; for j:= 2 to lớn i – 1 vì chưng if i thủ thuật j = 0 then ok :=ok & false; if ok then write(i,’;’) end; readln end.
|
kết cấu lặp với tần số lặp chưa biết
Bài tập 4.1:
Viết lịch trình in ra những số lẻ bé dại hơn hoặc bởi n ( cùng với n được nhập).
phía dẫn:– Sử dụng kỹ năng và kiến thức số lẻ đầu tiên bằng 1. Số lẻ sau bằng số trước cùng với 2.
– Cho trở nên i có mức giá trị ban sơ bằng 1.
– dùng vòng lặp while do với đk 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:
– đầy đủ vòng lặp For … to lớn … vì chưng đều có thể thay thế bằng vòng lặp while … do.
– trong khoảng lặp while nhất thiết phải gồm một câu lệnh làm biến đổi điều kiện lặp. Ở đấy là i:=i+2. Nếu không tồn tại sẽ dẫn đến trường vừa lòng 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 công tác tính n! cùng với n! được có mang như sau:
– n! = 1 với n = 0
– n! = 1.2.3…n (Tích của n số từ là một đến n).
Yêu cầu: thực hiện 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 chiến bại cua n la: ‘,gt); readln end.
|
Bài tập 4.3:
Viết lịch trình tính n! với n! được quan 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 với n chẵn.
Yêu cầu: sử dụng vòng lặp cùng với số lần không biết trước:
Hướng dẫn:– nhị số chẵn liên tiếp hơn hèn nhau 2. Nhị số lẻ liên tục cũng vậy.
– triển khai tính như giai vượt đơn nhưng với bước dancing 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 thảm la: ‘,gt); readln end.
|
– với thuật toán trên ta không đề nghị xét n là chẵn hay lẻ.
Bài tập 4.4:
Viết chương trình cho phép tính tổng của tương đối nhiều số (Chưa biết bao nhiêu số). Nhập số 0 để hoàn thành 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 công tác tìm mong 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: trường hợp a phân tách hết mang lại b (a phân chia b dư 0) thì UCLN(a,b) bởi b
nếu a phân tách 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 gian lận b.
– Lặp với đk r 0: b = r, a = b, r = a hack b.
b.Mã chương trình:
Program UCLN; uses crt; var a,b,r:byte; begin clrscr; writeln(‘CHUONG TRINH TIM UCLN CUA nhì 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 gian lận b; end; write(‘UCLN cua nhị so la: ‘,b); readln end.
|
Bài tập 4.6
hàng Fibonacy có hai bộ phận đầu là 1, 1. Các phần tử sau bởi tổng hai phần tử đứng tức thì trước nó: 1, 1, 2, 3, 5, 8, 13, 21, …
Viết công tác in ra hàng Fibonacy có thành phần lớn nhất nhỏ 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 cho phép nhập n số cùng in ra theo đồ vật tự ngược lại. Ví dụ nhập 3, 5, 7 thì in ra 7, 5, 3.
a.Hướng dẫn:
Dùng biến chuyển 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ừ bỏ n về 1 nhằm 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 to 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 chương trình nhập dãy n số cùng in ra tổng các số lẻ trong dãy 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 lớn n do begin write(‘M<‘,i,’>’); readln(M); end; tong:=0; for i:=1 to lớn n vị if M hack 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ố sản phẩm k vào 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á bộ phận thứ 8).
In ra: 2, 3, 4, 5, 6, 8, 7, 5, 4.
hướng dẫn:Xoá bộ phận k bằng cách 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 to lớn n-1 do m:=m; for i:=1 lớn n-1 do write(m,’, ‘); readln end.
|
Bài tập 5.4
Viết chương trình có thể chấp nhận được nhập nhập một dãy có n số nguyên. Nhập thêm một vài và chèn tiếp tế dãy sau bộ phận k.
Hướng dẫn:– Dời các bộ phận từ địa chỉ k sau đây một bước.
– Nhập giá chỉ trị phải 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 khổng lồ n+1 vì write(M,’, ‘); readln end.
|
Bài tập 5.5
Viết chương trình chất nhận được nhập n số và cho thấy số nhỏ nhất trong các số vừa nhập là số thiết bị mấy.
a.Hướng dẫn:
Dùng biến đổi n nhằm lưu lượng số đề xuất nhập.Dùng mảng để lưu các số vừa nhập.Cho Min = M<1>, j = 1 (Xem bộ phận đầu tiên là bé nhất)So sánh Min cùng với n-1 số còn lại. Trong quá trình so sánh giả dụ Min > M thì gán Min = M, j=i và thường xuyên 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 lớn n vày if m |
Bài tập 5.6
Viết chương trình chất nhận được nhập n số bố trí và in ra các số sẽ nhập theo trang bị 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 mang co n phan tu—— write(‘Nhap n: ‘); readln(n); for i:=1 to 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 lớn n vì if m |
Bài tập 5.7:
Viết chương trình in hàng n số fibonacy.
a.Hướng dẫn:
– sử dụng mảng M để đựng dãy n số fibonacy. Sinh sản lập hai thành phần đầu tiên là 1, 1.
– đến i chạy từ 3 mang đến n. 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 vày m:=m for i:=1 to lớn n vì chưng write(m,’ ,’); readln end. |
Bài tập 5.8
Để xác minh hệ số cho đa lắp thêm khai triển (a+b)n người 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 thiết bị n được khẳng định từ sản phẩm n-1:
– bộ phận đầu tiên và phần tử cuối thuộc đều bởi 1.
– phần tử thứ 2 là tổng của thành phần thứ tuyệt nhất và thứ hai của mặt hàng n-1
– phần tử thứ k của hàng thứ n là tổng cảu phần tử thứ k-1 và k của hàng sản phẩm công nghệ n-1.
khuyên bảo :– sử dụng hai mảng: Tam, và m để tạo nên và in các hàng của tam giác.
– Khởi động cho mảng m<1>=1; m<2>:=1
– Lập mảng tam cho loại i.
– gửi mảng tạm mang đến 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 n do begin Phan tu dau bang 1 tam<1>:=1; for j:=2 to lớn i-1 vì tam Phan tu cuoi bang 1 tam:=1; Chuyen cac phan tu tu sở hữu tam sang mang m for j:=1 khổng lồ i bởi vì m in ra hang thu i for j:=1 to lớn i vày write(m 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 cho phép nhập.
Hướng dẫn:Mã chương trình:chương trình 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 cầu sử dụng các chương trình con để xử lý các trường vừa lòng 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 co 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.
|
Bài tập 6.2:
Viết chương trình chất nhận được nhập hai số vào hai biến, thực hiện đổi quý giá của hai biến cho nhau. Yêu thương cầu sử dụng chương trình nhỏ để thực hiện công dụng đổi giá chỉ 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 lúc doi b =’,b:3:1); readln end.
|
– Nếu bỏ từ var sinh sống khai báo var x,y:real thì công tác vẫn không báo lỗi nhưng tính năng đổi giá trị của hai biến đổi không thực hiện được.
Bài tập 6.3:
Viết lịch trình tính giai quá của số n (Viết là n!). Với yêu cầu:
– Nếu người tiêu dùng nhập số n phía 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 thua thảm 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 thương cầu áp 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 cho phép thực hiện 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 mã số.
– phân chia tử và mẫu của phân số mang đến UCLN vừa kiếm tìm đượ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 mod 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 cho phép trộn hai dãy số A và B cùng bao gồm số thành phần là k để được hàng số C theo yêu ước 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 to 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 lớn n bởi vì 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 lịch trình in ra những số nguyên tố bé dại hơn n với yêu thương cầu sử dụng hàm nhằm kiểm tra một vài có cần là số nguyên tố hay 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 thủ thuật i) = 0 then kiem_tra:=false; end; ——CTC—————- begin clrscr; write(‘Nhap n: ‘); readln(n); for i:=2 khổng lồ n vị 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 dãy số với yêu ước sử dụng các chương trình con: Nhập mảng, in mảng, đổi cực hiếm của hai số.
hướng 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 n vày 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 lớn n-1 do for j:= i to lớn n bởi vì if A>A In_mang(A,n); readln end.
|
Bài tập 6.9:
Viết lịch trình tính n! bằng kỹ thuật đệ qui.
phía 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.
|
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 tư tưởng này ta hoàn toàn có thể viết Fi(n) nhằm tính số hạng thiết bị n của dãy.
Bài tập 6.10:
Viết chương trình cho phép tìm ước chung lớn nhất của nhị số bằng kỹ thuật đệ qui.
hướng dẫn:– ví như a chia b dư 0 thì UCLN(a,b)=b ngược lại UCLN(a,b)=UCLN(b, a hack 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 gian lận b = 0 then UCLN:=b else UCLN:=UCLN(b,(a hack b)); end; begin clrscr; write(‘Nhap a: ‘);readln(a); write(‘Nhap b: ‘);readln(b); write(‘UCLN(‘,a,’,’,b,’)=’,UCLN(a,b)); readln end.
|
VII. Tài liệu kiểu xâu ký tự:
Bài 7.1:
Viết đoạn chương trình có thể chấp nhận được đọc một xâu ký kết tự và bình chọn xâu này 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 if doi_xung then write(‘Xau doi xung’) else write(‘Khong doi xung’); readln end.
|
– dùng thêm biến n để lịch trình rõ ràng, dễ theo dõi. Có thể thay n bởi length(st);
– rất có thể thay for i:=1 to n div 2 bằng for i:=1 to n tuy nhiên lúc đó chương trình buộc phải xét n trường hợp cầm 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ố trong những 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 ký 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) vì if (st=’ ‘) then st:=upcase(st); st<1>:=upcase(st<1>); write(st); readln end.
|
Bài 7.3:
Viết chương trình xoá các dấu cách thừa vào một xâu ký tự (Giữa hai từ chỉ bao gồm một lố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 tìm thấy hai ký kết tự trắng thường xuyên trong xâu: thay thế sửa chữa xâu hai ký tự trắng bằng xâu một cam kết 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.
|
Thay: n:= Pos(‘ ‘,st);
while n0 do
begin
delete(st,n,1);
n:=Pos(‘ ‘,st);
end;
Bằng : while (‘ ‘,st) 0 do delete(st, Pos(‘ ‘,st),1)
Bài 7.4:
Viết chương trình đến phép bóc tách phần tên thoát khỏi xâu tất cả họ và tên. Theo qui ước biện pháp ghi thương hiệu của tiếng việt, thương hiệu là từ sau 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ị if st=’ ‘ then vitri:=i+1; writeln(vitri); dai:=length(st) – vitri + 1; ten:=Copy(st,vitri,dai); write(ten); readln end.
|
Bài 7.5:
Viết chương trình được cho phép dich xâu sang trọng 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 lớn length(st) do case st of ‘a’: mooc:=mooc + ‘ ‘+’._’; ‘b’: mooc:=mooc + ‘ ‘+’_.’; end; write(mooc); readln end.
|
– Đoạn chương trình mới chỉ mã hoá được hai ký tự a, b. Để rất có thể sử dụng phải khai báo cho các trường đúng theo còn lại.
– thực tiễn không bắt buộc phân biệt chữ hoa tốt chữ thường yêu cầu ta qui về một kiểu. Để qui về hình dáng chữ hoa ta sử dụng case upcase(st) of rứa cho case st of…
Bài 7.6:
Viết phần mềm có thể chấp nhận được mã hoá và giải mã một xâu ký tự theo ý riêng. Để mã hoá mỗi người dùng các khoá khác nhau. Ví dụ