实验1 经典软件体系结构风格(一)

实验1 经典软件体系结构风格(一)

学号:         姓名:       班级:      

时间:         地点:       指导老师:     

一、实验目的

       (1)理解主程序-子程序软件体系结构、面向对象软件体系结构、管道-过滤器软件体系结构的原理

       (2)掌握主程序-子程序软件体系结构、面向对象软件体系结构、管道-过滤器软件体系结构的实例

       (3)主程序-子程序软件体系结构、面向对象软件体系结构、管道-过滤器软件体系结构的编程实现

二、实验内容1

1. 问题描述

#include <stdio.h>
int max(int x,int y) {
   int z;
   z = x > y ? x : y;
   return( z );
}
void main(){
int a,b,c ;
   scanf(“%d,%d”,&a,&b);
   c=max(a,b);
   printf(“The max is %d”, c);
}

2. 软件设计

3. 测试及运行结果

4. 代码分析

主程序-子程序结构。max是子程序,负责接收两个整数并返回较大者。main是主程序,它读取用户输入的两个整数,并调用max来找出较大值,然后打印结果。当输入1, 2时,程序正确输出2作为较大值。

三、实验内容2

1. 问题描述

运行下面的程序,理解数据抽象和面向对象软件体系结构
class Spot{
    private int x,y;
    Spot(int u, int v){
        setX(u);
        setY(v);
    }
    void setX(int x1){
        x=x1;
    }
    void setY(int y1){
        y=y1;
    }
    int getX(){
        return x;
    }
    int getY(){
        return y;
    }
}
class Trans{
    void move(Spot p, int h, int k){
        p.setX(p.getX()+h);
        p.setY(p.getY()+k);
    }
}
class Test{
    public static void main(String args[]){
        Spot s = new Spot(2,3);
        System.out.println("s点的坐标:" + s.getX() + "," + s.getY());
        Trans ts = new Trans();
        ts.move(s,4,5);
        System.out.println("s点的坐标:" + s.getX() + "," + s.getY());
    }
}

2. 软件设计

3. 测试及运行结果

4.代码分析

Spot类封装了点的位置信息(x,y坐标),并通过私有变量x和y隐藏了数据的具体实现细节。外部只能通过类提供的公共方法(如getX(), getY(), setX(), setY())来访问或修改这些数据成员,从而实现了数据的隐藏和保护。类Spot定义了一个对象,该对象具有状态(x和y坐标)和行为(设置和获取坐标的方法)。类Trans定义了另一个对象的行为,即移动一个Spot对象到新的位置。这里move方法接收一个Spot对象和两个整数(水平偏移量h和垂直偏移量k),然后更新Spot对象的位置。

四、实验内容3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值