前言
MAX马上就要生初一了,之前学过一段时间python语言,对计算机编程有浓厚兴趣。可原先在PC上写的代码,执行的结果也只能在PC上显示,效果也不够酷炫。听说爸爸有办法可以让代码执行后在手机上秀出来,就很好奇,决定利用这个暑期好好学一下。
通过第一天的学习和尝试,我对XML有了一定的了解,在参考了一些文档和示例后“静态”页面初步完成。接下来需要学习令人感到神奇的javascript语言了。说它神奇,就是它能够让原来“静”的页面“动”起来。用比较“专业”的术语来说,在imag这个框架(爸爸说的一个专有名词)中,XML标签就像一个人的躯壳,而js就是能赋予这个躯体运动能量的和血液。
让我们看一下这里面用到的一些局部代码,对于学习过python或者c++这些语言的同学来说,只要理解下js规范就应该会理解和编写。(大部分计算机高级编程语言是相通的)。在imag代码体系中,这些js代码需要放在专门的<script></script>标签对中。用js编写的函数可以被调用,例如:
<script> <![CDATA[ function bubblesort(){ var num1 = parseInt($('num1').value);//数字的输入 var num2 = parseInt($('num2').value); var num3 = parseInt($('num3').value); var num4 = parseInt($('num4').value); var num5 = parseInt($('num5').value); var nums = []; var t=0; nums.push(num1); nums.push(num2); nums.push(num3); nums.push(num4); nums.push(num5); for(k=0;k<5;++k) { for(i=0;i<5-k;i++) { if(nums[i]>nums[i+1]) { t = nums[i]; nums[i] = nums[i+1]; nums[i+1] = t; } } } var numString = ''; for(n=0;n<5;n++) { numString = numString + nums[n] + ' ; '; } numString - ' ; ' $('answer').text = JSON.stringify(numString); } function change() { var b = $('button'); b.css('alpha', '0.3'); $page.setTimeout(function() { b.css('alpha', '1') }, 500); } ]]> </script>
<button onclick="change();bubblesort()">开始排序</button>
onclick事件触发JavaScript中的冒泡排序方法bubblesort()和数字改变方法change()。
上面用js写的函数/方法可以和python/c++的代码做一些对比。
Python冒泡排序法
def bubblesort(number,size):##python冒泡排序法 t=0 t=int(t) for j in range(0,size-1): for k in range(0,size-1): if number[k]>number[k+1] t=number[k] number[k]=number[k+1] number[k+1]=t for m in range(0,size): print(number[m]) inputnumbers=[] howmany=input('how many?') howmany=int(howmany) for i in range(0,howmany): inputnumbers.append('') inputnumbers[i]=input('input the number:') inputnumbers[i]=int(inputnumbers[i]) bubblesort(inputnumbers,howmany)
C++快速排序法
void quicksort(int num[],int left,int right)//C++快速排序法 { int i,j,key,temp; i=left; j=right; key=num[i]; if(left>=right) { return; } while(i<j) { while((key<=num[j])&&(i<j)) { j--; } if(key>num[j]) { temp=num[i]; num[i]=num[j]; num[j]=temp; } while((num[i]<=key)&&(i<j)) { i++; } if(num[i]>key) { temp=num[j]; num[j]=num[i]; num[i]=temp; } } quicksort(num,left,i-1); quicksort(num,j+1,right); }
接下来要挑战做一个什么应用呢?我已经有了主意(先保密),反正一定做个热门的应用吧。