Dưới đây là 10 bài tập giúp học sinh luyện tập sử dụng kiểu dữ liệu logic (bool) trong C++:
Bài tập 1: Kiểm tra số chẵn lẻ
Viết chương trình nhập vào một số nguyên và kiểm tra xem nó là số chẵn hay số lẻ. Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Bài tập 2: Kiểm tra số nguyên tố
Viết chương trình nhập vào một số nguyên và kiểm tra xem nó có phải là số nguyên tố hay không. Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Bài tập 3: Kiểm tra năm nhuận
Viết chương trình nhập vào một năm và kiểm tra xem năm đó có phải là năm nhuận hay không. Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Bài tập 4: Kiểm tra mật khẩu
Viết chương trình nhập vào một mật khẩu và kiểm tra xem nó có khớp với mật khẩu đã lưu trước đó hay không. Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Bài tập 5: Kiểm tra điểm thi
Viết chương trình nhập vào điểm thi của học sinh và xác định xem học sinh có đạt hay không (điểm >= 50). Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Bài tập 6: Kiểm tra ngày hợp lệ
Viết chương trình nhập vào ngày, tháng, năm và kiểm tra xem ngày đó có hợp lệ hay không. Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Bài tập 7: Kiểm tra tam giác hợp lệ
Viết chương trình nhập vào ba cạnh của một tam giác và kiểm tra xem ba cạnh đó có tạo thành một tam giác hợp lệ hay không. Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Bài tập 8: Kiểm tra chuỗi đối xứng
Viết chương trình nhập vào một chuỗi và kiểm tra xem chuỗi đó có phải là chuỗi đối xứng hay không. Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Bài tập 9: Kiểm tra số hoàn hảo
Viết chương trình nhập vào một số nguyên và kiểm tra xem số đó có phải là số hoàn hảo hay không (một số hoàn hảo là số mà tổng các ước số của nó bằng chính nó). Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Bài tập 10: Kiểm tra chuỗi con
Viết chương trình nhập vào hai chuỗi và kiểm tra xem chuỗi thứ hai có phải là chuỗi con của chuỗi thứ nhất hay không. Sử dụng biến logic để lưu trữ kết quả kiểm tra.
Gợi ý Giải
Bài tập 1: Kiểm tra số chẵn lẻ
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Nhap so nguyen: ";
cin >> number;
bool isEven = (number % 2 == 0);
if (isEven) {
cout << number << " la so chan." << endl;
} else {
cout << number << " la so le." << endl;
}
return 0;
}
Bài tập 2: Kiểm tra số nguyên tố
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Nhap so nguyen: ";
cin >> number;
bool isPrime = true;
if (number <= 1) {
isPrime = false;
} else {
for (int i = 2; i <= number / 2; i++) {
if (number % i == 0) {
isPrime = false;
break;
}
}
}
if (isPrime) {
cout << number << " la so nguyen to." << endl;
} else {
cout << number << " khong phai la so nguyen to." << endl;
}
return 0;
}
Bài tập 3: Kiểm tra năm nhuận
#include <iostream>
using namespace std;
int main() {
int year;
cout << "Nhap nam: ";
cin >> year;
bool isLeapYear = false;
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
isLeapYear = true;
}
if (isLeapYear) {
cout << year << " la nam nhuan." << endl;
} else {
cout << year << " khong phai la nam nhuan." << endl;
}
return 0;
}
Bài tập 4: Kiểm tra mật khẩu
#include <iostream>
#include <string>
using namespace std;
int main() {
string correctPassword = "password123";
string enteredPassword;
cout << "Nhap mat khau: ";
cin >> enteredPassword;
bool isPasswordCorrect = (enteredPassword == correctPassword);
if (isPasswordCorrect) {
cout << "Mat khau dung." << endl;
} else {
cout << "Mat khau sai." << endl;
}
return 0;
}
Bài tập 5: Kiểm tra điểm thi
#include <iostream>
using namespace std;
int main() {
int score;
cout << "Nhap diem: ";
cin >> score;
bool isPass = (score >= 50);
if (isPass) {
cout << "Ban da dat." << endl;
} else {
cout << "Ban khong dat." << endl;
}
return 0;
}
Bài tập 6: Kiểm tra ngày hợp lệ
#include <iostream>
using namespace std;
bool isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int main() {
int day, month, year;
cout << "Nhap ngay, thang, nam: ";
cin >> day >> month >> year;
bool isValidDate = true;
if (month < 1 || month > 12) {
isValidDate = false;
} else if (day < 1 || day > 31) {
isValidDate = false;
} else {
if (month == 2) {
if (isLeapYear(year)) {
if (day > 29) isValidDate = false;
} else {
if (day > 28) isValidDate = false;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
if (day > 30) isValidDate = false;
}
}
if (isValidDate) {
cout << "Ngay hop le." << endl;
} else {
cout << "Ngay khong hop le." << endl;
}
return 0;
}
Bài tập 7: Kiểm tra tam giác hợp lệ
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cout << "Nhap ba canh cua tam giac: ";
cin >> a >> b >> c;
bool isValidTriangle = (a + b > c) && (a + c > b) && (b + c > a);
if (isValidTriangle) {
cout << "Day la tam giac hop le." << endl;
} else {
cout << "Day khong phai la tam giac hop le." << endl;
}
return 0;
}
Bài tập 8: Kiểm tra chuỗi đối xứng
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "Nhap chuoi: ";
cin >> str;
bool isPalindrome = true;
int length = str.length();
for (int i = 0; i < length / 2; i++) {
if (str[i] != str[length - 1 - i]) {
isPalindrome = false;
break;
}
}
if (isPalindrome) {
cout << "Chuoi la doi xung." << endl;
} else {
cout << "Chuoi khong phai la doi xung." << endl;
}
return 0;
}
Bài tập 9: Kiểm tra số hoàn hảo
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Nhap so nguyen: ";
cin >> number;
int sum = 0;
for (int i = 1; i < number; i++) {
if (number % i == 0) {
sum += i;
}
}
bool isPerfect = (sum == number);
if (isPerfect) {
cout << number << " la so hoan hao." << endl;
} else {
cout << number << " khong phai la so hoan hao." << endl;
}
return 0;
}
Bài tập 10: Kiểm tra chuỗi con
#include <iostream>
#include <string>
using namespace std
;
int main() {
string str1, str2;
cout << "Nhap chuoi 1: ";
cin >> str1;
cout << "Nhap chuoi 2: ";
cin >> str2;
bool isSubstring = (str1.find(str2) != string::npos);
if (isSubstring) {
cout << str2 << " la chuoi con cua " << str1 << "." << endl;
} else {
cout << str2 << " khong phai la chuoi con cua " << str1 << "." << endl;
}
return 0;
}
Những bài tập này sẽ giúp học sinh nắm vững và vận dụng được kiểu dữ liệu logic trong các chương trình C++.
