<style> /* 顏色Color */ .colorRed{color:#FF0000;} .colorDarkRed{color:#842029;} .colorGreen{color:#A9FF33;} .colorUfoGreen{color:#00AA88;} .colorGold{color:#FFBB01;} .colorBlue{color:#6699CC;} .colorSkyBlue{color:#9FFFFF;} .colorPurple{color:#CC99CC;} .colorDarkPurple{color:#A141E8;} .colorCyan{color:#0A9396;} .colorOrange{color:#FF6347;} .colorAlertDangerText{color:#A94442;} .colorAlertWarningText{color:#8A6D3B;} .colorAlertInfoText{color:#31708F;} .colorAlertSuccessText{color:#3C763D;} .colorAlertDangerBg{color:#F2DEDE;} .colorAlertWarningBg{color:#FCF8E3;} .colorAlertInfoBg{color:#D9EDF7;} .colorAlertSuccessBg{color:#DFF0D8;} /* 警報Alerts */ .alertBox {text-align: left;} .alertBoxTitle{font-size: 26px; font-weight: bold;} .alertBoxBody{font-size: 18px;} .alertBoxBodyBlock{color: #FFF; background-color: #191919; padding: 5px; border-radius: 5px;} </style> <!-- 簡報開始 --> # <span class="colorRed">C++ </span><span class="colorUfoGreen">程式設計</span> ### <span class="colorRed">自主學習期</span><span class="colorUfoGreen">末簡報繳交</span> ##### <span class="colorRed">善有善報 星有星爆 </span><span class="colorUfoGreen">不是不爆 十秒未到</span> <!-- .slide: data-background="https://images7.alphacoders.com/599/599379.jpg"--> <iframe width="1" height="1" src="https://www.youtube.c om/embed/?autoplay=1&loop=1&playlist=GWY0dwzbKew" title="HIGHEST" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> --- ## <span class="colorRed">作者:</span><span class="colorGold">20733</span><span class="colorSkyBlue">盧冠佑</span> <!-- .slide: data-background="https://memeprod.ap-south-1.linodeobjects.com/user-maker-thumbnail/0a362b183b35c1cff67610e7894b9e61.gif"--> --- ## 目錄 ----- 1. 認識APCS 2. struct 3. Vector 4. ASCII <!-- .slide: data-background="https://i.pinimg.com/originals/37/e0/79/37e0798f5124b3ddb70b01c1619698e8.gif"--> --- # <span class="colorGold">1. 認識APCS</span> ---- ## <span class="colorGreen">[APCS:](https://apcs.csie.ntnu.edu.tw/)</span> APCS是指「大學程式設計先修檢測」。與各大學合作命題,並確定檢定用題目經過信效度考驗,以確保檢定結果之公信力。 ---- ## [成績說明](https://apcs.csie.ntnu.edu.tw/index.php/info/grades/) ### [採計成績大學校系](https://apcs.csie.ntnu.edu.tw/index.php/apcs-introduction/gradeschool/) ![螢幕擷取畫面 2024-05-27 155855](https://hackmd.io/_uploads/ryX4an-VR.png) --- # <span class="colorGold">2. struct</span> ---- 結構(struct)是為了讓開發者可以定義自己的資料型別,程式碼可以更容易被撰寫、除錯、維護。 ```cpp= struct people { string name; int age; double tall; }; ``` ---- 寫入tcssh中100人的數據 ```cpp= struct people { string name; int age; double tall; }; int main(){ people tcssh[100]; for(int i=0;i<100;i++){ cin>>tcssh[i].name; cin>>tcssh[i].age; cin>>tcssh[i].tall; } } ``` --- # <span class="colorGold">3. Vector</span> ---- ### vector是會自己擴張容量大小的陣列。 ### 所以我們可以隨便加入或移除元素。 ```cpp= vector<int> xxx; //vector<型態> 名稱(size(可省略),初始值(可省略)); //因為陣列不能 int f[n]; //所以想用變數設陣列用 //vector<int> f(n); ``` ---- ### 元素可以輸出 | | 前面 | 後面 | | --- | --- | --- | | 元素 | front() | back() | | 位置 | begin() | end() | ---- | 功能 | code | | --- | --- | | 清除全部 | <span class="colorBlue">xxx.clear();</span> | | 加入末項 | <span class="colorBlue"> xxx.push_back(f);</span> | | 插入第n項 | <span class="colorBlue">xxx.insert(xxx.begin()+ n-1, f);</span> | | 清單大小 | <span class="colorBlue">xxx.size()</span> | | 首項 | <span class="colorBlue">xxx.front()</span> | | 末項 | <span class="colorBlue">xxx.back()</span> | ---- | 功能 | code | | --- | --- | | 刪除末項 | <span class="colorBlue"> xxx.pop_back();</span> | | 刪除第n項 | <span class="colorBlue">xxx.erase(xxx.begin()+ n-1);</span> | | 改寫第n項 | <span class="colorBlue">xxx.insert(xxx.begin()+ n-1, f);</span><span class="colorRed">xxx.erase(xxx.begin()+ n);</span> | | 清單大小 | <span class="colorBlue">xxx.size()</span> | ---- ```cpp #include <bits/stdc++.h> using namespace std; int main() { // 格式 vector<資料型態> 變數名稱(size,初始值(可省略)) int g,f,n; int j=1; vector<int> xxx; cout<<"0清除全部 1加入末項 2插入第n項 3清單大小 4首項 \n5末項 6刪除末項 7刪除第n項 8改寫第n項 9列印清單 \n"; while(cin>>g){ if(g==0){xxx.clear(); cout<<"處理完成"<<endl;} if(g==1){cout<<"數 ="; cin>>f; xxx.push_back(f); cout<<"處理完成"<<endl;} if(g==2){cout<<"項 ="; cin>>n; cout<<"數 ="; cin>>f; xxx.insert(xxx.begin()+ n-1, f); cout<<"處理完成"<<endl;} if(g==3){cout<<"清單大小= "<<xxx.size()<<endl;} if(g==4){cout<<"首項= "<<xxx.front()<<endl;} if(g==5){cout<<"末項= "<<xxx.back() <<endl;} if(g==6){xxx.pop_back(); cout<<"處理完成"<<endl;} if(g==7){cout<<"項 ="; cin>>n; xxx.erase(xxx.begin()+ n-1); cout<<"處理完成"<<endl;} if(g==9){for(int i=0;i<xxx.size();i++){ cout<<xxx[i]<<" ";} cout<<endl;} if(g==8){cout<<"項 ="; cin>>n; cout<<"數 ="; cin>>f; xxx.insert(xxx.begin()+ n-1, f); xxx.erase(xxx.begin()+ n); cout<<"處理完成"<<endl;} if(j>5){j=1; cout<<"0清除全部 1加入末項 2插入第n項 3清單大小 4首項 "<<endl <<"5末項 6刪除末項 7刪除第n項 8改寫第n項 9列印清單 "<<endl;}else{j++;} if(g>9 or g<0){cout<<"error"<<endl;} } return 0; } ``` --- # <span class="colorGold">4. ASCII</span> ---- 在電腦中,所有的數據在儲存和運算時都要使用二進制數表示。而具體用哪些二進制數字表示哪個符號,這就是編碼。 <span class="colorGold">如果不同的電腦要想互相通訊而不造成混亂,那麼每台電腦就必須使用相同的編碼規則,於是就推出了ASCII編碼</span> ---- | 編碼 | 意義 | | --- | --- | | 48~57 | 0~9 | | 65~90 | A~Z | | 97~122 | a~z | ---- ## <span class="colorGold">用途</span> ---- ```cpp= #include <bits/stdc++.h> using namespace std; int main(){ string a; int n=0; cin>>a;//假設a有數字和英文混合 for(int i=0;i<a.size();i++){ if((a[i]-'0')>=0 and (a[i]-'0')<=9){ n=n*10+(a[i]-'0'); } } cout<<n; return 0; } ``` --- # <span class="colorGold">報告完畢</span> #### <span class="colorDarkPurple">I am atomic!!!</span> <!-- .slide: data-background="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBFXyFDS9Bz5xYabp6UksU8PVKp5vegthQbP-OoJ9P928OtCuTAZU9vky6-xj7Uw9n-b273AC5ZTmPpiHr6axo016_pQsqIR3zZcZDUNauhQ2ZvK3tb4otLD8P6hum0yVc2eeYpMN3LGpFJ3LKfqnvlfKShV9sjW_44PrWedsRgt5Vf2_Xn9Rk/s1600/Kage%20no%20Jitsuryokusha%20ni%20Naritakute!%20S2%20-%20Episode%2012%20%5BEND%5D%20-%20Shadow%20I%20Am%20Atomic.gif"-->
{"title":"期末","contributors":"[{\"id\":\"c76bed1b-fb21-4b17-b55a-3c804f01e602\",\"add\":12585,\"del\":6314}]"}
    150 views