1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo giữa kỳ đại số tuyến tính cho công nghệ thông tin

25 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đại số tuyến tính
Tác giả Nguyễn Minh Nhật
Người hướng dẫn TS. Phan Hoàng Phúc Vinh
Trường học Trường Đại học Tôn Đức Thắng
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo giữa kỳ
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 25
Dung lượng 3,16 MB

Nội dung

- Khởi tạo một danh sách rỗng odd_num_list để chứa các phần tử là số lẻ- Lặp qua từng phần tử trong ma trận bằng cách sử dụng 2 vòng for lòngnhau o Vòng for ngoài để duyệt qua từng hàng

Trang 1

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN

NGUYỄN MINH NHẬT - 51900667

BÁO CÁO GIỮA KỲ

ĐẠI SỐ TUYẾN TÍNH CHO CÔNG NGHỆ THÔNG TIN

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2024

Trang 2

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN

NGUYỄN MINH NHẬT - 51900667

BÁO CÁO GIỮA KỲ

ĐẠI SỐ TUYẾN TÍNH CHO CÔNG NGHỆ THÔNG TIN

Người hướng dẫn

TS Phan Hoàng Phúc Vinh

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2024

Trang 3

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn thầy Phan Hoàng Phúc Vinh đã giảng dạy,truyền đạt kiến thức và hướng dẫn giúp em hoàn thành bài báo cáo môn Đại số tuyếntính cho Công nghệ thông tin một cách hoàn thiện

Trong quá trình làm bài báo cáo, do kiến thức cũng như kinh nghiệm cònnhiều hạn chế nên không thể tránh khỏi những thiếu sót, em rất mong nhận được ýkiến đóng góp của thầy để chúng em học hỏi được nhiều kĩ năng, kinh nghiệm và sẽngày càng hoàn thiện hơn

Em xin chân thành cảm ơn!

TP Hồ Chí Minh, ngày 26 tháng 3 năm 2024

Tác giả (Ký tên và ghi rõ họ tên)

Nguyễn Minh Nhật

Trang 4

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH

TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sựhướng dẫn khoa học của TS Phan Hoàng Phúc Vinh Các nội dung nghiên cứu,kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nàotrước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhậnxét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trongphần tài liệu tham khảo

Ngoài ra, trong Dự án còn sử dụng một số nhận xét, đánh giá cũng như sốliệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thíchnguồn gốc

Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung Dự án của mình Trường Đại học Tôn Đức Thắng không

liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trìnhthực hiện (nếu có)

TP Hồ Chí Minh, ngày 26 tháng 3 năm 2024

Tác giả (Ký tên và ghi rõ họ tên)

Nguyễn Minh Nhật

Trang 5

BÁO CÁO GIỮA KỲ MÔN

ĐẠI SỐ TUYẾN TÍNH CHO CÔNG NGHỆ THÔNG TIN

TÓM TẮT

Trang 6

MID-TERM REPORT LINEAR ALGEBRA FOR INFORMATION TECHNOLOGY

ABSTRACT

Trang 7

MỤC LỤC

DANH MỤC HÌNH VẼ vii

DANH MỤC BẢNG BIỂU viii

DANH MỤC CÁC CHỮ VIẾT TẮT ix

CHƯƠNG 1 METHODOLOGY OF SOLVING TASKS 1

1.1 Câu d 1

1.2 Câu e 1

1.3 Câu f 2

1.4 Câu g 2

1.5 Câu h 4

CHƯƠNG 2 SOURCE CODE AND OUTPUT 6

2.1 Source code 6

2.1.1 Tạo các ma trận theo đề bài 6

2.1.2 Câu a 6

2.1.3 Câu b 6

2.1.4 Câu c 6

2.1.5 Câu d 7

2.1.6 Câu e 7

2.1.7 Câu f 8

2.1.8 Câu g 8

2.1.9 Câu h 8

2.2 Output 9

2.2.1 Tạo ma trận đề bài 9

Trang 8

2.2.2 Câu a 10

2.2.3 Câu b 10

2.2.4 Câu c 11

2.2.5 Câu d 11

2.2.6 Câu e 12

2.2.7 Câu f 12

2.2.8 Câu g 12

