
九九表
九九表也称为“乘法口诀表”,俗称《小九九》,以一至九每二数相乘所编成,如“一一得一”,“九九八十一”等,起源甚早,我国敦煌汉简和居延汉简中,均有九九表的描述,元代朱世杰所着《算学启蒙》中,有九九数法。九九表是个位数的乘法口诀,因古代从“九九八十一”开始,故名九九表。《管子》等先秦典籍中许多九九口诀片段,史籍中有齐桓公设庭燎,视“九九”为“薄能”而招贤纳士的故事。20世纪50~60年代出土的九九表竹简很多,然而均残缺。
基本介绍
- 中文名:九九表
- 外文名:nine nine table
- 俗称:《小九九》
- 定义:乘法口诀表
- 表示:数学表格,或用C语言描述
- 套用:数学
口诀简介
作为启蒙教材,我们都背过九九乘法表:一一得一、一二得二……九九八十一。而古代是从"九九八十一"开始,因此称"九九表"。九九表的使用,对于完成乘法是大有帮助的。齐桓公纳贤的故事说明,到公元前7世纪时,九九歌诀已不稀罕。也许有人认为这种成绩不值一提。但在古代埃及作乘法却要用倍乘的方式呢。举个例子。如算23×13,就需要从23开始,加倍得到23×2,23×4,23×8,然后注意到13=1+4+8,于是23+23×4+23×8加起来的结果就是23×13。从比较中不难看出使用九九表的优越性了。
根据考古专家在湖南张家界古人堤汉代遗址出土的简牍上发现的汉代"九九乘法表",竟与现今生活中使用的乘法口诀表有着惊人的一致。这枚记载有"九九乘法表"的简牍是木质的,大约有22厘米长,残损比较严重。此前在湘西里耶古城出土的一枚秦简上也发现了距今2200多年的乘法口诀表,并被考证为中国现今发现的最早的乘法口诀表实物。除了里耶秦简外,与张家界古人堤遗址发现的这枚简牍样式基本一致的"九九乘法表"还曾在楼兰文书中见到过,那是写在两张残纸上的九九乘法表,为瑞典探险家斯文赫定在上个世纪初期发掘。乘法表在古代并非中国一家独有,古巴比伦的泥版书上也有乘法表。但汉字(包括数目字)单音节发声的特点,使之读起来朗朗上口;后来发展起来的珠算口诀也承继了这一特点,对于运算速度的提高和算法的改进起到一定作用。
九九表是个位数的乘法口诀,因古代从“九九八十一”开始,故名九九表。《管子》等先秦典籍中许多九九口诀片段,史籍中有齐桓公设庭燎,视“九九”为“薄能”而招贤纳士的故事。20世纪50~60年代出土的九九表竹简很多,然而均残缺。九九表在西方也叫作“毕达哥拉斯表”。
历史故事
故事内容
九九表在我国古代叫九九歌。关于它有这样一个故事:传说春秋时期,齐桓公曾经设立招贤馆徵求天下才。可是等了很久,一直没有人来应徵。过了一年多。才来了一个人.他把“九九歌”献给齐桓公,作为表示才学的献礼。齐桓公觉得此人十分可笑,就对这个人说:“九九歌也能拿出来表示才学吗?”
来人很有礼貌地回答说:“会九九歌确实够不上什幺才学,但是如果您对我这个只懂得九九歌的人都能以礼相待的话,还怕天下高明人才不投奔到您这儿来吗?”
齐桓公觉得此人说得有理.就把他迎进招贤馆,并给予隆重的招待。这个讯息不胫而走,果然,不到一个月的时间,就有许多贤才从四面八方来到了齐国。
反映事实
这个故事说明,九九歌的出现不会晚于春秋战国时代,在那时九九歌已经广为流传了。最早的九九歌是大数排在前面的,从“九九八十一”开始到“二二而四”止。到《孙子算经》已经扩充至“一一如一”,这大约是公元5至10世纪的事了。大约在13-14世纪的宋朝,九九歌的顺序才反转过来,变成和现代所使用的一样,由“一一得一”开始至“九九八十一”结束。
程式实现
利用C语言输出
利用C语言可输出九九表,该例的关键在于理解for循环语句,掌握游标位置的控制方法。具体程式如下:
#include <stdio.h>#include <conio.h>void main(){int i,j,x,y;clrscr();printf("\n\n ***九九表***\n\n")x=9;y=5; for(i=1;i<=9;i++){ gotoxy(x,y); printf("%2d",i); x+=3; } x=7; y=6; for(i=1;i<=9;i++){ gotoxy(x,y); printf("%2d",i); y++; } x=9; y=6; for(i=1;i<=9;i++){ for(j=1;j<=9;j++){ gotoxy(x,y); printf("%2d",i); y++; } y-=9; x+=3; } printf("\n\n");}
利用Excel製作
九九表中的内容存在着明显的规律,每一个表达式都是由被乘数、乘号、乘数、等号和积5个部分构成的,而式子中的被乘数与单元格所在的列号相同,乘数与单元格所在的行号相同。可以构想,使用ROW、COLUMN两个函式的值来表示单元格中乘法表达式的被乘数和乘数,表达式中的积可以使用这两个函式值相乘得到。以往使用Excel进行计算时通常都是在1个单元格中输入1个数值或字元串,那幺如何在1个单元格中输入由被乘数、乘号、乘数、等号和积5个部分组成的乘法表达式呢?在这里可以使用文本连结运算符“&”将这些内容连线起来构成1个新的字元串来表示九九表中的1个乘法表达式。实施步骤如下:
(1)选中Excel工作表中的A1单元格。
(2)在单元格中输入公式“=COLUMN()&”×”&ROW()&”=”&ROW()*COLUMN()”。
(3)拖动A1单元格右下角的“填充柄”到A9单元格,即将A1单元格中的公式複製到A2:A9单元格区域。此时A1:A9单元格区域处于选中状态,拖动区域右下角的“填充柄”,将公式複製到B1:I9。
需要注意的是这样直接得到的结果并不尽如人意。右上方的表达式应该隐去,才符合本任务的要求。也就是说,乘数大于或等于被乘数时才显示乘法表达式,而在乘数小于被乘数时单元格中不显示内容。
(4)修改A1单元格的公式,在原公式中添加IF函式:
”=IF(ROW()<COLUMN(),"",COLUMN()&”×”&ROW()&"=”&ROW()*COLUMN())”
完成公式输入后,再将公式複製到其他单元格,最终即得到Excel形式的九九表。
利用Excel製作九九表
