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

Ứng dụng thống kê khảo sát kết quả của kiểm tra môn cấu trúc rời rạc

63 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 đề Ứng Dụng Thống Kê Khảo Sát Kết Quả Của Kiểm Tra Môn Cấu Trúc Rời Rạc
Tác giả Huỳnh Tường Nguyễn Ngọc, Phan Hải Lõm, Minh Đoàn Tiến Thụng, Phan Thị Quỳnh Như, Nguyễn Hà
Người hướng dẫn Nguyễn Lễ Huỳnh Thai, Trưởng
Trường học Trường Đại Học Bỏch Khoa Tp.Hồ Chí Minh
Chuyên ngành Khoa Khoa Học & Kỹ Thuật Máy Tính
Thể loại Bài tập lớn
Năm xuất bản 2020-2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 63
Dung lượng 8,56 MB

Nội dung

2_ Mục tiêu của bài toán Khai phá dữ liệu tử các bài thi giữa kỳ, cuối kỳ có ý nghĩa quan trọng trong việc đánh giá chất lượng của sinh viên.. Những kết quả mà các em tìm ra sẽ là bước

Trang 1

TRUONG DAI HOC BACH KHOA KHOA KHOA HOC & KY THUAT MAY TINH

BK TP.HCM

CAU TRUC ROI RAC CHO KHMT (CO1007)

Ưng dụng thống kê khảo sát kết quả của kiểm tra môn Cấu trúc rởi rac

GVHD: Huỳnh Tường Nguyên Nguyễn Ngọc Lễ

SV thực hiện: Phan Hải Hà (Nhóm trưởng) — 2011134

Huỳnh Lâm Minh Đức - 2010228

Đoàn Tiến Thông — 1915352 Phan Thị Quỳnh Như -2011780

Nguyễn Thanh Trúc - 2010747

Thai Tang Huy — 2013329

Tp Hồ Chí Minh, Tháng 05/2021

Trang 2

Trưởng Đại Học Bách Khoa Tp.Hồ Chí Minh

ne

@3 = Khoa Khoa Học & Kỹ Thuật Máy Tính

Mục lục

1 Đề tài bài tập lớn môn Cấu trúc rởi rạc 2

2 Mục tiêu của bài toán 2

3.2 Co s& ly thuyết giải quyết bài toán Q Q Q Q Q HQ HQ 2v 2 2

Trang 3

@3 = Khoa Khoa Học & Kỹ Thuật Máy Tính

I ˆ Đề tài bài tập lớn môn Cấu tric roi rac

Sơ lược về đề tài: Dùng các kiến thức đã được học từ đầi học kì để giải các câu ¡, ii, Hi, v, và các câu

hỏi nhỏ 1, 4, 5 của câu v theo cách giải truyề thống và bổ trợ bởi ngôn ngữ R

2_ Mục tiêu của bài toán

Khai phá dữ liệu tử các bài thi giữa kỳ, cuối kỳ có ý nghĩa quan trọng trong việc đánh giá chất lượng

của sinh viên Ngoài ra, những đánh giá kết quả thi cử của từng sinh viên, hay từng câu hỏi sẽ góp phần xác định những điểm mạnh, điển yếu của sinh viên để giáo viên có phương pháp phù hợp trong việc cải thiện kỹ năng của sinh viên

Trong bài tập lớn này, các sinh viên sẽ bắt đầi với các bài toán thống kê đơn giản từ những dữ liệu

được cung cấp Qua đó, các em sẽ tìm ra những con số thú vị, có ý nghĩa đối với các dữ liệu thực tế

trong quá khứ của hệ thống chấm bài online Những kết quả mà các em tìm ra sẽ là bước khởi đầi cho

việc khai phá nguồn dữ liệu của hệ thống sau này, nhằm đạt tới mục tiêu nâng cao kỹ năng lập trình,

kỹ năng giải quyết vấn đề cho người học cũng như hướng tới mục tiêu cao hơn khi tích hợp với các hệ thống quản lý và cải thiện chất lượng dạy và học

