【编程目标】
根据第17课回溯算法课程的学习,独立完成子集和数问题程序的基本功能。主要应用到引用头文件、命名空间、主函数、变量定义与应用、回溯算法、if语句、while语句、数组定义与应用、函数定义、函数调用、标准输入、标准输出等编程技巧。
【编程技术】
编写该程序应用到的编程技术有以下:
引用头文件
命名空间
主函数
变量定义与应用
回溯算法
if语句
while语句
数组定义与应用
函数定义
函数调用
标准输入
标准输出
编译程序
运行程序
【学生作品】
实现源代码:
#include
using namespace std;
#define MAX 10000
int data[MAX],n,c;
bool v[MAX];
bool traceback(int n)
{
int p = 0,sum = 0;
while (p>=0)
{
if(!v[p])
{
v[p]=true;
sum += data[p];
if(c==sum)
return true;
else if (c
{
v[p]=false;
sum -= data[p];
}
p++;
}
if(p>=n)
{
while (v[p-1])
{
p--;
v[p]=false;
if(p
return false;
}
while (!v[p-1])
{
p--;
if(p
return false;
}
sum -= data[p-1];
v[p-1]=false;
}
}
return false;
}
int main()
{
cin>>n>>c;
for (int i = 0;i
cin>>data[i];
if (traceback(n))
{
int first =1;
for (int i=0;i
{
if(v[i])
{
if (first)
first=0;
else
cout
cout
}
}
cout
}
else
cout
return 0;
}
【作者简介】
李天睿:男孩,13岁,西安高新一中沣东中学初二学生。2018年9月份开始学习Scratch编程,参加全国少儿趣味创意编程大赛,获得“薪火奖”的证书、奖杯和奖金。对电脑特别感兴趣,喜欢游戏和编程。曾参加过Scratch编程和Python编程的学习。
【老师点评】
根据第17课回溯算法课程的学习,独立完成子集和数问题程序的基本功能。主要应用到引用头文件、命名空间、主函数、变量定义与应用、回溯算法、if语句、while语句、数组定义与应用、函数定义、函数调用、标准输入、标准输出等编程技巧,运行结果正确,总体实现不错。
【编程益处】
尽早发现孩子天赋
提升逻辑思维能力
培养专注力和耐心
戒除游戏隐
提升学习力和学习兴趣
提高升学竞争力
【编程现状】
2012年,美国陆续有23个州编程进入中小学课程
2014年,英国学龄5岁以上的儿童必须学习电脑编程
2016年,澳洲正式将coding引入了全国必修课程中
2017年,浙江省将信息技术(包含编程)作为高考选考科目(7选3)中的一门
2018年,浙江将Python编程作为高考科目之一,北京、山东等地也将纳入高考。
— THE END —
觉得不错,请关注
领取专属 10元无门槛券
私享最新 技术干货