省培计算机实践作业,计算机软件基础强化实践能力培养实践部分考核作业.doc...
計算機軟件基礎強化實踐能力培養實踐部分考核作業
V:1.0 精選考核制度 計算機軟件基礎強化實踐能力培養實踐部分考核作業 2020- -6 6- -8 8
《計算機軟件基礎》強化實踐能力培養實踐部分考核作業(1) 《計算機軟件基礎》強化實踐能力培養實踐部分考核作業 強化實踐能力培養的考核要求:
要求學生通過對本課程中所學知識的歸納、總結,能夠體會數據結構的思想和方法,考生發揮自主學習精神,能獨立完成實驗要求,并提交實驗報告。
實驗報告的基本要求如下:
(1)題目 (2)實驗環境 (3)實驗內容與完成情況:陳述程序設計的任務和程序所能夠達到的功能,提交帶有注釋的源程序清單。
(4)調試分析:
1)調試過程中所遇到的問題及解決的方法; 2)算法的時間和空間復雜度分析(數據結構部分); 3)經驗和體會:列出遇到的問題和解決辦法及沒有解決的問題。
(5)測試結果:列出使用典型的數據輸入用例所產生的輸出結果。
強化實踐能力培養的考核內容:
(1) 編程實現計算器。(10 分) 要求:輸入:兩個操作數和一個操作符的數學表達式.; 輸出:輸入的表達式和結果。
(2)利用棧的存儲結構,編程實現任意表達式中各種括號(“(、)”, “[、]”, “{、}”)交叉使用時,語法的匹配是否合法判定。(10分) (3)排序:實現冒泡排序、直接插入排序和直接選擇排序的算法。(10分)
要求:手寫。
山東大學《計算機軟件基礎》強化實踐能力培養實踐部分考核作業 課程名稱:
試點學校名稱(章):
學生姓名:
學生準考證號碼:
實驗一 計算器 1. 實驗環境:VC++ ,WindowsXp 2. 實驗目的:熟悉 VC++環境; 掌握 C語言編程基本思想; 掌握基本操作符的使用; 掌握基本輸入輸出語句; 3. 程序清單:
#include "" main() { float a,b,output; char op; printf("please input two numbers and operator\n"); scanf("%f%f\n",&a,&b); scanf("%c",&op); switch(op) { case "+":output=a+b;break; case "-":output=a-b;break; case "*":output=a*b;break; case "/":output=(float)a/b;break; default:printf("wrong operator\n"); return 0; } printf("%%c%=%\n",a,op,b,output); } 4. 時間復雜度: O(n) 5. 空間復雜度: O(1) 6. 測試結果:
實驗二 棧在判斷括號匹配中的應用 1. 實驗環境:VC++ ,WindowsXp 2. 實驗目的:1.掌握順序棧的類型定義方法。。
2.掌握棧先進后出運算原則在解決實際問題中的應用 3.掌握使用棧的原理來解決表達式中的括號配對問題。
3. 程序清單:
#include<> #include<> #include<> #define MAX_STACK_SIZE 100 typedef struct SqStack{ char data; struct SqStack *next; }SqStack; 驗分析:
算術表達式中各種括號的使用規則為:出現左括號,必有相應的右括號與之匹配,并且每對括號之間可以嵌套,但不能出現交叉情況。我們可以利用一個棧結構保存每個出現的左括號,當遇到右括號時,從棧中彈出左括號,檢驗匹配情況。
括號不匹配的情況:
在檢驗過程中,若遇到以下幾種情況之一,就可以得出括號不匹配的結論。
(1)當遇到某一個右括號時,棧已空,說明到目前為止,右括號多于左括號; (2)從棧中彈出的左括號與當前檢驗的右括號類型不同,說明出現了括號交叉情況; (3)算術表達式輸入完畢,但棧中還有沒有匹配的左括號,說明左括號多于右括號。
括號匹配的情況 表達式中允許含有三種括號,括號對之間允許嵌套,本實驗編寫一個程序判斷從鍵盤輸入的任意表達式中括號是否配對,括號不配對包括以下幾種情況:
(1)左括號多余 (2)右括號多余 (3)左右括號不匹配,如左圓括號對著的是右方括號等。
5. 運行結果:
1.表達式中括號匹配:
2.表達式中括號不匹配:
實驗三 排序算法 一、實驗題目:冒泡排序、直接插入排序和直接選擇排序的算法。
二、實驗環境
總結
以上是生活随笔為你收集整理的省培计算机实践作业,计算机软件基础强化实践能力培养实践部分考核作业.doc...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tcp实时传输kafka数据_tcp怎么
- 下一篇: h3c交换机划分vlan配置_华为、H3