3.1 Giới thiệu vềngôn ngữ R

Ta cần phải phân tích dữ liệu để cung cấp các thông tin xác thực, trực quan, mô tả cụ thể, dễ hiểu

vấn đề đang phân tích để phục vụ nghiên cứu khoa học Đặc biệt trong các vấn đề kinh tê-xã hội

và khi nghiên cứu số lớn chúng ta cần phải quan tâm đến các công cụ kỹ thuật về phân tích số liệu

và biểu đồ Phân tích số liệu và biểu đồ thưởng được tiến hành bằng các phầì mền thông dụng

như SAS, SPSS, Stata, Statistica, và S-Plus Đây là những phầi mền được các công tỉ phầi mền

phát triển và giới thiệu trên thị trưởng khoảng ba thập niên qua, và đã được các trương đại học, các trung tâm nghiên cứu và công tỉ kĩ nghệ trên toàn thếgiới sửdụng cho giảng dạy và nghiên cứu

Nhưng vì chi phi để sửdụng các phầìi mền này tuơng đổi đất tiền (có khi lên đến hàng trăm ngàn

đô-la mỗi năm) Do đó, các nhà nghiên cứu thống kê trên thế giới đã hợp tác với nhau để phát triển một phầi mền mới, với chủ trương mã nguồn mở, sao cho tất cảcác thành viên trong ngành

thống kê học và toán học trên thế giới có thể sử dụng một cách thống nhất và hoàn toàn miễn phí Năm 1996, trong một bài báo quan trọng về tính toán thống kê, hai nhà thống kê học Ross lhaka

va Robert Gentleman [lúc đó] thuộc Trường đại học Auckland, New Zealand phát hoạ một ngôn ngữmới cho phân tích thống kê mà họ đặt tên là R Nói một cách ngắn gọn, R là một phầìi mềần sử

dụng cho phân tích thống kê và vẽ biểu đồ Thật ra, về bản chất, R là ngôn ngữ máy tính đa năng,

có thể sửdụng cho nhii mục tiêu khác nhau, từ tính toán đơn giản, toán học giải trí (recreational

mathematics), tính toán ma trận (matrix), đến các phân tích thống kê phức tạp Vì là một ngôn

ngữ, cho nên ngươi ta có thể sử dụng R để phát triển thành các phầạì mền chuyên môn cho một

vấn đề tính toán cá biệt

32 Cơ sở lý thuyết giải quyết bài toán

Vận dụng các kiến thức đã được học trong chương trình môn Cấu trúc rời rạc (COI0ƠØ7) với các

kiến thức về các dạng biểu đồ phổ, biểu đồ tần xuất và các cách lập trình ngôn ngữ R để xử lí số

liệu là điểm của các sinh viên tử bảng dữ liệu

Trang 4

€TNG khoa Khoa Học & Kỹ Thuật Máy Tính

2 Sheet GK,CK: thể hiện cho giữa kỳ, cuối kỳ

e { A, B, C, D}: Cac cau trả lời của sinh viên tương ứng cho các câu hỏi + {0, 1}: Kết quả đúng sai tương ứng cho mỗi câu hỏi Nó được dẫn ra từ đáp án được cung cấp trong sheet

3 Sheet GK_0,CK_0 cung cấp thông tin vềlờởi giải, chuẩn đầi ra, chương liên quan cho mỗi câu

hỏi trong từng mã dé thi

5 Bài giải

¡Xác định số lượng sinh viên trong tập mẫu

Số lượng sinh viên trong tập mẫu là max chi dài cột No giữa hai sheet GK và CK

> #i so luong sinh vien trong tap mau

> #GK

> GK_so_luong_Sv <- length(GK_sheet$No)

> #CK

> CK_so_luong_Sv <- length(CK_sheet$No)

> #50 luong sinh vien

> so_luong_sv <- max(GK_so_luong_SV, CK_so_luong_Sv)

Trang 5

€TNG khoa Khoa Học & Kỹ Thuật Máy Tính

i.Nhóm câu hỏi liên quan đến số câu của các sinh viên