2.2.9 Câu h 13

TÀI LIỆU THAM KHẢO 14

Trang 9

DANH MỤC HÌNH VẼ

Hình 2.1: Source code tạo các ma trận 6

Hình 2.2: Source code câu a 6

Hình 2.3: Source code câu b 6

Hình 2.4: Source code câu c 7

Hình 2.5: Source code câu d 7

Hình 2.6: Source code câu e 7

Hình 2.7: Source code câu f 8

Hình 2.8: Source code câu g 8

Hình 2.9: Source code câu h 9

Hình 2.10: Output tạo các ma trận 10

Hình 2.11: Output câu a 10

Hình 2.12: Output câu b 11

Hình 2.13: Output câu c 11

Hình 2.14: Output câu d 12

Hình 2.15: Output câu e 12

Hình 2.16: Output câu f 12

Hình 2.17: Output câu g 13

Hình 2.18: Output câu h 13

Trang 10

DANH MỤC BẢNG BIỂU

No table of figures entries found.

Trang 11

DANH MỤC CÁC CHỮ VIẾT TẮT

Trang 12

- Khởi tạo một danh sách rỗng odd_num_list để chứa các phần tử là số lẻ

- Lặp qua từng phần tử trong ma trận bằng cách sử dụng 2 vòng for lòngnhau

o Vòng for ngoài để duyệt qua từng hàng (i)

o Vòng for trong để duyệt qua từng cột (j)

- Sử dụng điều kiện để kiểm tra xem từng phần tử của ma trận A (A[i][j])if

có thỏa mãn yêu cầu đề bài là số lẻ hay không Nếu phần tử nào thỏa mãnđiều kiện thì thêm phần tử đó vào danh sách odd_num_list bằng lệnh

- Viết hàm kiểm tra số nguyên tố

o Số nguyên tố là số chỉ chia hết cho chính nó và chia hết cho

o Sử dụng câu lệnh để kiểm tra các điều kiện đảm bảo một số if n

truyền vào là số nguyên tố

o Nếu n < 2 thì không phải là số nguyên tố, sẽ trả về False

Trường hợp đặc biệt, nếu n =2 thì là số nguyên tố, sẽ trả về True

Trang 13

o Ngược lại, chúng ta chúng ta sẽ sử dụng for duyệt từ [2,n) Nếu n

chia hết cho số nào trong khoảng này thì không phải số nguyên tố,

trả về False.

- Khởi tạo một danh sách rỗng prime_list

- Lặp qua từng phần tử trong ma trận bằng cách sử dụng 2 vòng for lòngnhau

o Vòng for ngoài để duyệt qua từng hàng (i)

o Vòng for trong để duyệt qua từng cột (j)

- Sử dụng điều kiện để kiểm tra xem từng phần tử của ma trận A (A[i][j])if

có thỏa mãn yêu cầu đề bài là số nguyên tố hay không Nếu phần tử nào

thỏa mãn điều kiện thì thêm phần tử đó vào danh sách prime_list bằng lệnh append

- Chuyển danh sách thành mảng bằng np.array sau đó in kết quả ra màn hình bằng lệnh print

1.3 Câu f

Given a matrix D = CB, reverse elements in the odd rows of the matrix D, and print the resultant matrix to the screen

Các bước thực hiện:

- Khai báo ma trận D = CB bằng lệnh np.dot(C,B) sau đó lưu kết quả vào D

- Duyệt qua từng hàng của ma trận bằng cách sử dụng vòng lặp D for với

biến chạy từ 0 đến chiều dài của ma trận trừ đi 1 i D (len(D)).

- Trong mỗi vòng lặp, kiểm tra xem hàng có phải là số lẻ không i ((i+1) %

2 != 0) Nếu là hàng lẻ, chúng ta đảo ngược thứ tự của các phần tử trong

hàng đó bằng cách sử dụng cú pháp slice [::-1] và gán lại vào hàng đó

1.4 Câu g

Regarding the matrix A, find the rows which have maximum count of prime numbers, and print the rows to the screen

Các bước thực hiện:

Trang 14

- Đếm số lượng số nguyên tố có trong mỗi hàng của ma trận A

o Khởi tạo một danh sách rỗng prime_counts để lưu trữ số lượng các

