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

đồ án cơ sở lập trình

13 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 đề Cơ Sở Lập Trình
Tác giả Nguyễn Băng Tâm, Võ Xuân Phát
Người hướng dẫn Huỳnh Phước Danh
Trường học Trường Đại Học Văn Lang
Chuyên ngành Khoa Học Máy Tính
Thể loại Đồ Án
Năm xuất bản 2023
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 13
Dung lượng 1,22 MB

Nội dung

Bài tập này yêu cầu viết đoạn mãcho phép nhập vào một ma trận hai chiều và chọn các chức năng thực hiện trongmenu.1... Sau đó, chương trình phải hiển thị một menu cho phép ngườidùng lựa

Trang 1

TRƯỜNG ĐẠI HỌC VĂN LANG KHOA KỸ THUẬT CƠ – ĐIỆN VÀ MÁY TÍNH

BỘ MÔN CƠ SỞ LẬP TRÌNH

- -

BÁO CÁO CUỐI KỲ

Giáo viên hướng dẫn: Huỳnh Phước Danh Sinh viên thực hiện :

Nguyễn Băng Tâm- 2274601080014

Võ Xuân Phát- 2274601080022

TP.Hồ Chí Minh- 2023

Trang 2

LỜI MỞ ĐẦU

Môn cơ sở lập trình (hoặc còn được gọi là Introduction to Programming) là một

môn học cốt lõi trong lĩnh vực Khoa học Máy tính và Công nghệ Thông tin

Cung cấp cho sinh viên những kiến thức và kỹ năng căn bản về lập trình, giúp sinh

viên hiểu về thuật toán, tức là quá trình giải quyết vấn đề thông qua các bước xử lý

được sắp xếp logic

Python có một cộng đồng lớn và sôi động trong ngành khoa học dữ liệu Có

nhiều thư viện và công cụ phong phú hỗ trợ việc xử lý, phân tích và trực quan hóa dữ

liệu như NumPy, Pandas, Matplotlib, Seaborn và Scikit-learn Sự phát triển mạnh mẽ

của cộng đồng Python đảm bảo rằng bạn có thể tìm thấy giải pháp và tài liệu hữu ích

cho hầu hết các vấn đề trong lĩnh vực này Python có cú pháp đơn giản, gần gũi với

ngôn ngữ tự nhiên, có thể kết nối dữ liệu dễ dàng từ nhiều nguồn khác nhau, bao gồm

cơ sở dữ liệu, tệp tin CSV, Excel, SQL, API và nhiều hệ thống lưu trữ dữ liệu khác

Trong bài đồ án môn học Cơ sở Lập Trình, chúng tôi được giao nhiệm vụ thực

hiện một bài tập lập trình bằng ngôn ngữ Python Bài tập này yêu cầu viết đoạn mã

cho phép nhập vào một ma trận hai chiều và chọn các chức năng thực hiện trong

menu

1

Trang 3

Mục lục

LỜI MỞ ĐẦU 1

I) MÔ TẢ BÀI TOÁN 3

II) PHÂN CÔNG CÔNG VIỆC 4

III) PHÂN TÍCH THUẬT TOÁN 4

1 Phân tích 4

2 Thuật toán 5

Sơ đồ khối 5

Code 10

Phụ lục hình ảnh Hình 1: Sơ đồ khối khởi tạo ma trận và chọn menu 5

Hình 2: Lựa chọn 1 ( tính tổng các số chẵn có trong ma trận) 6