1) Tính tổng các câu đúng của mỗi sinh viên trong tập mẫu

2) Tính tổng các câu sai của mỗi sinh viên trong tập mẫu

3) Xác định số câu đúng nhiềi nhất và thấp nhất trong tập mẫu

4) Vẽ biểu đồ phổ cho tổng số các câu đúng của sinh viên ứng với từng mã đề lần lượt trong tập mẫu giữa kỳ và cuối kỳ

5) Vẽ biểu đồ phổ cho tổng số các câu sai của sinh viên ứng với từng mã đề lần lượt trong tập mẫu giữa

#so cau dung cua tung sv

bang_d†em$dung_CK [1 :163 ] rowSums (Filter (is numeric,CK_sheet[4:41]),na.rm TRUE

#so Cau cua tung sv

bang_diem$sai_ck[1:163] <- so_cau_hoi_cK - rowSums (Filter (is numeric,cK_sheet[4:41]),na.rm TRUE)

Trang 6

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Trang 7

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Câu ii.3:

> #11.3

> cau_dung_GK <- colSums(GK_sheet[4:28], na.rm = TRUE)

> max_dung_GK <- max (cau_dung_GKk)

> max_dung_GK

[1] 131

> cau_dung_CK <- colSums(CK_sheet[4:41], na.rm

> max _dung_CK <- max(cau_dung_ck)

Trang 8

> = Khoa Khoa Hoc & Ky Thuật Máy Tính

Cau ii.4,5:

#ii.4 dung_GK <- data.frame(STT = c(1:4)) dung_GK$ma_de = c("GK2011", 'GK2012°, 'GK2013', 'GK2014') dung_Gk$dung <- c(0, 0, 0, 0)

dung GK$sai <- c(0, 0, 0, 0) for (i in c(1:GkK_so_luong_sv)) {

if (GK sheet$MADE[i] == 2011){

dung _€K§'dung[1] <- dung _GK$dung[1] + bang_diem§dung_GK[ ỉ ] dung_GK$sai[1] <- dung_GK$sai[1] + bang _diem§sai_GKƒ] ] }

if (GkK_sheet$mMADE[i] == 2012){

dung_Gk$dung[2] <- dung_Gk$dung[2] + bang_diem$dung_ck[i]

dung_Gk$sai[2] <- dung_Gk$sai[2] + bang_diem$sai_ck[i]

dung_Gk$dung[4] <- dung_Gk$dung[4] + bang_diem$dung_ck[i]

dung_Gk$sai[4] <- dung_Gk$sai[4] + bang_diem$sai_ck[i]

} dung_Gk dung_CK <- data.frame(ma de = c(‘CK2011", ‘CK2012', 'CK2013", 'CK2014')) dung_CK$dung <- c(0, 0, 0, 0)

dung_CKŠ$sai <- c(0, 0, 0, 0) for (i in c(1:CK so luong SV)) {

if (is.na(CK_sheet[i, 42])) {}

else if (CK sheet[i, 42] == 2011){

dung_ck$dung[1] <- dung_ck$dung[i] + bang_diemSdung_ck[i]

dung_CK$sai[1] <- dung_CK$sai[1] + bang_diem$sai_ck[i]

} else if (CK sheet[i, 42] == 2012){

dung_ck$dung[2] <- dung_CK$dung[2] + bang_diem§dung_CK[i ] dung CKf$sai[2] <- dung CK$sai[2] + bang diem§sai_CK[i ]

}

else if (CK_sheet[i, 42] == 2013){

dung_CK§dung[3] <- dung_ck$dung[3] + bang_diem$dung_ck[i]

dung_ck$sai[3] <- dung_ck$sai[3] + bang_diem$sai_ck[i]

else if (CK_sheet[i, 42] == 2014){

dung_ck$dung[4] <- dung CK$dung[4] + bang diem§dung CK[ ] dung_ck$sai[4] <- dung CK$sai[4] + bang diem§sai_CK[† ] dunn ce

Đề bài tập lớn môn Céu tic Roi rac cho KHMT (CO1007) - Niên khóa 20202021 Trang 7/62

Trang 9

a Khoa Khoa

dung_ck Vibrary(ggplot2 ggplot(data = dung_ck, ggplot (data - dung_ck,

Kết quả:

Cau ii.4:

Học & Kỹ Thuật Máy Tính

aes aes

Hinh 5: Code R câu ii.4+5

"so cau dung")

"So cau dung”)

Đề bài tập lớn môn Cấu trúc Rởi rạc cho KHMT (COI007) - Niên khóa 20202021 Trang 8/62

Trang 10

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Câu 1.5:

Giua bi tc0- xo-

3 gen

Đề bài tập lớn môn Céu tic Roi rac cho KHMT (CO1007) - Niên khóa 20202021 Trang 9/62

Trang 11

@3 = Khoa Khoa Học & Kỹ Thuật Máy Tính

Ii.Nhóm câu hỏi liên quan đến điển của các sinh viên

a Điểm được tính bằng cách lấy tổng số câu đúng chia cho tổng số câu ứng với mỗi kỳ thi, r lấy kết

quả nhân 10 và làm tròn đến 2 số thập phân

c Điểm tổng kết tính bằng cách lấy tổng 40% điểm giữa kỳ và 60% điểm cuối kỳ

1) Tính trung vị mẫu, cực đại mẫu, cực tiểu mẫu giữa kỳ và mẫu cuối kỳ

2) Đếm các sinh viên mà điểm của mỗi sinh viên trong tập mẫu giữa kỳ và mẫu cuối kỳ lớn hơn hoặc

5) Đếm các sinh viên mà điểm của mỗi sinh viên trong tập mẫu nhỏ hơn 5

6) Vẽ biểu đồ phổ điểm của sinh viên trong tập mẫu giữa kỳ và mẫu cuối kỳ

7) Xác định danh sách sinh viên gần số thứ tự (No), mã nhóm và tổ có điểm số lớn nhất trong tập mẫu giữa kỳ và mẫu cuối kỳ

8) Xác định danh sách sinh viên gồm số thứ tự (No), mã nhóm và tổ có điểm số nhỏ nhất trong tập mẫu giữa kỳ và mẫu cuối kỳ

`Ð _ Xác định điểm số trung bình của của các sinh viên trong mẫu trong tập mẫu giữa kỳ và mẫu cuối kỳ 10) Xác định số lượng sinh viên có điểm số trung bình

11) Hãy đo mức độ phân tán của điểm số (xung quanh giá trị trung bình) của mẫu giữa kỳ và mẫu cuối

kỳ

= =

12) Tính độ méo lệch (skewness), và độ nhọn (kurtosis) của dữ liệu trong mẫu giữa kỳ và mẫu cuối kỳ

13) Tính tứ phan vj (quartile) thi nhất (Q¡) và thứ ba (Qs;) của giữa kỳ và mẫu cuối kỳ

14) Xác định số lượng sinh viên có điểm số nằm trong 2 mức điểm cao nhất trong tập mẫu giữa kỳ và

Trang 12

4 Khoa Khoa Học & Kỹ Thuật Máy Tính

Phương sai ( Variance/Dispersion, còn gọi là Tán số) của biến ngẫu nhiên X được định nghĩa bằng trung bình của bình phương sai lệch giữa biến ngẫu nhiên với kỳ vọng toán của nó

Kí hiệu bởi D(X) hay V(X)

Công thức tính{ D(X) = E[X-E(X)]? hay D(X) = E(X?) - [E(X)]

-_ Nếu X là BNN rời rạc thì:

D(X) = }Jx-E(Xƒp, = 3 xjp, -[E(XJƑ

- NéuXla BNN liên tục thì:

[ CTI + cT2 +0 ) —

Phương sai càng nhỏ thì giá trị của X càng tập trung gần E(X)

s Trong kỹ thuật, phương sai thường đặc trưng cho mức độ phân tán của kích thước các chỉ tiết gia công hay sai số của thiết bị Phương sai cho biết sự ổn định của thiết bị Trong nông nghiệp, phương sai đặc trưng cho mức độ đồng đều của vật nuôi hay cây trồng Trong quản lý và kinh doanh, nó đặc trưng cho mức độ rủi ro của các quyết định

Đề bài tập lớn môn Cấu trúc Rởi rạc cho KHMT (COI007) - Niên khóa 20202021 Trang 11/62

Trang 13

4W Khoa Khoa Học & Kỹ Thuật Máy Tính

II.3.4 Trung vị: Trung vị ( median) của biến ngẫu nhiên X, kí hiệu med(X), là một giá trị thực mà:

-Tứ phân vị thứ nhất được tính bằng công thức Q1 = 25 * (n+l) / 100

-Tứ phân vị thứ nhì là giá trị trung vị Q2 = (n+l)/2

-Tứ phân vị thứ ba được tính bằng công thức Q3 = 75 * (n+l) / 100

Giá trị trung vị chia mẫu dữ liệu đã sắp thứ tự thành 2 tập có

số phần tử bằng nhau Trung vị của tập dữ liệu nhỏ hơn là Q, (gọi là tứ phân vị dưới) và trung vị của tập dữ liệu lớn hơn là Q; ( gọi là tứ phân vị trên) Q, được lấy bằng giá trị trung vị

Độ trải giữa IQR=Rạ= Q; - Q;

Đề bài tập lớn môn Cấu trúc Rởi rạc cho KHMT (COI007) - Niên khóa 20202021 Trang 12/62

Trang 14

@3 = Khoa Khoa Học & Kỹ Thuật Máy Tính

Độ lệch

Khái niệm

Độ lệch trong tiêng Anh la Skewness

Nếu phân hôi hinh chuông bị dịch chuyển sang trái hoặc sang phải, nó được cho là bị lệch Độ lệch được coi là một đại diện cho mức độ khac biệt cua một phân phối nhất định so với phân phối chuân Một phân phối chuân có độ lệch bằng 0, trong khi phân phổi phân phối xác suất loga chuẩn sẽ co lệch

vê phia bên phải

Công thức tính độ lệch chuẩn

SKI = (Gia trị trung bình - yêu vi)/ Độ lệch chuân

SK2 = (Gia trị trung bình - trung vi)/ Độ lệch chuân

Trong đó :

SKI là độ lệch đầai tiên của Pearson, hay độ lệch yếu vị Pearson

SK2 là độ lêch thứ hai của Pearson, hay độ lệch trung vị Pearson

Độ nhọn

Khái niệm

Độ nhọn trong tiêng Anh la Kurtosis

Giống như độ lệch, độ nhon là một biện pháp thống kê được sử dụng để mô tả cac phân phối Trong khi

độ lệch phân biệt các giá trị cực trí ở một đuôi so với đuôi kia, thì độ nhọn đo lương cac giá trị cực trí ở một trong hai đuôi

Đề bài tập lớn môn Cấu trúc Rởi rạc cho KHMT (COI007) - Niên khóa 20202021 Trang 13/62

Trang 15

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Bài giải:

1Ii.a,b:

#GK bang_diem$diem_Gk[158:163] = 0 bang_diem$diem_Gk[1:157] <- round(bang_diem$dung_Gk[1:157]/25*10, digits = 2)

#CK bang_diem$diem_ck[1:163] <- round(bang_diem$dung_ck[1:163]/so_cau_hoi_ck"10, digits = 2)

#b

#diem tong ket diem_tong_ket <- bang_diem$diem_Gk"40/100 + bang_diemSdiem_ck*60/100 bang_diem$diem_tong_ket <- round(diem_tong_ket, digits = 2) bang_diem

Trang 16

> = Khoa Khoa Hoc & Ky Thuật Máy Tính

itil, 2, 3, 4, 5, 9, 11

Két qua:

#b

#diem tong ket

diem_tong_ket <- bang_diem$diem_Gk*40/100 + bang_diem$diem_ck*60/100 bang_diem$diem_tong_ket <- round(diem_tong_ket, digits = 2) bang_diem

#b.1 trung vi, cuc dai, cuc tieu, diem trung binh, do lech chuan, phuong sai

#GK trung_vi_Gk <- median(bang_diem$diem_Gk, na.rm = TRUE) cuc_dai_Gk <- max(bang_diem$diem_GK, na.rm = TRUE) cuc_tieu_GK <- min(bang_diem$diem_Gk, na.rm = TRUE) TB_GK <- mean(bang_diemSdiem_Gk, na.rm = TRUE) do_lech_chuan_Gk <- sd(bang_diem$diem_Gk, na.rm = TRUE) phuong_sai_Gk <- var (bang_diem$diem_GK, na.rm = TRUE)

#CK trung_vỉ_CK <- median(bang_diem$diem_CK, na.rm = TRUE) cuc_dai_ck <- max(bang_diem$diem_CK, na.rm = TRUE) cuc_tieu_CK <- min(bang_diemSdiem_cK, na.rm = TRUE) TB_CK <- mean(bang_diemSdiem_cK, na.rm = TRUE) do_lech_chuan_ck <- sd(bang_diem$diem_ck, na.rm = TRUE) phuong_sai_ck <- var (bang_diemSdiem_cK, na.rm = TRUE)

#b.2, 3, 4, 5

#GK_dem so sv co diem >= 9.0, 7.0, 5.0, < 5.0 Gk_from_9.0 <- length(which(bang_diem$diem_ck >=

Gk_from_5.0 <- length(which(bang_diem$diem_ck >=

GkK_less_5.0 <- length(which(bang_diem$diem_Gk < 5.0

0, !is.na(bang_diem$diem_ck))) 0, !is.na(bang_diem$diem_Gk)))

0, !is.na(bang_diem$diem_ck)))

» !is.na(bang_diem$diem_Gk)))

#CK_dem so sv co diem >= 9.0, 7.0, 5.0, < 5.0 CK_from_9.0 <- length(which(bang_diem$diem_cK >= 9.0, !is.na(bang_diem$diem_ck))) CK_from_7.0 <- Tength(which(bang_diem$diem_CK >= 7.0, !is.na(bang_diem$diem_ck))) CK_from_5.0 <- Tength(which(bang_diem$diem_CK > 0, !is.na(bang_diem$diem_ck))) CK_Tess_5.0 <- length(which(bang_diem$diem_ck < 5.0, !is.na(bang_diem$diem_ck)))

Hình 9: Code R câu iii.1234,5

#b.9, 10, 11

#lap bang thong ke

type <- c("GK", "CK")

trung_vi_mau <- c(trung_vi_Gk, trung_vi_ck)

cuc_dai_mau <- c(cuc_dai_GK, cuc_dai_ck)

cuc_tieu_mau <- c(cuc_tieu_GK, cuc_tieu_ck)

do_lech chuan <- c(do_]ech chuan 6K, do_lech_chuan_ck)

phuong sai <- c(phuong_sai_Gk, phuong_sai_ck)

diem trung binh <- cC(TB_GK, TB_CK)

5o_5v_tu_9.0 <- c(GK_fron_9.0, CK_from_9.0)

SO sSV tu_?.0 <- C(G6K from 7.0, CK_from_7.0)

.0 <- C(GK from_5.0, CK_from_5.0)

So_sv_duoi_5.0 <- c(GK_less_5.0, CK_Tess_5.0)

thong _ke <- data.frame(type, trung_vi_mau, cuc_dai_mau, cuc_tieu_mau, do_lech_chuan, phuong_sai, diem_trung_binh, so_sv_tu_9.0, so_sv_tu_7.0, view(thong_ke)

Hình 10: Code R cau iii.9-11

Đề bài tập lớn môn Céu tic Roi rac cho KHMT (CO1007) - Niên khóa 20202021 Trang 15/62

Trang 17

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

cục tieu mau do_lech_chuan phuong sai diem_trung_binh sosvtu90 sosv tu 7.0 so_sv_tu 5.0 so_sv_duoi 5.0

4 GK 5.60 8.80 9 1.702008 2.896833 SATASAT 9 24 109 s4

2 Kk c3 9.21 9 2.329741 5.427694 5.889571 1 59 122 41

Hình 11: Kết quả các câu ii.1, 2, 3, 4, 5, 9, 11 Câu Hi.6:

ob phe sisw 2in) wisn

phadten © dars tram (ated

} ipRe_4ian§za_zv_CK[191 = pho_d* em

int yen") inh yien")

pho dien

QpÏot(Cdata - pho-đie', aesíx - điem, y - so

ggpÌatCeara = pho_die, sez'x ~ điem, y = 4 GK/) + geonbar(stat CKI) + gion_bar¿zvat = = "pha deen sinh "ho dien sinh

Hình 12: Code R câu Ii.6

Trang 18

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Đề bài tập lớn môn Cấu trúc Rởi rạc cho KHMT (COI007) - Niên khóa 20202021 Trang 17/62

Trang 19

4 Khoa Khoa Học & Kỹ Thuật Máy Tính

danh_sach_sinh_vien_nho_nhat_GK <- subset (danh_sach_s inh_vien_, diem == max(diem_GK)) == min(diem_GK[1:157]))

#danh sach sinh vien cao nhat CK danhsach3 <- CK_sheet[1:163 cGy ? 3]

danh_sach_sinh_vien_CK <- serge (đanhsach3, danhsach4 ,by="No", al1=IRUE) danh_sach_sinh_vien_cao_nhat_CK <- subset (danh_sach_sinh_vien_CK,diem_CK== max(diem_CK))

Hinh 15: Code R cau iii.7+8

Đề bài tập lớn môn Céu tic Roi rac cho KHMT (CO1007) - Niên khóa 20202021 Trang 18/62

Trang 20

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Trang 21

xĂNO Khoa Khoa Học & Kỹ Thuật Máy Tinh

Câu Ii.10:

> #111.10

> so_sy_dat_TB_GK <- length((which(bang_diemSdiem_Gk >= 5 & bang_diem$diem_GK <= 6)))

> so_sv_dat_TB_GK [1] 50

> so_sv_dat_TB_CK <- length((which(bang_diem$diem_CK >= 5 & bang_diem$diem_CK <= 6)))

> so_sv_dat_TB_CK [1] 24

Hình 17: Code R + kết quả câu iii.10

Đề bài tập lớn môn Cấu trúc Rởi rạc cho KHMT (COI007) - Niên khóa 20202021 Trang 20/62

Trang 22

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Câu Ii.12:

> #iii 12

> diem_Gk <- bang_diem$diem_ck

> skewness_GK <- sum((diem_GK-mean(diem_GK))A3)/(CClength(diem_GK) -1)*sd(diem_GK)A3)

> kurtosis_GK <- sum((diem_Gk-mean(diem_Gk))%4)/(CC] ength (diem_GK)-1) *sd(diem_Gk)4)

> skewness_GK [1] -1.109033

> kurtosis_GK [1] 4.99777

>

diem_CK <- bang_diem$§diem_CK skewness_CK <- sum((diem_CK-mean(diem_CK))A3)/CClength(diem_Ck)-1)*sd(diem_Ck)A3) kurtosis_CK <- sum((diem_CK-mean(diem_CK))44)/((]ength (diem_CK) -1) *sd(diem_Ck)44) skewness_CK

[1] -1.185825

> kurtosis_CK [1] 3.992907

Trang 23

> = Khoa Khoa Hoc & Ky Thuật Máy Tính

Câu iii.13:

#11113

#phanviGk order (bang_diem$diem_Gk[1:157]) bang_diem$diem_Gk [1:157] [or der (bang_di em$diem_GK [1 :157 ]) )

pr int (quanti 1e(bang_ di em$ di em_GK[ 1 :157 ] ,0 25)

pr int(quant1e(bang_ di em$Sdi em_GK[ 1 : 157 ] ,0 5)

pr int (quant †1e(bang_ đi em$ di em_GK[ 1 : 1 57 } ,0 75)

#phanvick

order (bang_diemSdiem_ck) bang_diemSdiem_ck [order (bang_diem$diem_ck) ] print (quanti le(bang_diem$diem_ck,0.25)) print (quanti le(bang_diemSdiem_ck,0.5)) print (quanti le(bang_diemSdiem_cx,6.75)) pv123gk=quantile(bang_diemSdiem_Gk[1:157]) [2:4]

Trang 24

& Trưởng Đại Học Bách Khoa Tp.Hồ Chí Minh

Khoa Khoa Học & Kỹ Thuật Máy Tính

if(diem_cK[1] != diem_ck[2]){

cao3=1 cao4 <- length(which(diem_CK == diem_CK[2])) cao_1_2_CK <- cao3 + cao4

diem_GK <- sort(danh_sach_sinh_vien_Gk$diem_GK, decreasing = TRUE) if(diem_GkK[1] == diem_Gk[2]){

for(i in 2:163){

if(diem_GK[i] != diem GK[i + 1]){

caol <- length(which(diem_GK == diem_GK[1])) cao2 <- length(which(diem_GK == diem _GK[1+1]))

}

1f(diem_GK[1] != diem GK[2]){

caol=1 cao2 <- length(which(diem_GkK == diem_GK[2]))

>

#so_sv_co_diem_nam_trong_2_muc_diem_cao_nhat_CK diem _CK <- sort(danh_sach_sinh_vien_CK$diem_CK,decreasing = TRUE) if(diem_cK[1] == diem _CK[2]){

Trang 25

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Cau iii.15:

#111.15 ye do thi so sv co dien nap trong 2 muc diem (a0 that

hai_muc_czo_nhat <- data frame(rank = 1:2)

hai_nuc_(a_nhat{dien GŒ <- (dien cao 1, điếi ran 2)

hai 1c ca nlatjsg sự ( <- cíca03, can)

hai_muc_cao_nhatSdiemck <- c(diemcao_3, diencao_4)

ggplot(data = hai_nuc_cao_nhat, aes(x = dien Œ, y = so sv_Q)) + geonbar(stat = “identity") + labs(title = "Giua ki", x = "đie”, y = "so sinh vien")

ggplot(data = hai tuc cao fhat, aes(x = dien CK, y = so sự (K)) + di bar(stat = "1ửentity') + labs(title = "Cuoi ki", x= "dies", y = "so sinh vien")

Hình 22: Code R câu iii.1Š

Giua ki 20-

Trang 26

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Trang 27

&

Câu Ii.16:

Cho k=3

x*

Trưởng Đại Học Bách Khoa Tp.Hồ Chí Minh

Khoa Khoa Học & Kỹ Thuật Máy Tính

#111.16 xac dinh so sv co diem cao thu k voi k cho diem_GK <- sort(bang_diem$diem_GK,decreasing = TRUE) min_rank_GK = 1

Trang 28

8K Khoa Khoa Hoc & Ky Thuật Máy Tính

#GK

k = scan() for (i in 1:162){

if (k > min_rank_Gk) { so_sv_diem_cao_thu_k_GK = 0 break

if (k > min_rank_ck) { so_sv_diem_cao_thu_k_CK = 0 , break

Trang 29

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

s0_sv_k diem cao_@$@_so_svícœnt1] <- ]ength(nhich(đïen & = đien @[ï]))

s0_5v.k dien cao iđien GK[cœnt1] <- dien @Íï]

so_sv_k_dien_cao_ CKICK s0_sv[count’] < length (which (dien_ck == dien_Ck[i]))

s0_sự_k đỉerL can ( oo < dienCk[i]

count = countl +

if (count! == k){

so_sv_k_dien_cao_Ck§CK_so_sv[countl] <- length(which(diemck = dienck[i+1]))

so_sv_k đïem_cao_(Kidien (K[count1] <- dien (K[i-1]

Trang 30

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Giua ki

Trang 31

xẰ CC Khoa Khoa Học & Kỹ Thuật Máy Tính

Cuoi ki

Ngày đăng: 09/02/2025, 13:43

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w