You are on page 1of 22

Assignment 1 Programming BTEC

C#
Programming Paradigms
Greenwich University (GU)
21 pag.

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing

Unit number and title Unit 1: Programming

Submission date 8/12/2021 Date Received 1st submission

Re-submission Date Date Received 2nd submission

Student Name Truong Dan Truong Student ID GCH200277

Class Assessor name Lai Manh Dung

Student declaration

I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand
that making a false declaration is a form of malpractice.

Student’s signature Truong

Grading grid

P1 M1 D1

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
 Summative Feedback:  Resubmission Feedback:

Grade: Assessor Signature: Date:


Lecturer Signature:

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Table of Contents
1. State your simple business problems to be solved................................................................................6
Overview about algorithm............................................................................................................. 6
Represent a small and simple problem.......................................................................................... 9
2. Analyze the problem and design the solutions by the use of suitable methods...................................10
Analyze the problem.................................................................................................................... 10
Flowchart..................................................................................................................................... 10
3. Demonstrate the compilation and running of a program.....................................................................12
Introduce how the problem is solved........................................................................................... 12
Source code and screen shots of the final result..........................................................................12
Explain briefly what is Software Development Life Cycle.........................................................16
Explain how the source code is compiled....................................................................................17
4. Evaluate how the problem is solved from the designed algorithm to the execution program written by
a specific programming language............................................................................................................... 18
Test case....................................................................................................................................... 18
Evaluate how the problem is solved from the designed algorithm to the execution program
written by a specific programming language.......................................................................................... 19
References.................................................................................................................................................. 20

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Table of Figure
Figure 1-The brow tea algorithm.................................................................................................................. 6
Figure 2- Algorithm is clear from input to output........................................................................................ 7
Figure 3- Swap number algorithms include 8 steps..................................................................................... 7
Figure 4-Using available resources to handle problem................................................................................8
Figure 5-Algorithm can implement in many languages...............................................................................8
Figure 6-Sorting grade of student problem.................................................................................................. 9
Figure 7- How bubble sort algorithm works................................................................................................ 9
Figure 8-Source code................................................................................................................................. 14
Figure 9-Screenshot of the final result (1).................................................................................................. 16
Figure 10-Screenshot of the final result (2)................................................................................................ 16
Figure 11-Software Development Life Circle............................................................................................ 17

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Table of Flowchart
Flowchart 1-Bubble sort algorithm............................................................................................................ 11
Flowchart 2-How my program solve problem........................................................................................... 12
Flowchart 3-Example about how C# compiler works................................................................................18

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
List of Tables
Table 1-Main variables are used................................................................................................................ 10
Table 2-Structures are used........................................................................................................................ 10
Table 3-Test plan........................................................................................................................................ 19

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
1. State your simple business problems to be solved

Overview about algorithm


 Definition: An algorithm is a procedure or formula used for solving a problem. It contains
the steps, which is a set of actions that are executed in a certain order to obtain the desired
output.

For example: The brew tea algorithm

Figure 1-The brow tea algorithm

 Characteristics of
algorithm:
+ Unambiguous: The algorithm should be explicit and straightforward. Each of its processes as
well as their inputs and outputs, should be obvious and lead to just one conclusion.

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Figure 2- Algorithm is clear from input to output

+Finiteness: Algorithm must handle the problem after doing number of certain steps.

Figure 3- Swap number algorithms include 8 steps

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/

+ Feasibility: program can solveDownloaded


problem with given the resources
by: tin-ngo-1 (tindeptry1357@gmail.com)

provided.
Figure 4-Using available resources to handle problem

+ Independent: Algorithm does not base on certain programming language. It can be implemented
in many different programming languages.

Figure 5-Algorithm can implement in many languages

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Represent a small and simple problem
To know about algorithm in programing clearly, I will represent small and simple problem the business
problem, it is sorting student by grades in ascending order. This is the problem that the teacher usually
meets it when they classify student in a class.

