You are on page 1of 5

Chủ đề: PRF192-PFC

Xưởng 02
Mục tiêu:
Rèn luyện kỹ năng phân tích và triển khai các chương trình đơn giản

Nội dung: 7 chương trình

Chương 1 2 3 4 5 6 7
trình
Đánh 2 2 1 1 2 1 1
dấu

Chương trình 1 ( 2 điểm)

Viết chương trình cho phép người dùng nhập một biểu thức đơn giản chứa một trong
bốn toán tử +, -, *, / sau đó in kết quả ra màn hình. Định dạng đầu vào: toán tử num1
num2,
Một ví dụ về giao diện người dùng
Nhập biểu thức (+ - * /): 4*5
Kết quả: 20

Phân tích mẫu

Nội dung Thực hiện


Danh Sự biểu lộ, gấp đôi số1, số2
từ định dạng số1 toán tử số2 char op
kết quả gấp đôi
kết quả
Động Bắt đầu
từ Chấp nhận số1, op, số2 scanf( “%lf%c%lf”, &num1, &op, &num2)
Tính kết quả chuyển đổi (op)
In ra kết quả { case '+' : result = num1 + num2;
Kết thúc in ra kết quả;
phá vỡ;
trường hợp '-' : result = num1 - num2;
in ra kết quả;
phá vỡ;
trường hợp '*' : result = num1 * num2;
in ra kết quả;
phá vỡ;
trường hợp '/' : if ( num2==0)
in ra “Chia cho 0”
khác
{kết quả =num1/num2;
in ra kết quả;
}
phá vỡ;
mặc định: in ra “Op không được hỗ trợ”
}

Thực hiện chương trình này.

Chương trình 2 ( 2 điểm) – Thuế thu nhập cá nhân hàng năm

Giả sử rằng:
Ở Việt Nam, mỗi người dân phải nộp thuế thu nhập cá nhân hàng năm như sau:

Quy tắc:

Thu nhập miễn thuế:


Số tiền chờ xử lý cá nhân (tiền nuôi bản thân) pa= 9 000 000$/tháng
Tiền cấp dưỡng cho mỗi người phụ thuộc pd= 3 600 000$/tháng/người phụ thuộc
Với n người phụ thuộc, Thu nhập miễn thuế hàng năm: tf = 12*(pa + n*pd)

Thu nhập chịu thuế (thu nhập chịu thuế)


ti = thu nhập – tf
( Nếu ti<=0 thì thuế thu nhập = 0)

Căn cứ vào thu nhập chịu thuế, người lao động phải nộp thuế thu nhập với mức
quy định tại bảng sau:

Mức Thu nhập chịu thuế Thuế thu


độ nhập
1 Nhỏ hơn hoặc bằng 5%
5.000.000
2 Từ 5.000.001 đến 10%
10.000.000
3 Từ 10.000.001 đến 15%
18.000.000
4 Trên 18.000.00 0 20%

Viết chương trình tính thuế thu nhập của một người bằng giao diện sau:

Trường hợp 1:

Thu nhập của bạn trong năm nay: 240000000


Số người phụ thuộc: 4
Thu nhập miễn thuế: 280800000
Thu nhập chịu thuế: 0
Thuế thu nhập: 0
Trường hợp 1:

Thu nhập của bạn trong năm nay: 440000000


Số người phụ thuộc: 4
Thu nhập miễn thuế: 280800000
Thu nhập chịu thuế:: 159200000
Thuế thu nhập: 30190000

Chương trình 3 (1 điểm)

Mục tiêu Thực hành các câu lệnh vòng lặp


Kiến thức liên Không có
quan
Vấn đề Viết chương trình C in ra tổng các số nguyên được nhập từ
bàn phím cho đến khi nhập giá trị 0.
Phân tích Thuật toán đề xuất (thứ tự logic của động từ)
Danh từ: sum int Bắt đầu
S; S=0;
Giá trị tích phân LÀM {
được chấp nhận Chấp nhận x;
int x Nếu (x != 0) S = S + x;
}
Trong khi (x!=0);
In ra S;
Kết thúc

