Mã hóa giúp tên sách

Liên hệ QC

hoainam1301

Thành viên mới
Tham gia
27/1/11
Bài viết
10
Được thích
1
Chả là em muốn mã hóa tên sách như sau:
Lấy chữ cái đầu tên trong hai chữ đầu của sách. Ví dụ Thảo nguyên xanh thì chọn là Thảo nguyên. Chọn con chữ TH của chữ thứ nhất. Sau đó lấy vần của chữ đầu tiên là ao để so sánh với bảng mã giả sử là 108chẳng hạn. Ghép với con chữ NG của chữ thứ 2.

Thì tên sách được mã hóa là: TH108NG
 

File đính kèm

  • MA HOA TEN SACH.xls
    33 KB · Đọc: 256
Lần chỉnh sửa cuối:
Bạn dừng nói với tôi là sau đó không cần giải mã tiên sách đó nha!
Thường mã hóa 1 đoạn văn bản ta cần 1 chìa khóa để sau này cón giải mã nó & trả về nguyên trạng cho những người cần hiểu nó chứ nhỉ?

Nếu bạn cần mã hóa & đồng thời giải mã 1 đoạn văn bản, thì mình nêu 1 chìa khóa đơn giản như sau:

Bố trí các chữ cái & chữ số (26 + 10) lên 1 hình vuông 6 x 6 với chìa khóa là HAI YEN như sau:

H A I B C 0
Y E N D F 1
G J K L M 2
O P Q R S 3
T U V W X 4
Z 5 6 7 8 9

Lúc đó "Thảo nguyên xanh" sẽ là 51111241 2331 . . .
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Mình có cách này để tạo các dòng mã hóa ngắn hơn nè:

C1: Bạn lấy 1 quyễn sách tương đối dày như "Sông Đông êm đềm", "Chiến tranh & hòa bình", Kinh thánh của đạo thiên chúa, đạo fật hay của thánh Ala,. . . .

Bạn tra xem thử chữ "Thảo" trong câu "Thảo nguyên xanh" có ở trang nào, dòng nào & cột nào (Vị trí nào kể từ đầu dòng)
Ví dụ nó ở trang 238 dòng 9 cột 7, lúc đó ta mã hóa chữ "Thảo này thành 23897, & bạn cứ thế tiếp tục . . .
Công việc sẽ đơn giản nếu bạn đưa quyễn truyện đó lên trang tính & dùng fương thức tìm kiếm
Chúc thành công!
 
Upvote 0
Cảm ơn các bác đã chỉ dẫn cách cách mã hóa tên sách hộ em nhưng yêu cầu của nhãn sách khi dán phải có đủ 3 thông tin
1. Môn loại Tùy thuộc vào nội dung của cuốn sách
2. Mã hóa tên sách theo cách mà em đã nêu. Lấy chữ cái đầu của tiếng đầu + vần của tiếng đầu khi tra bảng + chữ cái đầu của tiếng thứ 2. không phải theo cách khác.
3. Số đăng ký cá biệt là số thứ tự của cuốn sách trong kho
Mỗi khi có sách mới lại phải tra sổ để mã hóa tên sách không tiện cho lắm vậy em muốn mã hóa như file excel đính kèm đó
Các bác giúp em với nhé!
 
Upvote 0
À, thì ra bạn muốn gán mã cho sách

Vậy thì mình đề xuất vầy:

Chử cái đầu nên chỉ ra khổ giấy của sách/tạp chí hay báo, ví dụ
Sách
T: Cỡ lớn
V: Cỡ vừa
N: loại nhỏ;
Tạp chí:
. . .
Bạn nên có danh mục fân loại sách, như ví dụ:
TN: thanh thiếu niên
HH: Sách KHKT về hóa
KT: Sách KHKT về kiến trúc,
VH: văn học
. . . . .

Còn như bạn thì chỉ đáp ứng được cho số sách dưới trăm cuốn thôi cũng đủ mệt rồi!
 
Upvote 0
2. Mã hóa tên sách theo cách mà em đã nêu. Lấy chữ cái đầu của tiếng đầu + vần của tiếng đầu khi tra bảng + chữ cái đầu của tiếng thứ 2. không phải theo cách khác.

Cái này chắc phải cần bảng quy ước "Vần ---> Mã" của bên bạn mới có thể giải quyết được
( Để biết vần này có mã số là bao nhiêu )
 
Upvote 0
Còn như bạn thì chỉ đáp ứng được cho số sách dưới trăm cuốn thôi cũng đủ mệt rồi!

Bác nói đúng đấy vì mệt nên em mới cần một cách nào đó cho nhanh.
Còn cách mã hóa trên là quy ước của thư viện chứ em đâu có nghĩ ra, người ta bắt phải như vậy đó.
Mong các bác giúp em!
 
Upvote 0
Hỏi thêm bạn.

