第一篇:java GUI圖形化界面編程總結
GUI(Graphical User Interface)圖形化界面編程總結 Java.Awt:Abstract Window ToolKit(抽象窗口工具包)Javax.Swing:
圖形化界面基本設置:
設置窗體大小:setSize(長,寬);
設置窗體位置:setLocation(距離左,距離上);setBounds(長,寬,距離左,距離上);設置布局:setLayout(new FlowLayout()); 使窗體可見:setVisible(true); 事件監聽機制:
事件監聽機制的特點: 1,事件源。2,事件。3,監聽器。4,事件處理。
事件源:就是awt包或者swing包中的那些圖形界面組件。事件:每一個事件源都有自己特有的對應事件和共性事件。
監聽器:將可以觸發某一個事件的動作(不只一個動作)都已經封裝到了監聽器中。
以上三者,在java中都已經定義好了。直接獲取其對象來用就可以了。
我們要做的事情是,就是對產生的動作進行處理
Eg:編寫程序,練習圖形化界面編程!import java.awt.*;import java.awt.event.*;import java.io.*;class MyWindowDemo { private Frame f;private TextField tf;private Button but;private TextArea ta;
private Dialog d;private Label lab;private Button okBut;
MyWindowDemo(){ init();} public void init(){ f = new Frame(“my window”);f.setBounds(300,100,600,500);f.setLayout(new FlowLayout());tf = new TextField(60);but = new Button(“轉到”);ta = new TextArea(25,70);d = new Dialog(f,“提示信息-self”,true);d.setBounds(400,200,240,150);d.setLayout(new FlowLayout());lab = new Label();okBut = new Button(“確定”);d.add(lab);d.add(okBut);f.add(tf);f.add(but);f.add(ta);myEvent();f.setVisible(true);} private void myEvent(){
okBut.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){
d.setVisible(false);} });d.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
d.setVisible(false);} });
tf.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){
if(e.getKeyCode()==KeyEvent.VK_ENTER)
showDir();} });
} but.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){
showDir();
} });f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);
} });private void showDir(){ String dirPath = tf.getText();
File dir = new File(dirPath);
if(dir.exists()&& dir.isDirectory()){ ta.setText(“");String[] names = dir.list();for(String name : names){
ta.append(name+”rn“);} } else
{
String info = ”您輸入的信息:“+dirPath+”是錯誤的。請重輸“;
lab.setText(info);
d.setVisible(true);
} }
public static void main(String[] args){
new MyWindowDemo();} }
菜單:
MenuBar 菜單整體;Menu 包含于MenuBar中;MenuItem包含于Menu中!以上3個關系添加用add();
將MenuBar放進Frame中用setMenuBar();
FileDialog.LOAD:打開的mode FileDialog.Save:保存的mode 練習:一個簡易的記事本 /** 寫一個關于記事本的小程序 @author田建 @version v1.1 */
import java.awt.*;import java.awt.event.*;import java.io.*;class MyMenuDemo { private Frame f;private TextArea ta;private MenuBar mb;private Menu me;private MenuItem miNew,miSave,miLoad;private File file;
private FileDialog openDia,saveDia;
MyMenuDemo(){
init();}
public void init(){
f=new Frame(”田建--記事本“);
f.setBounds(300,100,650,600);
ta=new TextArea();
//ta.setBounds(302,105,400,300);//f.setLayout(new FlowLayout());//為什么設置成了流式布局之后再設置文本區域沒有效果
mb=new MenuBar();
me=new Menu(”文件(F)“);
miNew=new MenuItem(”新建“);
miSave=new MenuItem(”保存(S)“);
miLoad=new MenuItem(”打開(O)“);
mb.add(me);
me.add(miNew);
me.add(miLoad);
me.add(miSave);
f.setMenuBar(mb);
f.add(ta);
openDia=new FileDialog(f,”打開文件“,FileDialog.LOAD);
saveDia=new FileDialog(f,”保存文件“,FileDialog.SAVE);
myEvent();
f.setVisible(true);
}
public void myEvent(){
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
miLoad.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openDia.setVisible(true);
String dirPath=openDia.getDirectory();
String fileName=openDia.getFile();
if(dirPath==null||fileName==null)
return;
ta.setText(”“);
file=new File(dirPath,fileName);
try
{
BufferedReader bufr=new BufferedReader(new FileReader(file));
String line=null;
while((line=bufr.readLine())!=null)
{
ta.append(line+”rn“);
}
bufr.close();
}
catch(IOException ex)
{
throw new RuntimeException(”讀取失敗“);
}
}
});
miSave.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(file==null)
{
saveDia.setVisible(true);
String dirPath=saveDia.getDirectory();
String fileName=saveDia.getFile();
if(dirPath==null||fileName==null)
return;
file=new File(dirPath,fileName);
}
try
{
BufferedWriter bufw=new BufferedWriter(new FileWriter(file));
String text=ta.getText();
bufw.write(text);
bufw.close();
}
catch(IOException ex)
{
throw new RuntimeException(”");
}
} });
} public static void main(String[] args){
new MyMenuDemo();}
} 打jar包的過程:
1、編譯包 jar –cvf jar名 包名
2、寫一個文件main-class: 包名.類名【加個回車】
3、jar –cvfm jar名 文件名 包名
配置jar執行的過程:
工具---文件夾選項---文件類型---新建---文件擴展名jar 然后確定----高級----修改圖標-----open------javaw的路徑—jar即可!
第二篇:《中文Linux應用編程界面(API)規范》
《中文Linux應用編程界面(API)規范》
編制說明
一、任務來源
根據國家863計劃信息技術領域,軟件重大專項,中文Linux和辦公軟件相關標準與規范課題研究開發任務的規定,和根據國家質檢總局和信息產業部2003年放國家標準和行業標準制、修訂計劃安排,制訂《中文Linux應用編程界面(API)規范》。該項目由中軟網絡技術股份有限公司負責起草,項目計劃代號為
二、工作過程
在國家任務下達后,中軟網絡技術股份有限公司就組織了工作組,在前期工作的基礎上,收集與翻譯了國際上有關Linux的主要標準的最新版本LSB 1.3(目前的最新版本為 LSB 2.0)和OpenI13N 1.3。總結了多年來在Linux開發工作和標準制訂工作的經驗。在“非典”肆虐期間,編寫了制訂《中文Linux應用編程界面(API)規范》的計劃和大綱。
在“四所”的組織下成立了“中文Linux標準”工作組。在工作組的統一安排下,確定了編寫工作的計劃與大綱。于2003年9月初,編寫了《中文Linux應用編程界面(API)規范》初稿,提交工作組討論。工作組前后經過了近10次討論,幾經修改,先后提交了三次修改稿,才形成了《征求意見稿》。《征求意見稿》通過在網上和有關單位廣泛征求意見,收集了許多很好的意見。工作組又組織了有FSG和OpenI18N有關人員和國內的Linux廠商、專家及有關人員參加的“Linux標準研討會”。
2004年4月信息產業部成立Linux標準工作組,組織更大范圍的企業參與標準的制定工作。在此基礎上工作組對“意見匯眾”進行了深入的整理、分析和討論,確定了修改意見。根據這些意見,經過修改,我們提交了《中文Linux應用編程界面(API)規范》的《送審稿》。
2006年在發展基金及國家十五項目的支持下,中國電子技術標準化研究所組織國內主要Linux操作系統發布商,對標準的符合性測試展開研究,并根據測試研究的結果對標準做中描述不夠嚴謹的地方做出相應調整。
三、主要說明
1、標準的目的Linux以其源代碼的開放性已成為操作系統市場上的一支生力軍,并成為促進我國信息化建設和發展的新生力量。“以Linux為契機,發展我國自主的操作系統和應用軟件”已成為我國信息產業內的一個共識。Linux真正能夠大規模地應用還面臨著標準化、兼容性以及應用軟件支持等諸多問題考驗。堅決做好Linux的標準化和產業化工作,只有通過標準和規范來確保Linux各版本間的兼容和相對統一。要使Linux真正成為一個開放系統,必須吸收POSIX標準和國際Linux相關組織的研究成果,結合Linux的特點及中文信息處理的特殊性
對Linux操作系統中涉及中文信息處理的應用編程接口進行約定,以提高各Linux系統對中文應用程序的兼容性。該規范將使我國市場上基于Linux系統開發的中文應用程序具有源碼級的可移植性,從根本上避免重復開發。
2、本標準制訂的依據
1)多年來ISO/IEC和IEEE對開放系統的標準進行了大量的研究和制訂工
作,已經形成了POSIX標準體系。各種開發廠商和組織也都聲稱以POSIX標準為依據進行開發。Linux也是按POSIX的規定進行開發的開放系統。這些都為本規范的制訂打下了基礎。
2)為了規范Linux發行版本,盡可能地實現各種Linux的兼容性,Linux
國際正在大力進行Linux Base Specification(LSB)的制訂工作。已由2001年7月發布的LSB 1.0,發展到2003年初發布的LSB 1.3。而且,已經有若干重要的Linux版本提供商通過了LSB 1.3的符合性測試。2004年月正式發布了 LSB 2.0。LSB 2.0是一個重大事件,它比LSB 1.x系列有重大的發展、提高和變化。
3)為了使Linux能適用于各個國家和各種文字,Linux國際也在制訂Linux
國際化標準。從LI18NUX 2000,到現在的OpenI18N 1.3。為各國語言文字在國際化的基礎上實現本地化提供了依據。多年來我國中文信息處理技術有了巨大的發展。在各種系統上(包括Linux)在國際化的基礎上實現中文信息處理的本地化,已經有了豐富的經驗。而且我國已經制訂了國標《開放系統中文界面規范》(于1996年制訂,2003年修訂)。這些都為本規范的制訂打下了基礎。
3、標準中的幾個重要問題
1)關于LSB的遵循性問題。國際標準化組織在制訂開放系統的標準時,首
先提出的是應用程序源碼級的可移植性。POSIX標準也是以保證應用程序源碼級的可移植性為目標進行制訂的。源碼級可移植性也是應用程序目標碼級可移植性的基礎。本規范的任務就是制訂中文Linux應用編程界面(API)規范。目標是實現進行中文信息處理的Linux應用程序在遵
循本規范的Linux系統上的源碼級的可移植性。但是,在制訂的過程中發現,國際上許多重要的UNIX版本,都是聲稱遵循POSIX標準。而這些版本往往互不兼容,很難真正實現源碼級的可移植性,更不要說實現目標碼級的可移植性了。為了防止Linux走上UNIX版本不一致、不兼容,使用戶很難使用的老路。Linux國際決定制訂LSB,實現目標碼級的可移植性。Linux國際這樣做是有依據的。這是由于對于UNIX來說,先有UNIX的開發、后有標準。當標準制訂時,已經有了各種UNIX的商業標準,雖然廠商宣稱遵循POSIX標準,但為了廠商的利益,這些版本確實很難統一。而Linux是自由軟件,而且核心的開發由Linus控制和發布。并且gcc等技術的發展也為實現目標碼級的可移植性提供了可能。而且,LSB的符合性測試也日趨成熟。我們沒有必要另搞源碼級可移植性的符合性測試。經過反復討論,工作組決定,整個中文Linux標準應遵循LSB 2.0。遵循本規范的實現應通過LSB 2.0的符合性測試。LSB 2.0 在制訂過程中發現,針對不同的需要,LSB 除了分為LSB 規格說明的公共部分-gLSB和 LSB 規格說明的體系結構部分 – archLSB 兩大部分外,就是 gLSB 也分為:LSB – generic 和 LSB – Graphics等。本規范雖然是API,但為了不割裂 LSB 文檔,決定完整引用 LSB – generic 和 LSB – Graphics 這兩部分。關于如何引用有幾種不同意見,有在正文中引用 LSB 的主要內容、在正文中只提引用哪些內容,把LSB 2.0的譯文放在附錄中等等。我們也提供了幾種版本。最后確定,只在正文中指出引用 LSB 2.0 的哪些內容。不在附錄中放進 LSB 2.0 的參考譯文(LSB 2.0 譯稿初稿已完成)。
2)在制訂國標《開放系統中文界面規范》時,當時的工作組曾邀請兩岸三
地(大陸、香港和臺灣)的有關中文信息處理的專家開了幾次會。結果是在上述標準中規定了中文所需要而在別的標準中尚未提供的有關半角、全角轉換、注音等6個函數。在制訂本規范時考慮到《開放系統中文界面規范》中規定的字符界面和圖形界面的有關函數在 LSB 2.0 中已包含,而這6個函數是獨特的,故把它們包含在本規范中。但有的意見認為:這6個函數尚未在產品中實現,有的可以用別的 C 庫函數替代。是否不需要了。在本送審稿中尚保留,請專家門審定。
3)關于輸入方法服務器。中文輸入方法是比較復雜的,可以說是各件語言
文件中最復雜的一種輸入方法。而且中文輸入方法又非常多。為方便與各種輸入方法接口,能實現主流的中文輸入方法,系統中必須提供輸入方法服務器。輸入方法服務器為應用程序編寫者提供接口,這主要由協
議規定。由于中文輸入方法復雜又有眾多不同的輸入方法,即使是最常用的也有若干種輸入方法。為此,輸入方法服務器也需要為輸入方法編寫者提供接口。使用此接口編寫的輸入方法都能掛接至系統上。目前,最流行的輸入方法服務器是X window輸入方法服務器(XIM)。但是,廣泛使用的XIM協議也存在一些問題,最突出的是:首先,XIM是X Window系統的一部分,其結構也跟X Window緊密相連。故使用XIM的系統必須擁有X Window。而X Window系統規模厖大,不太適用于一些嵌入式系統。其次,它不支持多種語言。雖然,X Window能使用Unidode的UTF-8編碼,也即整個GB18030的多民族語言文字庫都可以使用。可是,輸入法服務器不能通知客戶端用戶輸入的是何種語言。此問題導致采用XIM協議,會阻礙應用軟件支持多民族文字和多國語言。創造XIM協議的同一組人員,覺察到這些問題,設計出一套新的協議,稱為互聯網-企業內部網輸入法協議-IIIM(Internet-Intranet Input Method Protocol)協議。此協議已有實現者,且有日益擴展的趨勢。故在本規范中同時提供這兩種協議。
4)中文輸入方法很多,為了使主流的中文輸入方法能用于或移植到遵循本
規范的Linux系統上來,本規范規定了中文輸入方法與中文輸入服務器的接口。
5)Linux上的支撐軟件很多,特別是桌面系統。這些軟件各有特色且都在發展。因而,Linux上的打印很復雜,很難統一。但為了使應用程序能正確打印出中文。本標準對系統配置的主要中文字庫規定了規范名稱,也規定了字庫的存放目錄。
四、驗證情況
從2006年8月啟動對相關Linux產品的規范符合性測試,主要目標是驗證規范的合理性和測試方法的可行性。目前已經進行的本規范符合性測試產品包括:中標服務器操作系統3.0、紅旗服務器操作系統5.0、中標桌面操作系統3.0、紅旗桌面操作系統5.0,通過這些測試證明了規范要求全面、合理,符合性測試方法可行。
Linux標準工作組
2007年6月11日
第三篇:圖形化編程在初中程序設計教學中的應用
圖形化編程在初中程序設計教學中的應用
摘 要 隨著人工智能的日益普及,學習編程的重要性逐漸顯露。初中編程教學長期以來使用Visual Basic教學,對于這種文本編程方式,學生在學習過程中容易覺得枯燥乏味,因為對編程的學習只學習語法而不理解編程的邏輯結構。加之Visual Basic這種文本編程方式在編程的過程中程序易出錯,容易挫傷中學生的學習積極性。而圖形化編程使用圖形界面,沒有難以理解的代碼,取而代之的是圖形模塊的簡單拼接,這就大大降低了編程過程中代碼出錯的可能性。另外圖形化編程簡單易學,適合編程基礎弱的初中學生,他們可以很容易喜歡上編程。
關鍵詞 圖形化編程 程序設計 游戲化教學
中圖分類號:G424 文獻標識碼:A DOI:10.16400/j.cnki.kjdkx.2018.03.050
Graphical Programming Used in the Teaching of Junior High School Program Design
ZHANG Jingjie,QIU Guoyong
(College of Computer Science,Shaanxi Normal University Xi'an Shaanxi 710119)
Abstract With the increasing popularity of artificial intelligence,the importance of learning programming has gradually emerged.Programming teaching in junior middle school has been using Visual Basic for a long time.For this way of text programming,students may feel bored in the learning process,because programming learning only learns grammar,but does not understand the logic structure of programming.In addition,the text programming method of Visual Basic is easy to make mistakes in the process of programming,and it is easy to contuse the learning enthusiasm of middle school students.Graphical programming,using graphical interfaces,has no hard to understand code,instead of simple splicing of graphics modules,which greatly reduces the possibility of code errors in programming.In addition,graphical programming is simple and easy to learn.It is suitable for junior middle school students with weak programming base.They can easily enjoy programming.Keywords graphic programming; programming design; game teaching
fr 圖形化編程在初中程序設計課程中的實現
初中學生掌握的程序設計基礎比較薄弱,程序設計的思想以及語言對于初中學生來說很抽象,并且缺乏編實踐工具對初中學生來說難以在短?r間內掌握,加上代碼難以理解,學習起來枯燥乏味,長此以往容易打擊學生學習編程的信心。[6]另一方面,初中學生對新鮮事物存在一定的好奇心,對未接觸過的軟件有很大的興趣。大部分學生對編寫程序,設計游戲有濃厚的興趣,因此圖形化編程方式更容易被學生接受,也更容易在初中程序設計課堂上開展。
前期的課程中學生已經對圖形化編程平臺Code.org有了初步的了解,這個課時主要是學習循環結構的應用,利用重復模塊畫出不同的圖案,前期學生已經對基本模塊例如向前移動模塊、向左轉向右轉模塊、設置顏色模塊的使用以及參數的設定的有了基本的掌握,為下一步循環結構的學習打下來良好的基礎。現以循環結構的學習為例,對圖形化編程應用于程序設計課程的實現做簡單的敘述。
3.1 任務驅動、創設情境
演示作品,激發學生的興趣;首先展示已完成的“小藝術家游戲”作品,激發學生興趣。進而提問學生想不想自己利用編程畫出一幅自己的作品。進入本節課的學習。
3.2 引導學生,獲取新知
首先引導學生先畫出簡單的圖形:畫一個三角形。引導學生畫一個三角形的步驟:首先確定三角形的邊長,如單位為100。畫長度為100的線段――轉120?啊ざ任?00的線段――轉120?啊ざ任?00的線段――轉120?啊?
教師提示:如何用程序語句表示出上述畫一個三角形的步驟?畫線段即向前移動,可以用向前移動模塊來表示,轉120?翱梢雜孟蠐一螄蜃笞?槔幢硎盡A磽馓崾狙由舷嚶Φ牟問D敲椿桓鋈切蔚牟街榪梢員硎疚蚯耙貧?00像素――向右轉120?啊蚯耙貧?00像素――向右轉120?啊蚯耙貧?00像素――向右轉120?啊?
3.3 教師引導、學生實踐探索
教師提問:大家練習之后發現這個程序簡單來說是向前移動100像素和向右轉120?傲礁瞿?櫓馗詞褂昧?次,共使用了6個模塊。如果需要畫一個重復100次、1000次的圖怎么做呢?有沒有簡單的方法?這就是這節課要學習的程序三大基本模塊之一的循環模塊。
3.4 學習新知:循環模塊
當需要重復執行某個模塊或某些模塊若干次時,可以使用循環模塊即重復次模塊來簡化模塊數。如圖
2、圖3所示。
3.5 總結使用重復模塊畫一個三角形的步驟
(1)添加 重復模塊,并填寫循環次數3次。
(2)在循環模塊內添加向前移動模塊,并填寫參數100。
(3)在循環模塊內添加向右轉模塊并填寫旋轉度數120?啊?
(4)設置顏色模塊,可以選擇具體的顏色,也可以設置隨機顏色,注意設置顏色模塊放置的位置不同,畫出來的圖案顏色也不同,請學生分別操作不同的情況。
3.6 循環的嵌套
教師提出問題,引導學生小組合作討論如何畫一朵簡易的花,即由10個三角形組成的簡易花,展示給學生,學生自主操作小組內討論,提示可以使用這節課學過的循環模塊。
學生操作練習使用兩個循環模塊來畫目標圖形,發現并沒有畫出教師展示的圖案。教師答疑:注意,在使用兩個循環模塊畫圖時程序跳出內循環之后畫第二個圖形之前要使小畫家旋轉一定的度數,否則后面的圖形都覆蓋在第一個圖形的軌跡上,看起來就像是畫了一個圖形。
最后學生通過學習以及實踐畫出來使用兩個循環模塊畫出的圖形如圖4。教學反思
本節課的內容是圖形化編程的循環控制內容,與單一的使用向前移動模塊、向右轉模塊相比難度有提升,在教學過程中采用情境導入,任務驅動法導入,激發學生學習的好奇心和興趣,首先指引學生練習使用單一的移動和旋轉模塊繪制三角形,繼而在問題的驅動下引出循環模塊的作用以及循環模塊相較于多次使用向前移動、旋轉模塊的優點。通過小藝術家的游戲,提升學生思維能力,例如畫不同的圖形轉向的度數不同,當使用兩個循環時畫第二個圖形之前也要先思考應該添加向左(右)轉模塊或者向前移動模塊才能畫出不一樣的圖形,否則重復循環模塊畫的幾個圖形會重疊在一起。另外,模塊放在循環結構內和循環結構外畫出來的結果也不一樣,因此要引導學生多思考多練習,通過由簡單圖形通過改變參數可以轉為復雜的圖形,從三角形的畫法到正方形的畫法,到圓的畫法,從一個圖形的畫法到重復多次的畫法,引導學生開拓思維,完成自己想象的各種圖案。結束語
研究表明,?⑼夾位?編程平臺應用于程序設計課堂教學,大部分學生能夠熟練運用各種模塊編寫互動游戲、圖畫、動畫等作品,很大程度上激發了學生對程序設計的學習興趣,提升了學生的邏輯思維能力和語言學習能力;培養了學生對生活的觀察和理解能力,同時學會與人溝通、合作學習,強了學生學習編程的信心,結合教學實踐,筆者總結了圖形化編程的教學設計中應注重的兩個方面:
(1)注重任務的趣味性。一個能引起學生興趣的情境是初中編程教學中任務設計的基本前提。學生對于學習的興趣通常來自生活實踐;因此教師在設置教學情境時要注意貼合學生的生活實際,學生才能產生共鳴,以使得教學任務順利開展下去。另外在學習過程中教師要多設問,引發學生思考。例如一個需要重復多次使用的幾個模塊,教師提出怎樣才能使程序盡可能簡潔,會讓學生產生探究的濃厚興趣,從而引出“循環結構”的教學內容。在設計任務時,應當恰當的利用好這些 “興趣點”,讓學生在快樂的學習氛圍中主動參與學習活動。
(2)復雜的任務要細化。學習的過程是一個從無到有逐步積累的過程。在實際教學時一次性讓學生完成一個相對復雜的任務是不現實的。因此,教師在設計任務時要針對學生的實際能力,將一個復雜的任務細化為若干個小任務,先完成小任務,再完成大任務。這樣通過知識的層層遞進可以使學生更容易理解教學內容,降低學習難度,有利于促進程序設計課堂取得更好的效果。
參考文獻
[1] 教育部.中小學信息技術課程指導綱要(試行)[EB/OL].http://[2015-08-10].[2] 周麗.基于圖形化編程的高中算法教學研究[D].上海師范大學,2008.[3] 劉芳芳.圖形化編程工具輔助程序設計學習[J].中國教育技術裝備,2009(30):126-128.[4] 路敏.游戲化教學在初中信息技術課堂中的應用研究[D].南京師范大學,2011.[5] 馬宗輝.解析基礎編程工具在初中信息技術教學中的應用[J].中國教育技術裝備,2017(7):14-15.[6] 高淑印.基礎教育算法與程序設計模塊內容標準解讀[J].中國電化教育,2012(10):33-36.
第四篇:編程題總結
大家必須掌握每種類型的1-3題。
題號考點要求
48、將兩個兩位數的整數合并成一個整數
65、兩個正整數合并成一個整數
71、兩個正整數合并成一個整數
77、兩個正整數合并成一個整數
81、兩個正整數合并成一個整數
84、兩個正整數合并成一個整數
87、兩個正整數合并成一個整數
91、兩個正整數合并成一個整數
8、s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+.....+n)
9、p=m!/(n!*(m-n)!)
26、連加
68、s=1+1/1!+1/2!+1/3!+........70、s=1/(1*2)+1/(2*3)+...+1/(n*(n+1))
76、s=1+0.5*x+(0.5*(0.5-1)*x*x/2!+......86、連加
90、連加
92、連加
93、連加
97、連加
100、連加
(2、)
類似素數或者閏年算法
2、求出1到1000之間能被7或11整除、但不能同時被7和11整除的所有整數,并將他們放在a所指的數組中,通過n返回這些數的個數。
58、求n以內同時能被3與7整除的所有自然數之和的平方根s3、求出能整除x且不是偶數的各整數,并按從小到大的順序放在pp所指的數組中,這些除數的個數通過形參n返回。
27、求出1到m之間能被7或11整除的整數,放在數組中,通過n返回這些數的個數
63、求n的所有因子(不包括1與自身)
98、計算n以內能被5或9整除的所有自然數的倒數之和
15、w是大于10的無符號整數,若w是n(n>=2)位的整數,則函數求出w的后n-1位的數作為函數值返回。
24、將數字字符串轉化為一個整數
16、對變量中的值保留兩位小數,對第三位四舍五入
(3、)
1、一維數組中,將低于平均分的人數作為函數值返回,低于平均分的分數放在below所指的數組中。
82、計算一維數組中n門課程的平均分
96、一維數組中每相鄰元素之平均值的平方根之和
28、找出一維數組中最大的值和它所在的下標,兩者通過形參返回
7、求出數組的最大元素在數組中下標并存放在k所指的存貯單元中。
43、從num個字符串中找出最長的一個字符串,并通過形參指針傳回
39、移動數組中的內容,前p個數移動到數組后面
40、移動數組中的內容,前m個字符移動到后面
5、將大于整數m且緊靠m的k個素數存入xx所指的數組中。
20、求出小于變量m的所有素數并放在一個數組中
51、將大于1小于m的非素數存入xx所指數組中,個數通過形參返回
99、計算3到n之間所有素數的平方根之和
29、將字符串中下標為奇數位置上的字母轉化為大寫
47、字符串中所有下標為奇數的字母轉為大寫
31、將字符串中除了下標為偶數、同時ASCII碼也為偶數的字符外,其余的全都刪除;串中剩余字符放在t字符串中
32、除了下標為奇數、同時ASCII碼也為奇數的字符外,其余的全都刪除;串中剩余字符放在t字符串中
49、將字符串中下標為偶數且ASCII碼為奇數的字符刪除
19、從字符串中刪除指定字符
64、將字符串中ASCII值為奇數的字符刪除,剩余字符放在t所指字符串中
72、將字符串中下標為偶數的字符刪除
78、字符串中ASCII為偶數的字符刪除
35、刪除字符串中所有空格
6、刪除一個字符串中指定下標的字符。
60、刪去一維有序數組中所有相同的數,使之只剩一個
33、刪除字符串中尾部*號,使不超過n個
36、把字符串中的前導*號全部移到字符串尾部
45、刪除字符串中前導和尾部的*號
56、字符串中,除了尾部*號外,字符串中其余*號全部刪除
73、刪除字符串中除了前導和尾部*號外的所有*號
83、字符串中尾部*號刪除
88、字符串中除了前導*外,刪除其余*號
94、字符串中,前導*號全部刪除
95、字符串中前導*號不得多于n個
66、刪除字符串中所有*號
(4、)
17、字符串內容逆置
23、判斷字符串是否為回文
25、比較兩個字符串的長度(不能用strlen)
52、實現兩個字符串連接
59、將字符串數組中的字符串依次合并到一個字符串中
21、字符串中字符按降序排列(選擇法排序)
4、統計在tt字符串中“a”到“z”26個字母各自出現的次數,并依次放在pp所指數組中。
38、求出字符串中指定字符的個數
44、統計長度為2的字符串在另一個字符串出現的次數
62、統計一行字符串中單詞個數
11、二維數組構成矩陣,使數組左下半三角元素中的值全部置成042、二維數組,將右上半角元素中的值乘以m80、二維數組中左下半三角中元素中的值乘以312、求出數組周邊元素的平均值
14、求出二維數組周邊元素之和
18、矩陣行列互換
53、矩陣B=A+A130、求出二維數組中最大元素的值,此值返回給調用函數
55、M行N列的二維數組中的數據,按行的順序依次放到一維數組中
41、將二維數組中的字符,按列的順序依次放到一個字符串中
75、二維數組中數按列的順序放到一維數組中
13、求出二維數組每列中最小元素,并依次放在pp所指一維數組中
37、結構體數組(學號、8門成績、平均成績),求出每個學生的平均成績
34、把結構體數組(學號、成績)中分數最高的學生放到h數組中,函數返回人數
74、把結構體數組(學號、成績)中分數最低的學生數據放在h所指數組中
50、結構體數組(學號、成績),找出成績最高的學生記錄,通過形參返回
54、結構體數組(學號、成績),低于平均分的學生數據放在b所指數組中
89、結構體數組(學號、成績),高于等于平均分的學生人數通過形參返回
57、結構體數組(學號、姓名),把指定范圍內的學生數據放在所指數組中
67、結構體數組(學號、成績)返回指定學號的學生數據(查找)
46、結構體數組(學號、成績),按分數降序排列(選擇法排序)
22、鏈表結構中,找出數值最大的結點,并由函數值返回
85、鏈表中,求出平均成績
10、迭代法求方程的實根
61、統計各年齡段人數(建議采用if else)
69、遞歸函數
第五篇:plc編程學習總結
1:PLC編程語言有5種,即順序功能圖(SFC),梯形圖(STL),功能塊圖,指令表,和結構文本。其中順序功能圖(SFC)是最容易理解的,按照時間的先后順序執行。然后轉換成梯形圖,因為梯形圖是PLC普遍采用的編程語言。不過SFC轉換梯形圖是很簡單的。
2:就好比是開關在合上時兩觸點接觸的一瞬間繼電器就有動作了,這叫上升沿。
下降沿就好比開關兩觸點始終保持接觸時,繼電器沒有動作,只有開關兩點斷開時的瞬間繼電器才動作。