K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

19 tháng 8 2023

Tham khảo:

def nhapDL(finp):

 f = open(finp)

 A = []

 B = []

 for line in f:

  s = line.split()

  A.append(s[0])

  temp = s[1:len(s)]

  temp = [float(x) for x in temp]

  B.append(temp)

 f.close()

 return A, B

def diem_gk(d):

 diem = sum(d) + d[0] + d[len(d) - 1]

 diem = diem / (len(d) + 2)

 return round(diem, 2)

def xuly(B):

 kq = []

 for i in range(len(B)):

  diem = diem_gk(B[i])

  kq.append(diem)

 return kq

def ghiDL(fout, A, B):

 f = open(fout, "w")

 A, B = zip(*sorted(zip(A, B), key=lambda x: x[1], reverse=True))

 for i in range(len(A)):

  print(A[i], B[i], file=f)

 f.close()

finp = "seagames.inp"

fout = "ketqua.out"

DS, Diem = nhapDL(finp)

Kq = xuly(Diem)

ghiDL(fout, DS, Kq)

19 tháng 8 2023

Tham khảo:

 

Giai đoạn 1. Liệt kê các việc lớn để nhận được các kết quả KQ1, KQ2 và KQ3 1. Đọc dữ liệu từ tập Tổ chức dữ liệu trong chương trình bằng các kiểu dữ liệu của Python sao cho thuận tiện để thực hiện các việc tiếp theo,

2. Phân tích dãy điểm từng học sinh để có KQI và KQ3; viết kết quả vào các tập “phantich_theoHS.txt", "xetKhenThuong tri

3. Với mỗi môn học, sắp xếp dãy điểm để có KQ2a, viết kết quả vào tệp “phantich_

theoMon.txt";

4. Với mỗi môn học, phân tích dãy điểm để có KQ2b; viết kết quả vào tệp "phantich

theoMon.txt".

Giai đoạn 2. Thiết kế các hàm

1. Đọc dữ liệu từ tập

Dữ liệu đầu vào chứa trong một tệp, dọc vào từng dòng và xử lí không phức tạp. Có thể viết một hàm thực hiện việc này. Đặt tên hàm: ví dụ là nhapTuTep.

Đầu vào: tập phần mềm bảng tính chứa dữ liệu như mô tả ở đầu bài học. Đầu ra: dữ liệu trong chương trình được tổ chức như sau:

  

- Mảng hai chiều các điểm số: Mảng nx m, mỗi hàng là dãy điểm của một học sinh, sẵn sàng để phân tích kết quả cho từng học sinh.

- Cột Tên trong bảng kết quả học tập tạo thành danh sách các tên học sinh để ghép với từng cột điểm số môn học, tách riêng được kết quả học tập theo từng môn.

– Hàng các tên môn học tạo thành danh sách tên môn học để dễ dàng lấy ra từng tên môn học theo chỉ số cột.

2. Phân tích điểm theo học sinh

Có thể tách thành các việc nhỏ, cụ thể hơn như sau:

2a) Phân tích dãy điểm số (là một hàng của mảng hai chiều) để có KQI: Thiết kế một hàm và đặt tên, ví dụ là ptDiem

Đầu vào: một dãy điểm số

Đầu ra: trả về sum, max, min, số lượng điểm thuộc các mức xếp hạng Tốt, Khá

Dat, Chura dat.

2b) Xét khen thưởng

Nếu chamDiem > 0 thì viết thêm (tên, chamDiem) thành một dòng vào tập “xetKhenThuong.txt"; có thể thực hiện việc này bằng một vài câu lệnh ngắn gọn, không cần viết thành một hàm riêng.

Lặp lại các việc 2a) và 2b) cho mỗi hàng trong mảng hai chiều axim sẽ hoàn thành phân tích điểm cho toàn bộ học sinh và lập xong danh sách học sinh được xét khen thưởng.

 

Có thể thiết kế thân vòng lặp thành một hàm và đặt tên, ví dụ là ptHocSinh.

Đầu vào: Một hàng trong mảng hai chiều axim (một dãy điểm số).

Dau ra

- Thêm một dòng vào tập “phantich theoHS.txt" (gọi hàm ptDiem) — Thêm (tên, chamliem) vào tập “xetKhenThuong.txt" nếu chamDiem ≥ 0, 3. Phân tích điểm theo môn học

3a) Chuẩn bị đầu vào để sẵn sàng phân tích điểm theo môn học:

Dãy điểm số một môn học là một cột của mảng hai chiều năm không sẵn có ngayn như một danh sách Phython. Cũng chưa có sẵn danh sách các cặp (tên, điểm) là kết quả của mỗi môn học (ở đây tên là tên học sinh).

Thiết kế một hàm, đặt tên ví dụ là tach Mom

- Đầu vào: dữ liệu trong chương trình (sau khi đọc từ tập vào)

- Đầu ra: trả về tên danh sách dãy điểm số một môn học và tên danh sách các cặp (tên, điểm) cho môn học đó.

3b) Phân tích điểm một môn học.

Nhận thấy rằng yêu cầu kết quả đầu ra KQI và KQ28 là tương tự như nhau. Hàm ptlhiem sử dụng được cho cả hai việc, phân tích điểm từng học sinh và phân tích điểm từng môn học.

3c) Sắp xếp danh sách các cặp (tên, điểm) theo thứ tự điểm giảm dần để có KQ2a.

