第一篇: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:就好比是开关在合上时两触点接触的一瞬间继电器就有动作了,这叫上升沿。
下降沿就好比开关两触点始终保持接触时,继电器没有动作,只有开关两点断开时的瞬间继电器才动作。