結構化程式設計的方式,只使用循序、選擇與重複等三種具結構化特性的敘述來撰寫程式,而不用GOTO敘述,使程序的結構單純且具可讀性,可減少程式設計師工作的負荷,並提高程式執行的效率。 Show (1)循序控制結構: 循序控制結構是最基本的程式組構元素,是由指令敘述區塊依序堆疊而成,其結構方塊圖如下圖所示。循序控制結構的作用是先執行完指令敘述1後,接著執行指令敘述2。其中指令敘述1及指令敘述2可以是任何基本敘述或指令,如Compute、Read、Write等指令。 (2)條件式選擇結構(IF-THEN-ELSE): 條件式選擇結構的作用是「如果條件成立,則執行指令敘述1,否則就執行指令敘述2」。 (3)條件式重複結構: 條件式重複結構的作用是若仍滿足所定條件,則繼續... 查看完整內容 �{���y��������c��Ǫ̦b��}�l���g�{���ɡA�̦n��̷ӵ{���y��������c�Ӷi��A����c���������H����`�ͬ��b�B�z���D�ɪ��u�y�{����v�A�Ҧp�G�p���b�զX�ҫ��ɡA���ݨ̷ӻ����Ѫ����ܡA���զX�p�s��A�A�զX���U����(�p�����H���Y�B��B����K��)�A���۲զX���@�ӧ��㪺����(�p�@�ӧ��㪺�����H)�A�̫�ۦ�öK�W�K�ȡF�H�H������Ҩ��צӨ��A�o�K�O�ҿת��`�Ǻ��i�A�ӥH�{���]�p�����צӨ��A�Y�٤����`�ǵ��c(�{���y��������c���@)�C �խY�b�W�Ҥ��A�p���@�}�l�K�Q�n�զX���@�ӧ��㪺����A�շQ�A�S�����g�L�p�s��A���ӦU����A�λ��O�n�զX���@�ӧ��㪺����F�A�]���A�y�{����o�y�A�{���]�p�����G�N�V���ڭ̷Q�n���ؼСA�ӳo�]�N�O����c�����n�ʡA���ެO�u���R�ҭn�ѨM�����D�v�B�u�]�p���D���B�J�v�B�u�s�g�{���v�Ρu�W�����աB�������~�v���B�J�A�Y�O�S���̷ӥ��T���y�{�Ӷi��A�ܥi��N�|�ɭP�{�����椣���T����G�C �B�ε��c�ƪ������ӳ]�p�{���A��n�B���G
�]���A���x�{���y��������c����Ǫ̨ӻ��O�@���ܭ��n���ҵ{�A�{���y��������c�@�����G�`�ǡB��ܤέ��Ƶ��c�A�̦������p�U�G �`�ǵ��c(Sequence structure)�����B�J�O�@�B�@�B����U�ӡA�B�̥��ᶶ�Ǫ��ܡA��y�{�Ϧp��6.1�ҥܡC�`�ǵ��c���S�⬰�G�̨���ᶶ�dzv�@�����C �d��6.2-1 �`�ǵ��c��� �Ҧp�{���]�p�N���ū��ഫ���ؤ�ūסA��B�J���G
��ܵ��c(Selection�A�S��Decision)
��6.2 ��ܵ��c ���G����K���������{�����c�����СA�ϥΨ쳡�����y�{�ϲŸ��A�����y�{�ϲŸ����t�q�аѦ�7.3-1�`�ҥܡC �d��6.2-2 ��ܵ��c��� �Ҧp���q�J�쭫�j�]�ȦM���ɡA�W�ťD�ު��B�m��k���G
��ܵ��c���S�⬰�G�̷ӿ�ܤΧP�O�����e�ӨM�w�{�����y�{�C ���Ƶ��c(Repeater��Loop)���ܦb�Y�@����U���а���Y�ǨB�J�A�]�N�O�j��(Loop)���[���C�bVB�y�k���A�i�H��For��Next��While��Wend�ԭz�F���j���\��A�p��6.3�ҥܡC ��6.3 ���е��c �d��6.2-3 ���е��c��� �Ҧp�ө����V�K�b���աA�M�w�m�۱��q�@�ʹM�A�ÿ�������a�W�A�H���F�ۤv���߷N�A�M�Ӳ������ƤӦh�F�A�ө�����s���L�{���A�ש�˦a�F��Ӹg�L���H���I�A�ο��s�n���Ĥ@�M�A�g�L���������L�ܭ��Τ��Ъ�����A�ש��F�o�}�d�����ȡA��Ĺ�o���H�ߡF���B�O�_�w��100��������(P)�A�N�Ĥ@���ܭ�����h���ŦX����ɭ��а��檺�ʧ@(A)�A�۷����6.3(b)�ҥܤ����c�C ���е��c���S�⬰�G�i���а���P�@�ʧ@�ε{���A��ֵ{�������g�C �D���c�Ƶ{���]�p���覡�L�����ಾ���O(Goto)�L�����ಾ���O�i�m��{�����N�B�A���q�`�ݷf�t�@���ҡA�i�N�{�������I�������ܸӼ��ҳB�A�����n�B�O�i��K�]�p�v���N�ಾ�{�������v�A���I�O�e���}�a�e���ҭz���T�ص��c�A�W�[�{���\Ū���x���C �b�{���]�p�ɡA���ɶq�ϥ�If/Then/Else�BFor/Next��While/Wend�K���y�k�Ӫ��F�o�T�ص��c�F�קK�ϥεL�����ಾ���O(GoTo)�A�]���@��GoTo���O�Q����ɡA�|�j���{���������I�L�����ܫ��w�����ҩΦ渹�W�A�]���e���}�a�{���쥻�����c�A�W�[�{���������סA���ȷ|�ϵ{���iŪ���ܮt�A�Ʀܲ��͵L�k�w�������G�A�P�Ϥ��{�������@�ܱo�Q���x���C �k�ǰ_�ӡA�ĥε��c�Ƶ{���]�p���n�B���G
�Ҧp ��J�@0��100�����ơA�P�O�O�_�b�d���{���i���g�p�U�G 1.欲將「資料」轉換成「資訊」,則必須要經過一連串處理過程,而這一連串的處理過程,就俗稱為什麼呢? 2.某一公司的老闆要做某一項決策時,下列那一項對他最有幫助: 3. 資料結構的種類通常不包含下列何者? 4.下列何者不是一種資料結構(Data Structure)? 5.用來描述處理問題的方法與步驟稱之為? 6.
關於演算法的述敘,下列何者正確? 7.下列有關演算法的敘述,何者有誤? 8.演算法所具備的條件中,何者是指演算法必須在有限步驟內結束? 9. 完整的演算法包括? 9.電腦程式演算法不需滿足以下何條件? 10.下列何者不是演算法的特性? 11.在流程圖中符號”◇”表示何種意義? 12.在流程圖中符號”□”表示何種意義? 13.描述演算法有三種方法,下列那一種不是? 14.下列那一種演算法是在文字摻雜程式語言,以描述解題步驟與方法? 15.下列撰寫程式步驟何者是正確的?
16.請問程式設計師在撰寫程式步驟中,在那一個階段就必須要選擇適當的程式語言呢? 17.下列對於演算法與程式的差異何者是正確的? 18.下列對於演算法的敘述何者錯誤? 19.下列有關撰寫程式的目的何者正確? 20.你認為人腦與電腦最大的差異為何? 21. 請決定下列迴圈中指定敘述(sum = sum + 1;)執行的次數。 for (int i = 0 ; i <= n ; i++) sum = sum + 1; //次數=終值-初值+1=n-0+1=n+1 (A) 1 (B) n-1 (C) n (D) n+1 22.請決定下列迴圈中指定敘述(sum = sum + 1;)執行的次數。 for ( i = 1; i < n ; i ++) for ( j = 1 ; j < n ; j++) sum = sum + 1 ; (A) n (n-1) (B) n (n+1) (C) (n-1)2 (D) n2 23.下列何者是用來評估一個好程式的條件? 24.下列何者是一個好程式最基本的要求? 25.有關「頻率次數(Frequency Count)」的敘述,下列何者正確? 26.在撰寫程式時,適時的加入「註解」,此技巧是屬於評估一個好程式的那一個條件? 27.一個好的程式,不只需要 有效率地被 正確地執行之外,也必須要考慮那些要素呢? 28.下列何者不是程式可維護性的要素之一? 29.有關好程式的敘述何者有誤? 30.在結構化程式設計中,將程式分解成多個具有獨立功能的模組,它是利用那一種技巧? 31.結構化程式設計所提供的三種結構,下列何者不是? 32.在結構化程式設計中,盡量少用那一種技巧? 33.下列何者非結構化程式設計的特性? 34.何者不是結構化程式語言的基本控制結構 35.在下列的情況中,那一種情況不會使用到循序結構呢? 38.下列何者不是用來評估一個演算法的效率方式? 39.為何在評估「時間複雜度」時,往往只考慮到執行的次數呢? 40.主程式呼叫副程式時,往往會佔用到記憶體空間,請問在進行演算法的效率評估時,是屬於那一種評估方法? 41.下列時間複雜度(Time Complexity) 何者的時間最少? 42.下列複雜度 1.O(n2) 2. O(n) 3. O(n log2 n ) 4.O(log2 n) 5.O(2n),依序由小到大為: 43.若一程式的執行時間是 60n2+20nlgn,則時間複雜度為何? 44.如果一個程式的時間複雜度為O(N2) ,其中N為輸入資料量, 則當資料量增加為原來的100倍時,
計算的時間增加為原來的幾倍? 45.時間複雜度O(N2)、O(N log2N)、O(N3)、O(2N) ,何者效率最佳? 46.計算下面程式的時間複雜度(請使用Big-O表示) 47.如果一個程式的頻率計數為3n3 +6n2 + 4n + 9,則時間複雜度為何? 48.時間複雜度O(n2)、O(nlogn)、O(n!)、O(2n),那一個最沒有效率? 49.時間複雜度O(n2)、O(nlogn)、O(n!)、O(2n),那一個最有效率? 50.若兩個矩陣大小均為n × n,則此二個矩陣相加的時間複雜度為何? 51.若矩陣大小為n × n,則此矩陣轉置的時間複雜度為何? 52.若兩個矩陣大小均為n × n,則此二個矩陣相乘的時間複雜度為何? Answer D #include <iostream> void MultiplyWithOutAMP() { int aMatrix[3][2] = {{1, 4}, {2, 5}, {3, 6}}; int bMatrix[2][3] = {{7, 8, 9}, {10, 11, 12}}; int product[3][3] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}; for (int row = 0; row < 3; row++) { for (int col = 0; col < 3; col++) { // Multiply the row of A by the column of B to get the row, column of product. for (int inner = 0; inner < 2; inner++) { product[row][col] += aMatrix[row][inner] * bMatrix[inner][col]; } std::cout << product[row][col] << " "; } std::cout << "n"; } } void main() { MultiplyWithOutAMP(); getchar(); } 53.若有一個矩陣大小均為n,此矩陣內的元素相加的時間複雜度為何? 54.程式本身的指令空間是屬於空間複雜度的那一個需求? 55.遞迴函數執行是屬於空間複雜度的那一個需求? |