Bài 17: Dữ liệu mảng một chiều và hai chiều

Luyện tập 1 (SGK Kết nối tri thức với cuộc sống - Trang 85)

Hướng dẫn giải

A = [170, 175, 160, 180, 165] # ví dụ dãy số đo chiều cao của lớp

n = len(A) # số lượng học sinh trong lớp

tong_chieu_cao = sum(A) # tổng số đo chiều cao của cả lớp

trung_binh_chieu_cao = tong_chieu_cao/n # số đo chiều cao trung bình của cả lớp

so_hs_tren_tb = 0 # số học sinh có chiều cao lớn hơn chiều cao trung bình của cả lớp

for i in range(n):

  if A[i] > trung_binh_chieu_cao:

   so_hs_tren_tb += 1

print("Số đo chiều cao trung bình của cả lớp là:", trung_binh_chieu_cao)

print("Số bạn có chiều cao lớn hơn chiều cao trung bình của cả lớp là:", so_hs_tren_tb)

tham khảo!

(Trả lời bởi Thanh An)
Thảo luận (1)

Luyện tập 2 (SGK Kết nối tri thức với cuộc sống - Trang 85)

Hướng dẫn giải

a)

m = int(input("Nhập số dòng của ma trận: "))

n = int(input("Nhập số cột của ma trận: "))

# Khởi tạo ma trận A với kích thước m x n

A = []

for i in range(m):

  row = list(map(int, input(f"Nhập dòng thứ {i+1} (gồm {n} số cách nhau bởi dấu cách): ").split()))

  A.append(row)

# In ma trận A ra màn hình

print("Ma trận A:")

for row in A:

  print(*row)

# Tính tổng các phần tử trong ma trận A

total = 0

for row in A:

  total += sum(row)

print("Tổng các phần tử trong ma trận A là:", total)

b)

# Tìm dòng có tổng các phần tử lớn nhất

max_sum = max(sum(row) for row in A)

print("Dòng có tổng các phần tử lớn nhất là:")

for i, row in enumerate(A):

  if sum(row) == max_sum:

  print(f"Dòng thứ {i+1}: {row}")

c)

Tìm các giá trị phân biệt trong ma trận A

  distinct_values = set()

for row in A:

distinct_values.update(set(row))

# In các giá trị phân biệt ra màn hình

print("Các giá trị phân biệt trong ma trận:")

print(*distinct_values)

d)

k=int(input("nhập số cần tìm"))

l=0

for i in range(m):

  for j in range(n):

   if k==a[i][j]:

    l=l+1

    print('xuất hiện ở các vị trí',i,j)

print('số',k,' xuất hiện',l,' lần')

(Trả lời bởi Thanh An)
Thảo luận (1)

Vận dụng 1 (SGK Kết nối tri thức với cuộc sống - Trang 85)

Hướng dẫn giải

def UnitMatrix(n):

    matrix = []

    for i in range(n):

        row = []

        for j in range(n):

            if i == j:

                row.append(1)

            else:

                row.append(0)

        matrix.append(row)

    return matrix

(Trả lời bởi Thanh An)
Thảo luận (1)

Vận dụng 2 (SGK Kết nối tri thức với cuộc sống - Trang 85)

Hướng dẫn giải

numbers = list(map(int, input("Nhập dãy số: ").split()))

count = {}

for number in numbers:

  if number in count:

   count[number] += 1

  else:

   count[number] = 1

for number in count:

   print(f"Số {number} lặp lại {count[number]} lần")

(Trả lời bởi Thanh An)
Thảo luận (1)

Vận dụng 3 (SGK Kết nối tri thức với cuộc sống - Trang 85)

Hướng dẫn giải

a) 

#include <stdio.h>

int main(){

 float soDien, tienDien;

 int bac1=1678, bac2=1734, bac3=2014, bac4=2536, bac5=2834, bac6=2927;

 printf("Nhap vao so dien cua ban (kWh): ");

 scanf("%f",&soDien);

 if(soDien<0){

 printf("\nVui long nhap lai So Dien\nSo dien khong duoc nho hon 0\n");

 }else if(soDien<=50){

  tienDien=soDien*bac1;

  printf("\nban da dung dien trong khoang 0 - 50 kWh so tien ban phai tra la: %.2f",tienDien);

 }else if(soDien<=100){

  tienDien=50*bac1+((soDien-50)*bac2);

  printf("\nban da dung dien trong khoang 51 - 100 kWh so tien ban phai tra la: %.2f",tienDien);

 }else if(soDien<=200){

  tienDien=50*bac1+(50*bac2)+((soDien-100)*bac3);

  printf("\nban da dung dien trong khoang 101 - 200 kWh so tien ban phai tra la: %.2f",tienDien);

 }else if(soDien<=300){

  tienDien=50*bac1+(50*bac2)+(100*bac3)+((soDien-200)*bac4);

  printf("\nban da dung dien trong khoang 201 - 300 kWh so tien ban phai tra la: %.2f",tienDien);

 }else if(soDien<=400){

  tienDien=50*bac1+(50*bac2)+(100*bac3)+(100*bac4)+((soDien-300)*bac5);

  printf("\nban da dung dien trong khoang 301 - 400 kWh so tien ban phai tra la: %.2f",tienDien);

 }else if(soDien>400){

  tienDien=50*bac1+(50*bac2)+(100*bac3)+(100*bac4)+(100*bac5)+((soDien-400)*bac6);

  printf("\nban da dung dien tren 400 kWh so tien ban phai tra la: %.2f",tienDien);

 }

 return 0;

}

b) #include <iostream.h>

#include <conio.h>
void main()
{
clrscr();
long int x,n;
cout<<"Nhap so Kw dien da dung: ";
cin>>x;
if (x<=100)
n=x*450;
else if (100<x<150)
n=100*450+(x-100)*750;
else
n=100*450+50*750+(x-150)*950;
cout<<"So tien phai tra la: "<<n<<" dong";
getch();
}

(Trả lời bởi Thanh An)
Thảo luận (1)