软件工程个人作业01

本文介绍了一个使用随机数实现整数和真分数四则运算的程序。程序通过循环产生随机数来实现运算,并确保真分数的正确性和最简化。文章还分享了作者未能按时完成课程的原因。

1.撰写一篇博文要求将程序的设计思想,源程序代码、运行结果截图以及分析一下个人上课未按时完成的原因。

1》设计思想

1)首先确定这个程序的功能,即进行整数四则运算和真分数四则运算,所以先要确定写两个大的模块

2)整数运算部分,就是进行一个循环,为30次,然后每次循环产生两个进行运算的数(0~100) ,还要产生一个随机数用来表示运算符,即产生0~3的随机数,分别代表加减乘除。然后如果进行除法,如果分母为零,则对其加1.然后将结果显示出来。

3)真分数运算部分,进行30次循环,每次循环先产生四个随机数,用来表示分子,分母。然后为了结果为真分数,要将分子分母比较大小,然后将分子变为较小的数。然后保证分母不为零,分母为零则加1.然后进行约分,保证为最简分数。最后将结果显示出来。

4)设置退出程序以跳出循环。

 

2》源程序代码

//简单的四则运算,用随机数实现
//2016 3 7 Sunzhe
#include<iostream>
using namespace std;

void main()
{
    int x;//进行选择的数
    q:cout<<"请选择要进行的运算:1.整数运算 2.真分数运算 3.退出程序"<<endl;
    cin>>x;
   switch(x)//进行整数的运算
 {
     case 1:
     {
      for(int i=0;i<30;i++)
      {
        int n=rand() %4;//产生随机数,运算符的

        int a=rand()%100;//产生1~100随机数
        int b=rand()%100;//产生1~100随机数

        if(n==0){
          cout<<a<<"+"<<b<<"="<<endl;
        }
        else if(n==1){
           cout<<a<<"-"<<b<<"="<<endl;
        }
        else if(n==2){
           cout<<a<<"*"<<b<<"="<<endl;
        }
        else{
          if(b==0){
              b++;
              }
          cout<<a<<"/"<<b<<"="<<endl;
         }
      }
    goto q;
    }
    case 2:
    {
      for(int i=0;i<30;i++)
      {
        int c=rand()%100;//产生1~100随机数
        int d=rand()%100;//产生1~100随机数
        int e=rand()%100;//产生1~100随机数
        int f=rand()%100;//产生1~100随机数


        //保证为真分数
        if(c>d)
        {
          int t;
          t=d;
          d=c;
          c=t;
        }
        if(e>f)
        {
          int s;
          s=f;
          f=e;
          e=s;
        }
        if(d==0){d++;} //分母不为零
        if(f==0){f++;} //分母不为零
        //约分化为最简
        for(int a=c;a>0;a-- )
        {
           if(c%a==0&&d%a==0)
           {
              c=c/a;
              d=d/a;
              break;
           }
        }
        for(int b=e;b>0;b-- )
        {
            if(e%b==0&&f%b==0)
            {
                e=e/b;
                f=f/b;
                break;
             }
        }

        int n=rand() %4; //产生运算符的随机数

        if(n==0){
            cout<<c<<"/"<<d<<"+"<<e<<"/"<<f<<"="<<endl;
        }
        else if(n==1){
            cout<<c<<"/"<<d<<"-"<<e<<"/"<<f<<"="<<endl;
        }
        else if(n==2){
            cout<<c<<"/"<<d<<"*("<<e<<"/"<<f<<")="<<endl;
        }
        else
        {
            cout<<c<<"/"<<d<<"/("<<e<<"/"<<f<<")="<<endl;
         }
      }
      goto q;
    }
    case 3:
    {
      exit(0);
    }

  }
}

 

3》运行结果截图

 

4》分析一下个人上课未按时完成的原因

主要是对随机数的产生这块掌握的不是很熟练,要查阅有关资料才能写出相应代码,还有就是刚开始考虑不太周全,没有考虑到确保真分数及真分数的约分等问题。

转载于:https://www.cnblogs.com/sz20142898/p/5251681.html

内容概要:本文档围绕“虚拟电厂的多时间尺度调度”展开,重点研究在考虑储能系统容量衰减的前提下,如何整合发电侧与多用户负荷的灵活性,实现优化调度。该研究属于顶级SCI论文复现项目,采用Matlab进行代码实现,涵盖日前调度与日【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)内调度两个时间尺度,旨在提升虚拟电厂对可再生能源波动性和负荷不确定性的应对能力。文档还列举了多个相关科研方向与技术资源,包括Copula理论用于光伏功率预测、鲸鱼算法优化深度学习模型(如WOA-CNN-LSTM)、风光互补制氢合成氨系统优化、电力系统稳定性分析等,展示了其在电力系统优化、新能源调度、储能管理等领域的广泛应用价值。; 适合人群:具备电力系统、能源管理、自动化或相关专业背景的研究生、博士生及科研人员,熟悉Matlab编程与优化建模工具(如YALMIP、Cplex)者更佳;同时适用于从事虚拟电厂、微电网、综合能源系统等领域工程实践的技术人员。; 使用场景及目标:① 复现高水平SCI论文中的虚拟电厂多时间尺度调度模型,掌握考虑储能衰减的建模方法;② 学习并应用先进优化算法(如智能算法、ADMM、纳什博弈)解决能源系统调度问题;③ 拓展至风光氢储耦合系统、电热综合能源系统等复杂场景的容量配置与运行优化研究;④ 获取完整的Matlab代码资源与仿真案例,支撑科研论文写作与项目开发。; 阅读建议:建议按目录顺序系统浏览,优先理解虚拟电厂调度的整体架构与数学模型,再结合提供的Matlab代码进行调试与仿真;对于涉及的概率预测、优化求解、系统建模等内容,应参考相应文献深化理论基础,注重模型假设与实际工程的衔接,提升科研创新能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值