Bác nói đúng đấy vì mệt nên em mới cần một cách nào đó cho nhanh.
Còn cách mã hóa trên là quy ước của thư viện chứ em đâu có nghĩ ra,. . .

???
--- Tên sách ---> Mã
Nghiêm chỉnh. . . --> NGH304CH (?)
Áo Anh rách. . . --> ???
Ưng Em mà . . --> ???
Ổi . . . . . . . - - > ???
Who Is it .. . --> WH400?
 
Upvote 0
Vâng em up lại quy ước các bác giúp em với nhé!
Dùng cái này giải quyết chắc được ~ 90% vì còn một vài quy ước chưa rõ ràng.

VD: Chữ thứ 2 là chữ QUỐC: vừa có vần ỐC, vừa có vần UỐC---> kết quả có thể là QU hoặc là Q
Việc này có lẽ chủ thớt cân đối xem sao.

Trong bài tính toán cho trường hợp tìm được vần dài nhất. Theo VD trên kết quả lấy Q
Gửi đoạn code tham khảo

Mã:
Public Sub Ma_Hoa_Ten_Sach()
Dim DL, MaVan, XoaDau, Tam, r As Long, rw As Long, c As Long, i, j

DL = Sheet2.Range("A2", Sheet2.Range("A65000").End(xlUp))
MaVan = Sheet1.Range("A1").CurrentRegion
XoaDau = Sheet1.Range("D1").CurrentRegion

For r = 1 To UBound(DL)
Tam = Split(DL(r, 1) & " ", " ")
DL(r, 1) = Tam(0) & " " & Tam(1)

For c = 1 To Len(DL(r, 1))
For rw = 1 To UBound(XoaDau)
If Mid(DL(r, 1), c, 1) = XoaDau(rw, 1) Then
Mid(DL(r, 1), c, 1) = XoaDau(rw, 2)
End If
Next rw
Next c
Tam = Split(DL(r, 1), " ")

i = Len(Tam(0)): j = ""
For rw = 1 To UBound(MaVan)
If InStr(1, Tam(0), MaVan(rw, 1), 1) Then
If i > Len(Replace(Tam(0), MaVan(rw, 1), "")) Then
i = Len(Replace(Tam(0), MaVan(rw, 1), ""))
j = MaVan(rw, 2)
End If
End If
Next rw
Tam(0) = UCase(Left(Tam(0), i) & j)

i = Len(Tam(1))
For rw = 1 To UBound(MaVan)
If InStr(1, Tam(1), MaVan(rw, 1), 1) Then
If i > Len(Replace(Tam(1), MaVan(rw, 1), "")) Then
i = Len(Replace(Tam(1), MaVan(rw, 1), ""))
End If
End If
Next rw
Tam(1) = UCase(Left(Tam(1), i))

DL(r, 1) = Tam(0) & Tam(1)
Next r

Sheet2.Range("B2").End(xlDown).ClearContents
Sheet2.Range("B2").Resize(UBound(DL), 1).Value = DL
End Sub
 

File đính kèm

  • MA HOA TEN SACH.xls
    50 KB · Đọc: 79
Upvote 0
Bạn dừng nói với tôi là sau đó không cần giải mã tiên sách đó nha!
Thường mã hóa 1 đoạn văn bản ta cần 1 chìa khóa để sau này cón giải mã nó & trả về nguyên trạng cho những người cần hiểu nó chứ nhỉ?

Nếu bạn cần mã hóa & đồng thời giải mã 1 đoạn văn bản, thì mình nêu 1 chìa khóa đơn giản như sau:

Bố trí các chữ cái & chữ số (26 + 10) lên 1 hình vuông 6 x 6 với chìa khóa là HAI YEN như sau:

H A I B C 0
Y E N D F 1
G J K L M 2
O P Q R S 3
T U V W X 4
Z 5 6 7 8 9

Lúc đó "Thảo nguyên xanh" sẽ là 51111241 2331 . . .
Tôi chưa hiểu cách bạn lấy ra từ "Thảo nguyên xanh" như thế nào để ra mã 51111241 2331...
Nếu từ chìa khóa là NGUYEN NGHIENG thì bố trí như thế nào? bạn vui lòng chỉ dùm
 
Upvote 0
(2) Tôi chưa hiểu cách bạn lấy ra từ "Thảo nguyên xanh" như thế nào để ra mã 51111241 2331...
(1) Nếu từ chìa khóa là NGUYEN NGHIENG thì bố trí như thế nào? bạn vui lòng chỉ dùm

Chìa khóa mật mã loại này không được có kí tự trùng nhau;
Ta chỉ có thể lấy "HA DONG" hay "DONG HA" làm chìa khóa mà thôi; Ta không thể lấy "SONG LO" HAY "SONG HONG" hoặc "HONG HA" làm chìa khóa!

