zoukankan      html  css  js  c++  java
  • # 20155224课上测试补完+课下作业

    20155224课上测试补完+课下作业

    测试1

    • 要求:

    参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成“求命令行传入整数参数的和”

    测试代码传入自己的8位学号

    上方提交代码

    附件提交运行测试截图

    import java.util.*;
    
    public class CLSum {
        public static void main(String [] args) {
    
            int sum = 0;
    
            for(String arg: args)
                sum += Integer.parseInt(arg);//将老师代码中的 Interger改为 Integer
    
        // 打印
            System.out.println(sum);
        }
    }
    
    • 结果:
    #include <stdio.h>
    void main(int argc,char** argv)
    {
            int i,a,sum=0;
            for(i=1;i<argc;i++)
            {
                    a=atoi(argv[i]);
                    sum = sum +a;
            }
            printf("%d
    ",sum);
    }
    

    测试2

    • 要求:

    把第一个练习中的代码在X86-64(Ubuntu)中反汇编,给出汇编代码和机器码的截图

    把X86-64汇编翻译成Y86-64汇编,并给出相应机器码的截图(使用附件中的Y86-64模拟器)

    • 结果:

    测试3

    • 要求:

    基于socket 使用教材的csapp.h csapp.c,实现daytime(13)服务器(端口我们使用13+后三位学号)和客户端
    服务器响应消息格式是

    客户端IP:XXXX
    服务器实现者学号:XXXXXXXX
    当前时间: XX:XX:XX

    上方提交代码
    提交一个客户端至少查询三次时间的截图测试截图
    提交至少两个客户端查询时间的截图测试截图

    • 结果:

    课下作业1

    1. 完成家庭作业4.47,4.48,4.49
    2. 相应代码反汇编成X86-64汇编
    3. 把上述X86-64汇编翻译成Y86汇编,并给出相应机器码
    • 4.47
      • 要求:书写一个C版本的冒泡排序法,用指针引用数组元素,而不是数组索引。书写并测试这个函数和测试代码组成的Y86-64程序。
      • 结果:
    #include<stdio.h>
    void bubble_a(int *data, int count){
        int i,next;
        for(next = 1; next < count; next++){
            for(i = next - 1; i >= 0; i--)
                if(*(data + i + 1) < *(data + i)){
                    int t = *(data + i + 1);
                    *(data + i + 1) = *(data + i);
                    *(data + i) = t;
                }
        }
    }
    void main()
    {
        int data[5]={4,90,2,6,0};
        int i;
        bubble_a(data,5);
        for(i=0;i<5;i++)
        {
            printf("%2d
    ",data[i]);
        }
    }
    

    • 4.48
      • 要求:实现冒泡排序,要求不使用跳转,且最多使用3次条件传送。
      • 结果:
    #include<stdio.h>
    void bubble_a(int *data,int count)
    {
        int i , next;
        int pre_ele,next_ele;
        for(next = 1;next < count;next++)
        {
            for(i = next -1;i >= 0;i--)
            {
                pre_ele = *(data + i);
                next_ele = *(data + i + 1);
                *(data + i) = next_ele < pre_ele ? next_ele : pre_ele;//三目运算符号
                *(data + i + 1) = next_ele < pre_ele ? pre_ele : next_ele;//使用两次条件传送
            }
        }
    }
    void main()
    {
        int data[5]={4,90,2,6,0};
        int i;
        bubble_a(data,5);
        for(i=0;i<5;i++)
        {
            printf("%2d
    ",data[i]);
        }
    } 
    

    • 4.49
      • 要求:实现冒泡排序,要求不使用跳转,且最多使用1次条件传送。
      • 结果:
    #include<stdio.h>
    void bubble_c(int *data,int count)
    {
        int i , next;
        int pre_ele,next_ele;
        for(next = 1;next < count;next++)
        {
            for(i = next -1;i >= 0;i--)
            {
                pre_ele = *(data + i);
                next_ele = *(data + i + 1);
                *(data + i) = next_ele < pre_ele ? next_ele : pre_ele;
                *(data + i + 1) = pre_ele;
            }
        }
    }
    void main()
    {
        int data[5]={4,90,2,6,0};
        int i;
        bubble_a(data,5);
        for(i=0;i<5;i++)
        {
            printf("%2d
    ",data[i]);
        }
    }  
    

    课下作业2

    - 要求:把课上练习3的daytime服务器分别用多进程和多线程实现成并发服务器并测试
  • 相关阅读:
    C# 将信息打印/输出到VS的“输出”窗口
    USB、UART、232串口通信和转换芯片
    UART/USB你必须知道的
    摄像头捕获视频流软件AMCAP使用教程(视频采集捕获处理媒体制作微型软件)
    Qt 线程关闭
    Qt 5种标准对话框及使用方法详解 QFileDialog、QcolorDialog、QFontDialog、QinputDialog、QMessageBox
    OpenCV 机器人手眼标定(九点标定法)
    如何打开svs文件
    OpenCV cvEstimateRigidTransform函数详细注解
    OpenCV 几何图像变换-cv::getAffineTransform(仿射变换)
  • 原文地址:https://www.cnblogs.com/nxy970408/p/7816915.html
Copyright © 2011-2022 走看看