Figure 6-Sorting grade of student problem

To handle this problem, I will use bubble sort algorithm because it is simpler than other sorting
algorithms. Idea of this algorithm is sorting a list of grades of student by repeating the task of swapping
two consecutive grade if they are in the wrong order (the latter grade is less than the previous grade) until
the sequence grades has been completely sorted by ascending order.

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)

Figure 7- How bubble sort algorithm works


2. Analyze the problem and design the solutions by the use of suitable methods.

Analyze the problem


 Input:
-Total of student.
-A list of students included student name and their grade.
 Output: A list of students is sorted by grade in ascending order.
 Variables are used:

Variable Data type Purpose


total integer Store total of student
name string array Store student name
grade double array Store student grade
i, j integer Access each of student name or grade
tempName string Store temporary name in order to support swapping value
tempGrade double Store temporary grade in order to support swapping value

Table 1-Main variables are used

 Structures are used:

Structure Purpose
If Compare student information to sort
For Access each student information

Table 2-Structures are used

Flowchart

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/
Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)

Flowchart 1-Bubble sort algorithm


 Explain by pseudo
code: Step 1: START
Step 2: DECLARE tempName, tempGrade, i, j;
Step 3: SET i=0;
Step 4: WHILE i<total-1 is True, REPEAT step 5 through step 9.
Step 5: SET j=i+1;
Step 6: WHILE j<total is true, REPEAT step 7 through step 8.
Step 7: IF grade[i]> grade[j]:
Step 7.1: SET tempName= name[i], SET tempGrade=grade[i].
Step 7.2: SET name[i]=name[j], grade[i]=grade[j].
Step 7.3: SET name[j]=tempName,
grade[j]=teampGrade. Step 8: INCREASE j by 1.
Step 9: INCREASE I by 1.
Step 10: STOP.

3. Demonstrate the compilation and running of a program

Introduce how the problem is solved


-In my program, I apply procedural programing to divide this problem into small tasks that includes
function readList, printList and sortList. In addition, I have used algorithm that was designed in task 2 to
build function sortList. The function readList and printList will support function sortList in reading and
displaying result.

-In detail, my program will read unsorted list of students that included name and grade from keyboard,
and then I display this list on console screen. After that, I sort this list by grade and display it on console
screen.

Flowchart 2-How my program solve problem

Source code and scre e n s h o t s o f t h e f i n a l r e s u l t


D oc ume nt sha red o nh ttps ://w w w.d ocs ity .c om /en /a ss ign me nt- 1 -programming-btec-c/7733496/
Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
 Source code:
Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/
Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Figure 8-Source code

 Explain:
 The first step: I declare global 3 variables: total, string[] name and double[] grade.

 The next step: I use procedural programming skill to build 3 functions: readList,
printList and sortList.

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
I use the algorithm that I have analyzed and designed in task 2 to build function sortList:
+I declare 2 variable: tempName and tempGrade in order to store temporary name and grade that
will support swapping 2 values (name, grade).
+I use 2 for-structures combine if-structure with condition (grade[i]>grade[j]) to check if latter
grade less than previous grade. In case this condition is true, I will swap variable name[i] and
name[j], grade[i] and grade[j].

 The final step: In method Main, I use 3 above functions to handle problem follow order:
Read list of students that has not been sorted→display list before sorting→sorting
list→display list after sorting.

 Screenshots of the final results:

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Figure 9-Screenshot of the final result (1)

Figure 10-Screenshot of the final result (2)

Explain briefly what is Software Development Life Cycle


Software Development Life Cycle is a process that is followed for a software project. It is a thorough
strategy that explains how to build, maintain, replace, and modify or enhance certain software. On the
other hand, it is an approach for enhancing software quality and the development process in general.

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Figure 11-Software Development Life Circle

A Software Development Life Cycle include stages:


