''' |
Sub 与 Function 在VB程序设计中的区别
Private Sub 与 Function 在 VB 程序设计中的区别
function 是函数,sub
是子程序,都可以传递参数,但函数有返回值,子程序没有
function 可以用自身名字返回一个值,sub
需定义别的变量,用传址方式传回值。
Sub 过程与 Function 过程的区别:
1. Sub 过程定义时无需定义返回值类型,而 Function 过程一般需要用“As
数据类型” 定义函数返回值类型。
2. Sub 过程中没有对过程名赋值的语句,而 Function
过程中一定有对函数名赋值的语句。
3. 调用过程:调用 Sub 过程与 Function 过程不同。调用 Sub
过程的是一个独立的语句,而调用函数过程只是表达式的一部分。Sub
过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function
过程一样,Sub 过程也可以修改传递给它们的任何变量的值。
4. 调用 Sub 过程有两种方法:
以下两个语句都调用了名为 MyProc 的 Sub 过程。
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意当使用 Call 语法时,参数必须在括号内。若省略 Call
关键字,则也必须省略参数两边的括号。
VB类与模块的区别
类可以实例化为对象,而模块则不能。由于模块的数据只有一个副本,因此当程序的一部分更改模块中的公共变量时,如果程序的其他任何部分随后读取该变量,都会获取同样的值。与之相反,每个实例化对象的对象数据则单独存在。
类可以被继承,也可以实现接口,模块则不能
在类中定义的成员其作用范围在类的特定实例内,并且只存在于对象的生存周期内。要从类的外部访问类的成员,必须使用全限名称,格式为 Object.Member
PyLucene安装
1.安装 Python
sudo apt-get install python |
2.安装 Ant
sudo apt-get install ant |
3.安装 setuptools
sudo apt-get install python-setuptools |
打补丁:
mkdir tmp |
4.安装 JDK
sudo apt-get install openjdk-6-jdk |
5.安装 Pylucene 下载地址:http://www.apache.org/dyn/closer.cgi/lucene/pylucene/ tar xzvf pylucene-3.0.1-1-src.tar.gz cd pylucene-3.0.1-1/jcc
6.安装 jcc
python setup.py build |
7.修改 Makeifle 打开了这几行注释:
# Linux (Ubuntu 8.10 64-bit, Python 2.5.2, OpenJDK 1.6, setuptools 0.6c9) |
修改-m jcc 为 -m jcc.main
8.编译安装 Pylucene
make |
【IT笔试面试题整理】二进制序列
【试题描述】
给你一个二进制序列比如10100,进行左循环移位n
次,n是二进制序列的长度,每移位一次产生一个新二进制序列
序列1
10100
01001
10010
00101
01010
然后把这些序列进行排序,变成序列2
序列2
00101
01001
01010
10010
10100
提取最后一列(注意是列不是行):11000
现在给你序列2的最后一列11000,让我们求出序列2的第一行
【试题来源】某大学研究生复试面试题
【试题分析】
首先经过n次变化然后排序所得序列2是个nn的矩阵M。M矩阵的每一行无论是同时左移或者同时右移I位后得到的新矩阵P,这个新的矩阵的每一行其实还是能在矩阵M中找到。因此,任意一列都包含了原序列的所有信息。
这里我们有最后一列,只要将最后一列排序即可得到第一列的元素。
这样我们就可以知道第一列F和最后一列L这时将矩阵每一位循环右移,则此时的矩阵第一列为L,第二列为F。
然后按照前两列组成的序列进行排序,得到新的矩阵。所得矩阵的第一列与原矩阵第一列相同,即为F,于是第二列为原矩阵的第二列,于是可以求得第二列。
此时就得到的第一列,第二列,以及已知的最后一列,然后再次右移排序,可以得到第三列。
经过数次变换可以得到整个矩阵M,即可求得序列2的第一行。
【算法】
假设变换2的最后一列记为L(实现上可以作为1维数组)
1. 建立一个nn的矩阵M(实现上可以作为2维数组),初始值为全0
2. 将L复制到M的第一列(最左边的一列)
3. 对M的第一列进行排序(从小到大)
4. 循环n-2次{将M的每行右移1位;将L复制到M的第一列;将M按行排序}
5. 将L复到M的最后1列(最右边的一列)
此时的M就是变化2后的矩阵。
【代码】
#------------------------------------------------------------------------------- |
【参考资料】 http://topic.csdn.net/u/20110405/13/9393c9a7-b86c-482d-acaf-e8c391541875.html http://topic.csdn.net/u/20110405/13/385ab3c5-a21b-407e-9773-a667d327d0ee.html?41862 http://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform
Ubuntu下django安装
系统版本:Ubuntu 10.10
Python 安装
sudo apt-get install python |
Apache 安装
sudo apt-get install apache2 |
mod_python 模块安装
sudo apt-get install libapache2-mod-python |
测试 Apache
重启电脑后,在浏览器中输入:http://localhost
出现"It works"说明安装成功
安装 django
下载 Django-1.3.tar.gz
tar xzvf Django-1.3.tar.gz |
测试 django
在 Python 命令行中输入
import django |
如果无错误则安装成功。
mysql 安装
sudo apt-get install mysql-server mysql-client mysql-admin |
python mysql 支持:
sudo apt-get install python-mysqldb |
各种内排序算法(Python实现)
#------------------------------------------------------------------------------- |
【IT笔试面试题整理】求1+2+…+n
【题目描述】 求1+2+…+n 要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句 【题目来源】未知 【题目分析】 一般求1+2+…n,是使用循环或者阶乘,这边加限制条件可以考虑用递归。如果使用递归的话,最重要的就是考虑递归退出条件,由于不能用if语句,而退出必然需要判断,于是使用了bool型表达式,用于终止函数的继续递归。 【代码】
#include<iostream> |
Excel单元格自动变色
单击单元格,点"格式"->"条件格式"
设定条件
点"格式"->"字体"->"颜色",选中你喜欢的颜色
点"确定"。
【IT笔试面试题整理】连续整数之和为1000
【题目描述】连续整数之和为1000可分为几组
【题目来源】Microsoft
【题目分析】
假设连续的整数之和为从n到m。那么n累加到m的和为(n+m)(m-n+1)/2=1000。
即(n+m)(m-n+1) =
2000。也就是说要将2000分解为一个奇数和偶数的乘积。
将2000因式分解得到2000 = 2^4 * 5^3。
于是可以分为4组
2000 = 16125
2000 = 80 25
2000 = 400 * 5
2000 = 2000 * 1
解二元一次方程可以得到各个n和m。