Chương trình 4 (1 điểm)

Mục tiêu Thực hành tuyên bố vòng lặp


Kiến thức liên Không có
quan
Vấn đề Viết một chương trình C thực hiện một số lần: chấp nhận hai số
nguyên, hoán đổi các giá trị này, in chúng ra màn hình. Chương
trình sẽ kết thúc khi giá trị 0 được nhập vào.
Phân tích Thuật toán gợi ý (thứ tự logic của động từ)
Danh từ: Bắt đầu
2 số nguyên int x, LÀM {
y; Chấp nhận x, y;
int t= x; /*t: biến tạm thời */
x= y;
y=t;
In ra x, y;
}
Trong khi ( x!=0 && y!=0);
Kết thúc

Chương trình 5: (2 điểm)

Kiến thức liên quan Sử dụng hàm getchar() –stdio.h để nhập một ký tự, hàm
toupper(ch) để chuyển một ký tự thành chữ hoa - ctype.h
Mã ASCII của phím ENTER: '\n'
Vấn đề Viết chương trình C thực hiện:
- cho phép người dùng nhập một chuỗi ký tự. Thao
tác nhập sẽ chấm dứt nếu nhấn phím ENTER.
- in ra màn hình số nguyên âm, số phụ âm và số phụ
âm khác.
Phân tích Thuật toán gợi ý (thứ tự logic của động từ)
Danh từ: Bắt đầu
ký tự đã nhập LÀM {
char ch Chấp nhận ch; /* ch= getchar(); */
Số nguyên âm Chuyển ch thành chữ hoa /* ch= toupper(ch); */
int nNguyên âm =0; Nếu ( ch>='A' và ch <='Z') {
Số lượng phụ âm chuyển đổi (ch) {
phụ âm int =0; trường hợp 'A':
Số ký tự khác int trường hợp 'E':
nOthers =0; trường hợp 'tôi':
trường hợp 'O':
trường hợp 'U' : nNguyên âm++; phá vỡ;
mặc định: nConsonants++;
}
}
khác nOthers = nOthers++;
}
Trong khi ( ch != '\n');
In ra nNguyên âm;
In ra nPhụ âm;
In ra nKhác;
Kết thúc

Chương trình 6: (1 điểm)

Kiến thức Mỗi ký tự sẽ được lưu dưới dạng mã ASCII với giá trị 0..255
liên quan
Vấn đề Viết chương trình C in ra bảng mã ASCII.
Phân tích Thuật toán gợi ý (thứ tự logic của động từ)
mã ASCII Bắt đầu
mã int Đối với mỗi mã = 0 đến 255
{ In ra (“%c : %d, %o, %X\n”, mã, mã, mã, mã);
If (code !=0 && code %20==0) getchar(); /*trang mã 20 dòng */
}
Kết thúc.

Chương trình 7: (1 điểm)

Vấn đề Viết chương trình C nhận hai ký tự sau đó in ra sự khác


biệt giữa mã ASCII giữa chúng và các ký tự giữa chúng
bao gồm các giá trị mã mở rộng theo dạng thập phân, bát
phân, thập lục phân theo thứ tự tăng dần.
Phân tích Thuật toán gợi ý (thứ tự logic của động từ)
2 ký tự Bắt đầu
ký tự c1, c2 Chấp nhận c1 ;;
Sự khác biệt Chấp nhận c2;
 int d; Nếu (c1 > c2 )
Ký tự cho hoạt động { t = c1; c1 = c2; c2=t;
hoán đổi }
 đồ thị d = c2 – c1;
Ký tự để lặp In ra d;
 Char c Với mỗi c từ c1 đến c2
{ In ra (“%c : %d, %o, %X\n”, c, c, c, c);
}
Kết thúc.

KẾT THÚC

You might also like