Hình 3: Lựa chọn 2 (Tìm phần tử chẵn dương và nhỏ nhất trong ma trận 7

Hình 4: Lựa chọn 3 (Đếm các giá trị nhỏ hơn x trong ma trận 8

Hình 5: Lựa chọn 4 (Tạo tập tin văn bản tên output1.txt câu 2) 9

Trang 4

I)MÔ TẢ BÀI TOÁN

Bài toán yêu cầu viết một chương trình Python để nhập một ma trận các số nguyên

dương từ người dùng Sau đó, chương trình phải hiển thị một menu cho phép người

dùng lựa chọn các chức năng sau:

Tính tổng các phần tử chẵn trong ma trận

Tìm phần tử chẵn dương nhỏ nhất trong ma trận

Đếm số lượng giá trị nhỏ hơn một giá trị x trong ma trận

Tạo một tệp văn bản có tên là "output1.txt" và ghi kết quả của chức năng số 2 vào tệp

này

Khi người dùng chọn một chức năng từ menu, chương trình sẽ thực hiện chức năng

tương ứng và hiển thị kết quả cho người dùng

Nếu người dùng chọn chức năng 1, chương trình sẽ tính tổng của tất cả các phần tử

chẵn trong ma trận và hiển thị kết quả

Nếu người dùng chọn chức năng 2, chương trình sẽ tìm phần tử chẵn dương nhỏ nhất

trong ma trận và hiển thị kết quả Nếu không có phần tử chẵn dương nào trong ma

trận, chương trình sẽ thông báo cho người dùng

Nếu người dùng chọn chức năng 3, chương trình sẽ yêu cầu người dùng nhập một giá

trị x, sau đó đếm số lượng phần tử trong ma trận mà nhỏ hơn giá trị x và hiển thị kết

quả

Nếu người dùng chọn chức năng 4, chương trình sẽ tạo một tệp văn bản có tên

"output1.txt" và ghi kết quả của chức năng số 2 vào tệp này Nếu không có phần tử

chẵn dương nào trong ma trận, tệp văn bản sẽ chứa thông báo tương ứng

Người dùng có thể tiếp tục chọn các chức năng từ menu cho đến khi chọn thoát

chương trình

3

Trang 5

II)PHÂN CÔNG CÔNG VIỆC

 Phần code và sơ đồ khối đều được cả 2 thành viên đóng góp và phát triển

 Sau khi có dữ liệu và nội dung cần thiết:

o Tâm đảm nhận việc đưa thông tin vào PowerPoint, hoàn thiện các slide và tạo

ra sản phẩm thuyết trình hoàn thiện

o Phát phụ trách viết đồ án bằng Word bằng việc sử dụng các thông tin cả hai đã

thu thập ở trên

III) PHÂN TÍCH THUẬT TOÁN

1 Phân tích

Dữ liệu đầu vào:

Nhập vào ma trận dưới dạng 2D chứa các số nguyên dương và chọn menu để thực

hiện các chức năng

Ví dụ: Ma trận nhập vào là:

1. Tính tổng các phần tử chẵn có trong ma trận

Kết quả: Máy in ra kết quả là 20 (tổng các số chẵn gồm các số 2,4,6,8)

2. Tìm phần tử chẵn dương và nhỏ nhất trong ma trận

Kết quả: Máy in ra giá trị là 2 (2 là số chẫn dương nhỏ nhất trong ma trận)

3. Đếm các giá trị nhỏ hơn x trong ma trận(x được nhập từ người dùng)

Kết quả: x nhập vào là 5 thì kết quả nhận được là 4 (gồm những số 1,2,3,4 vì các

số trên đều nhỏ hơn 5)

4. Tạo tập tên văn bản tên output1.txt chứa kết quả câu 2

Kết quả: Một file văn bản có miền txt tên output1 sẽ được khởi tạo và trong đó

chứa kết quả của câu 2

Trang 6

2 Thuật toán

Sơ đồ khối

Hình 1: Sơ đồ khối khởi tạo ma trận và chọn menu

5

Trang 7

Hình 2: Lựa chọn 1 ( tính tổng các số chẵn có trong ma trận)

Trang 8

