2015 person projects

Source: Internet
Author: User

Arithmetic Topic Generation Program

Task: implement a command-line program that automatically generates arithmetic topics for primary schools.

Developed using VS 2012, implemented in C + + or C #, you can use the. Net Framework, which runs in 32-bit Windows 7 or 8.

The submitted code requires analysis by the Code quality Analyze tool and eliminates all warnings. Code Quality analysis tool usage see:

Http://msdn.microsoft.com/en-us/library/dd264897.aspx

Use the Profiling Tools to identify and improve performance bottlenecks in your code.

Write at least 10 test cases to make sure your program handles every situation correctly.

Job Submission:

    • Submit your source code and executable program to the Computer Academy Course Center website http://10.254.25.5/moodle/, the TA will check the correctness of the program in the test environment (0 points for incorrect procedures).
    • Performance testing
    • Write a blog that asks for the blog job requirements below.
    • Deadline 2015.09.22.

Defined:

    • Natural number: 0, 1, 2, ....
    • True score: 1/2, 1/3, 2/3, 1/4, 1 ' 1/2, ....
    • Operator: +,−,x,÷.
    • Parentheses: (,).
    • equals sign: =.
    • Separators: spaces (for arithmetic characters and before and after).
    • An arithmetic expression:

E: = n | E1 + E2 | E1−e2 | E1xe2 | E1÷e2 | (e),

where E, E1 and E2 are expressions, n is the natural number or the true fraction.

    • Arithmetic title: E =, where e is an arithmetic expression.

Demand:

1. Use the-n parameter to control the number of generated topics, such as

Myapp.exe-n 10

10 topics will be generated.

2. Use the-r parameter to control the range of values (natural numbers and true fractions) in the topic, such as

Myapp.exe-r 10

The arithmetic topic will be generated within 10 (excluding 10). This parameter must be given, otherwise the program will error and give help information.

3. The calculation process in the generated topic cannot produce negative numbers, that is, if there are sub-expressions in the arithmetic expression, such as E1−e2, then e1≥e2.

4. If there are sub-expressions such as e1÷e2 in the generated topic, then E1 must be divisible by E2, with no remainder.

5. The problem cannot be duplicated when a program is run. The generated topic is stored in the Exercises.txt file under the current directory of the executing program, in the following format:

1. Arithmetic Topic 1

2. Arithmetic Topic 2

......

Where true scores are used in the input and output format, the true score Three-fifths is 3/5, the true fraction Two and three-eighths is 2 ' 3/8.

6. While generating the title, calculate the answer to all the questions and deposit the Answers.txt file in the current directory of the executing program, in the following format:

1. Answer 1

2. Answer 2

In particular, the operation of the true fraction is shown in the following example: 1/6 + 1/8 = 7/24.

7. The program should be able to support the generation of 10,000 topics.

8. The program supports a given topic file and answer file, determines the correct error in the answer and carries out the quantity statistics, the input parameters are as follows:

MYAPP.EXE-E <exercisefile>.txt-a <answerfile>.txt

The statistical results are output to the file Grade.txt, in the following format:

Correct:5 (1, 3, 5, 7, 9)

Wrong:5 (2, 4, 6, 8, 10)

where ":" After the number 5 indicates the number of correct/wrong questions, in parentheses is the number of the right/wrong topic.

Blog requirements:

Posted on your personal blog, you can also forward to your team blog to increase the popularity of your team's blog. The specific requirements are as follows:

1) before starting to implement the program, use the following PSP table to record the time you estimate will be spent on the development of each module of the program.

2) After you have completed the program, use the following PSP table to record the actual time you spend on each module of the program.

3) Keep track of how much time you spend improving program performance, describe your ideas for improvement, and show a graph of performance analysis (generated automatically by VS2012 's performance analysis tools). If possible, show the most expensive functions in your program.

4) Share at least 10 test cases that you have tested for your program, and explain why you can be sure that your program is correct. (Incorrect procedures get 0 points, regardless of performance)

5) Explain what you learned in your personal project.

PSP2.1

Personal Software Process Stages

Time

Planning

Plan

· Estimate

· Estimate how long this task will take

Development

Development

· Analysis

· Demand analysis (including learning new technologies)

· Design Spec

· Creating a design Document

· Design Review

· Design Review (and colleagues review design documents)

· Coding Standard

· Code specification (to develop appropriate specifications for current development)

· Design

· Specific design

· Coding

· Specific code

· Code Review

· Code review

· Test

· Test (self-test, modify code, commit changes)

Reporting

Report

· Test Report

· Test report

· Size Measurement

· Computational effort

· Postmortem & Process Improvement Plan

· Summarize afterwards and propose process improvement plan

Total

2015 person projects

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.