lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
BÀI TẬP THỰC HÀNH CƠ SỞ LẬP TRÌNH
Buổi 3: Viết chương trình
1. Viết chương trình cho phép nhập vào 3 số nguyên tùy ý, sau đó in ra thông báo cho
biết số lớn nhất trong 3 số đã nhập có giá trị là bao nhiêu.
package baitap; import
java.ul.Scanner; public
class Baitap {
public stac void main(String[] args) {
int a, b ,c ;
Scanner sc=new Scanner(System.in);
System.out.println("Nhap a");
a=sc.nextInt();
System.out.println("Nhap b");
b=sc.nextInt();
System.out.println("Nhap c");
c=sc.nextInt(); int max=a;
if(max<b) max=b;
if(max<c)
max=c;
System.out.println("Max: "+ max);
}
}
1. Viết chương trình cho phép nhập vào 2 snguyên tuý, sau đó in ra tổng, hiệu, ch
thương của 2 số đã nhập. Chương trình cần kiểm tra số bị chia có bằng 0 hay không trước khi
thực hiện phép chia. package baitap; import java.ul.Scanner;
public class Baitap { public stac void
main(String[] args) {
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
int a, b; int
tong, hieu, ch;
oat thuong;
Scanner sc=new Scanner(System.in);
System.out.println("Nhap a");
a=sc.nextInt();
System.out.println("Nhap b");
b=sc.nextInt(); tong=a+b;
hieu=a-b; ch=a*b;
System.out.println("Tong: "+ tong);
System.out.println("Hieu: "+ hieu);
System.out.println("Tich: "+ ch);
if(b!=0){
thuong=(oat)a/b;
System.out.println("Thuong: "+ thuong);
}else
System.out.println("So thu 2=0 nen khong nh thuong duoc");
}
}
2. Viết chương trình nhập vào 1 số nguyên, kiểm tra xem đây là số chẵn hay số l.
package baitap; import java.ul.Scanner; public class Baitap { public stac void
main(String[] args) {
int a;
Scanner sc=new Scanner(System.in);
System.out.println("Nhap a");
a=sc.nextInt();
if(a%2==0){
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
System.out.println("So chan");
}
else
System.out.println("So le");
}
}
3. Viết chương trình nhập vào điểm trung bình của 1 học sinh, sau đó in ra thông báo cho
biết kết quả xét tuyển lên lớp của sinh viên đó là đạt hay không đạt (Giả sử dtb>=5 là đạt).
package baitap; import
java.ul.Scanner; public class Baitap {
public stac void main(String[] args) {
double dtb;
Scanner sc=new Scanner(System.in);
System.out.print("Nhap DTB: ");
dtb=sc.nextDouble();
if(dtb<5)
System.out.println("Khong Dat");
else
System.out.println("Dat");
}
}
4. Viết chương trình cho phép nhập vào điểm trung bình của 1 học sinh, sau đó in ra
thông báo về xếp loại của học sinh tương ứng
0 … <5: Yếu
5 … <7:Trung bình
7 … <9:Khá
9 … <10: Giỏi
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
10: Xuất sắc package baitap; import
java.ul.Scanner; public class Baitap {
public stac void main(String[] args) {
double dtb;
Scanner sc=new Scanner(System.in);
System.out.print("Nhap DTB: ");
dtb=sc.nextDouble();
if(dtb<5)
System.out.println("Yeu");
else if(dtb<7)
System.out.println("Trung Binh");
else if(dtb<9)
System.out.println("Kha");
else if(dtb<10)
System.out.println("Gioi");
else
System.out.println("Xuat Sac");
}
}
5. Viết chương trình cho phép nhập vào chỉ số đọc được trên đồng hồ đo điện ở một hộ
gia đình tại các thời điểm, bao gồm chỉ số cũ và chỉ số mới. Chương trình sẽ nh số kw điện
đã êu thụ và nh ền điện cho hộ gia đình tương ứng. Biết rằng ền điện được nh dựa
theo quy định sau
- ới đến bằng 100kw: thì 1 kw phải trả 1200 đ
- từ kw thứ 101 đến 249 thì 1 kw phải trả 1500 đ
- từ kw thứ 250 đến 400 thì 1kw phải trả 2300 đ
- từ kw thứ 401 trở đi, mỗi kw phải trả 3000đ
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
6. Viết chương trình giải phương trình bậc hai một ẩn số có dạng
ax2 + bx + c = 0
Khi thi hành, chương trình cho phép nhập vào giá trị tương đương với các hệ số a, b, c. Sau
đó, chương trình sẽ nh và in ra kết quả tương ứng với các nh huống giải phương trình bc
hai đã được học trước đây.
package javaapplicaon1; import
java.ul.Scanner; public class
JavaApplicaon1 { public stac void
main(String[] args) {
int a, b, c;
double x1, x2, dt;
Scanner sc = new Scanner(System.in);
System.out.println("Nhap a: ");
a=sc.nextInt();
System.out.println("Nhap b: ");
b=sc.nextInt();
System.out.println("Nhap c: ");
c=sc.nextInt();
if(a==0){
if(b==0){
if(c==0)
System.out.println("VSN");
else
System.out.println("VN");
}else{
x1=(double)-c/b;
System.out.println("PT 1 nghiem x= "+x1);
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
}
}else{//a!=0 dt=b*b-
(4*a*c);
if(dt<0)
System.out.println("VN");
else if(dt==0){ x1=(double)-
b/(2*a);
System.out.println("PT co nghiem kep x1 = x2 = "+x1);
}else{
x1=((double)-b+Math.sqrt(dt))/(2*a); x2=((double)-b-
Math.sqrt(dt))/(2*a);
System.out.println("PT co 2 nghiem phan biet la x1= "+x1+", x2= "+x2);
}
}
}
7. Viết chương trình cho phép nh ền thưởng tết cho 1 nhân viên với các thông số như sau
Nhập: Số năm làm việc, Mức lương cơ bản
Xử lý:
- Nếu số năm làm việc từ 3 năm trxuống thì thưởng 1 triệu
- Nếu làm việc trên 3 năm thì xét ếp
+ Nếu mức lương dưới 5 triệu thì thưởng nửa tháng lương
+ Nếu mức lương từ 5 triệu trở lên thì thưởng trọn tháng lương
BÀI TẬP THỰC HÀNH CƠ SỞ LẬP TRÌNH
Buổi 4: Viết chương trình
2. Viết chương trình mô phỏng máy nh cá nhân với 4 phép toán cơ bản : + - * /. Khi thi
hành, chương trình sẽ cho phép nhập phép toán, 2 số. In ra kết quả nh được giữa 2
số đã nhập dựa trên phép toán đã yêu cầu. (switch)
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
package javaapplicaon1;
import java.ul.Scanner;
public class JavaApplicaon1 {
public stac void main(String[] args) {
int a, b, kq;
char pt;
Scanner sc= new Scanner(System.in);
System.out.println("Nhap a: ");
a=sc.nextInt();
System.out.println("Nhap b: ");
b=sc.nextInt();
System.out.println("Nhap phep nh: ");
pt=sc.next().charAt(0);
switch(pt){
case '+':
System.out.println("Tong: "+(a+b));
break; case '-':
System.out.println("Tong: "+(a-b));
break; case '*':
System.out.println("Tong: "+(a*b));
break; case '/': if(b!=0)
System.out.println("Tong: "+((oat)a/b));
else
System.out.println("Khong thuc hien chia cho 0");
break; default:
System.out.println("Du lieu khong hop le");
}
}
}
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
Viết chương trình cho phép nhập vào Tháng và Năm cần xét, sau đó chương trình sẽ in ra
thông báo cho biết Tháng của Năm đã nhập có bao nhiêu ngày. (switch)
public stac void main(String[] args) {
int thang, nam ;
Scanner sc= new Scanner(System.in);
System.out.println("Nhap thang : ");
thang =sc.nextInt();
System.out.println("Nhap nam : ");
nam =sc.nextInt(); switch (thang) {
case(1):
case(3) :
case(5) : case
(7) : case(8) :
case(10):
case(12):
System.out.println("thang co 31 ngay");
case(4):
case(6):
case(9) :
case(11) :
System.out.println("thang co 30 ngay");
case(2):
if( nam%4 == 0)
System.out.println("thang co 29 ngay");
else System.out.println("thang co 28 ngay");
break ; default :
System.out.println("du lieu khong hop le");
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
3. Viết chương trình cho phép nhập vào một số nguyên n, sau đó in ra bảng cửu chương
n với n là một số từ 1 đến 9. (for)
public stac void main(String[] args) {
int n ,i;
Scanner sc= new Scanner(System.in);
System.out.println("so : "); n =
sc.nextInt(); for(i=1; i<=10;i++)
for(n=1;n<=10;n++)
System.out.print(n+ "x" +i+"="+(n*i)+" ");
System.out.println("") ;
4. Viết chương trình cho phép nhập vào một số nguyên n, sau đó in ra giai thừa của n.
VD: n=5, n!=120. (for)
public stac void main(String[] args) {
int n ,i,t;
Scanner sc= new Scanner(System.in);
System.out.println("nhap so : ");
n=sc.nextInt() ;
t=1 ;
for(i=1;i<=n;i++)
t=t*i ;
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
System.out.println(t);
5. Viết chương trình cho phép nhập vào một số nguyên n, sau đó in ra tổng S. Với S=1+2+
…+n. (for) public stac void main(String[] args) {
int n ,i,s;
Scanner sc= new Scanner(System.in);
System.out.println("so : "); n =
sc.nextInt();
s=0; for(i=1;
i<=n;i++)
s=s+i;
System.out.println(s);
6. Viết chương trình cho phép in ra màn hình các bảng cửu chương từ 1 đến 9. (2 for)
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
public stac void main(String[] args) {
int n,i;
Scanner sc= new Scanner(System.in);
System.out.println("so : "); n=
sc.nextInt(); for(i=1; i<10;i++)
for(n=1;n<=10;n++)
System.out.println(n+ "x" +i+"="+(n*i)+" ");
7. Viết chương trình cho phép in ra màn hình hình chnhật có kích thước n x m (n: Kích
thước của chiều dài, m: Kích thước chiều rộng). Ký hiệu vẽ sử dụng dấu ‘*’. (2 for). VD:
n=4, m=3
BÀI TẬP THỰC HÀNH CƠ SỞ LẬP TRÌNH
Buổi 5: Viết chương trình
1. Viết chương trình cho phép in ra màn hình hình ch nhật kích thước n x m (n: Kích
thước của chiều dài, m: Kích thước chiều rộng). Ký hiệu vẽ sử dụng dấu ‘*’. (2 for). VD:
n=4, m=3
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
int i,j,n,m;
Scanner sc=new Scanner(System.in);
System.out.println(“nhap gia tri n= “);
n=sc.nextInt();
System.out.println(“nhap gia tri m= “);
m=sc.nextInt(); for (i=1;i<=m;i++)
{
for (j=1;j<=n;j++)
System.out.print("*");
System.out.println();
}
2. Tương tự bài 7
int i,j,n,m;
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
for (i=1;i<=m;i++)
{
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
for (j=1;j<=n;j++)
if(i==1|| i==m||j==1||j==n)
System.out.print("*");
else
System.out.print(" ");
System.out.println();
}
3. Viết chương trình nhập vào 1 số nguyên dương. Tìm các ước số của số đó.
VD: Nhập: 12 -> 1, 2, 3, 4, 6, 12
int n, i;
Scanner sc=new Scanner(System.in);
do{
System.out.println("Nhap 1 so nguyen duong");
n=sc.nextInt();
}while(n<=0);
System.out.print("Cac uoc so cua "+n+" la: ");
for(i=1; i<=n; i++) if(n%i==0)
System.out.print(i+" ");
}
}
4. Viết chương trình nhập vào 2 số nguyên dương. Tìm các ước số chung của hai số đó.
VD: Nhập: 9, 12 -> 1, 3 int i,n,m;
Scanner sc=new Scanner (System.in);
do{
System.out.println("nhap so nguyen duong 1: ");
n=sc.nextInt();
}while(n<=0);
do{
System.out.println("nhap so nguyen duong 2: ");
m=sc.nextInt();
}while(m<=0);
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
System.out.print("uoc so chng cua "+n+" va "+m+" la: ");
for(i=1;i<=(n<m?n:m);i++) if(n%i==0&&m%i==0)
System.out.print(i+" ");
}
}
5. Viết chương trình nhập vào 2 số nguyên dương. Tìm ước số chung lớn nhất của hai số
đó.
VD: Nhập: 9, 12 -> 3
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
package javaapplicaon1; import
java.ul.Scanner; public class
JavaApplicaon1 { public stac void
main(String[] args) { int n, m, i,
max=1;
Scanner sc=new Scanner(System.in);
do{
System.out.println("Nhap so nguyen duong thu 1:");
n=sc.nextInt(); }while(n<=0);
do{
System.out.println("Nhap so nguyen duong thu 2:");
m=sc.nextInt();
}while(m<=0);
for(i=1; i<=(n<m?n:m); i++)
if(n%i==0&&m%i==0)
max=i;
System.out.print("Uoc so chung cua "+n+" va "+m+" la: "+ max);
}
}
6. Viết chương trình cho phép nhập vào 1 số nguyên dương, sau đó kiểm tra và in ra
thông báo cho biết số đã nhập có phải là số nguyên tố hay không. Số nguyên tố là số
khác 1, -1 và chỉ chia hết cho 1 và chính nó.
VD: Nhập 5
Xuất: 5 Là số nguyên tố
Nhập: 9
Xuất: 9 Không phải là số nguyên tố
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
7. Viết chương trình cho phép nhập vào 1 số nguyên dương, sau đó kiểm tra và in ra
thông báo cho biết số đã nhập có phải là số chính phương không. Số chính phương là
số có căn bậc hai là một số nguyên.
VD: Nhập: 9 -> 9 là số chính phương. VD:
Nhập: 8 -> 8 không là số chính phương.
package javaapplicaon7; import
java.ul.Scanner; public class
JavaApplicaon7 { public stac void
main(String[] args) { int n,i,f=0;
Scanner sc=new Scanner (System.in);
do{
System.out.println("nhap n: ");
n=sc.nextInt(); }while(n<=0);
for(i=1;i*i<=n;i++) if(i*i==n)
{f=1;break;} if(f==1)
System.out.println("la so chinh phuong ");
else
System.out.println("khong phai la so chinh phuong ");
}
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
}
8. Viết chương trình cho phép nhập vào 1 số nguyên dương, sau đó kiểm tra và in ra
thông báo cho biết số đã nhập có phải là số hoàn thiện không. Số hoàn thiện là số
tổng các ước số nhỏ hơn nó bằng chính nó.
VD: Nhập: 6 -> 6 là số hoàn thiện vì tổng ước số nhỏ hơn 6 (s=1+2+3) bằng chính nó.
9. Viết chương trình cho phép nhập 1 số nguyên dương n, sau đó in ra các ký số của n.
HD: Sử dụng toán tử chia nguyên (/) và toán tử chia dư (%) để nh toán.
VD: Nhập: n=275
Xuất: 5, 7, 2
10. Viết chương trình cho phép nhập 1 số nguyên dương n, kiểm tra xem n có phải là số
đối xứng không.
HD: Đảo ngược số ban đầu, sau đó kiểm tra số đảo ngược có bằng số ban đầu không.
VD: Nhập: n=23732 -> n là số đối xứng
BÀI TẬP THỰC HÀNH CƠ SỞ LẬP TRÌNH
Buổi 6: Viết chương trình
1. Viết chương trình nhập vào một số nguyên dương n. Sau đó chương trình cho phép
người dùng nhập một trong các lựa chọn sau. Chương trình chỉ kết thúc khi người
dùng lựa chọn “Thoát.
a. Tìm các ước số của n
b. Tính giai thừa của n
c. Tính tổng từ 1->n
d. Kiểm tra n có phải là số nguyên tố
e. Kiểm tra n có phải là số chính phương
f. Kiểm tra n có phải là số hoàn thiện
g. In ra các ký số của n
h. Tính tổng các ký số của n
i. Kiểm tra n có phải là số đối xứng
j. Thoat
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi
lOMoARcPSD| 45734214
Cơ sở lập trình Biên soạn: Thái Trúc Nhi

Preview text:

lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi
BÀI TẬP THỰC HÀNH CƠ SỞ LẬP TRÌNH
Buổi 3: Viết chương trình
1. Viết chương trình cho phép nhập vào 3 số nguyên tùy ý, sau đó in ra thông báo cho
biết số lớn nhất trong 3 số đã nhập có giá trị là bao nhiêu. package baitap; import java.util.Scanner; public class Baitap {
public static void main(String[] args) { int a, b ,c ;
Scanner sc=new Scanner(System.in); System.out.println("Nhap a"); a=sc.nextInt();
System.out.println("Nhap b"); b=sc.nextInt();
System.out.println("Nhap c"); c=sc.nextInt(); int max=a; if(max if(maxmax=c;
System.out.println("Max: "+ max); } }
1. Viết chương trình cho phép nhập vào 2 số nguyên tuỳ ý, sau đó in ra tổng, hiệu, tích và
thương của 2 số đã nhập. Chương trình cần kiểm tra số bị chia có bằng 0 hay không trước khi
thực hiện phép chia. package baitap; import java.util.Scanner;
public class Baitap { public static void main(String[] args) { lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi int a, b; int tong, hieu, tich; float thuong;
Scanner sc=new Scanner(System.in); System.out.println("Nhap a"); a=sc.nextInt();
System.out.println("Nhap b"); b=sc.nextInt(); tong=a+b; hieu=a-b; tich=a*b;
System.out.println("Tong: "+ tong);
System.out.println("Hieu: "+ hieu);
System.out.println("Tich: "+ tich); if(b!=0){ thuong=(float)a/b;
System.out.println("Thuong: "+ thuong); }else
System.out.println("So thu 2=0 nen khong tinh thuong duoc"); } } 2.
Viết chương trình nhập vào 1 số nguyên, kiểm tra xem đây là số chẵn hay số lẻ.
package baitap; import java.util.Scanner; public class Baitap { public static void main(String[] args) { int a;
Scanner sc=new Scanner(System.in); System.out.println("Nhap a"); a=sc.nextInt(); if(a%2==0){ lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi
System.out.println("So chan"); } else System.out.println("So le"); } } 3.
Viết chương trình nhập vào điểm trung bình của 1 học sinh, sau đó in ra thông báo cho
biết kết quả xét tuyển lên lớp của sinh viên đó là đạt hay không đạt (Giả sử dtb>=5 là đạt). package baitap; import
java.util.Scanner; public class Baitap {
public static void main(String[] args) { double dtb;
Scanner sc=new Scanner(System.in);
System.out.print("Nhap DTB: "); dtb=sc.nextDouble(); if(dtb<5)
System.out.println("Khong Dat"); else System.out.println("Dat"); } } 4.
Viết chương trình cho phép nhập vào điểm trung bình của 1 học sinh, sau đó in ra
thông báo về xếp loại của học sinh tương ứng 0 … <5: Yếu 5 … <7:Trung bình 7 … <9:Khá 9 … <10: Giỏi lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi
10: Xuất sắc package baitap; import
java.util.Scanner; public class Baitap {
public static void main(String[] args) { double dtb;
Scanner sc=new Scanner(System.in);
System.out.print("Nhap DTB: "); dtb=sc.nextDouble(); if(dtb<5) System.out.println("Yeu"); else if(dtb<7)
System.out.println("Trung Binh"); else if(dtb<9) System.out.println("Kha"); else if(dtb<10) System.out.println("Gioi"); else
System.out.println("Xuat Sac"); } } 5.
Viết chương trình cho phép nhập vào chỉ số đọc được trên đồng hồ đo điện ở một hộ
gia đình tại các thời điểm, bao gồm chỉ số cũ và chỉ số mới. Chương trình sẽ tính số kw điện
đã tiêu thụ và tính tiền điện cho hộ gia đình tương ứng. Biết rằng tiền điện được tính dựa theo quy định sau

- dưới đến bằng 100kw: thì 1 kw phải trả 1200 đ
- từ kw thứ 101 đến 249 thì 1 kw phải trả 1500 đ
- từ kw thứ 250 đến 400 thì 1kw phải trả 2300 đ
- từ kw thứ 401 trở đi, mỗi kw phải trả 3000đ lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi 6.
Viết chương trình giải phương trình bậc hai một ẩn số có dạng ax2 + bx + c = 0
Khi thi hành, chương trình cho phép nhập vào giá trị tương đương với các hệ số a, b, c. Sau
đó, chương trình sẽ tính và in ra kết quả tương ứng với các tình huống giải phương trình bậc
hai đã được học trước đây.

package javaapplication1; import
java.util.Scanner; public class
JavaApplication1 { public static void main(String[] args) { int a, b, c; double x1, x2, dt;
Scanner sc = new Scanner(System.in);
System.out.println("Nhap a: "); a=sc.nextInt();
System.out.println("Nhap b: "); b=sc.nextInt();
System.out.println("Nhap c: "); c=sc.nextInt(); if(a==0){ if(b==0){ if(c==0) System.out.println("VSN"); else System.out.println("VN"); }else{ x1=(double)-c/b;
System.out.println("PT 1 nghiem x= "+x1); lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi } }else{//a!=0 dt=b*b- (4*a*c); if(dt<0) System.out.println("VN"); else if(dt==0){ x1=(double)- b/(2*a);
System.out.println("PT co nghiem kep x1 = x2 = "+x1); }else{
x1=((double)-b+Math.sqrt(dt))/(2*a); x2=((double)-b- Math.sqrt(dt))/(2*a);
System.out.println("PT co 2 nghiem phan biet la x1= "+x1+", x2= "+x2); } } }
7. Viết chương trình cho phép tính tiền thưởng tết cho 1 nhân viên với các thông số như sau
Nhập: Số năm làm việc, Mức lương cơ bản Xử lý:
- Nếu số năm làm việc từ 3 năm trở xuống thì thưởng 1 triệu
- Nếu làm việc trên 3 năm thì xét tiếp
+ Nếu mức lương dưới 5 triệu thì thưởng nửa tháng lương
+ Nếu mức lương từ 5 triệu trở lên thì thưởng trọn tháng lương
BÀI TẬP THỰC HÀNH CƠ SỞ LẬP TRÌNH
Buổi 4: Viết chương trình
2. Viết chương trình mô phỏng máy tính cá nhân với 4 phép toán cơ bản : + - * /. Khi thi
hành, chương trình sẽ cho phép nhập phép toán, 2 số. In ra kết quả tính được giữa 2
số đã nhập dựa trên phép toán đã yêu cầu. (switch)
lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi package javaapplication1; import java.util.Scanner;
public class JavaApplication1 {
public static void main(String[] args) { int a, b, kq; char pt;
Scanner sc= new Scanner(System.in);
System.out.println("Nhap a: "); a=sc.nextInt();
System.out.println("Nhap b: "); b=sc.nextInt();
System.out.println("Nhap phep tinh: "); pt=sc.next().charAt(0); switch(pt){ case '+':
System.out.println("Tong: "+(a+b)); break; case '-':
System.out.println("Tong: "+(a-b)); break; case '*':
System.out.println("Tong: "+(a*b)); break; case '/': if(b!=0)
System.out.println("Tong: "+((float)a/b)); else
System.out.println("Khong thuc hien chia cho 0"); break; default:
System.out.println("Du lieu khong hop le"); } } } lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi
Viết chương trình cho phép nhập vào Tháng và Năm cần xét, sau đó chương trình sẽ in ra
thông báo cho biết Tháng của Năm đã nhập có bao nhiêu ngày. (switch)

public static void main(String[] args) { int thang, nam ;
Scanner sc= new Scanner(System.in);
System.out.println("Nhap thang : "); thang =sc.nextInt();
System.out.println("Nhap nam : ");
nam =sc.nextInt(); switch (thang) { case(1): case(3) : case(5) : case (7) : case(8) : case(10): case(12):
System.out.println("thang co 31 ngay"); case(4): case(6): case(9) : case(11) :
System.out.println("thang co 30 ngay"); case(2): if( nam%4 == 0)
System.out.println("thang co 29 ngay");
else System.out.println("thang co 28 ngay"); break ; default :
System.out.println("du lieu khong hop le"); lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi
3. Viết chương trình cho phép nhập vào một số nguyên n, sau đó in ra bảng cửu chương
n với n là một số từ 1 đến 9. (for)
public static void main(String[] args) { int n ,i;
Scanner sc= new Scanner(System.in);
System.out.println("so : "); n =
sc.nextInt(); for(i=1; i<=10;i++) for(n=1;n<=10;n++)
System.out.print(n+ "x" +i+"="+(n*i)+" "); System.out.println("") ;
4. Viết chương trình cho phép nhập vào một số nguyên n, sau đó in ra giai thừa của n. VD: n=5, n!=120. (for)
public static void main(String[] args) { int n ,i,t;
Scanner sc= new Scanner(System.in);
System.out.println("nhap so : "); n=sc.nextInt() ; t=1 ; for(i=1;i<=n;i++) t=t*i ; lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi System.out.println(t);
5. Viết chương trình cho phép nhập vào một số nguyên n, sau đó in ra tổng S. Với S=1+2+
…+n. (for) public static void main(String[] args) { int n ,i,s;
Scanner sc= new Scanner(System.in);
System.out.println("so : "); n = sc.nextInt(); s=0; for(i=1; i<=n;i++) s=s+i; System.out.println(s);
6. Viết chương trình cho phép in ra màn hình các bảng cửu chương từ 1 đến 9. (2 for) lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi
public static void main(String[] args) { int n,i;
Scanner sc= new Scanner(System.in);
System.out.println("so : "); n=
sc.nextInt(); for(i=1; i<10;i++) for(n=1;n<=10;n++)
System.out.println(n+ "x" +i+"="+(n*i)+" ");
7. Viết chương trình cho phép in ra màn hình hình chữ nhật có kích thước n x m (n: Kích
thước của chiều dài, m: Kích thước chiều rộng). Ký hiệu vẽ sử dụng dấu ‘*’. (2 for). VD: n=4, m=3
BÀI TẬP THỰC HÀNH CƠ SỞ LẬP TRÌNH
Buổi 5: Viết chương trình
1. Viết chương trình cho phép in ra màn hình hình chữ nhật có kích thước n x m (n: Kích
thước của chiều dài, m: Kích thước chiều rộng). Ký hiệu vẽ sử dụng dấu ‘*’. (2 for). VD: n=4, m=3 lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi int i,j,n,m;
Scanner sc=new Scanner(System.in);
System.out.println(“nhap gia tri n= “); n=sc.nextInt();
System.out.println(“nhap gia tri m= “);
m=sc.nextInt(); for (i=1;i<=m;i++) { for (j=1;j<=n;j++) System.out.print("*"); System.out.println(); } 2. Tương tự bài 7 int i,j,n,m;
Scanner sc=new Scanner(System.in); n=sc.nextInt(); m=sc.nextInt(); for (i=1;i<=m;i++) { lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi for (j=1;j<=n;j++) if(i==1|| i==m||j==1||j==n) System.out.print("*"); else System.out.print(" "); System.out.println(); }
3. Viết chương trình nhập vào 1 số nguyên dương. Tìm các ước số của số đó.
VD: Nhập: 12 -> 1, 2, 3, 4, 6, 12 int n, i;
Scanner sc=new Scanner(System.in); do{
System.out.println("Nhap 1 so nguyen duong"); n=sc.nextInt(); }while(n<=0);
System.out.print("Cac uoc so cua "+n+" la: ");
for(i=1; i<=n; i++) if(n%i==0) System.out.print(i+" "); } }
4. Viết chương trình nhập vào 2 số nguyên dương. Tìm các ước số chung của hai số đó.
VD: Nhập: 9, 12 -> 1, 3 int i,n,m;
Scanner sc=new Scanner (System.in); do{
System.out.println("nhap so nguyen duong 1: "); n=sc.nextInt(); }while(n<=0); do{
System.out.println("nhap so nguyen duong 2: "); m=sc.nextInt(); }while(m<=0); lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi
System.out.print("uoc so chng cua "+n+" va "+m+" la: ");
for(i=1;i<=(n System.out.print(i+" "); } }
5. Viết chương trình nhập vào 2 số nguyên dương. Tìm ước số chung lớn nhất của hai số đó. VD: Nhập: 9, 12 -> 3 lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi
package javaapplication1; import
java.util.Scanner; public class
JavaApplication1 { public static void
main(String[] args) { int n, m, i, max=1;
Scanner sc=new Scanner(System.in); do{
System.out.println("Nhap so nguyen duong thu 1:");
n=sc.nextInt(); }while(n<=0); do{
System.out.println("Nhap so nguyen duong thu 2:"); m=sc.nextInt(); }while(m<=0);
for(i=1; i<=(n if(n%i==0&&m%i==0) max=i;
System.out.print("Uoc so chung cua "+n+" va "+m+" la: "+ max); } }
6. Viết chương trình cho phép nhập vào 1 số nguyên dương, sau đó kiểm tra và in ra
thông báo cho biết số đã nhập có phải là số nguyên tố hay không. Số nguyên tố là số
khác 1, -1 và chỉ chia hết cho 1 và chính nó.
VD: Nhập 5
Xuất: 5 Là số nguyên tố Nhập: 9
Xuất: 9 Không phải là số nguyên tố lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi
7. Viết chương trình cho phép nhập vào 1 số nguyên dương, sau đó kiểm tra và in ra
thông báo cho biết số đã nhập có phải là số chính phương không. Số chính phương là
số có căn bậc hai là một số nguyên.

VD: Nhập: 9 -> 9 là số chính phương. VD:
Nhập: 8 -> 8 không là số chính phương.
package javaapplication7; import
java.util.Scanner; public class
JavaApplication7 { public static void
main(String[] args) { int n,i,f=0;
Scanner sc=new Scanner (System.in); do{
System.out.println("nhap n: ");
n=sc.nextInt(); }while(n<=0);
for(i=1;i*i<=n;i++) if(i*i==n) {f=1;break;} if(f==1)
System.out.println("la so chinh phuong "); else
System.out.println("khong phai la so chinh phuong "); } lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi }
8. Viết chương trình cho phép nhập vào 1 số nguyên dương, sau đó kiểm tra và in ra
thông báo cho biết số đã nhập có phải là số hoàn thiện không. Số hoàn thiện là số có
tổng các ước số nhỏ hơn nó bằng chính nó.

VD: Nhập: 6 -> 6 là số hoàn thiện vì tổng ước số nhỏ hơn 6 (s=1+2+3) bằng chính nó.
9. Viết chương trình cho phép nhập 1 số nguyên dương n, sau đó in ra các ký số của n.
HD: Sử dụng toán tử chia nguyên (/) và toán tử chia dư (%) để tính toán. VD: Nhập: n=275 Xuất: 5, 7, 2
10. Viết chương trình cho phép nhập 1 số nguyên dương n, kiểm tra xem n có phải là số đối xứng không.
HD: Đảo ngược số ban đầu, sau đó kiểm tra số đảo ngược có bằng số ban đầu không.
VD: Nhập: n=23732 -> n là số đối xứng
BÀI TẬP THỰC HÀNH CƠ SỞ LẬP TRÌNH
Buổi 6: Viết chương trình
1. Viết chương trình nhập vào một số nguyên dương n. Sau đó chương trình cho phép
người dùng nhập một trong các lựa chọn sau. Chương trình chỉ kết thúc khi người
dùng lựa chọn “Thoát”.

a. Tìm các ước số của n b. Tính giai thừa của n c. Tính tổng từ 1->n
d. Kiểm tra n có phải là số nguyên tố
e. Kiểm tra n có phải là số chính phương
f. Kiểm tra n có phải là số hoàn thiện
g. In ra các ký số của n
h. Tính tổng các ký số của n
i. Kiểm tra n có phải là số đối xứng j. Thoat lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi lOMoAR cPSD| 45734214 Cơ sở lập trình Biên soạn: Thái Trúc Nhi