Hình 3: Lựa chọn 2 (Tìm phần tử chẵn dương và nhỏ nhất trong ma trận

7

Trang 9

Hình 4: Lựa chọn 3 (Đếm các giá trị nhỏ hơn x trong ma trận

Trang 10

Hình 5: Lựa chọn 4 (Tạo tập tin văn bản tên output1.txt câu 2)

9

Trang 11

importnumpy asnp

def matran(dong, cot):

[]a=

for inrange (dong ):

a1 []=

for inrange(cot ):

a1 =a1 [+ int(input('Nh p giá tr ậ ị {} {}, :

'format(i+,j+)))]

[a= a + a1]

returna

def xuatmang( ):a

for inrange(len( )):a

for inrange(len( [ ])):a i

print( [ ][a i j], end = '\t')

print()

def cau1():

sochan = np.sum(matran[matran == ])

print('Tong cac so chan trong ma tran la: ', sochan)

def cau2():

so_chan_duong_max =None

for row inmatran:

for elementin row:

if element and element == :

if so_chan_duong_max is Noneor element <

so_chan_duong_max:

so_chan_duong_max = element

ifso_chan_duong_max is None:

print("Không có ph n t ch n dầ ử ẵ ương trong ma tr n."ậ )

else:

print(f"Ph n t ch n dầ ử ẵ ương và nh nh t trong ma tr n là: ỏ ấ ậ

{so_chan_duong_max}"

def cau3():

print('Nhap x: ')

x= int(input('Nhap x: '))

count = np.sum(matran )

print('x vua nhap la: ', )x

print('So gia tri nho hon x la: ',count)

def cau4():

with open("output1.txt", "w",encoding ='utf-8') as :

fwrite(str(matran))

Trang 12

fwrite("\n")

so_chan_duong_max = None

for row in matran:

for element inrow:

if element and element == :

ifso_chan_duong_max is None orelement <

so_chan_duong_max:

so_chan_duong_max = element

ifso_chan_duong_max is None:

f write("Không có ph n t ch n dầ ử ẵ ương trong ma tr n."ậ )

else:

f write(f"Ph n t ch n dầ ử ẵ ương và nh nh t trong ma tr n là:ỏ ấ ậ

{so_chan_duong_max}"

def menu(matran):

print("1 Tính t ng các ph n t ch n có trong ma tr n"ổ ầ ử ẵ ậ )

print("2 Tìm ph n t ch n dầ ử ẵ ương và nh nh t trong ma tr n"ỏ ấ ậ )

print("3 Đ m các giá tr nh h n x trong ma tr n"ế ị ỏ ơ ậ )

print("4 T o t p tin văn b n tên output1.txt câu 2"ạ ậ ả )

print("5 Thoát")

whileTrue:

luachon int(input('S l a ch n c a b n là: 'ự ự ọ ủ ạ ))

while luachon or luachon :> 5

print('l a ch n không h p l , vui lòng nh p l i'ự ọ ợ ệ ậ ạ )

luachon int(input('S l a ch n c a b n là: 'ự ự ọ ủ ạ ))

else:

if luachon== :

cau1()

elif luachon == :2

cau2()

elif luachon == :3

cau3()

elif luachon == :4

cau4()

elif luachon == :5

print('B n đã thoát chạ ương trình!')

break

dong int(input('Nh p s dòng c a ma tr n: 'ậ ốố ủ ậ ))

cot int(input('Nh p s c t c a ma tr n: 'ậ ố ộ ủ ậ ))

matran = np.array matran( (dong, cot))

print("Ma tr n v a nh p là:"ậ ừ ậ )

xuatmang matran( )

menu matran( )

11

Trang 13

Ở trên là một đoạn mã Python đơn giản để làm việc với ma trận Chương trình

cho phép người dùng nhập số dòng và số cột của ma trận, sau đó tạo ma trận

dựa trên các giá trị nhập vào Chương trình cung cấp một menu cho người dùng

lựa chọn các tùy chọn để thực hiện các phép tính trên ma trận

Mã này sử dụng module NumPy để xử lý ma trận và thực hiện các phép tính

liên quan Các phép tính bao gồm:

1 Tính tổng các phần tử chẵn có trong ma trận

2 Tìm phần tử chẵn dương và nhỏ nhất trong ma trận

3 Đếm các giá trị nhỏ hơn một giá trị x trong ma trận

4 Tạo một tệp văn bản và ghi kết quả tìm được ở phần 2 vào tệp đó

Mã cung cấp một menu trực quan để người dùng chọn các tùy chọn và thực hiện

các phép tính tương ứng trên ma trận Người dùng có thể lựa chọn thực hiện các

phép tính nhiều lần hoặc thoát khỏi chương trình khi cần thiết

Đoạn mã này có thể được mở rộng và tùy chỉnh để thực hiện các phép tính khác

trên ma trận hoặc thực hiện các tác vụ khác liên quan đến ma trận Sử dụng

module NumPy cung cấp nhiều chức năng mạnh mẽ để làm việc với ma trận và

dữ liệu số học

Ngày đăng: 08/05/2024, 08:00

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

TÀI LIỆU LIÊN QUAN

w