程序设计基础.docx

上传人:b****3 文档编号:5405935 上传时间:2022-12-16 格式:DOCX 页数:15 大小:246.77KB
下载 相关 举报
程序设计基础.docx_第1页
第1页 / 共15页
程序设计基础.docx_第2页
第2页 / 共15页
程序设计基础.docx_第3页
第3页 / 共15页
程序设计基础.docx_第4页
第4页 / 共15页
程序设计基础.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

程序设计基础.docx

《程序设计基础.docx》由会员分享,可在线阅读,更多相关《程序设计基础.docx(15页珍藏版)》请在冰豆网上搜索。

程序设计基础.docx

程序设计基础

学生实验报告

 

实验课名称:

程序设计基础

实验项目名称:

函数的应用

专业名称:

软件工程

班级:

24061101

学号:

2406100120

学生姓名:

朱宇

教师姓名:

揣锦华

 

2011年3月31日

每组人数1实验机器编号

实验日期2011年3月31日实验室名称WM2203机房

实验名称:

题目1:

求解一元二次方程

题目2:

请按照要求输出下列图形。

实验目的与要求:

1.巩固已学过的C++中输入和输出;

2.学习使用VC++6.0开发环境的debug调试功能。

3.掌握C++中类的定义等面向对象的程序设计方法。

4.掌握用数据文件来存储数据,并能正确使用输入、输出格式。

5.编写一个学籍管理系统;提高自己的编程能力。

实验内容:

题目1:

求解一元二次方程

对于一元二次方程

♦若

,方程有两个实根:

♦若

,方程有两个相等实根:

♦若

,方程有两个共轭复根:

要求根据提示信息输入方程系数(A、B和C),利用以上公式求解一元二次方程,若输入的数据有误,给出相应提示信息。

题目2:

请按照要求输出下列图形。

按照要求输出图形,程序输入/输出范例如下:

请选择绘制图形类别:

1.菱形

2.双三角形

3.杨辉三角

4.退出

请输入您的选择(1~4):

5

您的输入错误,请重新输入!

请选择绘制图形类别:

1.菱形

2.双三角形

3.杨辉三角

4.退出

请输入您的选择(1~4):

1

H

HHH

HHHHH

HHHHHHH

HHHHHHHHH

HHHHHHHHHHH

HHHHHHHHHHHHH

HHHHHHHHHHH

HHHHHHHHH

HHHHHHH

HHHHH

HHH

H

请选择绘制图形类别:

1.菱形

2.双三角形

3.杨辉三角

4.退出

请输入您的选择(1~4):

2

ABCDEFGHIJKLM

ABCDEFGHIJK

ABCDEFGHI

ABCDEFG

ABCDE

ABC

A

ABC

ABCDE

ABCDEFG

ABCDEFGHI

ABCDEFGHIJK

ABCDEFGHIJKLM

请选择绘制图形类别:

1.菱形

2.双三角形

3.杨辉三角

4.退出

请输入您的选择(1~4):

3

1

11

121

1331

14641

15101051

1615201561

172135352171

18285670562881

请选择绘制图形类别:

1.菱形

2.双三角形

3.杨辉三角

4.退出

请输入您的选择(1~4):

4

谢谢使用!

一、程序设计思想

题目1:

求解一元二次方程

采用函数调用的思想,定义一个求根的子函数,由数学知识可知,存在

三种情况,在主函数中用if语句进行选择,同时调用求根函数,最终实现对三种情况根的输出

题目2:

按要求输出图形

由于要输出三种图形,先将程序分解为三个独立的输出图形程序,用循环及递归写出相应的程序,再应用函数调用的思想将三个函数作为子函数,用switch语句来决定调用哪个,即可得到按要求输出图形的函数。

对菱形与双三角形,思路基本类似,先用一个for循环来控制输出空格,再用一个for循环来输出字符,并用嵌套的循环来控制每行每列的输出,最终得到所需的图形。

对杨辉三角,先分析规律,每个位置上的数等于它的两肩之和,用递归的方法来推出每个位置上的数值,在用于前面类似的循环来控制空格与数字的输出即可。

二、程序流程图

1.解一元二次方程2.按要求输出图形

三、实验结果与分析

1.求解一元二次方程

A=1,B=-2,C=1时,x1=x2=1A=1,B=-3,C=2时,x1=2,x2=1

A=1

B=-3

C=2

结果为

X1=2

X2=3

A=1,

B=2

C=3

结果为

X1=-1+1.414211

X2=-1-1.414211

 

2.输出图形

 

 

 

 

四、讨论和回答问题及体会

该实验运用了所学的循环、选择的控制结构,并运用了函数调用的方法。

在运用循环时应该用括号来限定循环的控制范围,防止发生混淆,并且也可以增加程序的可读性,运用for循环可以灵活的控制循环的次数。

对于函数调用,则可以将复杂的编程分为几个简单的子模块,同时也避免了相同程序段的重复编写,提高了效率

附录:

程序源代码

1.求解一元二次方程

#include

#include

voidqj(double&i,double&j,doubleA,doubleB,doubleC);

voidmain()

{

doubleA,B,C;

doublei,j;

cout<<"请输入A的值(A!

=0)";

do

{

cin>>A;

}while(A==0);//限定A的范围

cout<<"请输入B的值";

cin>>B;

cout<<"请输入C的值";

cin>>C;

qj(i,j,A,B,C);//调用qj函数

if(B*B-4*A*C<0)

{

cout<<"方程有两个共轭复根"<

cout<<"函数的解x1="<

cout<<"函数的解x2="<

}

elseif(B*B-4*A*C>0)

{

cout<<"方程有两个实根"<

cout<<"函数的解x1="<

cout<<"函数的解x2="<

}

else

{

cout<<"方程有两个相等实根"<

cout<<"函数的解x1=x2="<

}

}

voidqj(double&i,double&j,doubleA,doubleB,doubleC)

{

doublem,n;

m=B*B-4*A*C;

if(m>=0)

{

n=sqrt(m);

i=-B/(2*A);

j=sqrt(m)/(2*A);//m>0与m=0可以和在一起,因为m=0时j=0

}

else//m<0的情况

{

i=-B/(2*A);

j=sqrt(-m)/(2*A);

}

}

2.按要求输出图形

#include

#include

intyh(inti,intp);

voidm

ain()

{

intc;

cout<<"请输入您的选择(1~4):

1—菱形;2—双三角形;3—杨辉杨辉三角;4—退出;"<

cin>>c;

switch(c)

{

case1:

inti1,j1,k1;

for(i1=1;i1<=7;i1++)

{

for(j1=1;j1<=7-i1;j1++)

cout<<"";

for(k1=1;k1<=2*i1-1;k1++)

cout<<"H";

cout<

}

intm1,n1,p1;

for(m1=1;m1<=6;m1++)

{

for(n1=1;n1<=m1;n1++)

cout<<"";

for(p1=1;p1<=13-2*m1;p1++)

cout<<"H";

cout<

}

break;

case2:

{

charsz[13]={'A','B','C','D','E','F','G','H','I','J','K','L','M'};

intm2,n2,p2;

for(m2=1;m2<=7;m2++)

{

for(n2=1;n2<=m2-1;n2++)

cout<<"";

for(p2=1;p2<=13-2*m2+2;p2++)

cout<

cout<

}

inti2,j2,k2;

for(i2=2;i2<=7;i2++)

{

for(j2=1;j2<=7-i2;j2++)

cout<<"";

for(k2=1;k2<=2*i2-1;k2++)

cout<

cout<

}

break;

}

case3:

{

intm3=9;

for(inti3=0;i3

{

for(intj3=0;j3

cout<<"";

for(intp3=1;p3

cout<

cout<

}

break;

}

case4:

break;

}

}

intyh(intx,inty)

{

if(y==1||y==x+1)

return1;

else

returnyh(x-1,y-1)+yh(x-1,y);

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1