自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (2)
  • 收藏
  • 关注

原创 信息学奥赛计算机文化基础目录

第一课 、计算机基础知识1、与计算机相关的人和奖项  点这里2、计算机发展、分类、分代  点这里第二课、计算机硬件系统和软件系统1、计算机硬件系统  点这里2、计算机硬件系统练习  点这里 ...

2018-11-27 09:20:02 541

原创 信息学奥赛算法课程目录

第一课、高精度计算1、高精度计算   点这里2、高精度加法   点这里3、高精度减法   点这里4、高精度乘法   点这里5、高精度除法   点这里第二课、排序算法1、冒泡排序  点这里2、选择排序   点这里3、插入排序   点这里4、桶排序    点这里5、快速排序  点这里...

2018-11-27 09:11:15 1477

原创 信息学奥赛数据结构课程目录

第一课、栈及应用     1、栈及应用  点这里第二课、队列及应用     1、队列及应用  点这里     2、循环队列   点这里

2018-11-27 09:06:50 576

原创 信息学奥赛C++语言编程基础系列教程目录

第一课、初步认识C++1、开发工具DevC++安装 点这里2、C++程序基本结构 点这里3、算法和程序  点这里第二课、数据类型、输入输出1、基本数据类型、常量、变量  点这里2、赋值语句、基本输入输出语句 点这里3、数据类型输入输出练习 点这里第三课、运算符和表达式1、算数运算符 点这里2、常用数学函数   点这里3、比较运算符  点这里4、逻辑运...

2018-11-27 08:59:00 4210

原创 信息学奥赛系列教程:选择结构练习

第一题:简单计算器题目描述:    一个简单的计算器,支持+、-、*、/四种运算,仅考虑输入输出为整数的情况,数据和运算结果不超过int表示的范围。输入:    一行,共有3个参数,其中1,2个参数为整数,第3个参数为操作数(+、-、*、/)输出:  一行,一个整数,是运算结果。(1)如果出现除数为0,则输出,则输出除数不能为0(2)如果出现无效的操作数,则输出操作...

2018-11-30 12:12:40 749

原创 信息学奥赛系列教程:三目运算符

三目运算符:双分支结构,可以用三目运算符简化代码格式:     <表达式1> ? <表达式2> : <表达式3>;"?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。举例1:两个数a和b,输出其中较大的一个#include <iostr...

2018-11-30 11:30:36 430

原创 信息学奥赛系列教程:switch语句

switch语句:多分支结构格式:switch(表达式){   case 常量表达式1:   {      语句块1;      break;   }   ……   case 常量表达式n:   {      语句块n;      break;   }   default:   {      语句块n+1;   }}switch表示特征标志case...

2018-11-30 11:16:11 674

原创 信息学奥赛系列教程:if...else语句

if...else语句:格式1:双分支结构 if (条件表达式)    语句1;else    语句2;  如果条件表达式为真,执行语句1,否则执行语句2。执行多条语句时,用括号括起来举例:判断一个数是否为两位数    输入一个整数,判断如果是两位数,输出“是”,否则输出“否”#include <iostream>using namespace ...

2018-11-30 10:55:32 644

原创 信息学奥赛系列教程:if语句

if语句:     单分支选择结构语句。if格式1:    if (条件表达式)        语句1;   当条件表达式的值为真时,执行语句1。语句1可以和if写在同一行,如果不在同一行,语句1缩进。举例1:偶数判断     给定一个整数,如果是偶数,输出yes#include <iostream>using namespace std;int ...

2018-11-30 10:37:02 597

原创 信息学奥赛系列教程:快速排序

快速排序:      取待排序序列中的某个元素作为基准,通过一趟,将待排元素分为左右两个子序列,左序列中的值小于等于基准数,右序列中的数大于等于基准数。分别对左右两个子序列进行相同的排序,最后将左右合并起来。快速排序步骤:1、基数的选取:一般选择中间数作为基数               中间数下标:数组长度/2,下图中,6为中间2、从两头开始,分别放一个指针(哨兵),两个...

2018-11-30 09:34:52 1078 2

原创 信息学奥赛系列教程:桶排序

桶排序:       顾名思义,桶排序就是将要排序的元素装入“桶”中,进行排序,和前面介绍的排序算法相比,桶排序属于最简单的排序。对数组元素进行排序时,数组下标,就是“桶”。      桶排序的前提条件:待排序的值在一个明显有限的范围内。     设计有限个桶序,待排的值直接转入对应的“桶”,可以装多个,桶号就是待排序的值。顺序输出各桶的值,将得到有序的序列。桶排序代码实现...

2018-11-30 09:08:19 664

原创 信息学奥赛系列教程:运算符练习二