Ta đã viết một số chương trinh thực hiện các thuật toán sắp xếp dãy số. Có thể cải biên để nhận được một hàm thực hiện sắp xếp danh sách các cặp (tên, điểm) theo thứ tự điểm giảm dần.

Lặp lại các việc 3h) và 30) cho mỗi cột trong mảng hai chiều a x m sẽ hoàn thành phân tích điểm cho toàn bộ các môn học. Có thể thiết kế một hàm nhận kết quả từ tach Mon và thực hiện 3b) và 3c) cho một môn học; đặt tên, ví dụ là ptMonHoc. - Đầu vào: danh sách điểm một môn học và danh sách các cặp (tên, điểm).

- Đầu ra:

+Thêm một dòng vào tập “phantich_theoMon.txt" (gọi hàm ptDiem). +Thêm danh sách các cặp (tên, điểm) theo thứ tự điểm giảm dần vào tập “phantich theoMon.txt" (gọi hàm sắp xếp đã cải biển).

23 tháng 8 2023

Phương pháp thiết kế chương trình theo mô đun sẽ tách bài toán lớn thành các bài toán nhỏ hơn, hay thành các mô đun, tương đối độc lập với nhau, sau đó tiến hành thiết kế thuật toán và chương trình cho từng mô đun con. Mỗi mô đun có thể là một số hàm hoặc thủ tục độc lập. Chương trình chính là một bản ghép nối các hàm và thủ tục con.

QT
Quoc Tran Anh Le
Giáo viên
10 tháng 11 2023

Chương trình trên được thiết kế có 3 mô đun.

19 tháng 8 2023

Tham khảo:

Xác định cách thức sắp xếp chèn: Sắp xếp chèn là một thuật toán đơn giản, trong đó từng phần tử của dãy đang xét được chèn vào vị trí đúng của dãy con đã được sắp xếp trước đó. Bước này định nghĩa cách thức sắp xếp chèn, bao gồm quá trình so sánh và di chuyển các phần tử để đưa phần tử mới vào vị trí đúng.

1. Bước này đã định nghĩa cách thức sắp xếp chèn, bao gồm cách thức so sánh và di chuyển các phần tử để đưa phần tử mới vào vị trí đúng của dãy con đã được sắp xếp trước đó.

2. Kết quả của bước này khác với kết quả của bước trước đó về cách thức sắp xếp chèn được định nghĩa và thực hiện. Bước này tập trung vào việc định nghĩa và triển khai thuật toán sắp xếp chèn cụ thể, trong khi bước trước đó có thể là các bước chuẩn bị dữ liệu, định nghĩa bài toán, hoặc thiết kế các thuật toán phụ trợ khác.

Phát biểu nào sau đây là sai?A.Với mọi bài toán ta có thể viết được ngay chương trình mà không nhất thiết phải thực hiện theo ba bước: Xác định thuật toán; Mô tả thuật toán; Viết chương trình.B.Trong tin học ta có thể hiểu bài toán là một công việc hay một nhiệm vụ nào đó mà ta muốn máy tính thực hiện.C.Xác định bài toán là chỉ rõ các điều kiện cho trước và kết quả cần thu được.D.Một dãy hữu hạn các...
Đọc tiếp

Phát biểu nào sau đây là sai?

A.Với mọi bài toán ta có thể viết được ngay chương trình mà không nhất thiết phải thực hiện theo ba bước: Xác định thuật toán; Mô tả thuật toán; Viết chương trình.

B.Trong tin học ta có thể hiểu bài toán là một công việc hay một nhiệm vụ nào đó mà ta muốn máy tính thực hiện.

C.Xác định bài toán là chỉ rõ các điều kiện cho trước và kết quả cần thu được.

D.Một dãy hữu hạn các thao tác nếu thực hiện rất nhiều lần nhưng không thu được kết quả cần thiết từ những điều kiện cho trước thì không được xem là một thuật toán.

 

Dựa vào dãy số gồm n số em hãy chỉ ra KẾT QUẢ CẦN ĐẠT ĐƯỢC của bài toán : Tính tổng của các phần tử lớn hơn 0 trong dãy n số cho trước

A.Số thứ tự của các số trong dãy gồm n số

B.Vị trí của số thứ n

C.Dãy gồm n số

D.Tổng các phần tử lớn hơn 0

1
18 tháng 11 2021

A

D

QT
Quoc Tran Anh Le
Giáo viên
15 tháng 9 2023

- Loại mô đun cảm biến sử dụng: mô đun cảm biến ánh sáng

19 tháng 12 2021

c: 

#include <bits/stdc++.h>

using namespace std;

double a,b;

int main()

{

cin>>a>>b;

cout<<a*b;

return 0;

}

câu hỏi vô lí lắm bạn ơi

23 tháng 8 2023

- Các thuật toán và chương trình mà em đã biết đều là các thuật toán cơ bản trong lập trình và giải quyết các vấn đề thông thường. Các điểm chung của chúng bao gồm: Tính đơn giản, độ phức tạp thấp.

- Theo em, để thiết kế một thuật toán đúng giải một bái toàn cho trước cần trải qua các bước:

1. Xác định bài toán

2. Tìm cấu trúc dữ liệu biểu diễn thuật toán.

3. Tìm Thuật Toán.

4. Lập Trình (Programming)

5. Kiểm thử chương trình (Testing program)

6. Tối ưu chương trình (optimization program)