(2) Con số 51 chỉ ra rằng: Kí tự 'T' ở hàng thứ 5 cột đầu của bảng mã hóa đó bạn.

Nếu bạn quan tâm đến chuyện mã hóa này, chúng ta nên đến đây: http://www.giaiphapexcel.com/forum/...-hóa-chữ-ko-dấu-thành-số-(và-ngược-lại)/page2 để tiếp tục!
Hẹn gặp
 
Upvote 0
Bạn chưa trả lời cho bài #9;
3./ Bạn có tên sách nước ngoài hay không?
2./ Tên sách bắt đầu từ các nguyên âm thì làm sao?
Như "Ổi anh ngọt . . ."
3./ Tên có 3 fụ âm như "Nghiêm . . ."
 
Upvote 0
???
--- Tên sách ---> Mã
Nghiêm chỉnh. . . --> NGH304CH (?)
Áo Anh rách. . . --> ???
Ưng Em mà . . --> ???
Ổi . . . . . . . - - > ???
Who Is it .. . --> WH400?
Nghiêm chỉnh NGH304CH
Áo anh rách --> A105A
Ưng em mà --> Ư556E
Ổi --> Ô452

Em ghi ra một số quy tắc cho bác nhé
khiêm = KH304 Đồng = Đ455
Tuân = T502 Liêm = L304
Thông = TH455 Xuân = X502, v.v.......

An = A105 Ân = Â121
Uyên = U527 Yên = Y603, v.v...

Giang = Gi + ang = GI106
Giếc = Gi + êc = GI251, v.v...

gim, gin , ginh, gip, git lấy kí hiệu từ GI301 đến GI314

Quân = Qu + ân = QU105
Quit = Qu + it = QU314
Quyên = Qu + yên = QU605
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn chưa trả lời cho bài #9;
3./ Bạn có tên sách nước ngoài hay không?
2./ Tên sách bắt đầu từ các nguyên âm thì làm sao?
Như "Ổi anh ngọt . . ."
3./ Tên có 3 fụ âm như "Nghiêm . . ."

Em không mã hóa sách nước ngoài bác ạ.
Em đã trả lời #9 rồi ạ (hơi muộn chút thôi ).
Nếu mã hóa từ nghiêm sẽ là: nghiêm = NGH + 301 = NGH301
Mong các bác giúp đỡ!
 
Upvote 0
kết quả là chữ QU bác ạ.

Quy ước của đầu bài có lẽ là không được nhất quán
VD: Gặp từ "THUỐC" và "THỐC" đều lấy chữ "TH" nhưng vần "UỐC" và vần "ỐC" đều có trong bảng "Vần_Mã" thì sẽ dẫn đến là không biết chọn vần nào để chuyển mã
Nếu chọn vần "UỐC" thì là vần dài hơn---> bài trước: chữ "QUỐC" sẽ lấy vần "UỐC"--->kết quả là "Q"
Nếu chọn vần "ỐC" thì là vần ngắn hơn---> bài trước: chữ "QUỐC" sẽ lấy vần "ỐC"--->kết quả là "QU"
Thân Chào.
 
Upvote 0
Với những qui tắc tại bài #15 thì chắc rằng bạn không khi nào liệt kê hết!
 
Upvote 0
Quy ước của đầu bài có lẽ là không được nhất quán
VD: Gặp từ "THUỐC" và "THỐC" đều lấy chữ "TH" nhưng vần "UỐC" và vần "ỐC" đều có trong bảng "Vần_Mã" thì sẽ dẫn đến là không biết chọn vần nào để chuyển mã
Nếu chọn vần "UỐC" thì là vần dài hơn---> bài trước: chữ "QUỐC" sẽ lấy vần "UỐC"--->kết quả là "Q"
Nếu chọn vần "ỐC" thì là vần ngắn hơn---> bài trước: chữ "QUỐC" sẽ lấy vần "ỐC"--->kết quả là "QU"
Không phải lấy vần dài nhất. Chữ "THUỐC" = TH(nguyên âm đôi) + UỐC(vần) --> kết quả là "TH"
"QUỐC" = QU(nguyên âm đôi) + ỐC(vần) --> kết quả là "QU"
chứ không lấy nguyên âm đơn.
 
Upvote 0
Dùng cái này giải quyết chắc được ~ 90% [/code]
Em thử code của bác rồi, thấy cũng hay lắm đúng là đã giải quyết được ~ 90% rồi. Bác sửa giúp em chữ "Q" --> "QU" được không ạ?
Nếu có thể bác giúp em những từ đặc biệt này: gim, gin , ginh, gip, git lấy kí hiệu từ GI301 đến GI314.
Gim = GI + im --> GI301
An = A + an --> A105 Ân = Â + ân --> 121
Uyên = U + uyên --> U527 Yên = Y + yên --> Y603, v.v...
Cảm ơn bác nhiều!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom