1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài thực hành tin học cơ sở dành cho khối ngành kinh tế

54 4 0

Đ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ài Thực Hành Tin Học Cơ Sở Dành Cho Khối Ngành Kinh Tế
Trường học Trường Đại học Kinh tế Thành phố Hồ Chí Minh
Chuyên ngành Tin học cơ sở
Thể loại Bài thực hành
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 54
Dung lượng 1,67 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kết quả của đoạn văn bản trên như sau: Export và Import Jupyter Notebook Khi b ạn làm việc với Jupyter Notebook bạn có thể hoàn thành và muốn chia sẻ những gì mình làm v ới mọi người,

Trang 1

BÀI TH ỰC HÀNH TIN HỌC CƠ SỞ

Trang 2

BÀI 1: PYTHON VÀ MÔI TRƯỜNG LÀM VIỆC

1 Cài đặt Python:

- Download ph ần mềm: https://www.python.org/downloads/

- Nhắp đúp chuột vào file vừa download để cài đặt

Cài đặt Jupyter Notebook:

Jupyter Notebook là một công cụ hỗ trợ soạn thảo và thực thi chương trình của một số ngôn

ngữ lập trình trong đó có Python

- Chuyển về cửa sổ cmd: trên windows Chọn start rồi gõ cmd

- Gõ l ệnh: pip install jupyter (máy tính phải kết nối internet)

Mở Jupyter Notebook

Ch ạy Jupyter Notebook:

Gõ l ệnh: jupyter notebook

Trang 3

Giao diện của Jupyter notebook để quản lý tất cả file notebook của mình tại đây

T ạo thư mục

- Ch ọn thư mục vừa tạo (Untitled Folder)

- Ch ọn Rename rồi đặt lại tên khác (TH Python)

T ạo mới một Notebook bằng cách chọn New -> Python 3; Trong giao diện trang chủ, để tạo

m ột tài liệu Notebook mới click vào New và chọn loại tài liệu như Python, Text file, Folder

Ch ọn tên sau đó đổi tên

Trang 4

Ch ọn mục Python 3 Giao diện của trang Jupyter chạy ở môi trường máy tính như sau:

Trong giao di ện này có các thành phần như sau:

Ph ần 1: Tiêu đề tài liệu, mặc định chưa nhập tiêu đề là Untitled Khi nhấp chuột vào phần này,

một cửa sổ sẽ hiện ra để bạn nhập tên file

Ph ần 2: Thanh menu bao gồm các menu như:

File: các menu thao tác v ới file như tạo mới, lưu trữ, save as

Edit: các menu thao tác v ới nội dung file như copy, paste văn bản, cell, tìm kiếm và thay

th ế một nội dung trong file, chèn hình ảnh

View: menu điều chỉnh giao diện, hiển thị hoặc ẩn các thành phần giao diện trong Jupyter Notebook

Insert, Cell: c ác hành động liên quan đến Cell là thành phần cơ bản của một tài liệu Kernel: các thao tác v ới kernel hiện hành như thay đổi nếu muốn sử dụng ngôn ngữ khác, restart, shutdown

M ột số các menu khác

Ph ần 3: Thanh menu nhanh (shortcut menu) bao gồm các thao tác nhanh mà bạn thường làm

v ới một tài liệu, có một số nút trên đó chúng ta hay dùng nhất như:

Save file

Copy, paste

Thay đổi thứ tự các cell trong tài liệu

Chạy code trong tài liệu

Trang 5

L ựa chọn loại văn bản trong cell:

Code: Cell này chứa mã Python và có thể thực hiện được

Markdown: Cell này ch ứa văn bản diễn giải

Ph ần 4: Nội dung tài liệu chứa các cell có nội dung là code hoặc markdown, đây là vùng chúng

ta sẽ làm việc chính

Th ực hiện một ví dụ đầu tiên, Hello world để xem Jupyter Notebook này hoạt động thế nào?

Vào Cell đầu tiên và đưa vào dòng code Python như sau:

print("Hello world!")

Ti ếp đó bạn bấm vào nút Run trong menu nhanh hoặc tổ hợp phím tắt Ctrl + Enter, kết quả sẽ

xu ất hiện tiếp theo ở ngay dưới cell đó

Trong ví d ụ trên chúng ta có 3 cell:

- Cell đầu tiên là dạng Markdown, chúng ta có thể đưa vào nội dung là văn bản, file hình

ảnh, bảng biểu, danh sách

Trang 6

- Cell th ứ hai nội dung là code Python print("Hello world!") và khi bạn bấm và Run hoặc

