Page 1 Trường Đại học Bách khoa ĐHQG TP HCM Khoa Khoa học và Kỹ thuật Máy tính Version 1 0 I GIỚI THIỆU Sau khi tắm mình trong ánh sáng mặt trời, 1 quả trứng khẽ rung mình và rồi sinh ra con pokémon đ[.]
Trường Đại học Bách khoa - ĐHQG TP.HCM Khoa Khoa học Kỹ thuật Máy tính NHẬP MƠN LẬP TRÌNH BÀI TẬP LỚN ARCEUS VÀ HUYỀN THOẠI CÁC POKÉMON Version 1.0 I GIỚI THIỆU Sau tắm ánh sáng mặt trời, trứng khẽ rung sinh pokémon đầu tiên: Arceus vầng sáng chói Một sinh vật kì lân trắng với vịng sáng lưng Với lơng trắng trời mái tóc dài vút bay, bước chân nhẹ nhàng tơ điểm thêm nhờ vòng vàng sáng chĩa cạnh với sắc vàng rực rỡ Arceus - vua loài pokémon Theo truyền thuyết, Arceus đc xem Pokémon sáng tạo giới Pokémon mang lại sống cho chúng Arceus mang 16 mảnh nguồn sống (cơn trùng, bóng tối, rồng, điện, chiến đấu, bay, bóng ma, cỏ, đất, lửa, băng, độc tố, tâm linh, đá, thép, nước) Trong giấc mơ ngài mơ thấy Pokémon mèo màu hồng nhỏ bé giúp sáng tạo sống cho mn lồi Từ đó, Pokémon giấc mơ hình thành: Mew - vị thần sáng tạo Mew chứa gen gốc để từ tạo vị thần khai sinh giới Pokémon khác, Mew xem vị thủy tổ Pokémon (Phóng tác từ nguồn wikipedia) II YÊU CẦU Trong tập lớn này, sinh viên cung cấp file chứa liệu nhập Trong bao gồm thơng tin đoạn gen gốc Mew để từ tạo Pokémon huyền thoại khác Nhóm sinh viên thực yêu cầu biến đổi gen cho để tạo chuỗi chứa tên Pokémon huyền thoại sinh Chi tiết mô tả liệu nhập, xuất công việc sinh viên phải làm nêu mục la mã Page Trường Đại học Bách khoa - ĐHQG TP.HCM Khoa Khoa học Kỹ thuật Máy tính III DỮ LIỆU NHẬP - DỮ LIỆU XUẤT Dữ liệu nhập chương trình chứa file nhập mang tên input.txt File chứa thơng tin ví dụ sau: aoArticuna_ksZakrom_aeTornadas_cwHaAh_bbCalabi Như file nhập input.txt bao gồm dịng Dịng mơ tả gen gốc Mew, từ gen gốc kết hợp với phương pháp biến đổi gen tạo Pokémon huyền thoại Bộ gen gốc chuỗi ký tự chữ cái, chuỗi có tối đa 1000 ký tự Trong gen gốc bao gồm đoạn gen Chiều dài đoạn gen tổng số gen thơng tin có đoạn gen Các định nghĩa: TÊN Gen Đoạn gen Gen mã hóa Gen thơng tin Chiều dài đoạn gen Bộ gen gốc Ý NGHĨA Là ký tự chữ la tinh số 26 chữ la tinh từ a đến z Chữ hoa phân biệt với chữ thường Tập hợp Gen Những gen phải đứng kế Hai ký tự đoạn gen Hai ký tự luôn ký tự thường Ký tự thứ trở đoạn gen Ký tự thứ đoạn gen gen gốc luôn ký tự hoa Tổng số gen thông tin đoạn gen Chiều dài đoạn gen tối thiểu Tập hợp đoạn gen, đoạn gen ngăn cách dấu gạch “_” Ví dụ 1: input.txt aoArticuna_ksZakrom_aeTornadas_cwHaAh_bbCalabi Mơ tả: Bộ gen gốc là: aoArticuna_ksZakrom_aeTornadas_cwHaAh_bbCalabi Bộ gen gốc bao gồm đoạn gen, chiều dài đoạn gen theo thứ tự từ trái sang phải là: 8; 6; 8; 4; Dữ liệu xuất gồm có dịng Dòng thứ chuỗi chứa gen biến đổi từ gen gốc Dòng thứ đoạn mã gen tuyệt chiêu Pokémon huyền thoại sinh (nếu có) Page Trường Đại học Bách khoa - ĐHQG TP.HCM Khoa Khoa học Kỹ thuật Máy tính IV CÁC QUY LUẬT BIẾN ĐỔI GEN Arceus dựa gen gốc từ Pokémon Mew biến đổi thành gen mới, sau gen hình thành nên trứng nở thành Pokémon huyền thoại Tuy nhiên khơng phải lúc q trình biến đổi gen thành công (nghĩa lúc gen tạo thành trứng để nở thành Pokémon) Sau lần Pokémon huyền thoại sinh ra, Arceus tiếp tục thực giao nhiệm vụ xây dựng giới cho Pokémon cách tạo cho quyền đó; quyền thể tuyệt chiêu Một Pokémon có tuyệt chiêu Các phương pháp biến đổi gen phải tuân theo luật biến đổi gen cho bảng 1: (Ưu tiên theo thứ tự từ xuống) STT QUY LUẬT Quá trình biến đổi gen gen gốc thực ký tự từ trái sang phải kết thúc gen gốc Gen mã hóa đoạn gen phương pháp biến đổi gen Gen mã hóa xy nghĩa gen thơng tin x thay gen thông tin y tất đoạn gen từ gen gốc Bảng 1: Các quy luật biến đổi gen Kết thúc trình biến đổi gen từ gen gốc tạo gen Bộ gen hình thành trứng Pokémon tất đoạn gen từ gen mới, có đoạn gen có gen thơng tin trùng với đoạn gen Pokémon huyền thoại (chi tiết đoạn gen Pokémon huyền thoại, xem bảng 2) trường hợp có nhiều đoạn gen trùng với gen Pokemon huyền thoại đoạn gen phải giống đoạn gen trùng với gen Pokemon huyền thoại trứng Pokémon huyền thoại hình thành nở Pokémon huyền thoại Ví dụ 2: input.txt aoArtecuna_ksZakrom_oeTornadas_kwHaAh_bbColobi Mơ tả: Bộ gen gốc là: aoArtecuna_ksZakrom_oeTornadas_kwHaAh_bbColobi Bộ gen gốc có đoạn gen Quá trình biến đổi gen đoạn gen đầu tiên: aoArtecuna Đoạn gen có gen mã hóa “ao”, tức gen gốc, tất gen thông tin “a” thay gen thông tin “o” Như sau lần biến đổi đầu tiên, gen sau: aoArtecuno_ksZokrom_oeTornodos_kwHoAh_bbColobi Những lần biến đổi gen thế, sau lần biến đổi gen (tương ứng với Page Trường Đại học Bách khoa - ĐHQG TP.HCM Khoa Khoa học Kỹ thuật Máy tính gen mã hóa đoạn gen) gen sau: aoArtecune_ksZesrem_oeTernedes_kwHeAh_bbCelebi Trong gen đoạn gen chưa gen thơng tin trùng với gen Pokémon huyền thoại nên gen khơng tạo thành trứng Pokémon Ví dụ 3: input.txt aoArtricuna_ksZakrom_oeTornadas_kwHaAh_bbSuicuno Mô tả: Bộ gen gốc là: aoArtricuna_ksZakrom_oeTornadas_kwHaAh_bbSuicuno Sau lần biến đổi gen gen sau: aoArtricune_ksZesrem_oeTernedes_kwHeAh_bbSuicune Trong gen có đoạn gen thứ chứa gen thông tin: “Suicune” trùng với Pokémon huyền thoại mang số thứ tự 16 bảng Như trứng Pokémon hình thành nở Suicune Ví dụ 4: input.txt auArticuna_ksSaicane_oeTornadas_kwHaAh_bbSuicuno Mơ tả: Bộ gen gốc là: auArticuna_ ksSaicane_oeTornadas_kwHaAh_bbSuicuno Sau lần biến đổi gen gen sau: auArticunu_ksSuicune_oeTernudus_kwHuAh_bbSuicune Trong gen có đoạn gen thứ thứ chứa gen thông tin: “Suicune” trùng với Pokémon huyền thoại mang số thứ tự 16 bảng Như trứng Pokémon hình thành nở Suicune Nếu gen có từ đoạn gen trở lên mà có gen thơng tin trùng với đoạn gen từ hai Pokémon huyền thoại trở lên gen khơng hình thành trứng Pokémon Ví dụ 5: input.txt uuArtichmk_huZakrom_juTornadjs_koHaAh_mnSuicume Mơ tả: Bộ gen gốc là: uuArtichmk_huZakrom_ juTornadjs_koHaAh_mnSuicume Sau lần biến đổi gen gen sau: uuArticuno_huZaoron_juTornadus_koHaAu_mnSuicune Trong gen có đoạn gen thứ nhất, thứ thứ chứa gen thông tin: “Articuno “, “Tornadus “ “Suicune” trùng với Pokémon huyền thoại mang số thứ tự 1; 19 16 bảng Như trứng Pokémon khơng hình thành Page Trường Đại học Bách khoa - ĐHQG TP.HCM Khoa Khoa học Kỹ thuật Máy tính Danh sách đoạn gen Pokémon huyền thoại cho bảng 2: STT ĐOẠN GEN POKÉMON HUYỀN THOẠI Articuno Cobalion Dialga Entei Giratina Groudon HoOh Keldeo Kyogre 10 Landorus HÌNH MINH HỌA Page Trường Đại học Bách khoa - ĐHQG TP.HCM Khoa Khoa học Kỹ thuật Máy tính 11 Lugia 12 Moltres 13 Palkia 14 Raikou 15 Rayquaza 16 Suicune 17 Terrakion 18 Thundurus 19 Tornadus 20 Virizion 21 Xerneas Page Trường Đại học Bách khoa - ĐHQG TP.HCM Khoa Khoa học Kỹ thuật Máy tính 22 Yveltal 23 Zapdos Bảng 2: Các đoạn gen Pokémon huyền thoại Sau trứng Pokémon nở Pokémon huyền thoại, Arceus tiếp tục tạo tuyệt chiêu cho Đoạn mã gen tuyệt chiêu xếp theo quy luật sau: lấy đoạn gen Pokémon huyền thoại tạo thành đoạn mã gen đầu tiên, tiếp sau gen thơng tin đoạn gen từ gen Pokémon huyền thoại (bỏ đoạn gen từ gen mà chứa đoạn gen Pokémon huyền thoại), gen thông tin xếp theo thứ tự đoạn gen có chiều dài ngắn xếp trước, đoạn gen có chiều dài xếp gen thơng tin đoạn gen trước theo thứ tự bảng chữ (tính theo gen thơng tin) Ví dụ 6: input.txt aoArricuna_ksZakrom_oeTornadas_kwHaAh _bbSuicuno output.txt aoArricune_ksZesrem_oeTernedes_kwHeAh _bbSuicune SuicuneHeAhZewremArricuneTernedes Mô tả: Bộ gen gốc là: aoArricuna_ksZakrom_oeTornadas_kwHaAh_bbSuicuno Sau lần biến đổi gen gen sau: aoArricune_ksZesrem_oeTernedes_kwHeAh_bbSuicune Trứng Pokémon hình thành nở Suicune Đoạn mã gen tuyệt chiêu Suicune tạo thành sau: _ Lấy đoạn gen “Suicune” làm đoạn mã gen _ Trong gen Suicune có đoạn gen khơng chứa “Suicune”: aoArricune, ksZewrem, oeTernedes kwHeAh Chiều dài đoạn gen theo thứ tự là: 8; 6; 8; Thứ tự gen gen thông tin xếp là: HeAh, Zewrem, Arricune, Ternedes Như vậy, đoạn mã gen tuyệt chiêu Suicune là: SuicuneHeAhZewremArricuneTernedes Output test case là: aoArricune_ksZewrem_oeTernedes_kwHeAh_bbSuicune SuicuneHeAhZewremArricuneTernedes Page ... 2: Các đoạn gen Pokémon huyền thoại Sau trứng Pokémon nở Pokémon huyền thoại, Arceus tiếp tục tạo tuyệt chiêu cho Đoạn mã gen tuyệt chiêu xếp theo quy luật sau: lấy đoạn gen Pokémon huyền thoại. .. thoại (chi tiết đoạn gen Pokémon huyền thoại, xem bảng 2) trường hợp có nhiều đoạn gen trùng với gen Pokemon huyền thoại đoạn gen phải giống đoạn gen trùng với gen Pokemon huyền thoại trứng Pokémon. .. trứng nở thành Pokémon huyền thoại Tuy nhiên lúc q trình biến đổi gen thành cơng (nghĩa khơng phải lúc gen tạo thành trứng để nở thành Pokémon) Sau lần Pokémon huyền thoại sinh ra, Arceus tiếp tục