[Publish Date] Assignment 07: Control and Flow Nam Vu
1 VLU-Fundamental of Computing 1
Assignment 07: Control and Flow
Tạo một project có tên:
pAss07_ControlAndFlow_ MSSV
o Trong đó MSSV là mã số sinh viên của bạn, p viết tắt cho project, Ass: viết tắt cho Assignment
o Ví dụ bạn có MSSV: 9600278 thì project của bạn có tên: pAss07_ControlAndFlow_9600278
o Lưu ý dấu “_” (underscore)
o Lưu ý MSSV của các bạn bao gồm cả chữ T ở đầu.
o Yêu cầu: ghi chú và canh lề(xem ví dụ ở cuối tài liệu)
mỗi bài tập đều phải ghi chú phần header của class với nội dung: Tên + Họ sinh viên (không dấu) và mã số sinh viên.
Trong mỗi bài phải ghi chú các phần (nếu có)
Nhập liệu
Tính toán
Xuất ra màn hình
Chương trình viết phải sử dụng phím “TAB” để canh lề (hoặc tổ hợp phím Ctrl+ Shift+ F để định dạng lại
o Tính điểm: các bạn có 11 bài, mỗi bài đúng được 10 đ. Điểm tối đa là 100 (vượt quá sẽ bị điều chỉnh lại còn 100). Các bạn cần xem kỹ phần quy định về tính điểm và trừ điểm vì có sự thay đổi so với các bài trước.
[Publish Date] Assignment 07: Control and Flow Nam Vu
2 VLU-Fundamental of Computing 1
Bài tập 01(pro01): Max Min
o Tên class: cAss07Pro01_MaxMin_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro01_MaxMin_9600278
o Nội dung:
Nhập vào 2 số nguyên từ bàn phím (màn hình console)
Sử dụng if để tìm max (giá trị lớn nhất) và min (giá trị nhỏ nhất) của 2 số đã nhập vào
Xuất ra màn hình 2 giá trị vừa tìm được theo định dạng sau:
MAX = <max> MIN = <min>
o Ví dụ
Nếu giá trị nhập vào là 5 và 10, kết quả:
MAX = 10 MIN = 5
Nếu giá trị nhập vào là -5 và 0, kết quả:
MAX = 0 MIN = -5 Bài tập 02(pro02): Max of Four
o Tên class: cAss07Pro02_MaxOfFour_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro02_MaxOfFour_9600278
o Nội dung:
Nhập vào 4 số thực từ bàn phím (màn hình console)
Sử dụng if để tìm max (giá trị lớn nhất) của 4 số đã nhập vào
Xuất ra màn hình giá trị vừa tìm được theo định dạng sau:
MAX = <max>
o Hướng dẫn: tương tự câu 01 Bài tập 03(pro03): Min of Five
o Tên class: cAss07Pro03_MinOfFive_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro03_MinOfFive_9600278
o Nội dung:
Nhập vào 5 số nguyên từ bàn phím (màn hình console)
Sử dụng if để tìm min (giá trị nhỏ nhất) của 5 số đã nhập vào
Xuất ra màn hình giá trị vừa tìm được theo định dạng sau:
MIN = <min>
[Publish Date] Assignment 07: Control and Flow Nam Vu
3 VLU-Fundamental of Computing 1
o Hướng dẫn: tương tự câu 01 Bài tập 04(pro04): Negative Numbers
o Tên class: cAss07Pro04_NegativeNumbers_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro04_NegativeNumbers_9600278
o Nội dung:
Nhập từ bàn phím số n > 0 và nhập vào n số nguyên
Đếm (count) các giá trị âm (negative, <0) đã được nhập vào.
Xuất ra màn hình giá trị vừa tính toán được theo định dạng sau:
NoNs = <count>
Lưu ý, nếu giá trị n nhập vào <=0 thì xuất ra màn hình: INVALID INPUT
o Ví dụ
Nếu input n=3 và các giá trị tiếp theo là: 0, 3, 4, ta có kết quả:
NoNs = 0
Nếu input n=2 và các giá trị tiếp theo là: -3, -4, ta có kết quả:
NoNs = 2
Nếu input n= -2, ta có kết quả:
INVALID INPUT Bài tập 05(pro05): Even Counter
o Tên class: cAss07Pro05_EvenCounter_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro05_EvenCounter_9600278
o Nội dung:
Nhập liên tục các số không âm từ bàn phím (chỉ dừng lại khi số nhập vào là số âm)
Đếm số số chẵn, số số lẻ đã nhập vào
Xuất ra màn hình các giá trị vừa tìm được theo định dạng sau:
Total Number = <số các số không âm đã nhập> Even Numbers = <số các số chẵn> Odd Numbers = <số các số lẻ> Bài tập 06(pro06): Classify Me
o Tên class: cAss07Pro06_ClassifyMe_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro06_ClassifyMe_9600278
o Nội dung:
Nhập từ bàn phím một số n >0
[Publish Date] Assignment 07: Control and Flow Nam Vu
4 VLU-Fundamental of Computing 1
Tính tổng S là tổng các ước số dương của n
Xuất ra màn hình theo các trường hợp sau:
Nếu S= 2n, xuất ra màn hình:
<n> is perfect number.
Nếu S > 2n, xuất ra màn hình:
<n> is abudant number.
Trường hợp còn lại, xuất ra màn hình:
<n> is deficient number.
Lưu ý, nếu giá trị n nhập vào <=0 thì xuất ra màn hình: INVALID INPUT
o Tham khảo:
http://en.wikipedia.org/wiki/Perfect_number Bài tập 07(pro07): Prime Number
o Tên class: cAss07Pro07_PrimeNumber_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro07_PrimeNumber_9600278
o Nội dung:
Nhập từ bàn phím một số n >0
Đếm số ước số dương của n
Xuất ra màn hình theo các trường hợp sau:
Số các ước số dương (của n) = 2:
<n> is prime number.
Ngược lại, xuất ra màn hình:
<n> is normal number.
Lưu ý, nếu giá trị n nhập vào <=0 thì xuất ra màn hình: INVALID INPUT
o Tham khảo:
http://en.wikipedia.org/wiki/Prime_number Bài tập 08(pro08): Number of A
o Tên class: cAss07Pro08_NumberOfA_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro08_NumberOfA_9600278
o Nội dung:
Nhập từ bàn phím một chuỗi các ký tự
Đếm số lần xuất hiện ký tự A (case sensitive) có trong chuỗi
Xuất ra giá trị tính được ra màn hình
o Hướng dẫn:
Lấy từng ký tự trong chuỗi (dùng hàm subString() hoặc hàm charAt()) rồi so sánh để đếm Bài tập 09(pro09): Number of XYZ
o Tên class: cAss07Pro09_NumberOfXYZ_<mssv>
[Publish Date] Assignment 07: Control and Flow Nam Vu
5 VLU-Fundamental of Computing 1
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro09_NumberOfZYZ_9600278
o Nội dung:
Nhập từ bàn phím một chuỗi các ký tự
Đếm tổng số lần xuất hiện của các ký tự x, y, z (case non-sensitive) có trong chuỗi
Xuất ra giá trị tính được ra màn hình
o Hướng dẫn: Lấy từng ký tự trong chuỗi (dùng hàm subString() hoặc hàm charAt()) rồi so sánh để đếm
o Ví dụ:
Nếu chuỗi Input: 123z33xYiy74nmns
Kết quả: 4
Nếu chuỗi input: xyYYX
Kết quả: 5 Bài tập 10(pro10): Number Counter
o Tên class: cAss07Pro10_NumberCounter_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro10_NumberCounter_9600278
o Nội dung:
Nhập từ bàn phím một chuỗi các ký tự
Đếm tổng số lần xuất hiện của các chữ số có trong chuỗi (chữ số là các ký tự: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
Xuất ra giá trị tính được ra màn hình
o Hướng dẫn: Lấy từng ký tự trong chuỗi (dùng hàm subString() hoặc hàm charAt()) rồi so sánh để đếm
o Ví dụ:
Nếu chuỗi Input: 123z33xYiy74nmns
Kết quả: 7
Nếu chuỗi input: xyY9Y8X
Kết quả: 2 Bài tập 11(pro11): String of Number
o Tên class: cAss07Pro10_StringOfNumber_<mssv>
Lưu ý mssv: mã số sinh viên (xem ở trên)
Ví dụ: cAss07Pro10_StringOfNumber_9600278
o Nội dung:
Nhập từ bàn phím một chuỗi các ký tự và xóa đi các khoảng trắng dư thừa (ở đầu và ở cuối)
Cho biết chuỗi nhập vào chỉ toàn các chữ số hay không (YES/NO)
o Hướng dẫn: Lấy từng ký tự trong chuỗi (dùng hàm subString() hoặc hàm charAt()) rồi so sánh để đếm
o Ví dụ:
[Publish Date] Assignment 07: Control and Flow Nam Vu
6 VLU-Fundamental of Computing 1
Nếu chuỗi Input: 123z33xYiy74nmns
Kết quả: NO
Nếu chuỗi input: 343274327423 347329749324732
Kết quả: NO
Nếu chuỗi input: 12343294293483092432904832439248230984394327409324
Kết quả: YES
[Publish Date] Assignment 07: Control and Flow Nam Vu
7 VLU-Fundamental of Computing 1
Cách tính điểm:
o Mỗi bài tập: 10 đ
Nhập/xuất đúng được các nội dung đã yêu cầu: 10 đ
o Điểm tối đa: 100 đ Thời hạn nộp:
o Xem trên website và forum Cách nộp bài:
o Các bạn nén file dạng .rar hoặc .zip cả project, rồi upload lên nơi nộp bài
o Các bạn được nộp 3 lần, và các bạn có thể trao đổi để biết thêm cách nộp bài Trừ điểm
o Đặt tên class sai (mỗi tên sai bị trừ 5 điểm, lưu ý chữ hoa chữ thường): - 05 đ
o Thiếu comment - 05 đ
Thiếu header - 02 đ
Thiếu comment trong bài (end class, end main, end loop, input, output…) - 02 đ
o Không canh lề - 05 đ
o Đặt tên project sai (lưu ý chữ hoa chữ thường): - 10 đ
o Nén file sai định dạng (.rar, .zip) -10 đ
o Nộp trễ trừ 100% số điểm
[Publish Date] Assignment 07: Control and Flow Nam Vu
8 VLU-Fundamental of Computing 1
Ví dụ về comment
import java.util.Scanner; /** * @author Micheal Vu * 9600278 */ public class className { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // khai bao scanner Scanner readInput = new Scanner( System.in); // khai bao bien int n=0; // nhap n tu ban phim System.out.print("N ="); n= readInput.nextInt(); if( n>0){ // tinh tong int s=0; for(int i=1; i<=n; i++){ s= s+ i; }// end for // xuat ke qua ra man hinh System.out.println("S= "+s); } else{ System.out.println("Invalid Input"); }// end if n } // end main }// end class