Tham kahor lời giải sách giáo khoa tại https://vndoc.com/tin-hoc-7-bai-5-ung-xu-tren-mang-276968
Bài 2:
number_list = input("Nhap day so nguyen: ").split()
# Tính tổng số âm chia hết cho 7
sum_negative_divisible_by_7 = 0
for num in number_list:
if int(num) < 0 and int(num) % 7 == 0:
sum_negative_divisible_by_7 += int(num)
print("Tong so am chia het cho 7 la:", sum_negative_divisible_by_7)
# Đưa ra màn hình các số lẻ
print("Cac so le la:")
for num in number_list:
if int(num) % 2 != 0:
print(num, end=" ")
# Đưa ra màn hình tích các số chẵn
product_even_numbers = 1
for num in number_list:
if int(num) % 2 == 0:
product_even_numbers *= int(num)
print("Tich cac so chan la:", product_even_numbers)
c) Có 3 chương trình con
- Tham số hình thức: x1, x2, x
- Tham số thực sự: (b + sqrt(delta))/ (2*a); (b - sqrt(delta))/ (2*a); -b/ (2*a)
- Biến toàn cục: a, b, c, delta
m = int(input("Nhập số phần tử của dãy A: "))
a = []
for i in range(m):
a.append(int(input("Nhập phần tử thứ " + str(i + 1) + ": ")))
# In ra dãy A
print("Dãy A: ", a)
# Đếm số phần tử âm và in ra các số đó
so_am = 0
for num in a:
if num < 0:
so_am += 1
print(num)
print("Số phần tử âm trong dãy A là: ", so_am)
Sau 10 chu kỳ máy, máy tính hoàn thành được 2 x 10 = 20 lệnh (vì mỗi chu kỳ máy có thể xử lý được 2 lệnh).
Để hoàn thành 20 lệnh trong một đường ống 5 giai đoạn, cần thực hiện 20 x 5 = 100 chu kỳ máy.
Sau 20 chu kỳ máy, một đường ống 5 giai đoạn có thể thực hiện được 4 lệnh (tức là 1 lệnh trong mỗi 5 chu kỳ máy), vì một lệnh cần 5 chu kỳ máy để thực hiện.
Để hoàn thành n lệnh trong một đường ống 5 giai đoạn, cần thực hiện n x 5 chu kỳ máy.
Có thể xảy ra hiện tượng nạp thải đường ống
=> Sắp xếp lại để không xảy ra hiện tượng nạp thải
1 - MOV AX, 12h;
2 - MOV BX, 34h;
3 - MOV CX, 56h;
4 - MOV DX, 789h;
5 - ADD AX, BX;
Có 5 giai đoạn cơ bản khi CPU thực hiện một lệnh mã máy:
1. Fetch (nạp lệnh),
2. Decode (giải mã)
3. Execute(thực thi)
4. Memory access (truy cập bộ nhớ)
5. Write-back. (ghi kết quả)