第三周作业

实验作业

1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错。

2.编写程序输入一个三角形的三条边,计算其面积和周长;

3.编写程序计算并输出课本本章习题3表达式的值并分析结果。

4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出。

5.编写程序,自己确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果,请注释你的加密算法。

6.在一个自动控制设备中,控制字位数16位,控制设备产生机械动作(如削,压等)的是指令字的低8位,其中保护强制停机动作的控制命令是低8位是全为0,控制报警声音是指令的高第1位,0为报警,1为不报警。请编写程序,在紧急状况启动时,向控制器输入控制指令。

7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。

习题2.1  布尔类型的举例:

/**************************************** 
**       功能:布尔类型使用实例        ** 
****************************************/  
  
#include<iostream>                       //编译预处理命令  
#include<iomanip>                        //使用控制符boolalpha需使用此头文件  
using namespace std;                     //使用标准名空间  
    
int main()                               //主函数  
{    
    bool flag=true;                      //定义布尔型变量flag,并初始化为true  
    cout<<flag<<endl;                    //默认情况下,为非bool字母,输出整型值1  
    cout<<boolalpha<<flag<<endl;         //使用输出格式控制符boolalpha,输出布尔型值  
    cout<<flag + 5<<endl;                //在算术运算中,把布尔数据当作整型数据,输出6  
    flag = 0;                            //可以给bool类型的变量赋任意类型的值  
    cout<<"执行语句flag=0;后flag的值为:"<<boolalpha<<flag<<endl;    
    flag = 0.0;                          //0.0为double类型的数值  
    cout<<"执行语句flag=0.0;后flag的值为:"<<boolalpha<<flag<<endl;    
    
    return 0;    
}  


习题2.1   赋值表达式语句的举例

#include<iostream>    
using namespace std;    
    
int main()    
{    
    int a,b,c,d;    
    a=4;    
    b=a;    
    a=5;    
    c=d=6;    
    c*=a;    
    d%=a+b; 
    cout<<"a="<<a<<endl    
        <<"b="<<b<<endl    
        <<"c="<<c<<endl    
        <<"d="<<d<<endl;    
    
    return 0;    
}  


习题2.3  数据溢出举例

#include<iostream>    
using namespace std;    
    
int main()    
{    
    short i,j,m,n;    
    i=1000;    
    j=1000;    
    m=i+j;    
    n=i*j;    
    cout<<"m="<<m<<endl;    
    cout<<"n="<<n<<endl;    
    return 0;    
}   


习题2.4   ++运算符使用举例

#include<iostream>    
using namespace std;    
    
int main()    
{    
    int i=6,j,k;
	j=++i;
	k=i++;
	++i=1;
	cout<<"i="<<i<<endl;
	cout<<"j="<<j<<endl;
	cout<<"k="<<k<<endl;
    return 0;    
}   

习题2.5 

#include<iostream>    
using namespace std;    
    
int main()    
{    
    char ch;    
    cout<<"please input a character:";    
    cin>>ch;    
    ch=ch>='a'&&ch<='z'?ch-'a'+'A':ch;    
    //上述语句等价于 ch = ch >='a'&&ch<='z'?ch-32:ch;    
    cout<<"The result is:"<<ch<<endl;    
    
    
    return 0;    
}  


习题2.7

#include<iostream>    
using namespace std;    
    
int main()    
{    
    int ab,ac;    
    double b= 3.14;    
    char c='A';    
    ab=int(b);    
    ac=int(c);    
    cout<<"b="<<b<<endl;    
    cout<<"ab="<<ab<<endl;    
    cout<<"c="<<c<<endl;    
    cout<<"ac="<<ac<<endl;    
    
    return 0;    
}   

1.输入三角形的三条边长,计算出三角形的周长和面积,利用海伦公式可计算三角形的面积

#include<iostream>
#include<math.h>
using namespace std;
    
int main()
{
    float a,b,c;
	cout<<"请输入三角形边长a:\t";
    cout<<"请输入三角形边长b:\t";
    cout<<"请输入三角形边长c:\t";
	cin>>a>>b>>c;
	while(a+b<=c||a+c<=b||b+c<=a)
	{
		cout<<"输入错误,请重新输入:";
		cout<<"请输入三角形边长a:\t";
		cout<<"请输入三角形边长b:\t";
		cout<<"请输入三角形边长c:\t";
	cin>>a>>b>>c;
	}
	float s,l,p,k;
	k=a+b+c;
	p=k/2;
	s=sqrt(p*(p-a)*(p-b)*(p-c));
	l=a+b+c;
	cout<<"三角形周长:"<<l<<endl;
	cout<<"三角形面积:"<<s<<endl;
    return 0;    
} 

2.求下列表达式的值

(1)小题的值为13.7

#include<iostream>
#include<math.h>
using namespace std;
    
int main()
{
	int e=1,f=4,g=2;
	float m=10.5,n=4.0,k;
	k=(e+f)/g+sqrt((double)n)*1.2/g+m;
	cout<<k<<endl;
    return 0;    
} 

(2)的值为7

#include<iostream>
#include<math.h>
using namespace std;
    
int main()
{
	float x=2.5,y=4.7;
	int a=7;
	x+a%3*(int(x+y)%2)/4;
	cout<<a<<endl;
    return 0;    
} 

3.解一元二次方程要用到很多条件公式,所以在编程过程中就要插入IF语句

#include<iostream>
#include<math.h>
using namespace std;
    
int main()
{
	double a,b,c,g,x1,x2;
	cout<<"请输入函数变量a:";
	cout<<"请输入函数变量b:";
	cout<<"请输入函数变量c:";
	cin>>a>>b>>c;
	g=sqrt(b*b-4*a*c);
	if(g>=0)
	{
		x1=(-b+g)/(2*a);         
		x2=(-b-g)/(2*a);
		cout<<"方程的两个解为x1="<<x1<<",x2="<<x2<<endl;
	}
	else
		cout<<"此方程无解!"<<endl;
	return 0;
}


 5,6题暂且不会,迟点补回!!!!!!!!

7.尽量多敲代码,调试,找错误,执行这些才是硬道理!!!!
 

你好!改善深层神经网络的方法有很多,以下是一些常见的方法: 1. 使用更好的激活函数:传统的激活函数如Sigmoid、tanh等可能存在梯度消失或爆炸的问题。可以尝试使用ReLU、Leaky ReLU、ELU等激活函数,以减轻这些问题。 2. 使用批标准化(Batch Normalization):批标准化对网络的输入进行标准化,有助于加快网络的训练速度,并且可以缓解梯度问题,使得更深层的网络也能够训练得更好。 3. 使用残差连接(Residual Connections):残差连接可以帮助信息在网络中更好地流动,从而减轻梯度消失的问题。通过将某些层的输出与输入相加,可以使得网络更易于训练。 4. 使用更好的优化算法:传统的梯度下降算法如随机梯度下降(SGD)可能存在训练速度慢、易陷入局部最优等问题。可以尝试使用更高级的优化算法如Adam、RMSprop等,以加快模型的收敛速度。 5. 添加正则化:过拟合是深层神经网络常见的问题之一。可以通过添加正则化项如L1正则化、L2正则化等来限制模型的复杂度,防止过拟合的发生。 6. 数据增强:通过对训练数据进行一些随机的变换,如平移、旋转、缩放等,可以增加模型的泛化能力,防止过拟合。 这些方法只是改善深层神经网络的一部分,具体的选择和调整需要根据具体问题和数据集来进行。希望对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值