Bài tập pascal thi học sinh giỏi thpt năm 2024

Em hãy dùng ngôn ngữ lập trình Pascal viết chương trình để giải các bài toán sau, mỗi bài viết một chương trình và lưu vào D:\HSG2017\Tên_bài.PAS

Bài 1. Nhập vào từ bàn phím số nguyên dương n. Xuất ra màn hình

  1. n có phải là số nguyên tố hay không
  2. Tất cả các ước của n
  3. Tổng các ước nguyên tố của n

Ví dụ Nhập n=10

  1. 10 không phải là số nguyên tố
  2. Các ước của 10 là: 1 2 5 10
  3. Tổng các ước nguyên tố của 10 là 7

Bài 2. Nhập số nguyên dương n. Xuất ra màn hình

  1. Số đảo ngược của n
  2. Tổng các chữ số của n
  3. N là số có mấy chữ số

Ví dụ Nhập n=246

  1. Số đảo ngược của 246 là 642
  2. Tổng các chữ số của 246 là 12
  3. 246 là số có 3 chữ số

Bài 3. Nhập số nguyên dương n, tạo mảng a gồm n phần tử có giá trị tăng dần lần lượt a[1]=1, a[2]=2,…,a[n]=n.

  1. Nhập giá trị cần xóa là x, xóa phần tử có giá trị x, xuất mảng sau khi xóa Nhập giá trị cần thêm là y, vị trí cần thêm là k, thêm y vào mảng tại vị trí k và xuất mảng sau khi thêm.

4 Viết chương trình nhập vào 2 số nguyên, kiểm tra xem chúng có phải là ước của nhau không Program bt4_1; Var a,b:integer; Begin write['nhap a,b:']; readln[a,b]; if [a mod b] = 0 then writeln[b,' la uoc cua ',a] else writeln[b,' khong la uoc cua ',a]; if [b mod a] = 0 then writeln[a,' la uoc cua ',b] else writeln[a,' khong la uoc cua ',b]; readln; End. 4 Viết chương trình giải hệ phương trình:

  

  cx dy f

ax by e

Program bt4_2; Var a,b,c,d,e,f,dt,dx,dy,x,y:real; Begin write['nhap a,b,c,d,e,f:']; readln[a,b,c,d,e,f]; dt:=ad-bc; dx:=bf-ed; dy:=af-ce; if dt0 then begin x:=dx/dt; y:=dy/dt; writeln['ptr co nghiem x,y',x:10:2,y:10:2]; end; if dt=0 then if [dx=0] and [dy=0] then writeln['ptr vo so nghiem']; if [dx=0] and [dy0] then writeln['ptr vo nghiem']; readln; End. **_4 Viết chương trình nhập vào 3 số nguyên a, b, c. Kiểm tra xem 3 số đó có thỏa mãn:

  • Là 3 cạnh của 1 tam giác thường
  • Là 3 cạnh của 1 tam giác cân
  • Là 3 cạnh của 1 tam giác đều
  • Không là 3 cạnh của 1 tam giác_** Program bt4_3; Var a,b,c:integer; Begin

Trường THCS Phú Lâm

write['nhap a,b,c:']; readln[a,b,c]; if [a>0] and [b>0] and [c>0] and [a+b>c] and [b+c>a] and [a+b>c] then if [a=b] and [b=c] then writeln['la tam giac deu'] else if [a=b] or [b=c] or [a=c] then writeln['la tam giac can'] else writeln['la tam giac thuong'] else writeln['khong la 3 canh cua tam giac']; readln; End. **_4 Viết chương trình nhập vào họ tên, điểm văn, điểm tóan, điểm anh văn của 1 học sinh. Sau đó in ra màn hình: họ tên, điểm trung bình, xếp lọai của học sinh đó [trên 1 dòng]. Cho biết:

  • Điểm trung bình: [điểm văn + điểm tóan + điểm anh văn] / 3
  • Xếp loại: Giỏi, nếu điểm trung bình >= 9. Khá, nếu 7 =7] and [dtb=5] and [dtb

Chủ Đề