Professional Documents
Culture Documents
NHÓM …
TÊN ĐỀ TÀI
LỚP:
NHÓM …
TÊN ĐỀ TÀI
LỚP:
GIẢNG VIÊN HƯỚNG DẪN: GVC. Ths. NGUYỄN THỊ THÙY LINH
DANH SÁNH SINH VIÊN NHÓM…
1 Tìm hiểu bảng mã, giải ví dụ minh họa, viết Nguyễn Tuấn Thanh
chương trình, thuật toán, giải thích chương trình,
tham gia đánh giá, phương hướng cải tiến
2 Tìm hiểu bảng mã, cách cài đặt môi trường, tham Ngô Tấn Phúc
gia đánh giá
*Chú ý: Sai mẫu sẽ không chấm điểm, nộp trể hạn bị trừ 0.5 điểm/1ngày
Người nộp
<HỌ TÊN>
MỤC LỤC
1. MỞ ĐẦU:........................................................................................................................6
2. NỘI DUNG ĐỀ TÀI.......................................................................................................6
2.1. Đặt vấn đề:................................................................................................................6
2.2. Phương pháp giải quyết vấn đề:..............................................................................6
2.3. Thiết kế và cài đặt thuật toán:.................................................................................6
2.3.1. Tên chương trình con thứ nhất, ý nghĩa, các đối số, kiểu dữ liệu, đầu vào,
các bước xử lý, kết quả xuất ra...................................................................................7
2.3.2. Tên chương trình con thứ hai, ý nghĩa, các đối số, kiểu dữ liệu, đầu vào,
các bước xử lý, kết quả xuất ra...................................................................................9
2.4. Ví dụ minh họa cho giải thuật..............................................................................10
2.5. Đánh giá:................................................................................................................11
2.6. Giải bài tập minh họa............................................................................................11
2.7. Giới thiệu DEMO và hướng dẫn sử dụng...........................................................11
2.8. Nhận xét và bình luận, đề xuất:...........................................................................11
3. KẾT LUẬN...............................................................................................................25
3.1. Kết quả đạt được...................................................................................................25
3.2. Hạn chế...................................................................................................................25
3.3. Hướng phát triển...................................................................................................25
1. MỞ ĐẦU:
Bảng mã ASCII được biết dến như là một điều không thể thiếu với những người
lập trình và liên quan đến máy tin, sự xuất hiện của bảng mã ASCII đã giúp ích rất nhiều
cho sự phát triễn công nghệ. Chinh về thế để nâng cao hiểu biết về máy tính và phần mềm
trong đề tài này, chúng ta sẽ tìm hiểu và làm rõ và xây dựng chương trình mã hóa 256 ký
tự của bảng mã ASCII 8 bit.
In ra tất cả ký tự In ra 1 ký tự mã
của bảng mã hóa đươc nhập
Chương trình con thứ nhất: in ra tất cá ký tự của bảng mã ASCII mở rông.
Có dang:
void in_bang_ma( );
{
cout<< “\nBang ma ASCII 8bit:”<<endl;
for(int i=0;i<256;i++){
cout<<i<<"\t\t\t"<<char(i)<<endl;
}
}
Thuật toán:
Bước 1: Ta sẽ khởi tạo 1 hàm con có kiểu trả về là void
Bước 2: Ta sẽ dùng 1 biến để gán giá trị chạy từ 0 đến 256
Bước 3: Sử dụng 1 vòng lặp for với bước nhảy là 1 và bắt bđầu từ 0 kết thúc ở 255.
Sau đó tiến hành ép kiểu dữ liệu về kiểu char để in ra màn hình hiện thị của người
dùng.
Giải thích code:
Để in ra 256 ký tự của bảng mã ta sẽ sử dụng 1 vòng lặp for() chạy từ 0 đến 255 và
bước nhảy là 1:
for(int i=0;i<256;i++){
cout<<i<<"\t\t\t"<<char(i)<<endl;
Lệnh “\t\t\t” dùng để phân cách, khoảng trống khiến chương trình dễ nhìn hơn. Câu
lệnh char(i) ứng với mỗi giá trị của i sẽ in ra ký tự được mã hóa bởi bảng mã.
2.3.2. Tên chương trình con thứ hai, ý nghĩa, các đối số, kiểu dữ liệu, đầu vào, các bước xử lý,
kết quả xuất ra.
Chương trình con thứ hai: in ra ký tự được mã hóa bởi 1 số được người dùng nhập
từ bàn phím (số này nằm trong khoảng từ 0 đến 255).
Code C++:
void ma_hoa_1_ky_tu (int so){
cout<<"\nKu tu cua ban la: ";
cout<<so<<"\t\t\t"<<char(so);
}
Trong hàm main của chuongr trình ta sẽ sử dụng câu lệnh:
int so;
do{
cin>>so;
}while(so<0||so>256);
Thuật toán:
Bước 1: Ta sẽ khởi tạo 1 biến số để lưa giá trị của số được người dùng nhập từ
bàn phím.
Bước 2: Tạo 1 chương trình con để thực hiện chương trình, ở đây ta sẽ sử dụng
kiểu void - kiểu không có giá trị trả về để thực hiện chương trình này, và truyền
vào tham số.
Bước 3: Thực hiện ép kiểu tương tự như chương trình 1, xuất ra màn hình ký tự
được mã hóa.
Giải thích code:
Đầu tiên trong hàm main() chúng ta cần khai báo 1 biến “so” và sử dụng 1 vòng
lặp do – while để người dùng nhập vào:
do{
cin>>so;
} while (so<0||so>256);
Lệnh này dùng để cho người dùng nhạp vào từ bàn phím 1 số có giá trị nằm trong
khoảng [0;255] bởi vì bảng mã ascii 8 bit có 256 ký tự và bắt đầu từ 0 và kết thúc tại 255,
nếu người dùng nhập không dúng khoảng đó khối lệnh do – while sẽ yêu cầu người dùng
nhập lại.
Tiếp theo chúng ta sẽ xây dựng ngoài hàm main() 1 chương trình con:
cout<<so<<"\t\t\t"<<char(so);
}
cout<<so<<"\t\t\t"<<char(so); Lệnh này sẽ in ra số mà người dùng nhập vào từ bàn
phím được lưu trữ bởi biến “so” thong qua câu lệnh cin>>so; để in ký tự mã hóa trong
bảng mã ascii trong c++ ta dùng lệnh char(so) để ép kiểu và mã hóa in ra màn hình ký tự
trong bảng mã.
1. Đầu tiên ta cần truy cập vào trình duyệt và tìm kiếm với từ khóa “dowload devc+
+” hoặc bạn có thể truy cập trực tiếp vào đường dẫn
https://sourceforge.net/projects/orwelldevcpp/:
Hình 2.8.1. Cú pháp tìm kiếm dowload Dev C++
Sau đó nhấp vào đường link đầu tiên:
4. Chọn nơi lưu ứng dụng và khởi động và giải nén chương trình:
Hình 2.8.7 Chọn nơi lưu ứng dụng
Hình 2.8.10 Tiến hành các bước cài đặt tiếp theo
Hình 2.8.11 Tiến hành các bước cài đặt tiếp theo
Hình 2.8.12 Bước cài đặt cuối cùng
Để biên soạn chương trình ta chọn File – New – Source file hoặc nhấn tổ hợp phím
Ctrl + N
Sau đây là chương trình thực hiện in ra bảng mã ASCII 256 ký tự 8bit và thực hiện
in ra ký tự được mã hóa của 1 số đc nhập vào từ bàn phím:
Hình 2.8.14. Chuong trình in ra bảng mã và mã hóa 1 số thành ký tự
Để chạy chương trình ta chọn Execute sau đó chọn Compile & Run:
Hình 2.8.17. Kết quả chạy chương trình in ra bảng mã ASCII 256 ký tự
Hình 2.8.18. Kết quả chạy chương trình in ra bảng mã ASCII 256 ký tự
ASCII là viết tắt của cụm từ American Standard Code for Information Interchange,
có nghĩa là chuẩn mã trao đổi thông tin Hoa Kỳ. Đây là bộ mã hóa ký tự cho bảng chữ cái
La Tinh và được dùng để hiển thị văn bản trong máy tính.
Bảng mã ASCII 8 bit là bảng mã mở rộng của bảng mã ASCII tiêu chuẩn, mỗi ký tự trong
bản mã được mã hóa bằng 8 bit (8 bit không đến 8 bit 1) mã hóa 256 ký tự và được đánh
số từ 0 đến 255. Ưu điiểm của bảng mã mở rộng so với bảng mã tiêu chuẩn là có thể mã
hóa được
Hình 2.8.21. Bảng mã ASCII 256 ký tự 8 bit
Giải thích code:
Đầu tiên đẻ thực hiện chương trình ta phải khai báo một thư viện dùng để
nhập xuất cơ bản với C++ là iostream bằng câu lệnh. #include<iostream>;
using namespace std; dùng để khai báo sử dụng các hàm có trong std là cout và
cin;
int main() hàm main dùng để chạy chương trình bên trong nó và khi kết thúc ta sẽ
dùng một lệnh return 0; để báo chương trinh đã chạy xong
Để in ra 256 ký tự của bảng mã ta sẽ sử dụng 1 vòng lặp for() chạy từ 0 đến 255 và
bước nhảy là 1:
for(int i=0;i<256;i++){
cout<<i<<"\t\t\t"<<char(i)<<endl;
Lệnh “\t\t\t” dùng để phân cách, khoảng trống khiến chương trình dễ nhìn hơn. Câu
lệnh char(i) ứng với mỗi giá trị của i sẽ in ra ký tự được mã hóa bởi bảng mã.
int so; khai báo một biến “so” biến này có kiểu dữ liệu là int: dùng để lưu số
nguyên;
do {
cin>>so;
} while(so<0||so>256); lệnh này dùng để cho người dùng nhạp vào từ bàn phím 1
số có giá trị nằm trong khoảng [0;255] bởi vì bảng mã ascii 8 bit có 256 ký tự và bắt đầu
từ 0 và kết thúc tại 255, nếu người dùng nhập không dúng khoảng đó khối lệnh do – while
sẽ yêu cầu người dùng nhập lại;
Chú ý:
Chương trình trên chỉ in ra được các ký tự có thể nhìn thấy trên bảng mã những ký
tự chức năng khác sẽ hiện thị rổng.
Mã số Ký tự Ghi chú
008 BS Backspace
*Ưu điểm: độ phức tạp của thật toán là không cao, dễ dàng sử dụng.
Cách khắc phục: thêm câu lệnh để chia bảng mã thành 4 cột.
if((i+1)%4==0){
cout<<endl;}
TÀI LIỆU THAM KHẢO
[1] TOTOLINK VIET NAM: 3/8/2020, Bảng mã ASCII là gì? Tổng quan về bảng mã
ASCII - TOTOLINK Việt Nam
[2] Điện máy xuyen á: Bảng Mã Ascii 256 Ký Tự - Bảng Mã Ascii 256 Kí Tự Chuẩn Và
Đầy Đủ Nhất (dienmayxuyena.com)
[3] Didongviet: Bảng mã ASCII chuẩn nhất và đầy đủ nhất mà bạn cần biết - THÔNG
TIN GIẢI TRÍ (sixdegreesfromdave.com)
PHỤ LỤC
Code xử lý tiêu biểu
#include<iostream>
using namespace std;
void in_bang_ma( )
{
cout<< "\nBang ma ASCII 8bit:"<<endl;
for(int i=0;i<256;i++){
cout<<i<<"\t\t\t"<<char(i)<<endl;
}
}
void ma_hoa_1_ky_tu (int so){
cout<<"\nKu tu cua ban la: ";
cout<<so<<"\t\t\t"<<char(so);
}
int main(){
in_bang_ma();
int so;
do{
cout<<"Nhap so ma ban muon in ra ky tu tren man hinh: ";
cin>>so;
}while(so<0||so>256);
ma_hoa_1_ky_tu(so);
return 0;
}