số nguyên tố của mỗi hàng trong ma trận A

o Tiếp theo, duyệt qua từng hàng của ma trận A bằng vòng lặp for

với biến chạy từ [0; 10)i

o Tạo một biến count với giá trị ban đầu sau mỗi vòng lặp for đối với hàng bằng 0

o Trong mỗi hàng, duyệt qua từng phần tử của hàng đó bằng vòng lặp

for với biến j.

o Nếu phần tử đó là số nguyên tố (sử dụng hàm isPrime()) thì tăng biến đếm count thêm 1

o Sau khi đã đếm xong số lượng số nguyên tố trong mỗi hàng, chúng

ta thêm giá trị của biến count vào danh sách prime_counts

- Tìm số lượng lớn số nguyên tố lớn nhất trong danh sách bằng cách sử

dụng hàm max()

- Tìm chỉ số của các hàng có số lượng số nguyên tố lớn

o Khởi tạo một danh sách rỗng để lưu trữ các chỉ số của các hàng id

 index là chỉ số của phần tử trong danh sách

 value là giá trị của phần tử tương ứng trong danh sách

o Sử dụng trong vòng lặp for để truy cập cả chỉ số và giá trị của các phần tử:

Trang 15

- Cuối cùng, duyệt qua các chỉ số của các hàng có số lượng số nguyên tốlớn nhất trong danh sách , và in các hàng đó ra màn hình từ ma trận A.id

o Biến current_length được sử dụng để lưu trữ độ dài của chuỗi số

lẻ liên tục hiện tại đang được xem xét

o Hàm duyệt qua từng phần tử num trong hàng row.

o Nếu num là số lẻ, tăng current_length thêm 1

o Nếu num là số chẵn, cập nhật max_length với giá trị lớn nhất giữa

max_length current_length bằng hàm max(), sau đó đặt

current_length về giá trị 0.

Trang 16

o Cuối cùng, trước khi trả về max_length, kiểm tra và cập nhật

max_length một lần nữa với giá trị lớn nhất giữa max_length

current_length bằng hàm max().

- Tính toán độ dài dài nhất của chuỗi số lẻ trong mỗi hàng của ma trận A:

o Khởi tạo danh sách rỗng max_odd_sequence_lengths để lưu trữ độdài dài nhất của chuỗi số lẻ trong mỗi hàng của ma trận A

o Dùng một vòng lặp for để duyệt qua từng hàng row trong ma trậnA

o Trong mỗi vòng lặp, tính độ dài dài nhất của chuỗi số lẻ trong

longest_contiguous_odd_sequence(row) và lưu kết quả vào length.

o Độ dài này sau đó được thêm vào danh sách

max_odd_sequence_lengths bằng lệnh append.

- Tìm hàng có độ dài dài nhất của chuỗi số lẻ:

o Biến max_length được sử dụng để lưu trữ độ dài dài nhất củachuỗi số lẻ trong tất cả các hàng

o Khởi tạo danh sách rỗng rows_with_max_length chứa chỉ số cáchàng có độ dài số lẻ dài nhất

o Sử dụng vòng lặp for kết hợp với enumerate() để duyệt qua danh

sách max_odd_sequence_lengths.

o Trong mỗi vòng lặp, nếu độ dài của chuỗi số lẻ trong hàng tươngứng bằng max_length, ta thêm chỉ số hàng đó vào danh sách

rows_with_max_length.

- In ra các hàng có độ dài dài nhất của chuỗi số lẻ:

o Cuối cùng, sử dụng vòng lặp for để duyệt qua các chỉ số hàngtrong danh sách rows_with_max_length

Trong mỗi vòng lặp, in ra hàng tương ứng từ ma trận A

Trang 17

CHƯƠNG 2 SOURCE CODE AND OUTPUT2.1 Source code

2.1.1 Tạo các ma trận theo đề bài

Hình 2.1: Source code tạo các ma trận

Trang 20

Hình 2.9: Source code câu h

2.2 Output

2.2.1 Tạo ma trận đề bài

Trang 24

2.2.9 Câu h Hình 2.17: Output câu g

Hình 2.18: Output câu h

Ngày đăng: 30/09/2024, 18:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w