1、反向输出三位数        将一个三位数反向输出,例如输入358,反向输出853    输入:      一个三位数n    输出:      反向输出n #include <iostream>using namespace std;int main(){ int n,b,c,d; cin>>n; b=n/100; //百位 c=(n...

2018-11-29 09:45:04 729

原创 信息学奥赛系列教程:运算符的优先级和结合性

前面学习了算数运算符,比较运算符和逻辑运算符。初学信息学时,先学习这三类运算符,有关运算符的优先级和结合性,只有通过以后大量的程序阅读练习,才能体会。C++的运算符,先掌握基本的规则,运算符的优先级,和小学选过的四则混合运算的运算法则大致相同。 ...

2018-11-28 21:48:16 462

原创 信息学奥赛系列教程:C++逻辑运算符

C++中一共有三个逻辑运算符:1、逻辑与 && 运算符前后两个条件都为true才为true 2、逻辑或 ||  运算符前后只要有一个条件为true就为true3、逻辑非 ! 运算符后的表达式取反,非true为false,非false为true逻辑运算符运用在条件语句和条件表达式中,以下是测试代码:#include <iostream>using ...

2018-11-28 21:12:54 855

原创 信息学奥赛系列教程:计算机硬件系统练习

计算机硬件基础知识,在信息学奥赛初赛中,都是以选择题形式出现,以下是历年考题中计算机硬件系统出现的题目1、微机内的存储器的地址是以()编址的A.二进制 B.字长 C.字节 D.微处理器的型号2、某计算机的内存容量是640K,这里的640K容量是指()字节A.640 B.640*1000 C.640*1024 D.640*1024*10243.在外部设备中,绘图仪属于()A....

2018-11-28 10:52:44 987

原创 信息学奥赛系列教程:计算机硬件系统和软件系统

计算机系统:一个完整的计算机系统有硬件系统和软件系统构成,如下图所示计算机硬件系统:本节介绍计算机硬件系统,计算机硬件系统由以下四个部分构成:运算器、控制器(CPU)   储存器   输入设备   输出设备中央处理器CPU:    中央处理单元,又叫芯片,是计算机硬件系统的核心,包括运算器和控制器和一些寄存器。    CPU主要指标:主频:时钟频率,相当于心...

2018-11-28 10:42:51 909

原创 信息学奥赛系列教程:C++语言比较运算符

比较运算符:      比较运算符,主要用于比较变量或者表达式的大小,C++语言中,一共有6个比较运算符:     1、大于>           2、小于<     3、等于 ==  注意和赋值运算符 =区别           4、大于等于>=             5、小于等于<=     6、不等于 !=     比较运算符规则简单...

2018-11-28 10:15:45 932

原创 信息学奥赛系列教程:常用的数学函数

C++语言中常用的数学函数:1、求绝对值 abs()        2、求平方根sqrt()        3、求指数pow()        4、向下取整floor()5、向上取整ceil()使用这些数学函数,需要引用cmath头文件,上述函数中,只有pow需要两个参数,其余只需要一个参数代码如下:#include <iostream>#inclu...

2018-11-28 09:44:22 1338

原创 信息学奥赛系列教程:选择排序

选择排序:选择排序(Selection sort)是一种简单的排序算法。它的基本思想是每一次从待排序数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。如下图所示:对5,3,4,1,6,2进行排序,过程如下:选择排序的代码实现:#include &lt...

2018-11-28 09:08:59 539

原创 信息学奥赛系列教程:插入排序

插入排序:      有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序。插入排序类似于打扑克时摸排的情形,每次将摸到的牌按花色和大小插入适当的位置,如下图所示:插入排序基本思想: 每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。排序过程如下图所示插入排序的代码实现:#i...

2018-11-28 09:04:57 485

原创 赋值语句输入输出语句练习

1、整型数据和布尔型数据转        将一个整型变量值赋值给一个布尔型变量,再将一个布尔型变量赋值给整型变量输入:        一个整型范围内的整数输出:       一个整数,经过转换后的结果#include <iostream>using namespace std;int main(){ int a; bool b; cin...

2018-11-27 12:47:44 1410 1

原创 信息学奥赛系列教程:冒泡排序

排序:按照从小到大,或者从大到小的顺序,将杂乱无章的数据进行整理的过程,叫排序,排序一般在一维数组中进行。生活中排序的例子:上体育课的时候,老师把一排同学按身高进行排序。       考试后,老师按分数从高到低对同学的成绩排名次。冒泡排序原理和实现步骤:方法:从前到后依次扫描数组元素,扫描一次称为一趟。      规则:每趟扫描时,数组元素前一个和后一个相比较,如果次序和要求的...

2018-11-27 11:21:34 1376 2

原创 信息学奥赛系列教程:算数运算符练习

程序阅读题2014年普及组初赛第一题/*输入:2 3 4输出:____________*/#include <iostream>using namespace std;int main(){ int a, b, c, d, ans; cin >> a >> b >> c; d = a- b; a = d + c; ...

2018-11-27 10:35:10 443

原创 信息学奥赛系列课程:C++算数运算符

算数运算符:C++中用于算数运算的运算符1、加+   2、减-  3、乘*  4、整除/  5、模 %  6、自加++  7、自减--模运算时,参与运算的两个数都必须是整数。相同数据类型加减乘除比较简单:#include <iostream>#include <cstdio> using namespace std;int main(){ ...

2018-11-27 10:11:48 596

原创 C++赋值语句和输入输出语句

赋值语句=      “=”符号跟数学上的“等于”是不同的      a=a+5 数学上是不成立的,意思是将变量a+5的值赋值给a        =作用是把等号右边的值或者表达式的值赋给左边的变量输入输出语句:cin,cout:      cin从键盘上输入变量值,格式:cin>>变量1>>变量2>>变量n;可一次读入多个不同类型的变量,...

2018-11-27 08:37:45 5256

原创 信息学奥赛系列教程:高精度除法

我们平时做除法时,采用立竖式的方法计算:被除数从高位开始,和被除数对齐,诸位“试商”,“试商”后被除数减去“试商”的数的乘积,如下图所示:采用计算机做高精度除法时,模拟日常除法的步骤。但计算机不可能做“试商”,这时,我们可以采用减法来模拟"试商"的过程。算法的步骤如下:1、将除数移动和被除数对齐,位数不够时,补0,2、利用被除数减去除数,一直减到被除数小于除数,减的次数,就...

2018-11-26 10:26:18 539

原创 信息学奥赛系列教程:高精度乘法

高精度乘法,模拟常规的立竖式计算,乘数每一位乘被乘数每一位,从十位开始,错位相加如下图所示:因为结果数组只有一个,省略去中间每次相乘的中间结果,直接把每次乘积进行累加在高精度计算中的进位问题,和高精度加法相同,可以在计算的同时进行进位,也可以最后进行进位结果位数的确定:两个数相乘,最大长度是两数的长度相加。高精度乘法代码实现如下:#include <iostre...

2018-11-23 22:12:39 614 1

原创 信息学奥赛系列教程:高精度减法

  高精度减法,模拟常规立竖式计算,各位数对齐,从各位开始减,如果不够,向一位借一作10。如下图所示:高精度减法需要注意的问题:对两个数做比较,根据前面介绍的高精度数据输出,如果两个数长度不同,则长度较长的数作为被减数如果两个数长度相同,从高位开始到低位,每位数字相比较,数字较大的数一定大。高精度减法算法实现如下:#include <iostream>#...

2018-11-23 21:55:50 438

原创 信息学奥赛系列教程:高精度加法

     高精度加法模拟常规的立竖式相加方法,各位对齐,诸位相加,如果相同位数上的数字大于10则向前一位进一高精度加法需要注意的问题:1、运算法则      同传统立竖式相加的方法,诸位对齐相加2、进位      两种策略,一种是边计算边进位,第二种方式,加完以后进位     边计算边进位,如下图所示:   上图中,数组第一位存储数的长度最后进位,如下图...

2018-11-23 21:31:27 668

原创 信息学奥赛系列教程:循环队列

循环队列:上一次介绍了队列的基本概念、性质和操作,本次介绍循环队列。用一个数组,加分别指向队首,队尾的指针,实现循环队列。初始时:队首和队尾指向相同元素入队时,入队一个元素尾指针+1元素出队时,出队一个元素,指针+1  当尾指针指向数组最后一个元素,头指针未指向第一个元素时,实际上前面还有空的空间可以存储元素,称为“假溢出”此时,可以将头指针指向前面...

2018-11-22 19:32:52 792 2

原创 信息学奥赛系列教程:高精度计算

为什么要需要高精度计算?     每种计算机语言的基本数据类型,都有一定的范围限制,在一些科学计算中,当需要运算的算数(加数、减数、乘数、除数)大于基本数据类型所能表示的范围时,需要通过算法来实现这些运算,比如200位的两个数相乘高精度计算需要解决的问题:1、数据的输入和存储      通常情况下,采用字符或者字符串方式输入,用数组来存储输入数的每个位数上的数字      如“...

2018-11-22 18:31:16 1263

原创 信息学奥赛系列课程:C++语言数量类型、变量和常量

