Bổ sung thêm các câu lệnh in kết quả trung gian vào các chương trình nói trên để có thể quan sát diễn biến từng bước thực hiện sắp xếp nhanh một dãy số.
Chọn các phương án đúng:
A. Em có thể dùng ngôn ngữ lập trình Scratch để diễn tả từng bước thực hiện một trò chơi trên máy tính
B. Các câu lệnh của Scratch được sắp xếp theo một thứ tự nhất định tạo thành một chương trình máy tính
C. Máy tính không thể thực hiện trò chơi
D.Trong Scratch các lệnh của chương trình máy tính có thể được thể hiện bằng ngôn ngữ tiếng việt
Viết chương trình nhập một dãy số từ bàn phím, các số cách nhau bởi dấu cách, thực hiện sắp xếp dãy đã nhập theo một trong các thuật toán sắp xếp rồi in kết quả ra màn hình.
# Nhập dãy số từ bàn phím
lst = list(map(int, input("Nhập dãy số cách nhau bởi dấu cách: ").split()))
# Sắp xếp dãy số theo thuật toán sắp xếp chọn
for i in range(len(lst)):
min_idx = i
for j in range(i+1, len(lst)):
if lst[j] < lst[min_idx]:
min_idx = j
lst[i], lst[min_idx] = lst[min_idx], lst[i]
# In kết quả ra màn hình
print("Dãy số đã sắp xếp:", lst)
Hãy sắp xếp các việc dưới đây theo trình tự để phát hiện, gỡ lỗi chương trình.
A. Xây dựng bộ dữ liệu thử với các tình huống có thể xảy ra khi đưa chương trình vào sử dụng.
B. Tìm câu lệnh, cấu trúc điều khiển gây ra lỗi.
C. Thực hiện chương trình với các bộ dữ liệu thử.
D. Sửa lỗi cho chương trình.
E. Xác định nguyên nhân gây lỗi.
Sắp xếp theo trình tự, lần lượt sẽ là : A-C-B-E-D.
Câu 1: Viết cú pháp lệnh khai báo biến mảng? Khai báo 2 biến x,y kiểu mảng có 50 phần tử nguyên. Câu 2: Viết chương trình nhập vào một dãy (mảng) gồm n số và in ra các số chia hết cho 3 đã nhập. Em hãy thực hiện các yêu cầu sau (không viết chương trình): - Em hãy xác định input, output của bài toán - Em hãy khai báo các biến sử dụng trong bài trên Câu 3: Viết chương trình nhập vào n, tính tổng S=1+2+..+n (bằng lệnh while) Giúp mình với đang cần gấp :
Viết chương trình thực hiện sắp xếp nhanh một dãy số và chạy thử kiểm tra.
a) Dựa trên mã lệnh thuật toán cho trong Hình 3.
b) Dựa trên mã lệnh thuật toán cho trong Hình 5.
a. Dựa trên mã lệnh thuật toán cho trong Hình 3.
b) Dựa trên mã lệnh thuật toán cho trong Hình 5.
Em hãy khám phá các phép toán cơ sở với mảng trong Python, sao chép lại và chạy thử các câu lệnh ở Hình 3 và Hình 4; thêm dẫn từng dòng lệnh, sau đó thực hiện các công việc sau:
1) Đoán trước kết quả và chạy chương trình để kiểm tra.
2) Xem kết quả và cho biết có sự tương tự giữa mảng với danh sách hay không.
Tham khảo:
1) Đoán trước kết quả và chạy chương trình để kiểm tra.
In ra 8. 0
2) Xem kết quả và cho biết có sự tương tự giữa mảng với danh sách hay không.
Trong các bước đã thực hiện của bài toán sắp xếp chèn ở trên, bước nào là đơn giản nhất theo nghĩa có thể thực hiện ngay bảng các lệnh lập trình.
Bước đơn giản nhất của bài toán sắp xếp chèn mà có thể thực hiện ngay bằng các lệnh lập trình là quá trình 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 đó.
tham khảo!
Viết ba chương trình mô phỏng các thuật toán sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt mà em đã biết. Cho biết thời gian thực tế thực hiện các chương trình trên với bộ dữ liệu đầu vào là dãy A = [3, 1, 0, 10, 13, 16, 9,7, 5, 11]
*Thuật toán sắp xếp chèn (Insertion Sort):
import time
def insertion_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
# Dãy số nguyên đầu vào
A = [3, 1, 0, 10, 13, 16, 9, 7, 5, 1]
# In dãy số nguyên trước khi sắp xếp
print("Dãy số nguyên trước khi sắp xếp:", A)
# Bắt đầu đo thời gian thực hiện thuật toán
start_time = time.time()
# Gọi hàm sắp xếp chèn
insertion_sort(A)
# Kết thúc đo thời gian thực hiện thuật toán
end_time = time.time()
# In dãy số nguyên sau khi sắp xếp
print("Dãy số nguyên sau khi sắp xếp:", A)
# In thời gian thực hiện thuật toán
print("Thời gian thực hiện thuật toán: {:.6f} giây".format(end_time - start_time))
Thời gian thực hiện là 0 giây
*Thuật toán sắp xếp chọn:
import time
def selection_sort(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i + 1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
# Dãy số nguyên đầu vào
A = [3, 1, 0, 10, 13, 16, 9, 7, 5, 1]
# In dãy số nguyên trước khi sắp xếp
print("Dãy số nguyên trước khi sắp xếp:", A)
# Bắt đầu đo thời gian thực hiện thuật toán
start_time = time.time()
# Gọi hàm sắp xếp chọn
selection_sort(A)
# Kết thúc đo thời gian thực hiện thuật toán
end_time = time.time()
# In dãy số nguyên sau khi sắp xếp
print("Dãy số nguyên sau khi sắp xếp:", A)
# In thời gian thực hiện thuật toán
print("Thời gian thực hiện thuật toán: {:.6f} giây".format(end_time - start_time))
Thời gian thực hiện là: 0 giây
*Thuật toán sắp xếp nổi bọt:
import time
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# Dãy số nguyên đầu vào
A = [3, 1, 0, 10, 13, 16, 9, 7, 5, 1]
# In dãy số nguyên trước khi sắp xếp
print("Dãy số nguyên trước khi sắp xếp:", A)
# Bắt đầu đo thời gian thực hiện thuật toán
start_time = time.time()
# Gọi hàm sắp xếp nổi bọt
bubble_sort(A)
# Kết thúc đo thời gian thực hiện thuật toán
end_time = time.time()
# In dãy số nguyên sau khi sắp xếp
print("Dãy số nguyên sau khi sắp xếp:", A)
# In thời gian thực hiện thuật toán
print("Thời gian thực hiện thuật toán: {:.6f} giây".format(end_time - start_time))
Thời gian thực hiện là: 0 giây
Sắp xếp các bước dưới đây theo đúng thứ tự để tạo và chạy chương trình Scratch kể các việc mà em thường làm trước khi đi học.
A. Nháy chuột vào nút lệnh cờ xanh .
B. Với mỗi việc, em thực hiện: kéo thả lệnh từ nhóm lệnh Hiển thị vào khu vực chương trình và ghép nối vào ngay dưới lệnh trước đó, nhập nội dung lời nói và thời gian hiển thị lời nói.
C. Kéo thả lệnh từ nhóm lệnh Sự kiện vào khu vực chương trình.