Ôn tập: vectơ giá
Thuộc phần Kiến thức nền tảng trong hành trình R của Coddy. Bài học 60 trên 78.
Thử thách
DễBạn sẽ nhận được hai dòng đầu vào:
- Một danh sách giá gốc được phân tách bằng dấu phẩy (ví dụ:
100,200,150,80) - Một phần trăm giảm giá dưới dạng số nguyên (ví dụ:
20cho mức giảm giá 20%)
Thực hiện các thao tác sau:
- Tạo một véc-tơ từ danh sách giá được phân tách bằng dấu phẩy
- Quản lý cửa hàng nhận thấy giá của món hàng thứ ba bị nhập sai. Đổi giá thành
125 - Áp dụng mức giảm giá cho tất cả các giá (nhân với
(100 - discount) / 100) - In véc-tơ giá sau khi giảm
- In tổng tất cả giá sau khi giảm bằng
sum() - In giá trung bình sau khi giảm bằng
mean()
Ví dụ, nếu đầu vào là:
100,200,150,80
20Đầu ra sẽ là:
[1] 80 160 100 64
[1] 404
[1] 101Giải thích: Giá của món hàng thứ ba được đổi thành 125, sau đó áp dụng mức giảm giá 20% (nhân với 0.8), cho ra các giá 80, 160, 100 và 64.
Tự làm thử
# Đọc đầu vào
con <- file("stdin", "r")
prices_input <- suppressWarnings(readLines(con, n = 1))
discount <- suppressWarnings(readLines(con, n = 1))
close(con)
# Chuyển đổi các giá trị đầu vào
original_prices <- as.numeric(unlist(strsplit(prices_input, ",")))
discount_percent <- as.numeric(discount)
# TODO: Viết code bên dưới
# 1. Đổi phần tử thứ ba thành 125
# 2. Áp dụng mức giảm giá cho tất cả giá
# 3. In ra vectơ giá sau khi giảm
# 4. In ra tổng bằng sum()
# 5. In ra giá trị trung bình bằng mean()Tất cả bài học trong Kiến thức nền tảng
4Toán tử phần 2
Toán tử logic (AND, OR)Toán tử logic phần 2 (NOT)Ôn tập: logic đơn giảnLogic vector hóa phần 1Logic vector hóa phần 22Biến và kiểu dữ liệu
Kiểu dữ liệu sốKiểu dữ liệu số nguyênKiểu dữ liệu ký tựKiểu dữ liệu logicKiểm tra kiểu dữ liệuQuy tắc đặt tênGiá trị thiếu: NATóm tắt: tạo biến8Vòng lặp
Vòng lặp forVòng lặp whileBreakNext (continue)Ôn tập: giai thừaTạo dãy (seq, :)Vòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcPhép chia lấy phần nguyên và phép moduloToán tử gánÔn tập: phép tính đơn giảnToán tử so sánh6Nhập xuất cơ bản
In đầu raDùng cat để in đầu raĐầu ra với biếnĐọc đầu vào bằng readline()Cơ bản về chuyển đổi kiểuÔn tập: máy tính tuổiÔn tập: đúng hay sai9Hàm
Khai báo hàmĐối số hàmGiá trị trả vềÔn tập: hàm SigmaÔn tập: hàm xác thựcGiá trị tham số mặc địnhTự luyện tập: Trình biên dịch R online