Bài tập Kỹ thuật lập trình - Bài tập 2: Các cấu trúc rẽ nhánh - Khoa Khoa học và Kỹ thuật máy tính - Đại học BK - ĐHQG TP Hồ Chí Minh

Bài tập bắt buộc
Xây dựng prototype và vẽ flow chart cho các bài tập sau:
Bài 1.
Cho 2 số nguyên dương a và b. Kiểm tra xem a có chia hết cho b không?
Lưu ý số nguyên dương là số lớn hơn hoặc bằng 0.
Prototype: int chiahet(int a, int b) 
pdf 18 trang xuanthi 27/12/2022 2520
Bạn đang xem tài liệu "Bài tập Kỹ thuật lập trình - Bài tập 2: Các cấu trúc rẽ nhánh - Khoa Khoa học và Kỹ thuật máy tính - Đại học BK - ĐHQG TP Hồ Chí Minh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_tap_ky_thuat_lap_trinh_bai_tap_2_cac_cau_truc_re_nhanh_k.pdf

Nội dung text: Bài tập Kỹ thuật lập trình - Bài tập 2: Các cấu trúc rẽ nhánh - Khoa Khoa học và Kỹ thuật máy tính - Đại học BK - ĐHQG TP Hồ Chí Minh

  1. Khoa Khoa học và Kỹ thuật Máy tính Bộ môn Khoa học Máy tính Bài tập bắt buộc Xây dựng prototype và vẽ flow chart cho các bài tập sau: Bài 1. Cho 2 số nguyên dương a và b. Kiểm tra xem a có chia hết cho b không? Lưu ý số nguyên dương là số lớn hơn hoặc bằng 0. Prototype: int chiahet(int a, int b) Flowchart: Start Input a, b a ≥ 0 && b ≥ 0 No Yes b ≠ 0 No Yes a mod b = 0 Yes No Print Lổi Print Chia Print Chia Print Lổi dữ liệu hết có dư chia cho 0 nhập Stop Hình 1. Kiểm tra tính chia hết 2
  2. Khoa Khoa học và Kỹ thuật Máy tính Bộ môn Khoa học Máy tính Bài 3. Nhập vào phương trình bậc hai. Kiểm tra phương trình có mấy nghiệm (không tính nghiệm phức). Prototype: int so_nghiem_ptb2(float a, float b, float c) Flowchart: Start Input a, b, c No a = 0 ∆  b2 - 4ac Yes Yes No c = 0 b = 0 ∆ = 0 ∆ > 0 No No No Yes Yes Yes Print Vô số Print Vô Print Một Print Hai nghiệm nghiệm nghiệm nghiệm Stop Hình 3. Tính số nghiệm trong phương trình bậc hai 4
  3. Khoa Khoa học và Kỹ thuật Máy tính Bộ môn Khoa học Máy tính Bài 5. Cho 2 đường tròn. Tính số điểm mà chúng cắt nhau. Lưu ý: Một đường tròn bao gồm tâm (x, y) và bán kính R > 0. Prototype: int tinh_so_diem_trung(float x1, float y1, float R1, float x2, float y2, float R2) Flowchart: Start Input x1, y1, R1, x2, y2, Stop R2 d  sqrt((x2-x1)2 – (y2-y1)2) x1=x2&&y1=y2 Yes Print Vô số điểm &&R1=R2 (Trùng nhau) No R1+R2 > d Yes Print 2 điểm && |R1-R2| < d (Cắt nhau) No (|R1-R2| = d) Yes Print 1 điểm ||(R1+R2 = d) (Tiếp xúc nhau) No Print 0 điểm (Không cắt nhau) Hình 5. Tính số điểm giao nhau giữa 2 dường tròn 6
  4. Khoa Khoa học và Kỹ thuật Máy tính Bộ môn Khoa học Máy tính Bài tập làm thêm Bài 7. Chuyển đổi giữa mét và inch. Hướng dẫn: 1 inch = 2,54 cm. Prototype: float convert(float a,int sel); //sel=1: inch sang mét, sel ≠1: mét sang inch Flowchart: Start Input sel sel=1? Yes No Input a Input a m  a*2.54/100 inch  a*100/2.54 Print Chieu dai met: m Print Chieu dai inch: icnh Stop Hình 7. Đổi đơn vị mét và inch 8
  5. Khoa Khoa học và Kỹ thuật Máy tính Bộ môn Khoa học Máy tính Bài 9. Cho độ dài 3 cạnh a, b, c, kiểm tra xem nó có phải là 3 cạnh của một tam giác cân, tam giác đều, tam giác vuông hay tam giác vuông cân không. Prototype: int tamgiac(int a,int b,int c); Flowchart: Start Input a,b,c ((a>|b-c|)&&(a |a-c|)&&(b |b-a|)&&(c<b+a))? (a==b)&& Yes (b==c)? No Yes (a*a==b*b+c*c)|| (b*b==a*a+c*c)|| No (c*c==b*b+a*a)? (a==b)||(b==c) (a==b)||(b==c) ||(c==a)? ||(c==a)? No No Yes Yes Print Print Print Print Print Print Không là Đều Vuông- Vuông Cân Thuờng tam giác Cân Stop Hình 9. Xác định đặc điểm tam giác tạo thành từ 3 cạnh a,b,c 10
  6. Khoa Khoa học và Kỹ thuật Máy tính Bộ môn Khoa học Máy tính Bài 11. Tính toán cước taxi với giá dịch vụ được tính theo các điều kiện sau của quãng đường đi d: d 30 km: 4 000 VND/km. Prototype: float tientaxi(float d); Flowchart: Start Input d d>30? tien  d*4000 Yes No d>10? tien  d*6000 Yes No d>1? tien  d*8000 Yes No tien  d*15000 Print tien Stop Hình 11. Tính tiền taxi. 12
  7. Khoa Khoa học và Kỹ thuật Máy tính Bộ môn Khoa học Máy tính Bài 13. Tính tiền điện (nước) phải trả với chi phí tăng tuyến tính từng đoạn theo số kilowatt (hay mét khối) sử dụng trong một tháng. Giả sử giá điện tính theo hàm tuyến tính từng đoạn: 1242 khi x 100 1369 khi 100 x 150 f (x) 1734 khi 150 x 200 1877 khi 200 x Ví dụ: Tiền điện cho 102kWh là 100*1242 + 2*1369 = 126 938VNĐ Prototype: float tiendiennuoc(float d); Flowchart: Start Input d d>200? tien  (d-200)*1877 + 50*1734 Yes + 50*1369+100*1242 No d>150? tien  (d-150)*1734 + Yes 50*1369+100*1242 No d>100? tien  (d-100)*1369+100*1242 Yes No tien  d*1242 Print tien Stop Hình 13. Tính tiền điện 14
  8. Khoa Khoa học và Kỹ thuật Máy tính Bộ môn Khoa học Máy tính Bài 15. Tính thuế thu nhập cá nhân. Thuế thu nhập cá nhân có thể được giảm cho các tình huống gia gia cảnh. Từ 01/01/2009, thu nhập cá nhân từ lợi nhuận kinh doanh, tiền lương, tiền thù lao sẽ thấp hơn so với hoàn cảnh gia đình chịu thuế. Các khoản khấu trừ điển hình là 4 triệu đồng mỗi tháng thu nhập đối với người có thu nhập và 1,6 triệu mỗi tháng cho mỗi người phụ thuộc. (Chú ý: thu nhập chịu thuế, các khoản khấu trừ cho bản thân là 4 triệu đồng mỗi tháng nhưng được bao gồm trong mức chịu thuế với thuế suất 0%). Người phụ thuộc bao gồm: 1.Con chưa thành niên; 2. Vợ hoặc chồng và các con đã thành niên nhưng không có khả năng làm việc; 3. Con của bạn là một sinh viên hoặc có thu nhập từ 500 nghìn đồng mỗi tháng hoặc ít hơn; 4. Ông bà, cha, mẹ,. . . không có khả năng lao động với thu nhập của 500.000 đồng một tháng hoặc ít hơn. Nhưng số tiền giảm trừ nhiều nhất là 10 triệu, đủ cho 5-6 người phụ thuộc. Sự tăng dần một phần thuế quan áp dụng với thu nhập từ lợi nhuận kinh doanh, tiền lương, và tiền thu lao như sau: - Mức 1: 4 triệu VND một tháng, thuế suất 0%. - Mức 2: trên 4 triệu đến 6 triệu VND một tháng - thuế suất 5%. - Mức 3: trên 6 triệu đến 9 triệu VND một tháng - thuế suất 10%. - Mức 4: trên 9 triệu đến 14 triệu VND một tháng – thuế suất 15%. - Mức 5: trên 14 triệu đến 24 triệu VND một tháng – thuế suất 20%. - Mức 6: trên 24 triệu đến 44 triệu VND một tháng – thuế suất 25%. - Mức 7: trên 44 triệu đến 84 triệu VND một tháng – thuế suất 30%. - Mức 8: trên 84 triệu VND một tháng – thuế suất 35%. Ví dụ: thu nhập 10 triệu bị đánh thuế như sau, 6 triệu bị đánh thuế 5%, 3 triệu đánh thuế 10%, 1 triệu bị đánh thuế 15%. Bảng thuế suất đầy đủ như sau: - Lãi vay, lợi tức, thu nhập từ tiền vốn góp kinh doanh, tiền lãi. - Tiết kiệm hơn 5 triệu một tháng là 5%. - Thu nhập từ chuyển nhượng vốn góp là 25%. - Thu nhập từ hoán đổi tài sản là 25%. Những thu nhập khác: - Thu nhập từ tiền bản quyền tác giả trên 10 triệu VND/lần: 5 %. - Trúng xổ số, trúng thưởng trên 10 triệu/giải : 10%. - Thu nhập từ thừa kế, quà tặng trị giá 10 triệu/ lần: 10%. Ví dụ 1: Thu nhập của ông A là 6 triệu một tháng, và anh ấy nuôi dưỡng 2 đứa con dưới 18 tuổi. Bởi vậy, anh ấy được chấp nhân khấu trừ theo hoàn cảnh gia đình. Mức thu nhập chịu thuế của ông A sẽ giảm theo hoàn cảnh gia đình anh ấy là 4 triệu VND một tháng. Hai đứa trẻ là người phụ thuộc, thuế thu nhập khấu trừ liên quan là 16
  9. Khoa Khoa học và Kỹ thuật Máy tính Bộ môn Khoa học Máy tính Start Hình 15. Tính thuế TNCN Input sel,a sel{2,5}? Yes thue  a*0.05 No sel{6,7}? Yes thue  a*0.1 No sel{3,4}? Print thue Stop Yes thue  a*0.25 No Input b b*1.6>10? Yes a  a – b*1.6 No a  a – 10 thue  (a - 84)*0.35 + 40*0.3 + 20*0.25 + a>84? Yes 10*0.2 + 5*0.15 + 3*0.1 + 2*.05 No thue  (a – 44)*0.3 + 20*0.25 + 10*0.2 + a>44? Yes 5*0.15 + 3*0.1 + 2*.05 No thue  (a – 24)*0.25 + 10*0.2 + 5*0.15 + a>24? Yes 3*0.1 + 2*.05 No a>14? Yes thue  (a – 14)*0.2 + 5*0.15 + 3*0.1 + 2*.05 No a>9? Yes thue  (a – 9)*0.15 + 3*0.1 + 2*.05 No a>6? Yes thue  (a – 6)*0.1 + 2*.05 No a>4? thue  (a – 4)*.05 Yes No thue  0 18