1、走进信息竞赛与c+,信息学奥赛,梦开始的地方!,信息学奥赛简介: 学生可以参加的竞赛多,大大小小的竞赛令人眼花瞭乱,但大多都是没用的。只有数学、物理学、化学、信息学、生物学的全国奥林匹克分区联赛、全国奥林匹克竞赛是由国家教育部主办的。一般来说,在奥赛中获奖的同学才能得到国家教育部的表彰,才能得到著名大学的青睐。青少年信息学奥林匹克联赛省级赛区中获得全国一等奖或全国青少年信息学奥林匹克竞赛获得一、二、三等奖的初中生都有保送一级达标校的资格。,信息学奥赛简介:,信息学竞赛就是计算机竞赛,考的是学生用计算机高级语言,利用各种算法解决问题的能力。其中的联赛是由中国国家教育部、中国信息学奥林匹克竞赛委员
2、会、中国科协、中国计算机协会联合主办,面向所有学生的,是普及性的。它分初赛及复赛两个形式。初赛每年10月举行,形式为笔试,主要考计算机基础知识、数学知识、算法描述、程序阅读能力等。复赛在11月举行,形式为上机试,一般4个题目,只有在初赛中取得较好成绩的选手才能进入复赛。,参与信息学奥赛就是为了拿奖,为了保送上高中吗?绝对不是的,学习的过程才是最重要的。接受这个培训的收获往往是终生受用的: 1、开发智力,提高思维。总所周知,奥赛是一种智力和潜能的挑战,在老师的系统训练下,智能因素必然能得到较大的提高,思维能力也会进一步加强。 2、学到一门对日后发展有极大好处的基础本领。信息学奥赛学的是编程。世界
3、首富比尔盖茨当年创办微软公司凭借的就是他出色的编程本领。在当今这个信息社会,掌握编程将让你如虎添翼,游刃有余。,参与信息学奥赛的好处:,3、培养沉稳坚韧的性格,严密谨慎的处世方式。韩国为什么要普及射箭项目,甚至将之引入课堂?因为射箭能让人心平气和,坚忍不拔。同样,编程也是需要完完全全地静下心来,而且容不下任何小小的错误,哪怕是一个标点或一个字母的误差。学习编程将会使人变得更加严谨,更有耐性,更为细心周密。 4、培养积极进取, 勇于拼博的精神。与体育奥林匹克一样, 学科奥林匹克也是一个拼博的战场, 是智力、能力、品德与意志的较量。奥林匹克精神永远伴随着参与奥赛学习的疑难解答:,关于信息学奥赛,很
4、多同学和家长都有很多疑问,下面我们挑选几个最多人问的问题做明确的回答: 1、参加奥赛跟学习有冲突吗?奥赛是给学有余力的学生参与的,用的是课余的时间。XXX同学,获信息学奥赛全国一等奖一次,二等奖两次,他升学考试成绩全市第二,同时还拿过英语和数学的全国二等奖,现在学习成绩稳居年级前几名。XXX同学获信息学奥赛全国三等奖,他中考成绩超肇中线。由此可见,奥赛学习完全不会影响学科成绩的。 2、需要很高的智商吗?有些人将信息学奥赛称为“聪明人的游戏”,这个说法只说对了一半。其实最正确的说法应该是“使人变聪明的游戏”。很多人刚开始学习编程的时候,并不怎么聪明,但在不断的学习过程中你会变得越来越聪明。用回加
5、美学校因奥赛获奖而被保送的赵嘉豪的原话是:“在电脑班中,除了学到课堂学不到的知识外,还能充分锻炼你的思维,个人感觉它真的能使你思维能力有一个质的变化。”奥赛不需要你聪明绝顶,但会让你往这个方向发展。,3、会很累很大压力吗?参加奥赛,需要付出比普通同学更多的努力,那会让人感觉很累,无法忍受的吗?其实编程是一件愉快的事情,其中的乐趣只可意会不可言传。许多天才横溢的黑客,为什么对电脑如此痴迷,为什么可以在其中得到最大程度的快乐?因为他们通过编程进入了电脑内部深处的奇妙世界。当你学也会编程时,你会发现,参与奥赛是一种享受,而不是一种折磨。如果你对科技的力量充满了向往,对电脑世界充满憧憬,请记住:信息学
6、奥赛,梦开始的地方!,编程语言,Pascal C C+,第一关,1、打开c+软件,新建一个文件,然后在屏幕中输入: #include using namespace std; int main() cout” Hello, World! ”endl; return 0; 2、保存,文件名为“no1”,然后关闭软件。,第二关,1、打开刚才保存的“no1”,然后运行程序F9; 2、查看运行结果;,恭喜你,顺利通过两关,继续努力,开始真正进入c+语言的学习,输出命令cout,在屏幕在输出一个字符 c,#include using namespace std; int main() coutcendl
7、;return 0; ,如果要输入一串英文字符,则用“”括起来,请编程在屏幕上输出 “I love C+”,#include using namespace std; int main() cout“I love C+“endl;return 0; ,如果输出数字,则直接输出,#include using namespace std; int main() cout1endl;return 0; ,在屏幕上输出1 2 3,在屏幕上输出1 2 3,这个程序怎么写呢?,换行符的使用,Cout“This is a sentence.”; Cout“This is another sentence.”
8、; 将会有如下内容输出到屏幕上: This is a sentence.This is another sentence. 所以为了在输出中换行,我们可以用操作符endl来换行 Cout“This is a sentence.”endl; Cout“This is another sentence.”; 将会输出: This is a sentence. This is another sentence. 或用换行符n来操作 Cout“This is a sentence.n”; Cout“This is another sentence.”;,计算1+1=?,例2.1计算1+1=2#incl
9、ude using namespace std; int main() cout1+1endl; 运行结果为2,cout语句具有计算功能。因此,我们只要在表达式中写入要计算的算术表达式,那么cout语句将自动进行运算得到答案。算术表达式中包含了加、减、乘、除和括号,当为混合运算时,表达式运算完全遵循四则混合运算规则,先算括号,然后再算乘除,最后算加减。,算术运算符,+、-、*、/、 %(取余数运算,只适合整数),5%3=2 17%4=1 5.1%2=?,一、整数表达式运算,例2.2计算表达式(10+15)*3/2- (10+15)*3%2的值 #include using namespace
10、std; int main() cout15*3/2-15*3%2endl; 运行结果为21。解释:由于全部为整数,因此15*3/2=22,15*3%2=1,因此答案为21。(这里运算与数学中的运算还是稍有区别,当表达式全部为整数时,任何中间结果都是整数(取整数部分),若有为实数参与运算,则结果为实数。),二、实数表达式运算,例2.3计算表达式 (10+15)*3/2- (10+15)*3%2的值#include using namespace std; int main() cout15*3/2.0 -15*3/2endl; 运行结果为0.5。解释:由于全部为整数,因此15*3/2.0=22.5,15*3/2=22,因此答案为0.5。,练习,1、在屏幕上输出“I am a student.” 2、在屏幕上输出3+3*10的结果 即输出33 3、已知正方形边长为2,输出正方形的周长,输出形式c=周长。如:c=8 4、已知某梯形的上底A=13,下底B=18,高H=9,求它的面积S。 输出形式s=面积。如:s=8,5、想办法在屏幕中输出:,