羅德興老師的教學歷程檔案 - 112-2 資料結構 (2024年) - Unit 3 陣列處理
 

企業資訊與管理系
助理教授/日導
羅德興


歷程檔案 Portfolio

    Unit 3 陣列處理

    範例 3-1  Array 的處理

    # This is ex2-3.ipynb by 羅老師 on 2024/03/13
    # 請參考前面的 ex2-2.2b.ipynb

    # 定義陣列
    score = [0]*5
    score_b= [0]*5

    # 輸入陣列
    '''
    for i in range(0,5):
      s = int(input('請輸入成績:'))
      score[i]=s
    '''
    for i in range(0,5):
      s = (i+1)*10
      score[i]=s

    # 輸出陣列
    print("輸出成績清單:")
    for i in range(0,5):
      print ('第 ',(i+1), '位學生的成績是',score[i],'\n')

    # 處理陣列
    for i in range(0,5):
      score_b[i]=score[(4-i)]

    print("輸出 處理調整後  學生成績清單:")
    for i in range(0,5):
      print ('第 ',(i+1), '位學生的成績是',score_b[i],'\n')


    範例 3-2  Matrix 的處理 

    '''
    This is ch2-7.1.ipynb by 羅老師 on 2024/03/13
    要處理矩陣轉置
    想想 IPO ......
    矩陣轉置的演算法
    Matrix_Transose(int m, n, int A[m][n], int B[n][m])
      for (i=1; i<=m; i++) // 外迴圈,先掃描第1列到第m列
        for (j=1; i<=n; i++) // 內迴圈,再掃描第1行到第m行
          B[j][i]=A[i][j]; // 將A陣列的第i列第j行的元素 放到 B陣列的第j列第i行
    '''

    print("===============程式描述========================")
    print("= 程式名稱:ch2-7.1.py                        =")
    print("= 程式目的:矩陣轉置                           =")
    print("==============================================")
    #初始設定
    Array_A = [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]] 
    Array_B =[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]     
    #轉換前 
    print("轉換前 A 陣列:")
    for row in range(0,4):
      for column in range(0,4):
          print("%4d" % Array_A[row][column],end="")
      print()

    print("轉換前 B 陣列:")
    for row in range(0,4):
      for column in range(0,4):
          print("%4d" % Array_B[row][column],end="")
      print()

    #轉換程式
    print('轉換中')
    for row in range(0,4):
      for column in range(0,4):
           Array_B[column][row] = Array_A[row][column]
           print('...')
    #轉換後 
    print("轉換後 B 陣列:")
    for row in range(0,4):
      for column in range(0,4):
         print("%4d" % Array_B[row][column],end="")
      print()      


    3-3    Matrices 的處理 
    1. 矩陣轉置 (Martrix Transposition, 如範例 3-2)
    2. 矩陣相加 (Martrix Addition)
    3. 矩陣相乘 (Martrix Multiplication)
    4. 稀疏矩陣 (Sparse Martrix )


    3-4 特殊矩陣
    1. 上三角矩陣 (Upper-Triangular Martrix)
    2. 下三角矩陣 (Lower-Triangular Martrix)
     











    Ex3-1.
    請將 範例 3-1  增加陣列的個數為 8 個


    Ex3-2.
    改良 範例 3-2
    (1) 將 A 矩陣改為 3 列 5 行
    (2) 印出轉換中 A陣列的第i列第j行的元素 複製 到 B 的處理過程


    Ex3-3.
    將 Ex3-1 (修改自範例 3-1)  的陣列值從寫在程式裡 改為 從鍵盤輸入,輸入前先問要輸入的個數有 幾 個?
    參考:可使用  s = int(input('請輸入成績:'))


    Ex3-4.
    修改 Ex3-2
    (1) 將 A 矩陣改為 5 列 5 行
    (2) A 的元素值不變,但 轉換時將 A 的元素值 先 * 10 再 複製 到 B
    (3) 新增一個 C 矩陣,C 的元素值是 A+B,最後再印出 C 矩陣



    Ex3-5.
    3-3    Matrices 的處理 的介紹
    (1) 寫一個程式將 A、B 兩個矩陣相 加 到 C 矩陣 (單號同學)
    (2) 寫一個程式將 A、B 兩個矩陣相 乘 到 C 矩陣 (雙號同學)



     
    全部共 14則留言
    張金寶03-14 09:52:https://colab.research.google.com/drive/1-V3VQ-aYpRg8I2acyVyWcPpJOD3-dUiL
    金欣華03-14 09:56:https://colab.research.google.com/drive/1UF4nS63ehWOksvnO7PwX0GZLKcXykuGR
    張金寶03-14 10:14:https://colab.research.google.com/drive/1zDwwKXgl3nTzfW4KdUtnsc4WPrHiCmz5
    金欣華03-14 10:14:https://colab.research.google.com/drive/1b5zJZT6M2bWsYhDpcAamNUoMB3faZx73
    陳柏翰03-20 03:22:https://colab.research.google.com/drive/1nitbbI7-YoXsWHpsppf8RxWsp3bYTzfz?usp=sharing
    04-09 13:20:https://colab.research.google.com/drive/1eFAQwI_iozJ-YV4JE_S55rEJQbw19eD-
    04-09 14:24:https://colab.research.google.com/drive/1kX8peeuUs0xv7aYtpj4St3nUDsiIOgru#scrollTo=_aZZO3OwdW7b
    04-09 14:24:https://colab.research.google.com/drive/1kX8peeuUs0xv7aYtpj4St3nUDsiIOgru#scrollTo=_aZZO3OwdW7b
    04-09 14:34:https://colab.research.google.com/drive/1eFAQwI_iozJ-YV4JE_S55rEJQbw19eD-
    04-17 09:58:https://colab.research.google.com/drive/1cagku22VOdA6EtXCuzIYRc3-oDYqHVTV
    康晉嘉05-29 11:00:https://colab.research.google.com/drive/1imFw86qcVeiM-koQocegryQoc88p_doS
    林旻毅03-31 10:12:https://colab.research.google.com/drive/14eRYi0QeKSono7Wzzib20ltfokGHebSv?usp=drive_link
    林昱安03-31 10:12:https://colab.research.google.com/drive/1DUxkqWK5LPJ3Jk7mGOsRvaPNjr4zwQJI?usp=sharing
    陳法禎04-07 10:15:https://colab.research.google.com/drive/1MXJSJ6YB0bJWpwQY6JCbWfoHaLb9eVw1?usp=sharing
    登入帳號密碼代表遵守學術網路規範


    文章分類 Labels


    最新文章 Top10

    中華科技大學數位化學習歷程 - 意見反應