运用逻辑函数判断闰年1
Exceltest (7)
颜色设置为红色、加粗显
,存入C1单元格
源自文库
排名”列中。 :“新批排名”<=10; 入“新批增长”,不是填
应的单元格中,并四舍五 )。并计算出“今年
筛选条件:“今年 中,将标题项“外商直
行标签设置为 今年实投”。
●注意:全文内容、位置不得随意变动,否则后果自负; 按下列要求操作,结果存盘。 1.在Sheet1中,使用条件格式将“今年实投”列中数据大于50000的单元格中字体颜色设置为红色、加粗显 示。 2.在Shee4的A列中不能输入重复的数值字母。 3.判断Sheet4的B1单元格中的2021年1月1日是否为闰年,结果是填充TRUE,不是填充FLASE,存入 中。( 闰年定义:年数能被4整除而不能被100整除,或者能被400整除的年份。) 4.使用排名函数RANK对“今年新批”企业数量进行排名,将排名结果存入“新批排名”列中。 5.使用逻辑函数,判断合同外资金额今年新批的比去年同期是否增长。判断条件为:“新批排名” “今年新批”的值>“去年同期”的值。如果是,在“新批前10是否增长”列中填入“新批增长”,不是填 入“后10或负”。 6.在工作表Sheet1中,用公式计算实际利用外资“比上年同期±(%)”,填入相应的单元格中,并四舍五 入保留2 位小数。 (提示:比上年同期±(%)=(今年实投-去年同期)/去年同期*100)。并计算出“今年 实投”的最大数量,填入G19中。 7.将Sheet1中的“外商直接投资同期比较表”复制在Sheet2中,对Sheet2进行高级筛选。 筛选条件:“今年 新批”>50;或者 “今年实投”>50000。将结果保存在Sheet2中。注意:复制过程中,将标题项“外商直 接投资同期比较表”连同数据一同复制。复制数据表后,粘贴时,数据表必须顶格放置。 8.根据Sheet1的“外商直接投资同期比较表”,在Sheet3中创建一张数据透视表。要求: 行标签设置为 “新批排名”; 列标签设置为“各市”; 数据区域为“今年实投”; 求和项为“今年实投”。
python条件判断练习题_条件控制练习题
python条件判断练习题_条件控制练习题
条件控制练习题
1.判断⽇期是否合法
1.1 题⽬要求
使⽤input函数接受⽤户输⼊,⽤户输⼊⽉份和⽇期,⽐如“3⽉15⽇”,请写程序判断这个⽇期是否合法,为了简化编程难度, 只考虑⾮闰年的情况,默认⽉份总是正确。以下为输⼊⽰例
⽰例1
输⼊: 3⽉15⽇
输出: 合法
⽰例2
输⼊: 5⽉32⽇
输出: 不合法
1.2 思路分析
1,3,5,7,8,10,12⽉有31天,⾮闰年2⽉份有28天,其他⽉份有30天。
输⼊的数据是⼀个字符串,需要把⽉份和⽇期提取出来,提取思路如下
使⽤字符串replace⽅法将“⽇”替换成空字符串
使⽤split⽅法,“⽉”作为分割符对字符串进⾏分割,得到列表
将列表⾥的数据转换成int类型数据
1.3 ⽰例代码
date_time = input("请输⼊⽉份和⽇期:")
date_time = date_time.replace("⽇", '')
time_lst = date_time.split('⽉')
month, day = int(time_lst[0]), int(time_lst[1])
if month in (1, 3, 5, 7, 8, 10, 12):
if 1 <= day <= 31:
print("合法")
else:
print("不合法")
elif month == 2:
if 1 <= day <= 28:
print("合法")
else:
print("不合法")
else:
if 1 <= day <= 30:
闰年的判断方法
闰年的判断方法
闰年是指能被4整除但不能被100整除,或者能被400整除的
年份。判断一个年份是否为闰年,可以使用以下方法:
1. 首先,确定年份能够被4整除,即年份 mod 4 = 0。
2. 接下来,判断年份是否能够被100整除。如果能够被100整除,则需要进行下一步判断;如果不能被100整除,则该年份是闰年。
3. 如果年份能够被100整除,进一步判断年份能否被400整除。如果能被400整除,则该年份是闰年;如果不能被400整除,则不是闰年。
例如,假设我们判断年份为2000是否是闰年:
1. 2000 mod 4 = 0,因此2000能够被4整除。
2. 2000能够被100整除,进一步判断。
3. 2000能够被400整除,因此2000是闰年。
而对于年份1900的判断:
1. 1900 mod 4 = 0,因此1900能够被4整除。
2. 1900能够被100整除,进一步判断。
3. 1900不能被400整除,因此1900不是闰年。
综上所述,根据上述判断方法即可确定一个年份是否为闰年。
if条件选择函数
if条件选择函数
if条件选择函数是编程中非常重要的一种功能,它可以根据条件的不同来执行不同的操作。在本文中,我们将探讨if条件选择函数的用法和一些实际应用。
if条件选择函数的基本语法如下:
```
if 条件:
操作1
else:
操作2
```
其中,条件是一个布尔表达式,如果条件为真,则执行操作1;如果条件为假,则执行操作2。
在实际应用中,if条件选择函数经常用于判断某个变量的值,并根据不同的值执行不同的操作。例如,我们可以写一个程序来判断一个数是正数、负数还是零:
```
num = int(input("请输入一个数:"))
if num > 0:
print("这是一个正数")
elif num < 0:
print("这是一个负数")
else:
print("这是零")
```
在上面的程序中,我们首先使用input函数获取用户输入的数,并将其转换为整数类型。然后,我们使用if条件选择函数判断num 的值,并根据不同的情况打印不同的结果。
除了判断数的正负和零,if条件选择函数还可以用于判断其他条件。例如,我们可以写一个程序来判断一个年份是不是闰年:
```
year = int(input("请输入一个年份:"))
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
print("这是一个闰年")
else:
print("这不是一个闰年")
```
在上面的程序中,我们首先使用input函数获取用户输入的年份,并将其转换为整数类型。然后,我们使用if条件选择函数判断year 是否满足闰年的条件,并打印相应的结果。
if函数的使用方法图解
if函数的使用方法图解
一、什么是if函数?
if函数是一种条件控制语句,用于根据不同的条件执行不同的代码块。通过判断一个条件表达式是否为真来决定执行的路径。if函数通常用于在程序中进行条件判断,根据不同的情况执行相应的操作。
二、if函数的语法结构
if函数通常由以下几部分组成:
if condition:
# 条件为真时执行的代码块
else:
# 条件为假时执行的代码块
•condition:条件表达式,用于判断的条件,可以是一个比较表达式、逻辑表达式或其他可以返回布尔值的表达式。
•条件为真时执行的代码块:当条件表达式为真时,执行的代码块,可以是单行表达式或多行代码块。
•条件为假时执行的代码块:当条件表达式为假时,执行的代码块,可以是单行表达式或多行代码块。
三、if函数的使用示例
下面通过几个具体的示例来演示if函数的使用方法:
1. 判断一个数是否为正数
num = int(input("请输入一个数:"))
if num > 0:
print("这是一个正数")
else:
print("这不是一个正数")
在上面的示例中,我们通过input函数获取用户输入的一个数,然后通过if函数判断这个数是否大于0,如果大于0则输出”这是一个正数”,否则输出”这不是一个正数”。
2. 判断一个数是否为偶数
num = int(input("请输入一个数:"))
if num % 2 == 0:
print("这是一个偶数")
else:
print("这不是一个偶数")
在这个示例中,我们通过input函数获取用户输入的一个数,然后通过if函数判断这个数除以2的余数是否为0,如果为0则输出”这是一个偶数”,否则输出”这不是一个偶数”。
excel中if函数的使用教程步骤图
excel中if函数的使用教程步骤图
IF函数的用法,包括基本用法、单条件、多条件表达及在数组函数中的用法和在数组函数中怎么表达多条件和单条件。那么下面小编就教你怎么在excel中使用if函数,希望对你有帮助!
在excel中使用if函数的方法
打开Excel,打开你的数据文档,在你想输出数据的单元格点击工具栏上的“插入”——“函数”——“逻辑”——“IF”,然后点击确定。
点击确定后会弹出一个框框,第一个表示条件,后面两个是判断条件的结果。点击小编标注的地方,选择数据,一般我们不用选择全部的数据,只需选择里面的其中一个即可。
在excel中使用if函数的方法图2
小编我就选择A2,我们是用IF来判断数学成绩及不及格。如果条件<60分,说明不成立,就显示不及格,否则的话剩下的都是及格的分数了。
在excel中使用if函数的方法图3
点击确定后,我们就可以看到判断的结果了,将鼠标放在第一个结果后面,当鼠标变成【+】时,我们双击它就可以得到全部的结果了。
在excel中使用if函数的方法图4
可是,你会问小编,分数不是还分及格、良好或者优秀的吗?我又该怎么判断呢?其实很简单,就是你连续使用IF就好了,术语上叫“IF 函数嵌套”。比如我想60-70显示及格,70-80显示良好,80分以上显示优秀
在excel中使用if函数的方法图5
我们再设置60-70分的显示及格,然后同样地,再第三行,又点击IF,进行嵌套。
在excel中使用if函数的方法图6
同样的方法,设置良好和优秀,如果你后面还要再继续分的话,也可以继续嵌套,那么第三行就不要写优秀了。
计算机二级停车情况记录表题目要求及答案
计算机二级停车情况记录表题目要求及答案
Excel 2010高级应用操作题
打开素材库中的“停车情况记录表.xlsx”文件,按下面的操作要求进行操作,并把操作结果存盘。
注意:在做题时,不得将数据表进行随意更改。
操作要求
(1)在Sheet4的A1单元格中设置为只能录入5位数字或文本。当录入位数错误时,提示错误原因,样式为“警告”,错误信息为“只能录入5位数字或文本”。
(2)在Sheet4的B1单元格中输入公式,判断当前年份是否为闰年,结果为TRUE或FALSE。
* 闰年定义:年数能被4整除而不能被100整除,或者能被400整除的年份。提示:
1、判断闰年,表达两个可能成立的条件,使用“OR”函数
2、“年数能被4整除而不能被100整除”为并列条件,需使用“AND”函数;表达整除需要用到“MOD”取余函数;当年年份需要用到年数函数“YEAR”和当日日期函数“TODAY”
3、“MOD(YEAR(TODAY()),4)=0”表示年份能被4整除;
“MOD(YEAR(TODAY()),100)>0”表示年份不能被100整除;
“MOD(YEAR(TODAY()),400)=0”表示年份能被400整除。
4、在Sheet4的B1单元格给出的完整表达式为:
“=OR(AND(MOD(YEAR(TODAY()),4)=0,MOD(YEAR(TODAY() ),100)>0),MOD(YEAR(T ODAY()),400)=0)”
(3)使用HLOOKUP函数,对Sheet1“停车情况记录表”中的“单价”列进行填充。
python练习3 5、6题目和答案
Python答案
Py实验3
一、填空
1、Python表达式中3*4**2/8%5的值为【1】
2、Python包含3种数据类型,分别是【整数类型】
3、Python表达式3**2**3的值为【6561】
4、Python表达式10+5//3的值为【11】
5、Python的布尔(boll)数据类型用于【逻辑】运算
二、单选
1、Python语句print(type(2j))的输出结果是A【class'complex'】
2、Python语句print(type(1/2))的输出结果是C【class'float'】
3、Python语句x='car'
y=2
print(x+y)的输出结果是A【语法错】
4、下列数据中,Python不支持的是A【char】
5、Python语句print(char(65))的运行结果是D【A】
三、程序设计
1、# -*- coding:cp936 -*-
'''------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:回文数判断,设n是一个任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数,从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。
------------------------------------------------------'''
while True:
python中使用if-else的经典实例
如果你正在学习Python编程语言,那么你一定会遇到if-else语句。if-else语句是编程中非常常见的条件控制语句,它允许根据条件的真假来执行不同的代码块。在本文中,我们将介绍一些Python中使用if-else语句的经典实例,帮助你更好地理解和运用这个重要的编程概念。
1. 判断一个数字的正负性
在Python中,我们可以使用if-else语句来判断一个数字的正负性。我们可以编写如下代码:
```python
num = int(input("请输入一个数字:"))
if num > 0:
print("这是一个正数")
elif num < 0:
print("这是一个负数")
else:
print("这是零")
```
上面的代码首先使用input函数获取用户输入的数字,然后使用if-else语句判断该数字的正负性,并进行相应的输出。这是一个简单而常见的if-else的应用场景,也是初学者入门的经典示例之一。
2. 判断一个数字的奇偶性
另一个经典的if-else实例是判断一个数字的奇偶性。Python中可以使用取模运算()来判断一个数是否能整除2,如果能整除,则该数为偶数,否则为奇数。下面是一个示例代码:
```python
num = int(input("请输入一个数字:"))
if num 2 == 0:
print("这是一个偶数")
else:
print("这是一个奇数")
```
这段代码中,我们首先获取用户输入的数字,然后使用if-else语句判断该数字是否为偶数,输出相应的结果。这个例子展示了if-else语句在判断条件后执行不同代码块的能力。
常用自定义函数汇总
常用自定义函数汇总
在编程中,自定义函数是一种非常重要的工具,它可以帮助我们将一段代码逻辑封装起来,提高代码的可读性和重用性。下面是常用的一些自定义函数的汇总:
1.判断回文数函数
回文数是指正读和反读都一样的整数,例如121、判断一个整数是否为回文数可以使用以下代码:
```
def isPalindrome(num):
return str(num) == str(num)[::-1]
```
2.判断质数函数
质数是指大于1且不能被其他整数整除的整数。判断一个整数是否为质数可以使用以下代码:
```
def isPrime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
```
3.计算阶乘函数
阶乘是指从1到n的所有正整数相乘的结果,记作n。计算一个正整数的阶乘可以使用以下代码:
```
def factorial(num):
if num == 0:
return 1
else:
return num * factorial(num - 1)
```
4.字符串反转函数
字符串反转是指将一个字符串中的字符顺序颠倒过来,例如将"hello"反转为"olleh"。实现字符串反转可以使用以下代码:```
def reverseString(string):
return string[::-1]
5.列表去重函数
列表去重是指将一个列表中重复的元素去除,只保留一个副本。实现列表去重可以使用以下代码:
[考试]EXCEL答案公式
Excel函数公式
优等生
使用RANK函数,根据sheet1中的“总分”列对每个同学排名情况进行统计,并将排名结果保存到表中的“排名”列当中。
=RANK(F2, $F$2: $F$39)
使用逻辑函数,判断sheet1中的每个同学的每门功课是否均高于全班单科平均分。
=AND(C2>AVERAGE(C2:C39),D2>A VERAGE(D2:D39),E2>A VERAGE(E2:E39))
根据sheet1中的结果,使用统计函数,统计“数学”考试成绩各个分数段的同学个数,将统计结果保存在sheet2中相应位置。
=COUNTIF(Sheet1!$D$2:$D$39,"<20")-COUNTIF(Sheet1!$D$2:$D$39,"<0")
折扣表
使用VLOOKUP函数,对sheet1中的“采购表”的“商品单价”列进行填充。
=VLOOKUP(A11,$F$3:$G$5,2,FALSE)
使用IF函数,对sheet1“采购表”中的“折扣”列进行填充
=IF(B11>=300,0.1,IF(B11>=200,0.08,IF(B11>=100,0.06,IF(B11>=0,0))))
使用SUMIF函数,计算各种商品的采购总量和采购总金额,并将结果保存在sheet1中的统计表当中的相应位置。
=SUMIF($A$11:$A$43,I12,$B$11:$B$43)
=SUMIF($A$11:$A$43,I12,$F$11:$F$43)
教材订购情况
统计出版社名称为“高等教育出版社”的书的种类数,并将结果保存在sheet1中L2单元格中
if函数练习题
if函数练习题
if函数练习题
在Excel或其他编程语言中,if函数是一种非常常见且重要的函数。它可以根据某个条件的成立与否,执行不同的操作或返回不同的结果。if函数的灵活性使得它在数据处理和逻辑判断方面起到了关键的作用。下面,我们来做一些if函数的练习题,以加深对它的理解和应用。
1. 判断成绩等级
假设有一批学生的成绩数据,我们想要根据他们的分数判断他们的等级。如果分数大于等于90,等级为A;如果分数大于等于80,等级为B;如果分数大于等于70,等级为C;如果分数大于等于60,等级为D;否则,等级为E。我们可以使用if函数来实现这个判断过程。
2. 计算奖金
假设公司根据员工的销售额来发放奖金,销售额在10000以上的员工可以获得10%的奖金,销售额在5000以上但不足10000的员工可以获得5%的奖金,销售额在1000以上但不足5000的员工可以获得2%的奖金,销售额在1000以下的员工没有奖金。我们可以使用if函数来计算每个员工的奖金。
3. 判断是否为闰年
判断一个年份是否为闰年是一个常见的问题。根据闰年的定义,能被4整除但不能被100整除的年份是闰年,能被400整除的年份也是闰年。我们可以使用if函数来判断一个年份是否为闰年。
4. 判断是否为素数
判断一个数是否为素数也是一个常见的问题。素数指的是只能被1和自身整除
的数。我们可以使用if函数来判断一个数是否为素数。
5. 判断是否为偶数
判断一个数是否为偶数也是一个常见的问题。偶数指的是能被2整除的数。我
们可以使用if函数来判断一个数是否为偶数。
计算机二级停车情况记录表题目要求及答案
Excel 2010高级应用操作题
打开素材库中的“停车情况记录表.xlsx”文件,按下面的操作要求进行操作,并把操作结果存盘。
注意:在做题时,不得将数据表进行随意更改。
操作要求
(1)在Sheet4的A1单元格中设置为只能录入5位数字或文本。当录入位数错误时,提示错误原因,样式为“警告”,错误信息为“只能录入5位数字或文本”。
(2)在Sheet4的B1单元格中输入公式,判断当前年份是否为闰年,结果为TRUE或FALSE。
* 闰年定义:年数能被4整除而不能被100整除,或者能被400整除的年份。提示:
1、判断闰年,表达两个可能成立的条件,使用“OR”函数
2、“年数能被4整除而不能被100整除”为并列条件,需使用“AND”函数;表达整除需要用到“MOD”取余函数;当年年份需要用到年数函数“YEAR”和当日日期函数“TODAY”
3、“MOD(YEAR(TODAY()),4)=0”表示年份能被4整除;
“MOD(YEAR(TODAY()),100)>0”表示年份不能被100整除;
“MOD(YEAR(TODAY()),400)=0”表示年份能被400整除。
4、在Sheet4的B1单元格给出的完整表达式为:
“=OR(AND(MOD(YEAR(TODAY()),4)=0,MOD(YEAR(TODAY()),100)>0),MOD(YEAR(T ODAY()),400)=0)”
(3)使用HLOOKUP函数,对Sheet1“停车情况记录表”中的“单价”列进行填充。
①要求:
* 根据Sheet1中的“停车价目表”价格,使用HLOOKUP函数对“停车情况
c语言测试闰年实验心得
c语言测试闰年实验心得
一、引言
在学习C语言的过程中,我遇到了许多不同的编程实验,而其中一项实验——测试闰年的程序编写,让我深刻体会到了封装与代码优化的重要性。在这篇文章中,我将分享我的心得体会,希望能为其他编程初学者提供一些经验。
二、实验背景
实验要求编写一个测试闰年的程序,输入一个年份,判断该年份是否为闰年,并输出判断结果。闰年的判断规则是:普通年能被4整除但不能被100整除,或者能被400整除的年份。
三、封装的重要性
1.代码复用性
封装是面向对象编程的核心原则之一,通过封装我们可以创建可复用的代码块。在测试闰年的程序中,封装使得我们可以将判断闰年
的逻辑独立出来,方便其他程序调用。这使得我们只需编写一次判断逻辑,就可以在多个程序中重复使用,提高了代码的复用性。
2.模块化编程
封装帮助我们将代码划分为不同的模块,每个模块只负责完成特定的功能,提高了代码的可读性和可维护性。在测试闰年的程序中,我们可以将用户输入、闰年判断和结果输出分别封装成不同的函数,这样代码结构清晰,易于维护和扩展。
四、代码优化的重要性
1.算法优化
在实验中,我们要求判断闰年的规则是:普通年能被4整除但不能被100整除,或者能被400整除的年份。但是,通过观察可发现,这个规则可以简化为:能被4整除但不能被100整除,或者能被400整除的年份。
通过优化算法,我们可以使得程序执行更加高效。这是因为判断一个年份是否能被4整除和是否能被100整除是一种相对较简单的运
算,而判断是否能被400整除需要更多的计算。通过改进算法,我们
能够减少不必要的计算,提升程序的运行速度。
java函数案例
java函数案例
一、计算两个数的和
```java
public static int sum(int num1, int num2) {
int result = num1 + num2;
return result;
}
```
以上是一个简单的Java函数,用于计算两个整数的和。函数的参数为两个整数,返回值为它们的和。函数体内部使用加法运算符将两个整数相加,并将结果赋值给一个变量result。最后,函数通过return语句将结果返回。
二、判断一个数是否为偶数
```java
public static boolean isEven(int num) {
if (num % 2 == 0) {
return true;
} else {
return false;
}
}
```
以上函数用于判断一个整数是否为偶数。函数的参数为一个整数,返回值为一个布尔值,表示传入的数是否为偶数。函数内部使用取余运算符判断num除以2的余数是否为0,若余数为0,则返回true,表示为偶数;若余数不为0,则返回false,表示为奇数。三、计算一个数的阶乘
```java
public static int factorial(int num) {
int result = 1;
for (int i = 1; i <= num; i++) {
result *= i;
}
return result;
}
```
以上函数用于计算一个整数的阶乘。函数的参数为一个整数,返回值为该整数的阶乘。函数内部使用循环语句,从1到num依次将每个数乘以result的值,最后得到num的阶乘,并将结果返回。
pq的if函数 多条件
pq的if函数多条件
多条件是指在进行判断或逻辑运算时,需要同时考虑多个条件的情况。在编程中,我们可以使用if函数来实现多条件的判断。if函数是一种常见的条件语句,用于根据给定的条件来执行相应的代码块。
在使用if函数进行多条件判断时,我们可以使用逻辑运算符(如与、或、非)来组合多个条件。根据不同的需求,我们可以使用不同的逻辑运算符来实现不同的判断逻辑。
以下是一些常见的多条件判断情况及其对应的代码示例:
1. 判断一个数是否大于10且小于20:
```python
num = 15
if num > 10 and num < 20:
print("该数大于10且小于20")
```
2. 判断一个数是否大于10或小于5:
```python
num = 7
if num > 10 or num < 5:
print("该数大于10或小于5")
```
3. 判断一个数是否不等于0:
```python
num = 5
if num != 0:
print("该数不等于0")
```
4. 判断一个字符串是否为空:
```python
str = ""
if not str:
print("该字符串为空")
```
5. 判断一个年份是否为闰年:
```python
year = 2020
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print("该年份是闰年")
```
在实际编程中,我们经常需要根据不同的条件来执行不同的代码块。为了实现这一需求,我们可以在if函数的基础上使用else语句来编
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判断是闰年还是平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年
2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029
平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年 平年 平年 闰年 平年
年份 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980百度文库1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008