tổ hợp phím Ctrl + Enter thì kết quả của dòng code hiển thị ngay ở bên dưới

- Sau khi th ực hiện một cell thì Jupyter Notebook tự động chèn thêm một cell mới chưa

có nội dung gì ở ngay dưới

Thêm n ội dung vào Jupyter Notebook

Như trong ví dụ Hello world ở trên chúng ta đã thêm vào một nội dung để diễn giải thêm cho đoạn code print("Hello world") Nội dung này có thể là một đoạn văn bản bao gồm các tiêu đề, đoạn văn bản, hình ảnh, danh sách

Để thêm nội dung văn bản vào Jupyter chúng ta phải lựa chọn dạng của cell là Markdown Jupyter Notebook cho phép s ử dụng Markdown là một ngôn ngữ đánh dấu, nó là tập hợp các

ký hi ệu tương ứng với một số thẻ trong ngôn ngữ HTML.Tiêu đề trong ngôn ngữ Markdown tương ứng với các thẻ H1, H2 H6 trong HTML, trong markdown sử dụng ký tự #, H1 tương ứng với #, H2 tương ứng với ##,

Sau khi đánh xong văn bản trong Cell, bấm nút Run hoặc tổ hợp phím tắt Ctrl + Enter, văn bản sau định dạng mới hiện ra

Trang 7

Chúng ta có thể định dạng văn bản với ngôn ngữ Markdown, danh sách các định dạng này như sau: S ử dụng dấu * để bắt đầu và kết thúc một đoạn bạn muốn in nghiêng Sử dụng dấu ** để

b ắt đầu và kết thúc một đoạn bạn muốn bôi đậm, tương ứng với thẻ b trong HTML

S ử dụng _ để bắt đầu và kết thúc một đoạn bạn muốn gạch chân, tương ứng với thẻ u trong HTML

K ết quả bạn sẽ thấy khi chạy là văn bản đã được định dạng như mong muốn với thẻ HTML

Trang 8

K ết quả nhận được khi bạn thực thi cell này

Trang 9

4.3.5 Các thành ph ần khác trong Markdown

Ngoài các thành ph ần trên, chúng ta cũng hay dùng các thành phần văn bản khác như ảnh, đường dẫn tương ứng với các thẻ img, a trong HTML

Kết quả của đoạn văn bản trên như sau:

Export và Import Jupyter Notebook

Khi b ạn làm việc với Jupyter Notebook bạn có thể hoàn thành và muốn chia sẻ những gì mình làm v ới mọi người, bạn có thể export tài liệu này ra rất nhiều các dạng khác nhau như:

Trang 10

Trong các d ạng trên, chúng ta sẽ hay chia sẻ với nhau dạng file Notebook ipynb, các file này

có thể import lại vào Jupyter Notebook và thực hiện Để export ra file sử dụng menu File -> Download as -> Notebook(.ipynb)

Khi b ạn có một file Notebook (.ipynb) bạn muốn import vào hệ thống, bạn sử dụng nút Upload

ở trang chủ Jupyter Notebook và trỏ đến file cần import Khi đó file Jupyter Notebook sẽ xuất

hi ện trong danh sách trang chủ và chỉ cần nhấp vào là một tab mới xuất hiện với nội dung tài

Trang 11

Bài 2 Viết chương trình nhập số lượng và đơn giá của sản phẩm tính thành tiền và thuế giá trị gia tăng phải trả theo công thức sau: thành tiền =số lượng * đơn giá

Thuế giá trị gia tăng=10%thành tiền

Bài 3 Nhập hai số, tính tổng, hiệu, tích, thương của hai số đó

Bài 4 Nh ập vào độ dài ba cạnh a , b , c của một tam giác Tính diện tích tam giác bằng công

th ức Heron như sau: 𝑝 = √𝑝(𝑝 − 𝑎)(𝑝 − 𝑏)(𝑝 − 𝑐) với p là nửa chu vi

Gợi ý: Hàm lấy căn bậc 2 sqrt()

from math import sqrt

Bài 1 Nh ập chỉ số điện kế tháng trước và tháng này Hãy tính số kW tiêu thụ và

ti ền điện cho mỗi hộ dựa vào bảng giá sau:

Trang 12

Bài 2 Vi ết chương trình tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 2000 và 3200 (tính cả 2000 và 3200) Các số thu được sẽ được in thành chuỗi trên

m ột dòng, cách nhau bằng dấu phẩy