+ Planning and requirement analysis: collecting relevant information from problem and identifying inputs,
outputs, the things that are necessary to handle that problem.
+Design: base on the requirements analysis, design suitable algorithms to solve the problem
+Implementation: demonstrate how the algorithm is implemented by using suitable programming language.
+Testing: predict possible cases and run tests on the program, fix bug (if any).
+Evolution: Upgrade and optimize the program by adding, removing functions or using new algorithms.

Explain how the source code is compiled


-The source code wants to compile, it needs a tool called “compiler”. Nature of compiler is converting
high-level source code into intermediate code and executes it immediately. When you start the compiler,
it accepts your code as an input, processes it, and then saves it as Intermediate Language (IL) code in
*.exe or *.dll files. The IL code is translated into machine code using a just-in-time (JIT) compiler
(sometimes called "native" code).

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
Flowchart 3-Example about how C# compiler works

4. Evaluate how the problem is solved from the designed algorithm to the
execution program written by a specific programming language

Test case:

Test Test Data Expected result Actual Evaluation


case objective result
ID
T01 List of The list includes 3 students The list of students The list of Pass
students and their information are was sorted by grade in students was
after sorting Nguyen Van Long 5 ascending sorted by
by grade Bui Thi Linh 3 Bui Thi Linh 3 grade in
Dang Van Cuong 9.5 Nguyen Van Long 5 ascending
Dang Van Cuong 9.5

The list includes 5 students The list of students The list of Pass
and their information are was sorted by grade in students was
Bui Duc Canh 8.1 ascending sorted by
Bui Xuan Truong 9.0 Do Duc Thang 4.1 grade in
Ha Thi Linh 7.6 Vu Thi Hue 6.6 ascending
Do Duc Thang 4.1 Ha Thi Linh 7.6
Vu Thi Hue 6.6 Bui Duc Canh 8.1
Bui Xuan Truong 9.0
Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/
Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
The list includes 10 The list of students The list of Pass
students and their was sorted by grade in students was
information are ascending sorted by
Nguyen Trong Hue 8.0 Tang Tien Dat 1.5 grade in
Tang Tien Dat 1.5 Nguyen Minh Duc 4.9 ascending
Bui Quang Dung 9.6 Ngo Minh Quang 5.2
Ngo Minh Quang 5.2 Nguyen Thi Thao 6.1
Cao Viet Anh 7.7 Nong Van Lam 6.7
Nguyen Minh Duc 4.9 Cao Viet Anh 7.7
Nguyen Thi Thao 6.1 Nguyen Trong Hue 8.0
Ha Thu Trang 8.8 Ha Thu Trang 8.8
Nong Van Lam 6.7 Bui Quang Dung 9.6
Truong Hai Dang 10.0 Truong Hai Dang 10.0

Table 3-Test plan

Evaluate how the problem is solved from the designed algorithm to the
execution program written by a specific programming language
Algorithm is ordered steps to solve a certain problem. When we analyze and design the algorithm, we
can understand the nature of the problem and the appropriate solution. On the other hand, the computer
cannot understand human language, so we have to write it in a suitable programming language that
compilers can compile for the computer to understand and run. The program written will be based on the
designed algorithm to complete work. Therefore, written algorithm and code variant are closely related in
solving problems

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)
References
Admin, 2021. [Online]
Available at: https://tutorialink.com/ds/key-features-of-an-algorithm.ds
[Accessed 28 7 2021].

Admin, 2021. tutorialspoint. [Online]


Available at: https://www.tutorialspoint.com/sdlc/sdlc_overview.htm
[Accessed 28 7 20].

Davidson, C., 2021. indicative. [Online]


Available at: https://www.indicative.com/data-defined/programming-algorithm/

Kahane, R., 2021. c# corner. [Online]


Available at: https://www.c-sharpcorner.com/UploadFile/a8024d/C-Sharp-program-compliation-steps/
[Accessed 7 28 2021].

Document shared on https://www.docsity.com/en/assignment-1-programming-btec-c/7733496/


Downloaded by: tin-ngo-1 (tindeptry1357@gmail.com)

You might also like