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

Ngôn ngữ lập trình python

24 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 đề Báo cáo đồ án (hoặc tiểu luận, bài tập lớn)
Tác giả Phạm Thanh Thảo
Người hướng dẫn Thầy Nguyễn Đình Hoa Cương
Trường học Đại học Huế
Chuyên ngành Ngôn ngữ lập trình Python
Thể loại báo cáo đồ án
Năm xuất bản 2022
Thành phố Thừa Thiên Huế
Định dạng
Số trang 24
Dung lượng 2,56 MB

Nội dung

CHUONG 1: LUU DO THUAT TOAN VA LAP TRINH HAM 1.1 Vẽ lưu đồ thuật toán 1.1.1 Sinh ngẫu nhiên các giá trị cho 1 list số thực Chương trình mô tả qua quá trình sinh ngẫu nhiên list số thực

Trang 1

`,

BAO CAO ĐỎ ÁN (hoặcTIÊU LUẬN, BÀI TẬP LỚN)

Hoc ky Il, nam học 2021 - 2022

Học phân:

Ngôn ngữ lập trình Python

Số phách (Do héi déng cham thi ghi)

Trang 2

—_— @-= SK ee = —

DAI HOC HUE

KHOA KY THUAT VA CONG NGHE

sowl ww

NÊN

HUET )]——

Hoc ky Il, nam học 2021 - 2022

Sinh viên thực hiện: Phạm Thanh Thảo

(ký tên và ghi rõ họ tên)

Số phách (Do héi đống chám thi ghi)

— Thừa Thiên Huế,ngày 28 tháng 12 năm 2022 tt

Tông

a

Trang 3

LOI CAM ON

Em xin gửi lời cảm ơn trân trọng đén giảng viên bộ môn - thày Nguyễn Dinh Hoa Cương , đã giảng dạy tận tình, chỉ tiết và truyền đạt những kiến thức quý báu, thông tin giúp em tiếp thu và sửa chữa những sai sót để có một bài đồ án hoàn thiện

Tạo cho em cơ hội để học hỏi và phát triển bản thân Cảm ơn Khoa Kỹ Thuật và Công Nghệ, Đại học Huế đã tạo điều kiện, hỗ trợ cơ sở vật chất cũng như môi trường học tập đề em có thẻ học hỏi nâng cao tư duy, kĩ năng của bản thân trong học tập

Trong quá trình hoàn thành đồ án chắc chắn sẽ không tránh khỏi những thiếu sót, cá nhân em rất mong nhận được sự góp ý của Thay Cé dé dé án của em được

hoàn thiện hơn

Cuối cùng em xin kính chúc Thay Cô mạnh khỏe, thành công trong sự nghiệp

và hạnh phúc

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

Trang 4

DANH MUC HINH ANH

Hinh 1: Sinh ngau nhién list $6 2 1

B0 RDu 421i 1 2

Hình 4: Lưu list vào tập ẨỈI ch Ho Ko KH 2

Hình 5: Kết quả viết chương trình chínhh - 2-2 52522 +52 +e+e+Ezz£zEzxeeeeerzezrzeesrxe 4

Hình 6: Tệp tin lưu list câu - - SH HT» nH Ho HE 5

Hình 18: Viết chương trình chính - 7-52 2 +52 ++S+E+#EeE+tet+eEeEeeEeereeeeerreerresrsrecee 15 Hình 19: Kết quả chương trình chính 5-5: 5-2 +22 +££+£+EzE£+EzE+z£zEzeezezzzzrzeeszscse 15

HINN 20: Tap tin ANT PN AN 15 Hình 21: Kiểm tra đạo văn -Ă c1 2E E1 TH TH KH TH TH KH KH Tư rệt 17

Trang 5

DANH MUC BANG BIEU

Trang 6

MUC LUC

D9) T90 009)000 -THẬHHẬẬẰ|:|Ä ÔỎ i

DANH MỤC HÌNH ẢNH - Gà 1S SE TT TT TT TH TH HT Hàng rếc ii DANH MỤC BẢNG BIÊU - -G-Ă SE SE SH BHYT HT Hàn cưng iii I/1891ã8/92 iv CHƯƠNG I: LƯU ĐỎ THUẬT TOÁN VÀ LẬP TRÌNH HÀM - 1

1.4 VE Tuy d6 thuat COA eee cceeceeeeseecsesceeecsesesesnecesesesescacecasecacesanseeseneseneeeeeeeeaees 1

1.1.1 Sinh ngau nhién cac gia tri cho 1 list “in 1

1.1.4 Lưu list trong tập ÏÏIN - SH HT HH HH HH kh 4

1.1.5 Viết chương trình chính thực hiện theo kịch bản -5-s=-s<s- 4 CHƯƠNG 2: LẬP TRÌNH VỚI CÁC THƯ VIỆN 2-2-2525 +ccc+cszexerexerscee 6

PÄN ¡HÀ 0 00001 6 2.1.1 Phép nhân giữa 1 vector và 1 ma trận - LH ke 6

2.1.2 Phép nhân Hadamard đối với 2 ma trận . -+-+++-+szs+zczszs+zszs+ezzc+ 6

2.1.3 Phép nhân chuyền vị với ma trận . - + + + 2 2xx +£zEeeererkrrerserrs 6

2.1.4 Viết chương trình chính gọi các hàm trên . -5-+ 2s<+<+z+z+zczszsss2 6 2.2 Thur ViGN SYMPY ÈCCaaaaaadđadđaa 8 2.2.1 Giải hệ phương trình - << LH KH to kh k 8

Trang 7

2.3.1 V8 d6 thi CAC Cap daO NAM cccccccccccsescsscscsscscescesceseeseuceseeseusevsesenceveesensesanees 9 2.3.2 VE dG thi Mat YEN NGWA .cccececcssescscsesscseeeceesesececsesececsesesaeaeeeeesseeessaeeneas 10 2.3.3 Vẽ đồ thị mặt hyperbolic 1 tầng . - 5-2 =+-+s+zxzszszeszseezrzsrsescee 11

2.3.4 Vẽ đồ thị mặt CầU - G2 222222232 32v H nh HT nh ng nga 11

2.3.5 Viết chương trình chính gọi thực hiện các hàm trên . - - 11

CHƯƠNG 3: LẬP TRÌNH HƯỚNG ĐÓI TƯỢNG 5c sex 13 3.1 ThiẾT kế lớpD <2 S13 E215 E1 3 E3E1311 1 1 11133131111 1H11 KH 1n 13 3.2 Nhập dữ liệu cho list đối tượn . -¿- - 22+ S+++ESE£xkvetekkeresererrsesrsreesrs 13 3.3 Hiện thị list đối tượng - - + c1 312 212 12v 1x HH HT ko 13 3.4 Sắp xếp list đối tượng 5+ +-+tsst Sex vn H3 TH nh HH ghen 14

3.5 Lưu list đối tượng vào tập tin nhị phân . - + 2-2 ++s+szs=zczezx+zeeszsezcee 14 3.6 Đọc list đối tượng từ tập tin nhị phân - ¿7-2 2+2 s+s+e+ezzeerzsreezereres 14

3.7 Chương trinh chính << + + xxx xxx Họ aa kh 14

TÀI LIỆU THAM KHÁO -¿-L - - < 2 S33 311 EE E1 1 E111 1k HH ng tưệt 16

Trang 8

CHUONG 1: LUU DO THUAT TOAN VA LAP TRINH HAM

1.1 Vẽ lưu đồ thuật toán

1.1.1 Sinh ngẫu nhiên các giá trị cho 1 list số thực

Chương trình mô tả qua quá trình sinh ngẫu nhiên list số thực được biếu diễn ở

Hình 1

Hình 1: Sinh ngáu nhiên list số thực

Mô tả lưu đồ thuật toán sinh ngẫu nhiên các giá trị cho 1 list:

- Bước |: Khai báo thư viện numpy

Mô tả lưu đồ sắp xép list các số thực:

- Bước 1: In list số thực ngẫu nhiên cua bai 1

Trang 1

Trang 9

- Bước 2: Có 2 điều kiện nếu điều kiện đúng thì thực hiện theo cú pháp giảm dân (néu tham số reverse= True)

- Bước 3: Nếu sai thì thực hiện theo cú pháp và in ra màn hình list số thực theo chiéu tang dan (néu tham sé reverse= False)

1.1.3 Tìm kiếm số n trong list

Chương trình mô tả qua quá trình tìm kiếm n trong list được biêu diễn ở Hình 3

Hình 3: Tìm kiến sé n trong list

Mô tá lưu đỗ tìm kiếm n trong list:

- Bước 1: Nhập n tử bàn phím

- Buoc 2: Gan index bang newlist.index(n)

- Bước 3: Nếu n nhập từ bàn phím có trong newlist thì sẽ in ra màn hình

VỊ trí

- Bước 4: Nếu không có thì sẽ in ra màn hình không tim thay

1.1.4 Lưu list vào tập tin có tùy chọn tham số

Chương trình mô tả qua quá trình lưu list vào tập tin có tùy chọn tham số được biêu diễn ở Hình 4

Hình 4: Liew ist vdo ráp tin

Trang 2

Trang 10

Mô tả lưu đồ lưu list vào tập tin:

- Bước 1: Nhập tùy chọn tham só từ bàn phím

- Bước 2: Nếu type ==”wb” thì tiến hành nhập tên tập tin / đường dẫn tệp

- Bước 3: Mở tệp với đường dẫn tệp và tùy chọn tham số

- Bước 4: Dùng câu lệnh f.write(str(mylisst)) đề ghi tệp dưới dạng tệp

văn bang

- Bước 5: Nếu sai , xét điều kiện type==”w”, nêu đúng thì tiến hành

nhập tập tin /đường dân tệp

- Bước 6: Như bước 3

- Bước 7: Dùng câu lệnh sv=pickle.dump(mylisst,f) để ghi tệp dưới dạng tệp nhị phân

- Bước 8: Kết thúc thuật toán

1.2 Lập trình hàm

1.2.1 Sinh ngẫu nhiên list số thực

Căn cứ vào lưu đồ Hình 1 ta có mã lệnh Python như sau

import numpy as np

import os

import random

def listsothuc (a):

return(x)

1.2.2 Sap xép list sé thyc

Căn cứ vào lưu đồ Hình 2 ta có mã lệnh Python như sau

1.1.3 Tim kiém n trong list

Căn cứ vào lưu đô Hình 3 ta có mã lệnh Python như sau

Trang 3

Trang 11

print ("Khéng tim thay "

1.1.4 Lưu list trong tap tin

Căn cứ vào lưu đô Hình 4 ta có mã lệnh Python như sau

1.1.5 Viết chương trình chính thực hiện theo kịch bản

Mã lệnh Python mô tả cho thuật toán viêt chương trình chính

def main():

k = listsothuc (10)

print('List sé thyc duoc sinh ra:',k)

print('List giadm dan: ',newlist)

tim n trong list (newlist)

Trang 12

set (ÍB-99Ê978535030816%, &.192)9%88218722313, 6.79813339/76895424, @.)5717388499611%, @.71S7S9575S150225, 6.4694053882814618%, 6 4570374233831186, 6.10121269948/54114, 6.14

Hình 7: Tép tin sap xếp

Trang 5

Trang 13

CHƯƠNG 2: LẬP TRÌNH VỚI CÁC THU VIEN

2.1 Thư viện NumPy

2.1.1 Phép nhân giữa 1 vector và 1 ma trận

Đoạn code mô tả cho thuật toán phép nhân giữa 1 vector và 1 ma trận được trình bay sau day

print ("Phép nhadn vé huéng voi ma tran A:")

print (x@y)

2.1.2 Phép nhân Hadamard doi véi 2 ma trận

Đoạn code mô tả cho thuật toán phép nhân Hadamard được trình bày sau đây

2.1.3 Phép nhân chuyền vị với ma trận

Đoạn code mô tả cho thuật toán phép nhân chuyên vị với ma trận được trình bày

2.1.4 Viết chương trình chính gọi các hàm trên

Đoạn code mô tả cho thuật toán hàm chính gọi các hàm trên

Trang 15

Đoạn code mô tả giải hệ phương trình được trình bảy sau đây

print('Két qua giéi han: ', answer)

2.2.3 Tinh dao ham

Doan code mô tả tính đạo hàm được trình bày sau đây

2.2.4 Tinh nguyén ham

Đoạn code mô tả tính nguyên hàm được trình bày sau day

def tinhnguyenham(c,d):

x = symbols('x')

f =x /(x**241)

Trang 8

Trang 16

print (answer)

2.2.5 Tinh tich phan

Đoạn code mô tả tính tích phân được trình bảy sau day

Integral((x**2 + x - cos(x)*tan(x))/x, (x, 2"pi/3, pi)) 2.3 Thư viện MatplotLib

2.3.1 Vẽ đồ thị các cấp đạo hàm

Đoạn code khai báo các thư viện được sử dụng ở chương trình

import numpy as np

import matplotlib.pyplot as plt

Đoạn code mô tả hàm vẽ đồ thị hàm số y, y'„yˆˆ vay””’

de£f do thi ham so v(a, b,c ,x):

Trang 17

£3 = a3*x

return £3

Vy = đo thi ham so y(1, -2, -3, x)

vi = do thi ham so vi(á4, Ô, —-4, x)

y2 = do thi ham so y2(12, 0, -4, x)

y3 = do thi ham so y3(0,0,24 ,*#)

ax.set_xlabel ("Truc hoành - x")

ax.set_ylabel ("Truc tung - y")

ax.set title("Dd thi ")

from matplotlib import cm

Trang 18

2.3.3 Vé do thi mat hyperbolic 1 tầng

Doan code m6 ta do thi mat hyperbolic 1 tang được trình bày sau đây

return Z

def ve hyperbolic():

ĐLE show ()

2.3.4 Vẽ đồ thị mặt cầu

Đoạn code mô tả đô thị mặt câu được trình bảy sau đây

đe£f do thi mat cau(x,

2.3.5 Viết chương trình chính gọi thực hiện các hàm trên

Đoạn code mô tả chương trình chính của các hàm trên

Trang 19

Sau khi chạy mã lệnh Python dé thi yên ngựa kết Quả ïn ra màn hình như

Hinh 10: De thi 3D mét Hyperbolic 1 tang

Sau khi chạy mã lénh Python dé thị mặt cầu kết qua ín ra màn hình như Hình 11

Hinh 11: Dé thi 3D mat cau

Trang 12

Trang 20

CHUONG 3: LAP TRINH HUONG DOI TUQNG

def str (self) -> str:

message = ‘[ho ten: * + self.hoten + ‘; age:* \ + str(seLf.namsinh) + '; money: ' \ + str(self.luong) + ']'

return message

F, other):

nansinh > other.namsinh) other):

.nansinn >= other.namsinn)

def gt (s return ( def ge (s

other):

nansinh < other.namsinh) other):

Namsinn <= other.namsinh)

def _eq Cself, other):

return (self.namsinh == other.namsinh)

Hình 12: Xây dựng lớp NhanVien

3.2 Nhập dữ liệu cho list đối tượng

Doan code mô tả thuật toán hàm nhập dữ liệu cho 1 list các đối tượng được biêu diễn ở Hình 13

from staff import NhanVien import os

import pickle def nhap_du_lieu():

nv1=NhanVien('Quynh Anh ', 2604, 108), nv2=NhanVien('Chau', 2065, 120)

nv3=NhanVien('Chi', 2665, 366)

nv=[nv1,nv2,nv3]

return nv Hình 13: Xây dựng hàm nhép dữ liệu

3.3 Hién thi list đối tượng

Đoạn code mô tả thuật toán hàm hiên thị list các đôi tượng được biêu diễn ở Hình

14

def in_list_nhanvien(content: list[NhanVien]):

for item in content:

print(item) Hinh 14: Hién thi dist cde d6i tong

Trang 13

Trang 21

3.4 Sắp xếp list đối tượng

Đoạn code được mô tả thuật toán hàm sắp xép list theo chiêu giảm dân của độ tuôi

được biều diễn ở Hình 15

def sap_xep(nv):

nv = sorted(nv, reverse=True) for item in nv:

print(item)

Hình 15: Sếp xếp theo chiều gidm dan

3.5 Lưu list đối tượng vào tập tin nhị phân

Đoạn code được mô tả thuật toán hàm lưu list các đôi tượng vào tập tin nhị phân

được biều diễn qua Hình 16

def ghi_nhanvien(thumuc: str, ten_taptin: str, objs: List[NnanVien]):

try:

with open(os.path.join(thumuc, ten_taptin), ‘wb') as f:

pickle.dump(objs, f) print('Hoan thanh qua trinh ghi du Liev vao tap tin') except Exception as e:

printce) print('Xay ra loi trong qua trinh ghi file’)

Hinh 16: Luu list các đối #ượng

3.6 Đọc list đối tượng từ tập tin nhị phân

Đoạn code mô tả thuật toán hàm đọc list các đôi tượng tử tập tin nhị phân được

Trang 22

path= str(input('Nhập đường dẫn tệp: '))

fiLename= str(input('Nhập tên tệp: '))

nv = [NhanVien('Quynh Anh ', 2604, 106),

NhanVien('Chau', 2965, 120), NhanVien('Chi', 2003, 300),]

print('List nhân viên ') nhap_du_lieu() noidung = doc_nhanvien(path, filename) in_list_nhanvien(noidung)

print('List nhân viên sắp xếp giảm dần theo độ tuổi ') sap_xep(nv)

ghi_nhanvien(path, filename, nv) print('ket thuc chuong trinh')

if name ==" main ":

main()

Hinh 18: Viét chương trình chính

Ket quả được trả về:

Nhập đường dẫn tệp: 0://

Nhập tên tệp: Luu.dat List nhân viên

[ho ten: Quynh Anh ; age:2004; money: 100]

[ho ten: Chau; age:2005; money: 120]

[ho ten: Chi; age:2003; money: 300]

List nhân viên sắp xếp giảm dần theo độ tuổi

[ho ten: Chau; age:2005; money: 120]

[ho ten: Quynh Anh ; age:2004; money: 100]

[ho ten: Chi; age:2003; money: 300]

Hoan thanh qua trinh ghi du lieu vao tap tin ket thuc chuong trinh

Hinh 19: Két qué chiong trinh chính

lua - Notepad File Edit Format View Help

Quynh Anh *Œinansinh**MÖKE]luong?Kdubhl)”}”(h[EKhau?rjMÕIh Kxubhi)”}”(hÏŒiChi?njMỚIh M,lube

Hình 20: Táp tin nh phân

Trang 15

Trang 23

TÀI LIỆU THAM KHẢO

Trang 16

Trang 24

KET QUA KIEM TRA DAO VAN

Hình 21: Kiểm ¿ra đạo văn

Trang 17

Ngày đăng: 24/12/2024, 16:17

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

TÀI LIỆU LIÊN QUAN