G ợi ý: Sử dụng range(#begin, #end)

Bài 1 Viết chương trình nhập vào từ bàn phím số nguyên nvà hiển thị ra màn hình:

Nếu n là số nguyên dương thì hiển thị ra: n là số dương

Nếu nlà số nguyên âm thì hiển thị ra: n là số âm

Nếu n là số 0 thì hiển thị ra: n là bằng không

Hướng dẫn:

Nhập giá trị n

- Nếu n>0 xuất ra mà hình; n là số dương

- Nếu n<0 xuất ra mà hình; n là số âm

- Nếu n=0 xuất ra mà hình; n là bằng 0

Bài 2 Nhập tiền gửi, số tháng gửi và lãi suất 1 tháng Tính số tiền có được sau khi gửi

G ợi ý:

D ữ liệu vào: tienGui, thang, laiSuat

D ữ liệu ra: số tiền có được sau khi gửi

G ợi ý: Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là

dữ liệu được người dùng nhập vào từ giao diện điều khiển

Code m ẫu:

values = []

for i in range(1000, 3001):

s = str(i)

if ( int (s[0])%2==0) and ( int (s[1])%2==0) and

( int (s[2])%2==0) and ( int (s[3])%2==0):

values.append(s)

print ("," join (values))

Bài 5 Một website yêu cầu người dùng nhập tên người dùng và mật khẩu để đăng ký Viết chương trình để kiểm tra tính hợp lệ của mật khẩu mà người dùng nhập vào

Trang 13

Các tiêu chí kiểm tra mật khẩu bao gồm:

1 Ít nhất 1 chữ cái nằm trong [a-z]

2 Ít nhất 1 số nằm trong [0-9]

3 Ít nhất 1 kí tự nằm trong [A-Z]

4 Ít nhất 1 ký tự nằm trong [$ # @]

5 Độ dài mật khẩu tối thiểu: 6

6 Độ dài mật khẩu tối đa: 12

Chương trình phải chấp nhận một chuỗi mật khẩu phân tách nhau bởi dấu phẩy và kiểm tra xem chúng có đáp ứng những tiêu chí trên hay không Mật khẩu hợp lệ sẽ được in, mỗi mật khẩu cách nhau bởi dấu phẩy

Ví dụ mật khẩu nhập vào chương trình là: ABd1234@1,a F1#,2w3E*,2We3345

Thì đầu ra sẽ là: ABd1234@1

Gợi ý: Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là

dữ liệu được người dùng nhập vào từ giao diện điều khiển

Trang 14

Gợi ý: Trong trường hợp dữ liệu đầu vào được cung cấp, bạn hãy chọn cách để người dùng

Bài 3 Viết hàm tính diện tích tam giác khi biết ba cạnh, hàm phân loại tam giác khi biết

3 cạnh: đều, vuông cân, cân, vuông, thường, không phải tam giác Sử dụng các hàm trên, nhập 3 số thực a, b, c thông báo loại tam giác và diện tích hoặc thông báo không là tam giác

Trang 15

Bài 5 Viết hàm tính𝑐𝑛𝑘 =𝑘!(𝑛−𝑘)!𝑛! Dùng hàm đó để tính cho n, k nhập từ bàn phím

[('John', '20', '90'), ('Jony', '17', '91'), ('Jony', '17', '93'), ('Json', '21', '85'), ('Tom', '19', '80')]

G ợi ý: Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là

d ữ liệu được người dùng nhập vào từ giao diện điều khiển

S ử dụng itemgetter để chấp nhận nhiều key sắp xếp

Trang 16

G ợi ý: Trong trường hợp dữ liệu đầu vào được cung cấp cho câu hỏi, nó phải được giả định là một input được nhập từ giao diện điều khiển

Code m ẫu:

freq = {} # frequency of words in text

line = input()

for word in line.split():

freq[word] = freq get (word,0)+1

Câu h ỏi: Định nghĩa một hàm có thể in dictionary chứa các key là số từ 1 đến 20 (bao gồm cả

1 và 20) và các giá trị bình phương của chúng

G ợi ý: Sử dụng dict[key]=value để nhập mục vào dictionary

S ử dụng toán từ ** để lấy bình phương của một số

Sử dujnng range() cho các vòng lặp

Trang 17

Bài 7:

Vi ết một chương trình để tạo tuple khác, chứa các giá trị là số chẵn trong tuple (1,2,3,4,5,6,7,8,9,10) cho trước

Gợi ý: Sử dụng for để lặp tuple

S ử dụng tuple() để tạo tuple từ list

G ợi ý: Sử dụng filter() để lọc các yếu tố trong một list

S ử dụng lambda để định nghĩa hàm chưa biết

Bài 1: Cho b ảng dữ liệu về giá vàng trong tháng như sau:

Ngày Giá vàng bán ra Giá vàng mua vào

Hãy vi ết chương trình lưu trữ dữ liệu dưới dạng file CSV

Bài 2: V ới dữ liệu trong file CSV đã tạo trong bài 1, viết chương trình đọc và hiển thị dữ liệu từ file CSV này và thêm các tiêu đề đầu vào dữ liệu kết quả như hình sau:

Trang 18

Bài 3: Cho b ảng dữ liệu về lỗi vi phạm của sinh viên như sau:

Tên sinh viên Vắng lý thuyết Vắng thực hành Không nộp bài

Hãy vi ết chương trình lưu trữ dữ liệu dưới dạng file CSV

Bài 4: V ới dữ liệu trong file CSV đã tạo trong bài 3, viết chương trình đọc và hiển

th ị dữ liệu từ file CSV này và thêm các tiêu đề đầu vào dữ liệu kết quả như hình sau:

Bài 5: Cho b ảng dữ liệu về giá vàng trong tháng 3 như sau:

Ngày Giá vàng bán ra Giá vàng mua vào

Trang 19

# Thêm tiêu đề đầu vào dữ liệu

df.columns = ['Ngày','Giá vàng bán ra', 'Giá vàng mua vào']

# Thêm tiêu đề đầu vào dữ liệu

df.columns = ['Tên','Vắng lý thuyết', 'Vắng thực hành', 'Không nộp bài']

df.head()

Bài 5:

import pandas as pd

ngay = ['1/3','2/3','3/3','4/3','5/3','6/3','7/3']

Trang 20

giaban = [46,47,46,45,46,46,45]

giamua = [45,46,45.5,44.5,45,45.5,44.5]

dulieu = zip(ngay, giaban, giamua)

cot = ['Ngày', 'Giá vàng bán ra', 'Giá vàng mua vào']

df = pd.DataFrame(data = dulieu,columns=cot)

writer = pd.ExcelWriter('Banggiavang3.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1')

writer.save()

Trang 21

BÀI 6: LÀM VI ỆC CÁC LOẠI FILE DỮ LIỆU

Bài 1: V ới dữ liệu trong file Excel đã tạo trong bài 4.5, viết chương trình đọc và hiển thị dữ liệu từ file Excel này như kết quả hình sau:

Bài 2: Cho 2 b ảng dữ liệu về giá vàng trong tháng như sau:

Trang 22

Bài 4: Cho b ảng dữ liệu về lỗi vi phạm của sinh viên như sau:

Tên sinh viên Vắng lý thuyết Vắng thực hành Không nộp bài

Hãy vi ết chương trình lưu trữ dữ liệu dưới dạng file SQL

Bài 5: V ới dữ liệu trong file SQL đã tạo trong bài 1, viết chương trình đọc và

hi ển thị dữ liệu của những sinh viên có số buổi vắng lý thuyết (vangLT) lớn hơn hoặc bằng 2 từ file SQL này như kết quả hình sau:

Trang 23

CODE M ẪU Bài 1:

dulieu = zip(ngay, giaban, giamua)

cot = ['Ngày', 'Giá vàng bán ra', 'Giá vàng mua vào']

df = pd.DataFrame(data = dulieu,columns=cot)

ngay1 = ['4/4','5/4','6/4','7/4','8/4','9/4','10/4']

giaban1 = [48,47,46.5,46,46.5,47,47.5]

giamua1 = [47,46.5,45.5,45,46,46.5,46.5]

dulieu1 = zip(ngay1, giaban1, giamua1)

cot1 = ['Ngày', 'Giá vàng bán ra', 'Giá vàng mua vào']

Trang 24

Bài 4:

import pandas as pd

import os

import sqlite3 as lite

ten = ['Trung', 'Cảnh', 'Bảo', 'Quốc', 'Tùng']

vangLT = [3, 5, 1, 0, 2]

vangTH = [2, 1, 0, 0, 1]

khongNB = [0, 3, 0, 2, 1]

dulieu = zip(ten, vangLT, vangTH, khongNB)

df = pd.DataFrame(data = dulieu, columns=['Ten','vangLT', 'vangTH', 'khongNB'])

#Tạo tập tin cơ sở dữ liệu Bangvipham.db

sql = 'SELECT * from Ketoan_K43A where vangLT >= 2'

sales_data_df = pd.read_sql(sql, engine)

sales_data_df

Trang 26

BÀI 7: THAO TÁC CƠ BẢN TRÊN DỮ LIỆU

Bài 1: Cho t ập tin dataYear.csv với dữ liệu về tuổi thọ của mỗi người như sau:

Hãy vi ết chương trình xử lý ngoại lệ trên trường dữ liệu tuổi trong khoảng giá trị

trung bình của độ lệch chuẩn với dung sai là 1.2 (những giá trị nằm ngoài vùng này sẽ bị loại bỏ) Hiển thị dữ liệu đã được xử lý ngoại lệ với kết quả như hình sau:

Trang 27

Bài 2: V ới dữ liệu trong file CSV đã cho trong bài 1, hãy viết chương trình tìm

và xóa nh ững phần tử khác biệt với những phần tử nằm trong 20% đến 80% của trường tuổi với độ lệch chuẩn và dung sai là 0.9 Xuất file dữ liệu CSV đã được

x ử lý ngoại lệ với kết quả như hình sau:

Bài 3: Vi ết chương trình tạo tập tin dữ liệu CSV như hình sau:

Trang 28

nh ận giá trị 0 hoặc 1 Chuyển đổi dữ liệu giá trị cho trường Giới tính: giá trị

“Nam” là: 1 và “Nữ” là: 0 Chuyển đổi giá trị cột td_CN: giá trị 1 thành ‘có’, giá trị 0 thành ‘không’.Xóa các bản ghi trùng lặp, chỉ giữ lại 1 bản ghi Lưu và

hi ển thị dữ liệu kết quả như hình sau:

Trang 30

#Xóa các dòng dữ liệu nằm ngoài giá trị biên

copydf = copydf.drop(copydf[copydf['tuoi']> gtbien_tren].index) copydf = copydf.drop(copydf[copydf['tuoi']< gtbien_duoi].index)

#Hiển thị dữ liệu đã được xử lý ngoại lệ

Trang 33

BÀI 8: THAO TÁC CƠ BẢN TRÊN DỮ LIỆU

Bài 1: V ới tập tin dữ liệu lưu trữ trong bài 5 ở trên, viết chương trình thực hiện các yêu cầu sau:

- Xóa c ột Nam và cột Nữ

- Thêm c ột Hưu trí với dãy giá trị cho trước là: [1,0,0,1,0,1]

- Thêm c ột hệ số lương với giá trị cho trước là: [6.4,3.99,2.97,5.4,4.2,8.2]

- Thêm c ột lương cơ bản với giá trị bằng Hệ số lượng*1350000

- Đổi tất cả tên tiêu đề sang chữ thường

- S ửa đổi giá trị của trường Trình độ thạc sỹ, nếu giá trị lớn hơn bằng 1 thì kết

qu ả là 1

- Lưu trữ dưới dạng tập tin CSV và hiển thị dữ liệu như hình sau:

Bài 2: V ới tập tin dữ liệu CSV lưu trữ trong bài trên, viết chương trình thực hiện các yêu c ầu sau:

- Lọc 3 trường dữ liệu: hoten, ngaysinh, gioitinh

- Lọc 3 dòng đầu tiên của tập tin dữ liệu

- Hiển thị những bản ghi thỏa điều kiện có trường hoten xuất hiện chữ “Thị”

- Lọc những bản ghi có giới tính 1

- Lọc những bản ghi có giới tính là 0 và hưu trí là 1

- L ọc dữ liệu những bản ghi có giới tính là 0 hoặc trình độ tiến sỹ là 1

- L ấy 3 dòng dữ liệu một cách ngẫu nhiên

Bài 3:V ới tập tin dữ liệu CSV lưu trữ như trong hình dưới đây:

Trang 34

Viết chương trình thực hiện các yêu cầu sau:

- Đếm số nhân viên có giới tính là Nữ (giá trị 0), số nhân viên có giới tính là

Nam (giá trị 1)

- Đếm số nhân viên Nữ và có trình độ Thạc sỹ

- Đếm số nhân viên có giới tính là Nữ hoặc nhân viên có trình độ Tiến sỹ

- Tính trung bình trường dữ liệu Lương cơ bản của những người có trình độ là

c ử nhân

- Xác định mức lương cơ bản cao nhất của nhân viên có trình độ cử nhân

- Xác định mức lương cơ bản thấp nhất của nhân viên nữ có trình độ cử nhân

Bài: V ới tập tin dữ liệu CSV như trong bài 1 ở trên,

- Vi ết chương trình thực hiện hiển thị và sắp xếp dữ liệu tăng dần theo cột Lương

cơ bản, như hình dưới:

- Viết chương trình thực hiện hiển thị và sắp xếp dữ liệu tăng dần theo cột Giới tính, gi ảm dần theo cột Lương cơ bản, như hình dưới:

Ngày đăng: 27/04/2023, 11:22

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm