第一篇:YAMAHA YV100 编程教学
第1章
YAMAHA 程 式 编 写 步 骤
开机: 0-1 打开电源
0-2 等机器自我测试完成后, 光标移至2/DATA/M, 按[ENTER], 进入第二层<
1.游标移至CONVEYOR WIDTH上, 按[ENTER].2.输入PCB宽度, 按[ENTER, 轨道自动调整为所输入的宽度.3.游标移至MAIN STOPPER上, 按[ENTER], 升起MAIN STOPPER.4.将PCB放在输送带上.5.游标移至CONVEYOR MOTOR上, 按[ENTER], 将PCB送入定位, 待PCB和MAIN STOPPER相碰后, 再按一次[ENTER], 停止输送带.6.游标移至LOCATE PIN上, 按[ENTER], 升起LOCATE PIN.7.按下紧急开关.8.放松锁定LOCATE PIN 2和PUSH IN 的卡榫.※实机讲解.9.调整LOCATE PIN 2至正确插入第二个定位孔.10.锁紧卡榫.11.解除紧急开关, 并按[READY].12.游标移至PUSH UP上, 按[ENTER], 升起底板.13.调整PUSH UP ROD高度.※实机讲解.14.游标移至MAIN STOPPER上, 按[ENTER]放下MAIN STOPPER.15.按[ESC], 跳回第三层
1.游标移至CONVEYOR WIDTH上, 按[ENTER].2.输入PCB宽度, 按[ENTER], 轨道自动詷为所输入的宽度.3.游标移至MAIN STOPPER上, 按[ENTER], 升起MAIN STOPPER.4.将PCB放在输送带上.5.游标移至CONVEYOR MOTOR上, 按[ENTER], 将PCB送入定位, 待PCB和MAIN STOPPER相碰后, 再按一次[ENTER], 停止输送带.6.游标移至PUSH UP上, 按[ENTER], 升起底板.7.调整PUSH UP ROD高度.8.游标移至EDGE CLAMP上, 按[ENTER], 夹起板边.9.游标移至PUSH IN上, 按[ENTER], 升起PUSH IN.10.按下紧急开关.11.放松锁定LOCATE PIN 2和PUSH IN的卡榫.※实机讲解.12.调整PUSH IN至刚好碰到PCB尾端.13.锁紧卡榫.14.解除紧急开关, 并按[READY].15.游标移至MAIN STOPPER上, 按[ENTER], 放下MAIN STOPPER.16.按[ESC], 跳回第三层
第二篇:编程初始教学
编程
百科手刺
CS 编程办法学与笼统编程即是让核算机为处置某个疑问而运用某种程序描绘言语编写程序代码,并结尾得到效果的进程。为了使核算机能够知道人的意图,人类就有必要要将需处置的疑问的思路、办法、和手法经过核算机能够知道的办法通知核算机,使得核算机能够依据人的指令一步一步去作业,完结某种特定的使命。这种人和核算机之间沟通的进程即是编程。
目录
概述
机器言语
汇编言语
高档言语
履行原理
言语的创造
COBOL的创立
编译器的呈现
程序编写
PostScript编写开展
言语程序开展
运用于微机
言语目录
编程东西概述
机器言语
汇编言语
高档言语
履行原理
言语的创造
COBOL的创立
编译器的呈现
程序编写PostScript编写开展言语程序开展运用于微机言语目录编程东西打开 批改本段概述
从核算机创造至今,跟着核算机硬件和软件技能的开展,核算机的编程言语阅历了机器言语、汇编言语、面向进程的程序描绘言语以及面 文件体系驱动编程
向方针的程序描绘言语期间。[1]
批改本段机器言语
在核算机体系中,一条机器指令规矩了核算机体系的一个特定动作。一个系列的核算机在硬件描绘制造时就用了若干指令规矩了该系列核算机能够进行的根本操作,这些指令一同构成了该系列核算机的指令体系。在核算机运用的前期,程序员运用机器的指令体系来编写核算机运用程序,这种程序称为机器言语程序。运用机器言语编写的程序,因为每条指令都对应核算机一个特定的根本动作,所以程序占用内存少、履行功率高。缺陷也很明显,如:编程作业量大,简略犯错;依靠详细的核算机体系,因此程序的通用性、移植性都很差。[2]
批改本段汇编言语
为了处置运用机器言语编写运用程序所带来的一系列疑问,大家首要想到了运用助记符号来替代不简略回忆的机器指令。这种助记符号来表明核算机指令的言语称为符号言语,也称汇编言语。在汇编言语中,每一条用符号来表明的汇编指令与核算机机器指令一一对应;回忆难度大大减少了,不只易于查看和批改程序过错,而且指令、数据的寄存方位能够有核算机主动分配。用汇编言语编写的程序称为源程序,核算机不能直接辨认和处置源程序,有必要经过某种办法将它翻译变成核算机能够知道并履行的机器言语,履行这个翻译作业的程序称为汇编程序。
运用汇编言语编写核算机程序,程序员依然需要十分知道核算机体系的硬件布局,所以从程序描绘自身上来看依然是低功率的、烦琐的。但正是因为汇编言语与核算机硬件体系关系密切,在某些特定的场合,如对时空功率需要很高的体系中心程序以及实时操控程序等,迄今为止汇编言语依然是十分有用的程序描绘东西。
批改本段高档言语
高档言语是一类挨近于人类自然言语和数学言语的程序描绘言语的总称。依照其程序描绘的起点和办法不相同,高档言语分为了面向进程的言语和面向方针的言语,如Fortran言语、C言语等都是面向进程的言语;而以C++、Smalltalk等为代表的面向方针的言语与面向进程言语有着许多不相同,这些言语撑持“程序是彼此联络的离散方针调集”,这样一种新的程序描绘思想办法,具有封装性、承继性和多态性等特征。[3]
高档言语依照必定的语法规矩,由表达各种含义的运算方针和运算办法构成。运用高档言语编写程序的长处是:编程相对简略、直观、易知道、不简略犯错;高档言语是独立于核算机的,因此用高档言语编写的核算机程序通用性好,具有较好的移植性。
用高档言语编写的程序称为源程序,核算机体系不能直接知道和履行,有必要经过一个言语处置体系将其变换为核算机体系能够知道、知道的方针程序才干变成核算机体系履行。[4]
批改本段履行原理
核算机对除机器言语以外的源程序不能直接辨认、知道和履行,都有必要经过某种办法变换为核算机能够直接履行的机器言语。这种将高档 MINIPRO编程硬件
程序描绘言语编写的源程序变换到机器方针程序的办法有两种:解说办法和编译办法。
解说办法下,核算机对高档言语书写的源程序一边解说一边履行,不能构成方针文件和履行文件。
编译办法下,首要经过一个对应于所用程序描绘言语的编译程序对源程序进行处置,经过对源程序的词法剖析、语法剖析、语意剖析、代码生成和代码优化等期间将所处置的源程序变换为用二进制代码表明的方针程序,然后经过衔接程序处置将程序中所用的函数调用、体系功用调用等嵌入到方针程序中,构成一个能够接连履行的二进制履行文件。调用这个履行文件就能够完结程序员在对应源程序文件中所指定的相应功用。
批改本段言语的创造
1946
Konrad Zuse,一位德国工程师,他躲藏在巴伐利亚邻近的阿尔卑斯山上时,独立开发了Plankalkul。他把该项效果运用在其它的事物中,比方国际象棋。
1949
Short Code ,第一种真实在电子核算设备上运用的核算机言语,虽然他是一个纯手工编译的的言语。
1951
Grace Hopper,为Remington Rand作业,是在第一个闻名的编译器——A-o上开端描绘作业。当Rand在1957年发布这个言语时,它被称为MATH-MATIC。
1952
Alick E.Glennie ,他运用自个在曼彻斯特大学的课余时间,创造了一个名为AUTOCODE的编程体系,一个未能成型的编译器。
1957
FORTRAN——数学公式变换体系(FORmula TRANslating,FORTRAN姓名的由来)——呈现。开发部队的领导者是John Backus,而且他还为ALGOL的开发和巴柯斯范式(BNF)做出了奉献。
1958
FORTRAN II呈现,它能够处置子程序和衔接汇编言语。由M.I.T的John McCarthy在LISP-LISt Processing上开端描绘作业。原始ALGOL规范呈现。该规范并未描绘数据的输入输出办法;这些疑问都留给独立的完结者。
批改本段COBOL的创立
1959
LISP1.5呈现。COBOL在数据体系和言语大会(Conference on Data System and Languages)上被创立了。
批改本段编译器的呈现
1960
ALGOL 60 ,第一种布局化言语呈现。它是布局化言语宗族树中的根节点,并结尾发生Pascal这样的言语。ALGOL变成六十时代中期至晚期欧洲最为盛行的言语。
六十时代早期,Kenneth Iverson开端言语方面的作业,结尾发生了APL-A编程言语。它运用专门的字符集,为了正确地运用,你还需要兼容APL的I/O设备。
1962
APL被写入Iverson的《A Programming Language》一书中。
FORTRAN IV呈现。
SNOBOL这个以“首字母拼词命名”的商品,在作业的前期就取得了肯定的成功,SNOBOL——面向字符串符号(StriNg Oriented symBOlic Language)言语。它衍生了其他一些以首字母拼词命名的商品: FASBOL,一个SNOBOL编译器(1971年),还有SPITBOL——Speedy ImplemenTation of snoBOL——同样在1971年。
1963
ALGOL 60进行批改。
PL/1的作业开端。
1964
APL360被完结。
在达特茅斯大学,John G.Kemeny和Thomas E.Kurtz教授创造了BASIC。开端的完结是一个编译器。第一个BASIC程序在1964年五月一日下午四点运转。PL/1发布。
1965
SNOBOL3呈现。
1966
FORTRAN 66呈现。
LISP 2呈现。
在Bolt,Beranek和Newman开端了LOGO的作业。小组的头是Wally Fuerzeig,而且还包括Seymour Papert。LOGO中最闻名的就是“龟作图”。
1967
SNOBOL4,功用取得极大加强的SNOBOL,呈现了。
1968
ALGOL 68,相对于ALGOL 60它是个怪物。一些规范委员会的成员——包括C.A.R.Hoare和Niklaus Wirth——却附和该方案。事实证明ALGOL 68是难以完结的。
ALTRAN,一个FORTRAN的变种呈现。
COBOL被ANSI正式界说规范。
Niklaus Wirth开端Pascal方面的作业。
1969
500人参加在纽约Armonk的IBM总部举行的APL会议。APL的分发需要如此之大,该活动尔后被大家称为“The March on Armonk”。
批改本段程序编写
1970
70时代早期,Charles Moore在他的言语Forth中写下了第一个有含义的程序。
Prolog方面的作业大约在此刻开端了。
同样是在70时代早期的某一天,Xerox PARC由Alan Kay领导,开端了Smalltalk的描绘作业。早期版别包括Smalltalk-72,Smalltalk-74和Smalltalk-76。
Pascal在CDC 6000-series电脑上的一个完结呈现了。
编程器
Icon,SNOBOL4的一个子孙商品问世。
1972
Konrad Zuse写的关于Plankalkul(见1946年)手稿总算出书了。
Dennis Ritchie描绘了C。可是结尾的参阅手册却是在1974年发布的。
Prolog的第一个完结——Alain Colmerauer和Phillip Roussel的劳绩。
1974
另一个COBOL的ANSI规范呈现。
1975
Tiny BASIC,由Bob Albrecht和Dennis Allison描绘(由Dick Whipple和John Arnold完结),运转在2KB内存的微型核算机上。一台4KB的机器是较为适宜的,它将有2KB的内存运用于这个程序上。
Bill Gates和Paul Allen编写的一个BASIC版别以抽取每份复制版税的办法销售给MITS(Micro Instrumentation and Telemetry Systems)。MITS出产Altair,这是一种8080布局的微型核算机。
Scheme,一个LISP的“方言”,由G.L.Steele和G.J.Sussman描绘。
Pascal用户手册和陈述出书,Jensen和Wirth编写。许多人至今都以为它是Pascal方面威望的参阅书本。
B.W.Kerninghan描绘了RATFOR——RATional FORTRAN。它是预处置程序,而且答应在FORTRAN中运用类C的操控布局。RATFOR被运用到了Kernighan和Plauger的“Software Tools”中,它呈现在1976年。
批改本段PostScript编写开展
1976
Design System Language呈现,它被以为是PostScript的前驱。[5]
1977
MUMPS的ANSI规范呈现——麻省总医院多用途程序描绘体系(Massachusetts General Hospital Utility Multi-Programming System)。MUMPS开端被用来处置医疗记载,它只能辨认字符串类型。随后被从头命名为M。
描绘竞赛将致使Ada的发生。由Jean Ichbiah带领的Honeywell Bull部队,行将赢得竞赛。
Kim Harris和其他人建立了FIG,一个FORTH兴趣小组。他们开发了FIG-FORTH,价格大约为20美元。
70时代晚期的某天,Kenneth Bowles描绘出了UCSD Pascal,它使得Pascal能够用在PDP-11和根据Z80 的电脑上。
Niklaus Wirth开端描绘Modula,它Modula-2的先行者,Pascal的承继者。
批改本段言语程序开展
1978
AWK——一个文本处置言语,以它描绘者Aho、Weinberger和Kernighan的姓名命名。
FORTRAN 77的ANSI规范呈现。
1980
Smalltalk-80呈现。
Modula-2呈现。
Franz LISP呈现。
Bjarne Stroustrup开发了一个言语集——被总称为“C With Classes”——它变成C++的繁殖土壤。
1981
Effort开端变成一个LISP的“公共方言”,常被人称作Common LISP。
日本开端第五代电脑体系工程。首要言语是Prolog。
1982
ISO Pascal呈现。
PostScript呈现。
1983
Smalltalk-80发布:它由Goldberg等人完结。
Ada呈现。他的姓名来自Lovelace女伯爵Augusta Ada Byron,她是英国诗人拜伦的女儿。因其在巴贝奇剖析机上描绘知道伯努利方程的一个程序,而被誉为第一位女程序员。在1983年,国防部辅导的全新“使命鉴定”运用程序是运用该言语编写的。
1983年的后期和1984年早期,微柔和Digital Research一起发布第一个微型核算机的C编译器。
七月,第一个C++完结出面。该名称是由Rick Mascitti取的。
11月,Borland的Turbo Pascal的“冲击”犹如一场核风暴,这得益于《BYTE》杂志的广告。
1984
APL2的参阅手册问世。APL2是APL的扩大,它答应嵌套数组。
1985
Forth操控着潜水器定位泰坦尼克的残骸。
Vanilla SNOBOL4之微机版发布。
Methods,PC上的面向行(line-oriented)的Smalltalk呈现。
批改本段运用于微机
1986
Smalltalk/V出面——第一个广泛运用于微机的Smalltalk版别。
Apple公司为Mac机器发布Object Pascal。
Borland发布Turbo Prolog。
Charles Duff发布Actor,一个开发微软Windows运用程序的面向方针言语。
Eiffel,别的一个面向方针言语呈现。
C++出面。
1987
Turbo Pascal 4.0发布。
1988
CLOS规范——公共LISP方针体系(Common LISP Object System)——宣布。
Niklaus Wirth完结Oberon,这是他继Modula-2的后续举动。
1989
ANSI C规范发布。
C++2.0构成了一个参阅手册的初稿。2.0版别增加了比方多承继和成员指针等特性。
1990
C++2.1,B.Stroustrup等作者的《Annotated C++ Reference Manual》一书出书。这个版别增加了模板和反常处置特性。
FORTRAN 90包括了很多新元素比方case句子和派生类型。
Kenneth Iverson和Roger Hui在APL 90会议上提出了J言语。
1991
Visual Basic在COMDEX春展会上取得《BYTE》杂志颁布的最佳体现奖。
1992
Dylan——以Dylan Thomas命名——由Apple公司发布的一个相似Scheme的面向方针言语。
1993
ANSI发布X3J4.1技能陈述——面向方针的COBOL提议初稿。真实的规范估计在1997年完结。
1994
微软将Visual Basic for Application整合到Excel中。
1995
二月,ISO承受Ada言语1995修订版。它被称为Ada95,其间包括OOP特性和撑持实时体系。
1996
第一个ANSI C++规范预发布。[6]
批改本段言语目录
* CSS Cascading Style Sheets 层叠样式表
*.NET 是微软2002年,为开发运用程序创立的一个赋有革命性的新渠道
* ActionScript ActionScript是Flash的脚本言语,与JavaScript相似,ActionScript是一种面向方针编程言语。
* APL、A+和J
* Ada Ada是一种体现才能很强的通用程序描绘言语
* 汇编言语 汇编言语(Assembly Language)是面向机器的程序描绘言语
*易言语是全中文言语编程中最为强壮的一个编程言语
* AWK AWK是一种优秀的文本处置东西
* Basic 是一种描绘给初学者运用的程序描绘言语
o QBasic QBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初学者通用指令代码)言语的一个变种,由美国微软公司开发
o Visual Basic Visual Basic(VB)是一种由微软公司开发的包括帮忙开发环境的事情驱动编程言语
* VBScript VBScript是Visual Basic Script的简称,即 Visual Basic 脚本言语
* Brainfuck Brainfuck是一种极小化的核算机言语
* C、C++、C# C言语是一种面向进程的核算机程序描绘言语;C++是一种静态数据类型查看的,撑持多重编程范式的通用程序描绘言语。它撑持进程化程序描绘、数据笼统、面向方针程序描绘、制造图标等等泛型程序描绘等多种程序描绘个性。C#是微软公司发布的一种面向方针的、运转于.NET Framework之上的高档程序描绘言语。
o Objective-C 通常写作ObjC和较少用的Objective C或Obj-C,是扩大C的面向方针编程言语
* Clipper Clipper芯片首要用于商业活动的核算机通信网
* COBOL 一种适合于商业及数据处置的相似英语的程序描绘言语
* dBase dBASE是第一个在微型核算机上被广泛运用的数据库办理体系(DBMS
* PASCAL、Delphi Pascal是一种核算机通用的高档程序描绘言语;Delphi是全新的可视化编程环境,是一种便利、方便的Windows运用程序开发东西
* Forth 由Charles H.Moore开展出来在天文台运用的电脑主动操控体系及程序描绘言语,答应运用者很简略组合体系已有的简略指令,界说变成功用较杂乱的高阶指令。
* Fortran 译为“公式翻译器”,它是世界上最早呈现的核算机高档程序描绘言语,广泛运用于科学和工程核算范畴。
* FoxPro 是由美国Fox Software公司于1988年推出的数据库商品
* F# F#是由微软开展的为微软.NET言语供给运转环境的程序描绘言语
* Fava Fava言语是一个小型的解说言语,它首要面向于体系测验范畴及小型嵌入式设备。
* IDL IDL 是一种数据剖析和图画化运用程序及编程言语
* Java Java是由Sun Microsystems公司于1995年5月推出的Java程序描绘言语,他是一种面向方针的跨渠道言语,能够在多种渠道上运转。撑持开源。很多的类库。很多的开源项目。是一种十分强壮的编程言语!
* JavaScript Javascript是一种由Netscape的LiveScript开展而来的脚本言语
* J# Visual J# 是一种东西,供 Java 言语程序员用于构建在.NET Framework 上运转的运用程序和效劳
* LISP 一种根据λ演算的函数式编程言语。
* Lua Lua 是一个细巧的脚本言语
* LOGO 是一种早期的编程言语,也是一种与自然言语十分挨近的编程言语,它经过“绘图”的办法来学习编程
* Module 在软件工程中,指较高一级程序或模块运用的一个单元或模块
* Nuva Nuva言语是一种面向方针的动态脚本言语 Nuva言语的描绘意图是用于根据模板的代码生成 * Perl Perl 通常被称为“有用报表获取言语”(PracticalExtraction andReportLanguage),也做“病态折中废物列表器”(PathologicallyEclectic Rubbish Lister
* PHP PHP 是一种 HTML 内嵌式的言语
* PL/I PL/I是Programming Language One的简写。傍边的“I”其实是罗马数字的“一”。它是一只IBM公司在1950时代创造的第三代高档编程言语
* Prolog Prolog(Programming in Logic的缩写)是一种逻辑编程言语
* Python 是一种面向方针的解说性的核算机程序描绘言语,也是一种功用强壮而完善的通用型言语
* R R是用于统计剖析、绘图的言语和操作环境
* Ruby Ruby,一种为简略方便面向方针编程(面向方针程序描绘)而创的脚本言语
* Scheme Scheme,一种体系描绘言语,由LISP言语开展而来,归于lisp的一种方言。与其他lisp不相同的是,scheme是能够编译成机器码的。Scheme的一个首要特性是能够像操作数据相同操作函数调用
* Smalltalk 一种面向方针的程序描绘言语 一种程序描绘环境 一个运用开发环境(ADE)
* Tcl/Tk 是一种 脚本言语
* Visual FoxPro Visual FoxPro原名FoxBase,是美国Fox Software公司推出的数据库商品
批改本段编程东西
关于C++的: CFREE(初学者适用),VC,MyC++,Magic C++,DevC++
关于JAVA的:JBuilder、Eclipse、NetBeans IDE、JCreator +J2SDK、JDK、Tomcat、Weblogic、JRun
关于C#的:VS Studio 系列(VS2003,VS2005,VS2008,VS2010),SharpDevelop(开源的免费软件)
关于Delphi的:delphi2005
关于C的:Turbo C 2
第三篇:体验VB编程教学设计
《体验VB编程》教学设计
一、教学内容分析
1.课程标准内容《信息的编程加工》教学设计
初步掌握用计算机编程加工信息的工作过程和基本特征; 2.教材作用与地位
教科版《信息技术基础》第三章第二节“信息的编程加工”,对这部分内容分两堂课完成。第一节课通过操作和剖析已经编好的计算机程序,在解决实际问题中分析并了解其工作过程,这种通过问题分析形成算法、再利用计算机程序解决问题的思路和做法,对学生帮助很大。
第二节课主要是通过制作“QQ登陆”这个小程序,体验 VB编程的过程。让学生了解一些简单的编程知识。我们认识问题的过程一般都是像课本那样:从概念到案例。即从事物的原理出发,以实例来验证原理。这样的方法虽然对阐述问题的整体性是有益的,但是却并不容易突破难题,给人以就事论事的感觉,没有鲜活的体现。
所以本节采用的策略是:从案例到概念。即从事物的表象出发,根据现象去探索原理。这样的方法更符合青少年的求知心理,也更容易在用技术实现软件模型过程中体验到程序的本质意义和巨大价值。而且要通过例子来让学生明白计算机语言只是工具,算法才是程序设计的灵魂,从而理解计算机工作的内部机制,也就理解了为什么说自动化信息加工和人性化加工是智能化加工的一个基础。
二、学生分析
因为大多数学生在初中都没有接触到利用计算机来进行编程方面的内容,因此在利用 VB来进行编程方面的基础可以说是零,老师就要从最简单、最基础的方面来引导这些零起点的学生。在学生已有的计算机基础上给他们讲解一下程序设计中的算法以及一些简单的VB编程。
三、教学目标: 1.知识与技能目标
引导学生了解有关程序设计的基本知识;让学生了解计算机加工信息的内在机制以及算法的含义。
2.过程和方法目标
让学生了解计算机解决问题的一般过程,了解用高级语言编程工具解决问题的基本方法,感悟计算机程序设计的思想,了解计算机程序设计的基本流程。
3.情感与价值观目标
激发学生对信息技术的求知欲,提高其学习兴趣,形成积极主动学习信息技术的态度。
四、教学重点
1.了解VB程序设计的界面组成。
2.了解怎样用VB编写简单的小程序,并且运行小程序。
五、教学难点
学生对于算法和 VB编程的理解程度。
六、教学过程
1.第一环节:观看程序,查看代码,了解设计程序的一般过程 通过演示“QQ登陆框“小程序激发同学们的兴趣。
学生观察其界面。分析其程序。
教师:上节课大家通过修改程序体验了一下编程的神奇力量,今天这堂课大家就变身真正的程序员,自己设计程序,编写代码,大显身手了!首先,我们来设计它的外观吧!
第二环节 上手模拟软件外观。
认识算法:制作软件需要编写程序,编写程序要有一定的工具,事先还要有一定的规划和设计,即算法。以盖房子为例讲解算法:预计有多少房间,规划每个房间的功能是什么,建筑的过程是怎样的,最后的装修使用等。
操作演示:从制作软件者的视角,了解 VB的结构特点。(1)控件。
VB就像盖房,有各种材料、器件——控件,以图像控件为例,演示给学生插入一个控件。(2)控件的属性。
每个控件都有一定的属性,就像壁画有名称、大小、内容、位置等。为图像控件的 Picture属性引入一个图片。
(3)事件响应代码。
有的控件要能响应一定的功能要求——事件。就像门铃按动时有声音,按门铃就是事件,声音就是响应。
教师演示如何设计程序界面!(演示一个控件即可!更改其属性,并引导学生观察每个对象的属性说明,选择相应的属性进行修改。)
学生:设计程序界面。
教师要引导学生观察每个对象的名称。第三环节 探索软件智慧的来源。
教师:设计好了程序界面,我们运行程序,是否会相应我们的操作!我们输入了正确的账号和密码,就会显示登录成功的界面吗?
学生:不会!要给它编写代码!
教师:是呀!我们刚才只是给它一个躯体,并没有赋予它灵魂!只有编写了正确的代码,它才会按照我们的指令去操作!
那我们来分析一下这个程序!什么时候我们才能登陆成功? 学生:输入正确的账号和密码!教师:什么时候出现错误的提示:
学生:账号错误或密码错误或者账号密码都错误!
教师:分析得非常好!明确了解决问题的过程,我们就开始动手编写代码吧!(高一的数学已经了解程序设计的相关知识,学生读懂程序没有什么障碍!老师稍加点拨即可!)
问题是我们现在对那个对象编写代码?这是我们要解决的问题!
学生通过讨论和思考:单击“登陆”按钮才引发的事件,应当对“登陆”按钮编写代码!代码如下:
Private Sub Command1_Click()mm = “gl123” hm = “2423366923” sr = Text2.Text If sr = mm And Text1.Text = hm Then Form2.Show Else MsgBox(“密码输入错误!”)End End If End Sub 教师和学生共同理解程序。
教师:在编写程序过程中,难免会出现错误,就需要进行运行和调试!解决编程中出现的问题!有学生提出疑问:老师,我输入的密码为什么不能以“*”显示? 教师:在文本框有一个passwordchar属性,大家更改一下看看如何?
还可以对程序进行哪些修改呢?我们有时遇到网络很差,想取消登陆怎么办?引导学生对程序进行进一步的修改和完善!
第四环节 总结程序的作用及程序的结构特点。教学反思: 1.教学设计
本节课在教学过程中,紧扣课标,从学生的认识特点和实际能力出发,没有用教材提供的例子,而用教师自己设计的例子——设计QQ登陆程序,引发学生的学习兴趣。数学中已经初步了解了程序设计语言,了解了程序涉及的三种结构,从学生熟知的例子入手,这样引入课题自然、清楚,更重要的是简化了“算法”和简化了程序,课堂效果较好,达到了课标的要求。本节课的教学我感到最为成功的地方是,以学生为本,紧扣课标,教材处理恰当。通过分析通过剖析程序让学生了解编程解决问题的方法和步骤;通过学生上机实践,亲身感受计算机编程解决问题的过程;通过学生感悟编程的过程,感受到编程就像跟计算机对话一样;
2.分层教学的实施
教学中采用了分层教学,对不同的学生有不同的要求,“零起点”学生亲身感受计算机程序解决问题的过程,懂得计算机程序设计的基本流程,“非零起点”的学生在“零起点”的基础上,能够根据自己的需要对程序进行进一步的完善。这样所有的学生都能达到课标的要求,每个学生在自己的基础上都有所提高。
3.感悟和提升
在教学中教师让学生感悟程序设计的过程像什么活动一样,好多学生都能感悟出像对话一样,这正是程序设计的“精髓”。教师告诉学生编程不但能解决画函数图像这样的小问题,还能解决更大更复杂的问题,你们现在所用的 Office就是用VB开发出来的,你们以前所学内容主要是在应用别人开发的程序,如果有一天你能开发出程序让别人使用,那么你的计算机水平将上一个台阶,你自己也很有成就感。
4.不足
前面在程序设计界面上,学生花费了较多的时间,在完善程序,如密码框改变其属性passwordchar,设计取消登陆框的“取消”按钮,没有完成。
第四篇:编程感想
编程感想
从C学到C++,就是从面向过程到对象,又从C++到JAVA,就是从静态语言到动态语言。编程语言的学习无怪乎多写代码,多参考,多了解,那些所谓的牛人,又有多牛呢 ? 我想开始时也跟我们刚学时一样,但人家坚持住了,所以被牛了!编程要养成好的习惯!
下面是我在一篇博文上看到的,很受用,与大家分享 态度篇
1.做实事 不要抱怨,发牢骚,指责他人,找出问题所在,想办法解决。对问题和错误,要勇于承担。
2.欲速则不达 用小聪明、权宜之计解决问题,求快而不顾代码质量,会给项目留下要命的死角。
3.对事不对人 就事论事,明智、真诚、虚心地讨论问题,提出创新方案。4.排除万难,奋勇前进 勇气往往是克服困难的唯一方法。学习篇
5.跟踪变化 新技术层出不穷并不可怕。坚持学习新技术,读书,读技术杂志,参加技术活动,与人交流。要多理解新词背后的所以然,把握技术大趋势,将新技术用于产品开发要谨慎。
6.对团队投资打造学习型团队,不断提高兄弟们的平均水平。7.懂得丢弃 老的套路和技术,该丢,就得丢。不要固步自封。
8.打破砂锅问到底 不断追问,真正搞懂问题的本质。为什么?应该成为你的口头禅。9.把握开发节奏 控制好时间,养成好习惯,不要加班。开发流程篇
10.让客户做决定 让用户在现场,倾听他们的声音,对业务最重要的决策应该让他们说了算。
11.让设计指导而不是操纵开发 设计是前进的地图,它指引的是方向,而不是目的本身。设计的详略程度应该适当。
12.合理地使用技术 根据需要而不是其他因素选择技术。对各种技术方案进行严格地追问,真诚面对各种问题。
13.让应用随时都可以发布 通过善用持续集成和版本管理,你应该随时都能够编译、运行甚至部署应用。
14.提早集成,频繁集成 集成有风险,要尽早尽量多地集成。15.提早实现自动化部署 16.使用演示获得频繁反馈 17.使用短迭代,增量发布
18.固定价格就意味着背叛承诺 估算应该基于实际的工作不断变化。用户篇 19.守护天使 自动化单元测试是你的守护天使。20.先用它再实现它 测试驱动开发其实是一种设计工具。21.不同环境,就有不同问题 要重视多平台问题。22.自动验收测试
23.度量真实的进度 在工作量估算上,不要自欺欺人。24.倾听用户的声音 每一声抱怨都隐藏着宝贵的真理。编程篇
25.代码要清晰地表达意图
代码是给人读的,不要耍小聪明。26.用代码沟通 注释的艺术。
27.动态地进行取舍 记住,没有最佳解决方案。各种目标不可能面面俱到,关注对用户重要的需求。
28.增量式编程 写一点代码就构建、测试、重构、休息。让代码干净利落。
29.尽量简单 宁简勿繁。如果没有充足的理由,就不要使用什么模式、原则和特别的技术。30.编写内聚的代码 类和组件应该足够小,任务单一。31.告知,不要询问 多用消息传递,少用函数调用。32.根据契约进行替换 委托往往优于继承。调试篇
33.记录问题解决日志)不要在同一地方摔倒两次。错误是最宝贵的财富。34.警告就是错误 忽视编译器的警告可能铸成大错。
35.对问题各个击破
分而治之是计算机科学中最重要的思想之一。但是,要从设计和原型阶段就考虑各部分应该能够很好地分离。
36.报告所有的异常 37.提供有用的错误信息
稍微多花一点心思,出错的时候,将给你带来极大便利。团队协作篇
38.定期安排会面时间 常开会,开短会。
39.架构师必须写代码
不写代码的架构师不是好架构师。好的设计都来自实际编程。编程可以带来深入的理解。
40.实行代码集体所有制 让开发人员在系统不同区域中不同的模块和任务之间轮岗。41.成为指导者 教学相长。分享能提高团队的总体能力。
42.让大家自己想办法
指引方向,而不是直接提供解决方案。让每个人都有机会在干中学习。
43.准备好后再共享代码 不要提交无法编译或者没有通过单元测试的代码!44.做代码复查 复查对提高代码质量、减少错误极为重要。45.及时通报进展与问题
主动通报,不要让别人来问你。
第五篇:编程小结
编程小结
(一)一.累加:加数1+加数2+加数3+„„+加数n(n个加数相加)假设我们用i表示我们的加数数目,例如:当i=9时,就表示加数9 模版:int i,sum=0;(注意:如果是分数或者小数sum就是float类型)
for(i=1;i<=n;i++)(注意:循环变量的初值和递变规律,也有
可能是i--,或者i+=2等等){通项a;(通项:用一个通用的式子表示所有的加数)sum+=a;} printf(“%d”,sum);(注意:如果是float类型就是%f)
1、求1+2+3„„+100的和,则通项a就是i。
分析:因为a就是i的值,所以这里不需要通项这一行了,因此整个大括号中间就只有一句话,所以大括号可以省略。整理之后就是: int i,sum=0;for(i=1;i<=100;i++)sum+=i;printf(“%d”,sum);
2、求2+4+6„„+100的和。
分析:因为a就是i的值,所以这里不需要通项这一行了,因此整个大括号中间就只有一句话,所以大括号可以省略,再分析,再分析我们发现每个加数都是偶数,那么i的变化就是i+=2,并且i是从2开始变化,那么在赋值的时候就应该是i=2。整理之后就是: int i,sum=0;for(i=2;i<=100;i+=2)sum+=i;printf(“%d”,sum);
3、求1+3+5„„+99的和。
分析:因为a就是i的值,所以这里不需要通项这一行了,因此整个大括号中间就只有一句话,所以大括号可以省略,再分析,再分析我们发现每个加数都是奇数,那么i的变化就是i+=2。整理之后就是: int i,sum=0;for(i=1;i<=100;i+=2)sum+=i;printf(“%d”,sum);
4、求1+5+9+13+17+„„的前100项的和,则通项为j+4,则程序为: int i,sum=0,j=1;for(i=1;i<=100;i++){ sum+=j;j=j+4; } printf(“%d”,sum);因为加数的第一项是1,所以赋初值的时候j=1,然后加数进行变化,变成5加到sum里面,所以这里要将通项和求和这两句话互换位置。
5、求1+4+9+16+„„的前100项的和
分析可知:每个加数就是对应的加数数目的平方,则通项为i*i,则程序为: int i,sum=0;for(i=1;i<=100;i++)sum+= i*i;printf(“%d”,sum);
6、求1+(1+2)+(1+2+3)+(1+2+3+4)+„„的前100项的和。
分析可知每一个加数本身又是一个累加的式子,进一步观察可以发现,每个累加的式子都是加到这个加数所在的加数数目,即第35个加数就是1+2+3„„+35,并且是在前面一个加数的基础上加上这个加数所在的加数数目,也就是说第36个加数就是在前一个加数的基础上加上36,即:1+2+3„„+35+36。假设第k个加数是j,那么第k+1个加数就可以表示为j+(k+1),然后第k+2个加数就是j+(k+1)+(k+2)„„那么我们的通项就可以表示为a=a+i,则程序为: int i,sum=0, a=0;for(i=1;i<=100;i++){ a+=i;sum+=a;} printf(“%d”,sum);
7、求1+1+2+3+5+8+13+21+„„的前100项的和。
分析可知从第三个加数开始,每一个加数是其前两个加数之和,假设第k个加数是m,第k+1个加数是n,然后第k+2个加数就是m+n,那么我们的通项就可以表示为a=m+n,但是要注意每次加数所对应的m和n不一样,所以我们要在求出每个加数之后,找出其对应的m和n;再分析我们可以发现当前的n是下一次的m,当前的加数a是下一次的n,假设接着上面的推导,那么第k+3个加数就是n+(m+n),对应我们的通项a=m+n,理解前面一句话。则程序为: int i,sum=0, m=1,n=1,a;for(i=3;i<=100;i++){ a=m+n;sum+=a;m=n;n=a;} printf(“%d”,sum);
8、求1+1/2+1/3+„„+1/100 分析可知每一个加数就是我们的加数数目的倒数,则通项a就是1/i,我们说循环变量i一般定义为整型,那么1/i的结果就是整型,这样的话小数点后面的就会被省略,所以正确的应该写为a=1.0/i,则程序为:
int i;float sum=0;for(i=1;i<=100;i++){a=1.0/i;sum+=a;} printf(“%f”,sum);
9、求1+1/2+2/3+3/5+5/8+„„的前100项的和。
分析可从第三个加数开始观察,每一个加数的分母是其前一个加数的分子和分母之和,每一个加数的分子是其前一个加数的分母。可以将第一个加数看成1/1,那么第二个加数也符合我们的规律,只有第一个不符合,那么我们可以先将第一个加数加到sum,然后再变下一个加数,但是要注意每次加数所对应的分子和分母不一样,所以我们要在求出每个加数之后,找出下一个加数所对应的分子和分母。设通项表示为a=m/n, 那么下一个加数是n/(m+n),然后下下一个加数就是(m+n)/(m+n+n);再分析我们可以发现当前的分子和分母之和(m+n)是下一次的分母n,当前的分母n是下一次的分子m,注意这里在做数据交换的时候需要中间变量,对应我们的通项a=m/n,理解前面一句话。则程序为: int i;float sum=0, m=1,n=1,t;for(i=1;i<=100;i++){ sum+=m/n;t=m+n;m=n;n=t;} printf(“%f”,sum);
二.累乘:乘数1*乘数2*乘数3*„„*乘数n(n个乘数相乘)假设我们用i表示我们的乘数数目,例如:当i=9时,就表示乘数9 模版:int i,sum=1;(注意:如果是分数或者小数sum就是float类型)
for(i=1;i<=n;i++)(注意:循环变量的初值和递变规律,也有
可能是i--,或者i+=2等等){通项a;(通项:用一个通用的式子表示所有的乘数)sum*=a;} printf(“%d”,sum);(注意:如果是float类型就是%f)
1、求1*2*3„„*100的积,则通项a就是i。
分析:因为a就是i的值,所以这里不需要通项这一行了,因此整个大括号中间就只有一句话,所以大括号可以省略。整理之后就是: int i,sum=1;for(i=1;i<=100;i**)sum*=i;printf(“%d”,sum);
2、求2*4*6„„*100的和。分析:因为a就是i的值,所以这里不需要通项这一行了,因此整个大括号中间就只有一句话,所以大括号可以省略,再分析,再分析我们发现每个乘数都是偶数,那么i的变化就是i+=2,并且i是从2开始变化,那么在赋值的时候就应该是i=2。整理之后就是: int i,sum=1;for(i=2;i<=100;i+=2)sum*=i;printf(“%d”,sum);
3、求1*3*5„„*99的和。
分析:因为a就是i的值,所以这里不需要通项这一行了,因此整个大括号中间就只有一句话,所以大括号可以省略,再分析,再分析我们发现每个乘数都是奇数,那么i的变化就是i+=2。整理之后就是: int i,sum=1;for(i=1;i<=100;i+=2)sum*=i;printf(“%d”,sum);
4、求1*5*9*13*17*„„的前100项的积,则通项为j*4,则程序为: 分析:因为乘数的第一项是1,所以赋初值的时候j=1,然后乘数进行变化,变成5乘到sum里面,所以这里要将通项和求积这两句话互换位置。
int i,sum=1,j=1;for(i=1;i<=100;i**){ sum*=j;j=j*4; } printf(“%d”,sum);
5、求1*4*9*16*„„的前100项的积
分析可知:每个乘数就是对应的乘数数目的平方,则通项为i*i,则程序为: int i,sum=1;for(i=1;i<=100;i**)sum*= i*i;printf(“%d”,sum);
6、求1*(1*2)*(1*2*3)*(1*2*3*4)*„„的前100项的积。分析可知每一个乘数本身又是一个累乘的式子,进一步观察可以发现,每个累乘的式子都是乘到这个乘数所在的乘数数目,即第35个乘数就是1*2*3„„*35,并且是在前面一个乘数的基础上乘上这个乘数所在的乘数数目,也就是说第36个乘数就是在前一个乘数的基础上乘上36,即:1*2*3„„*35*36。假设第k个乘数是j,那么第k+1个乘数就可以表示为j*(k+1),然后第k+2个乘数就是j*(k+1)*(k+2)„„那么我们的通项就可以表示为a=a*i,则程序为: int i,sum=1, a=0;for(i=1;i<=100;i**){ a*=i;sum*=a;} printf(“%d”,sum);
7、求1*1*2*3*5*8*13*21*„„的前100项的积。
分析可知从第三个乘数开始,每一个乘数是其前两个乘数之和,假设第k个乘数是m,第k+1个乘数是n,然后第k+2个乘数就是m+n,那么我们的通项就可以表示为a=m+n,但是要注意每次乘数所对应的m和n不一样,所以我们要在求出每个乘数之后,找出其对应的m和n;再分析我们可以发现当前的n是下一次的m,当前的乘数a是下一次的n,假设接着上面的推导,那么第k+3个乘数就是n*(m+n),对应我们的通项a=m*n,理解前面一句话。则程序为: int i,sum=1, m=1,n=1,a;for(i=3;i<=100;i**){ a=m+n;sum*=a;m=n;n=a;} printf(“%d”,sum);
8、求1*1/2*1/3*„„*1/100 分析可知每一个乘数就是我们的乘数数目的倒数,则通项a就是1/i,我们说循环变量i一般定义为整型,那么1/i的结果就是整型,这样的话小数点后面的就会被省略,所以正确的应该写为a=1.0/i,则程序为:
int i;float sum=1;for(i=1;i<=100;i**){a=1.0/i;sum*=a;} printf(“%f”,sum);
9、求1*1/2*2/3*3/5*5/8*„„的前100项的积。
分析可从第三个乘数开始观察,每一个乘数的分母是其前一个乘数的分子和分母之和,每一个乘数的分子是其前一个乘数的分母。可以将第一个乘数看成1/1,那么第二个乘数也符合我们的规律,只有第一个不符合,那么我们可以先将第一个乘数乘到sum,然后再变下一个乘数,但是要注意每次乘数所对应的分子和分母不一样,所以我们要在求出每个乘数之后,找出下一个乘数所对应的分子和分母。设通项表示为a=m/n, 那么下一个乘数是n/(m+n),然后下下一个乘数就是(m+n)/(m+n+n);再分析我们可以发现当前的分子和分母之和(m+n)是下一次的分母n,当前的分母n是下一次的分子m,注意这里在做数据交换的时候需要中间变量,对应我们的通项a=m/n,理解前面一句话。则程序为: int i;float sum=1, m=1,n=1,t;for(i=1;i<=100;i**){ sum*=m/n;t=m+n;m=n;n=t;} printf(“%f”,sum);
10、求1+(1*2)+(1*2*3)+(1*2*3*4)+„„的前100项的和。
分析可知每一个加数本身是一个累乘的式子,进一步观察可以发现,每个累乘的式子都是乘到这个乘数所在的乘数数目,即第35个乘数就是1*2*3„„*35,并且是在前面一个乘数的基础上乘上这个乘数所在的乘数数目,也就是说第36个乘数就是在前一个乘数的基础上乘上36,即:1*2*3„„*35*36。假设第k个乘数是j,那么第k+1个乘数就可以表示为j*(k+1),然后第k+2个乘数就是j*(k+1)*(k+2)„„那么我们的通项就可以表示为a=a*i,再利用累加的模版,则程序为:
int i,sum=0, a=1;for(i=1;i<=100;i**){ a*=i;sum+=a;} printf(“%d”,sum);
11、求1*(1+2)*(1+2+3)*(1+2+3+4)*„„的前100项的积。
分析可知每一个乘数本身又是一个累加的式子,进一步观察可以发现,每个累加的式子都是加到这个乘数所在的乘数数目,即第35个乘数就是1+2+3„„+35,并且是在前面一个乘数的基础上加上这个乘数所在的乘数数目,也就是说第36个乘数就是在前一个乘数的基础上加上36,即:1+2+3„„+35+36。假设第k个乘数是j,那么第k+1个乘数就可以表示为j+(k+1),然后第k+2个乘数就是j+(k+1)+(k+2)„„那么我们的通项就可以表示为a=a+i, 再利用累乘的模版,则程序为:
int i,sum=1, a=0;for(i=1;i<=100;i**){ a+=i;sum*=a;} printf(“%d”,sum);
三.最大值和最小值:数字0,数字1,数字2,„„数字n-1(一共n个数字)假设我们用i表示我们的数字所在的位置,并且第一个位置是0,例如:当i=9时,就表示这个数字在第10个位子
模版: int i,max,a[n];(注意:如果是分数或者小数max和a[n]就是float
类型,注意这里定义的时候根据题目所给的具体数字把n换掉,千万不可以写a[n]o哦~~~~)
for(i=0;i 了数字,就在定义的时候直接赋值,这个循环就不需要了;如果要求产生给数组赋a到b之间的随机数,那么就用a[i]= a + rand()%(b-a);这句话代替这句。注意如果是float类型就是%f)max=a[0];for(i=0;i 1、求20个数字的最大值和最小值,要求赋1到100之间的随机数,并且输出它们及其下标。 分析:因为这里还要输出其下标,所以还有定义一个row来存放,并且要对其赋值为0,因为我们给max赋值为a[0],则程序为: int i,max,min,a[20],row1=0,row2=0;for(i=0;i<20;i++)a[i]= 1+rand()%99;max=a[0];min=a[0];for(i=0;i<20;i++){ if(maxa[i])(这里是找出最小值){ min=a[i];row2=i;} } printf(“max =%d, row=%dn min =%d, row=%dn”, max,row1,min,row2); 2、求4*5矩阵的最大值和最小值,要求赋值随机数,并且输出它们及其下标。分析:虽然这是一个二维的数组,但是其思路仍然和一维数组的一样,区别只是这里需要用嵌套循环。要求还要输出其下标,二维数组的下标是两个,所以还要定义一个row和一个col来存放,并且要对它们赋值为0,因为我们给max赋值为a[0] [0],则程序为: int i,j,max,min,a[4] [5],row1=0,row2=0,col1=0,col2=0;for(i=0;i<4;i++)for(j=0;j<5;j++)a[i] [j]=rand();max=a[0] [0];min=a[0] [0];for(i=0;i<4;i++)for(j=0;j<5;j++){ if(maxa[i] [j])(这里是找出最小值){ min=a[i] [j];row2=i;col2=j;} } printf(“max =%d, row=%d, col=%d n min =%d, row=%d, col=%d n”, max,row1, col1, min,row2, col2); 3、求4*5矩阵的每一行最大值和最小值,要求赋值随机数,并且输出它们及其下标。 分析:虽然这是一个二维的数组,但是要求的是每一行的最大最小值,我们知道二维数组的每一行本身就是一个数组,那么我们就还需要一个控制行数的循环。要求还要输出其下标,二维数组的下标是两个,每一行的最大最小值其行号不就是i,所以还要定义一个存放列号的col,并且要对它赋值为0,因为我们给max赋值为每一行的第一个元素,也就是a[i] [0],则程序为: int i,j,max,min,a[4] [5],col1=0,col2=0;for(i=0;i<4;i++)for(j=0;j<5;j++)a[i] [j]=rand();for(i=0;i<4;i++)(这个循环是控制行的,里面的循环体本身就是一个求 一维数组的最大最小值的程序) {max=a[i] [0];min=a[i] [0];for(j=0;j<5;j++){ if(maxa[i] [j])(这里是找出最小值){ min=a[i] [j];col2=j;} } printf(“max =%d, row=%d, col=%d n min =%d, row=%d, col=%d n”,max,i, col1, min,i, col2);} 4、求4*5矩阵的每一列最大值和最小值,要求赋值随机数,并且输出它们及其下标。 分析:虽然这是一个二维的数组,但是要求的是每一列的最大最小值,二维数组的每一列可以看成一个数组,那么我们就还需要一个控制列数的循环。要求还要输出其下标,二维数组的下标是两个,每一列的最大最小值其列号不就是j,所以还要定义一个存放行号的row,并且要对它赋值为0,因为我们给max赋值为每一列的第一个元素,也就是a[0] [j],则程序为: int i,j,max,min,a[4] [5],row1=0,row2=0;for(i=0;i<4;i++)for(j=0;j<5;j++)a[i] [j]=rand();for(j=0;j<5;j++)(这个循环是控制列的,里面的循环体本身就是一个求 一维数组的最大最小值的程序){max=a[0] [j];min=a[0] [j];for(i=0;i<4;i++){ if(maxa[i] [j])(这里是找出最小值){ min=a[i] [j];row2=i;} } printf(“max =%d, row=%d, col=%d n min =%d, row=%d, col=%d n”,max, row1,j, min, row2,j);} 5、排序(冒泡法)比如说 对于5个数字排序,首先要把5个数字放到一个一维的数组里面去 所以编程的前几句为:int a[5] for(i=0;i<5;i++)scanf(“%d”,&a*i+); 那接下来就是排序了,为了方便理解就将数组实际化:比如 a[5]里面放着{7,9,0,12,3}那画图出来就是 a[5] a[0] a[1] a[2] a[3] a[4] 那我们排序的方法是这样的采用这样几步: 1,用a[0]与后面的(a[1]~a[4]里面的每一个成员比较即是说:a[0]~a[1]比较 a[0]~a[2]比较 a[0]~a[3]比较 a[0]~a[4]比较)当后面的成员只要发现比a[0]小的就与他的位置交换 这部做完之后数组就应 该是这个样子: a[0] a[1] a[2] a[3] a[4] 2,用a[1]与后面的(a[2]~a[4]里面的每一个成员比较即是说: a[1]~a[2]比较 a[1]~a[3]比较 a[1]~a[4]比较)当后面的成员只要发现比a[1]小的就与他的位置交换 这部做完之后数 组该是这个样子:这个时候的a1不是我们赋初值时候的a1老就是我们改变后的数组所以这个时候的a1=9哦。 a[0] a[1] a[2] a[3] a[4] 3,用a[2]与后面的(a[3]~a[4]里面的每一个成员比较即是说: a[2]~a[3]比较 a[2]~a[4]比较)当后面的成员只要发现比a[2]小的就与他的位置交换 这部做完之后数组就应 该是这个样子: a[0] a[1] a[2] a[3] a[4] 4,用a[3]与后面的(a[4]~a[4]里面的每一个成员比较即是说: a[3]~a[4]比较)当后面的成员只要发现比a[2]小的就与他的位置交换 这部做完之后数组就应 该是这个样子: a[0] a[1] a[2] a[3] a[4] 循环就是 写成这个样子的哦: for(i=0;i<4;i++)