| 編程(Programming)是編定程序的中文簡(jiǎn)稱,就是讓計(jì)算機(jī)代碼解決某個(gè)問(wèn)題,對(duì)某個(gè)計(jì)算體系規(guī)定一定的運(yùn)算方式,使計(jì)算體系按照該計(jì)算方式運(yùn)行,并最終得到相應(yīng)結(jié)果的過(guò)程。為了使計(jì)算機(jī)能夠理解(understand)人的意圖,人類就必須將需解決的問(wèn)題的思路、方法和手段通過(guò)計(jì)算機(jī)能夠理解的形式告訴計(jì)算機(jī),使得計(jì)算機(jī)能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計(jì)算體系之間交流的過(guò)程就是編程。 【實(shí)例名稱】 查找兩段文本中相同的詞句 【實(shí)例描述】 在網(wǎng)站的常用操作中,有時(shí)需要對(duì)比兩段文本內(nèi)容,找出其中的相同點(diǎn)和不同點(diǎn)。本例學(xué)習(xí)如何找出兩段文本內(nèi)容的相同點(diǎn)。 【實(shí)例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>標(biāo)題頁(yè)</title>
<SCRIPT LANGUAGE="JavaScript">
function compare(a, b, n)
{
var c=a.length>b.length?b:a;
//減少循環(huán)
if(b==c) b=a; a=c;
if(!n) n=1;
//創(chuàng)建數(shù)組,逐字比較文本
var mm = new Array();
for(var i=0; i<a.length; i++)
{
for(var j=i+n; j<=a.length; j++)
{
var s = a.substring(i, j);
if(b.indexOf(s)==-1)
{
if(s.length>n) {
mm[mm.length] = a.substring(i, j-1);
i = j-2; }
break;
}
else {
if(j==a.length) {
mm[mm.length]=s; }
}
} }
return mm.Unique().join(","); //去除數(shù)組里的重復(fù)項(xiàng)
}
//為Array數(shù)組定義方法Unique
Array.prototype.Unique = function()
{
var a = {};
for(var i=0; i<this.length; i++)
{
if(typeof a[this[i]] == "undefined")
a[this[i]] = 1;
}
this.length = 0;
for(var i in a)
this[this.length] = i;
return this;
};
//定義變量,并調(diào)用比較方法
var a = "北京要舉辦奧運(yùn)會(huì)";
var b = "上海要舉辦世博會(huì)";
alert("返回的結(jié)果:"+ compare(a, b, 2));
</SCRIPT>
</head>
<body> </body>
</html>
【運(yùn)行效果】 
【難點(diǎn)剖析】 本例的重點(diǎn)是使用兩個(gè)循環(huán)逐字節(jié)比較字符,但這個(gè)并沒(méi)有技術(shù)難點(diǎn),最難的是“pfototype”屬性,用其提供對(duì)象的一組基本功能,本例中為Array對(duì)象創(chuàng)建了方法“Unique”。 【源碼下載】 本實(shí)例JS代碼下載
使用編程語(yǔ)言寫的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |