SRM Vision 暑期培训

by Leozheng @ SRMVision

0 - 培训安排

  • 7/27-8/15,共9节课
  • 每周一、三、五,上午10:00
  • 一次课一小时左右
  • 培训之前请务必预习过本节课的知识,至少需要一个大概的了解,不保证会做到细致入微推荐边听培训边看手册。
  • 每次都会有作业布置(入队指标之一),请在下次上课前一天内(即周二、四、日18:00前邮件至srm_cv@163.com。
  • 关于课程的疑问请私聊 / 腾讯会议码字
  • 后续课程进度可能会有动态变化

0 - Intro

机   械

电  控

视觉

“机器人”、“竞技”

  • 机械是肉体
  • 电控是大脑
  • 视觉是灵魂

§1  C++代码结构 / 变量与基本数据类型

2.2 C++代码结构

#include <iostream>
using namespace std;
int main(){
    cout << "Hello World" << endl; // C++
    return 0;
}
#include <stdio.h>
int main(){
    printf("Hello World\n");       // C
    return 0;
}
#include <iostream>
int main(){
    std::cout << "Hello World" << std::endl; // C++
    return 0;
}
#include <iostream>
using namespace std;
int main(){ cout << "Hello World" << endl; return 0;}

2.2 C++代码结构

从“最短代码”中,我们学到了?

  • 头文件
  • 输入输出流
  • 函数 及其返回
  • 命名空间 *
  • 注释 *
  • 代码规范 *

2.3 变量与基本数据类型

#include <iostream>
using namespace std;

int a; 			// Initialize to 0.

int main(){
    float b;
    char c;
    double d;
    long long e;
    bool flag = false;
    
    cin >> a >> b >> c >> d;
    cin.get();
    cout << a << " " << b << " " << c << " " << d << endl;
	
    const int x = 1;
    cout << x << endl;
    x = 2; 		// Wrong.
    
    return 0;
}

2.3 变量与基本数据类型

#include <iostream>
using namespace std;

int foo(){
    int bar_1 = 1;
    static int bar_2 = 1;
    bar_1++; bar_2++;
    cout << bar_1 << " " << bar_2 << endl;
    return bar_2;
}

int main(){
    foo();
    foo();
    return 0;
}

// 2 2
// 2 3

2.4 控制语句

#include <iostream>
#include <cstdlib>
using namespace std;

int main(){
    
    int guess = rand()%10;
    int k = 10;
    int cnt = 0;
    int x;
    
    while ( k > 0 ){			// for ( int i = 1; i <= k; i++ )
    	cout << "type a number and 'Enter'" << endl;
        cin >> x;
        if (x > guess)
            cout << "It's greater than guess" << endl;
        else if (x < guess)
            cout << "It's less than guess" << endl;
        else{
            cout << "It's equal to guess" << endl;
            guess = rand()%10;
            cnt++;
            continue;
        }
        k--;
    }
	
    cout << "Your Score: " << cnt << endl;
    return 0;
}

第一讲 - 作业:(选做)

[NOIP2015 普及组T1] 金币

题目描述

        国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续 n 天每天收到 n 枚金币后,骑士会在之后的连续 n+1 天里,每天收到 n+1 枚金币。

        请计算在前 k 天里,骑士一共获得了多少金币。

输入格式

         一个正整数 k,表示发放金币的天数。

输出格式

         一个正整数,即骑士收到的金币数。

样例 #1

样例输入 #1

6

样例输出 #1

14

样例 #2

样例输入 #2

1000

样例输出 #2

29820

 

【样例 1 说明】

骑士第一天收到一枚金币;第二天和第三天,每天收到两枚金币;第四、五、六天,每天收到三枚金币。因此一共收到 1+2+2+3+3+3=14 枚金币。

对于 100\% 的数据,1 <= k <= 10^4

感 谢

@ SRMVision