C++语言基本数据类型:         在使用程序实现算法的过程中,需要各种类型的数据,如:计算圆的半径、周长、面积,描述 物体运动过程中的速度、时间、距离,购物时的数量、单价和总价等。     C++语言中,基本的数据类型有:整型:int     包括正整数,副整数,以及0。 实数float,double  带小数点的数 布尔型:bool          真假,实际上也是整型...

2018-11-22 15:11:16 577

原创 信息学奥赛系列教程:算法和程序

算法的概念:      算法是解决问题的步骤的描述。算法的描述:      可以采用自然语言,程序流程图,计算机程序描述算法。      以计算圆的周长和面积为例采用自然语言描述为:开始 输入半径R 周长L = 2*3.14*R 面积S = 3.14 *R*R 输出周长L,面积S 结束程序流程图描述算法:采用C++语言描述:#include &lt...

2018-11-22 14:22:03 1320

原创 信息学奥赛系列课程:队列及应用

队列的概念:       现实生活中,经常可以看到队列的例子,如排队买票,先来的人买了票,先离开,后面来的只有等前面离开后,才能买票离开,队列就是类似排队买票的一种数据结构。队列的定义:      队列是限定在一端进行插入,另一端进行删除特殊线性表。      允许出队的一端称为队头,允许入队的一端称为队尾。队列的性质:       先进先出(FIFO),先进来的先出去...

2018-11-22 13:43:55 534

原创 信息学奥赛系列教程:栈及应用

栈的定义:     栈是只能在一端进行数据插入和删除的线性表。栈的性质:     后进先出(FILO),后面进去的元素,先出来,先进去的元素后出来栈的操作:     栈的操作很简单,就是入栈和出栈,如下图所示栈的表示:用一个一维数组,加一个指针,表示栈,代码如下:#include <iostream>using namespace std;co...

2018-11-21 19:14:43 609

转载 信息学奥赛系列教程:计算机文化基础2

计算机发展历史和分类分代:第一台电子计算机:      1946年第一台计算机在美国宾夕法利亚大学诞生,名字ENIAC,叫电子数字积分计算机,占地面积:170平米,重30吨,耗电140千瓦,每秒运算5000次,由18000多个晶体管,1500多个继电器,10000多个电容和7000多个电阻构成。计算机分代根据电子元器件的发展,分为四代:第一代:电子管时代(1946-1957)      采...

2018-11-20 22:04:05 370

原创 信息学奥赛系列教程:计算机文化基础一

在信息学奥赛中,会考查计算机基础知识和常用软件的操作常识,相关的知识都包含在计算机文化基础课程中,本系列课程根据历年考试的题目分析,精简出需要考查的知识点一一列出。与计算机密切相关的人物和奖项:1、冯·诺依曼及冯·诺依曼体系结构        冯·诺依曼,著名匈牙利裔美籍数学家、计算机科学家、物理学家和化学家 。        冯·诺伊曼对世界上第一台电子计算机ENIAC(电子数字...

2018-11-20 21:26:54 777

原创 信息学奥赛系列教程:C++程序基本结构

第一个C++程序,在屏幕上打印出hello World程序代码:#include <iostream> //引入iostream库using namespace stdint main(){ cout<<"hello world!"; /*在屏幕上输出hello world*/ return 0;}一个C++程序包括以下几个部分1、预编...

2018-11-20 20:54:20 3675

原创 信息学奥赛系列教程:开发工具Dev C++安装

Dev C++安装和基本设置      工欲善其事,必先利其器,学习C++语言编程,需要使用相关的开发工具,C++语言的程序的开发工具有很多,比如微软的VS,之所以选择Dev c++,是因为:       Dev C++是免费的,整个开发工具不到100兆,安装运行速度快,适合初学者使用       Dev C++是信息学奥赛复赛中使用的开发工具。安装过程,比较简单,本文以Dev C...

2018-11-20 19:58:46 5175

原创 从信息学奥赛获奖年级分布看信息学奥赛最佳学习线路

以下是2017年获奖数据年级统计,分为普及组和提高组从图可以看出,2017年获奖的主要是初一,初二学生,总计占比达78%,尤其初一学生获奖比例,达到35%,这部分学生,应该是从小学就开始学习信息学奥赛。小学生有接近8%获得普及组一等奖,说明信息学奥赛,有低龄化趋势,也说明小学生学习信息学奥赛,完全没有问题。从提高组的获奖年级分布,高一、高二年级最多,尤其是高一,占52%...

2018-11-19 17:40:23 4056

2010年信息学奥赛普及组程序阅读和程序完善试题

2010年信息学奥赛普及组程序阅读和程序完善试题,c++语言源文件

2018-11-18

2010年信息学奥赛普及组初赛试题

2010年全国信息学奥林匹克竞赛普及组初赛选择题,问题解答题,ppt文档格式

2018-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除