Professional Documents
Culture Documents
Hội thảo 02
Mục tiêu:
Thực hành kỹ năng phân tích và triển khai các chương trình đơn giản
Chương 1 2 3 4 5 6 7
trình
Nốt 2 2 1 1 2 1 1
Viết một chương trình cho phép người dùng nhập một biểu thức đơn giản có chứa một trong
bốn toán tử +, -, *, / sau đó kết quả được in 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
kết quả
Verbs Bắt đầu
Chấp nhận num1, op, num2 scanf( "%lf% c%lf", &num1, &op, &num2)
Tính toán kết quả Công tắc (Bật)
In kết quả { case '+' : result = num1 + num2;
Kết thúc in ra kết quả;
phá vỡ;
trường hợp '-' : kết quả = num1 - num2;
in ra kết quả;
phá vỡ;
trường hợp '*' : kết quả = num1 * num2;
in ra kết quả;
phá vỡ;
trường hợp '/' : nếu ( 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ợ"
}
Giả sử rằng:
Tại 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ư mô tả sau:
Quy tắc:
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 các mức được xác
định trước trong bảng sau:
Viết một chương trình sẽ tính thuế thu nhập của một người bằng giao diện sau:
Trường hợp 1:
Trường hợp 1:
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 đổi một ký tự thành chữ hoa - ctype.h
Mã ASCII của khóa ENTER: '\n'
Vấn đề Viết một chương trình C sẽ:
- cho phép người dùng nhập một chuỗi ký tự. Thao tác
đầu vào sẽ kết thúc nếu phím ENTER được vuốt ve.
- in ra số nguyên âm, số phụ âm và số lượng phụ âm khác
lên màn hình.
Phân tích Thuật toán gợi ý (thứ tự logic của động từ)
Danh từ: Bắt đầu
ký tự được nhập Từ nút {
Bình CH Chấp nhận ch; /* ch= getchar(); */
Số lượng nguyên âm Chuyển đổi ch thành chữ hoa của nó /* ch = toupper
int nVowels = 0; (ch); */
Số lượng phụ âm Nếu ( ch>='A' và ch <='Z') {
phụ âm int = 0; công tắc (ch) {
Số ký tự khác int nOthers = trường hợp 'A':
0; nhà 'E':
trường hợp 'Tôi':
trường hợp 'O':
trường hợp 'U' : nVowels ++; phá vỡ;
mặc định: nConsonants++;
}
}
else nOthers = nOthers++;
}
Trong khi ( ch != '\n');
In ra nVowels;
In ra nConsonants;
In ra nOthers;
Kết thúc
Kiến thức liên Mỗi ký tự sẽ được lưu trữ dưới dạng mã ASCII của nó với giá trị 0..255
quan
Vấn đề Viết một chương trình C sẽ 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 Với mỗi mã = 0 đến 255
{ In ra ("%c : %d, %o, %X\n", mã, mã, mã, mã);
Nếu (mã !=0 && mã %20==0) getchar(); /* trang mã gồm 20 dòng */
}
Kết thúc.
Kết thúc