Difference between revisions of "CSC231 Homework 5 2017"

From dftwiki3
Jump to: navigation, search
(Problem #1)
(Problem #1)
Line 9: Line 9:
 
=Problem #1=
 
=Problem #1=
 
<br />
 
<br />
Write an assembly language program that prompts the user for an integer, and prints out a pattern of stars representing a triangle, a square, and another triangle.
+
Write an assembly language program called '''hw5_1.asm''' that prompts the user for an integer, and prints out a pattern of stars representing a triangle, a square, and another triangle.
 
+
<br />
 
Here is an example where the user enters 5 when prompted by the program:
 
Here is an example where the user enters 5 when prompted by the program:
 
<br />
 
<br />
Line 16: Line 16:
 
<br />
 
<br />
 
Note that the output corresponds to 3 geometric patterns: a triangle of 5 lines, a square of 5 lines, and another triangle of 5 lines.  The width of the square and triangles is 5 star (max length of a line).
 
Note that the output corresponds to 3 geometric patterns: a triangle of 5 lines, a square of 5 lines, and another triangle of 5 lines.  The width of the square and triangles is 5 star (max length of a line).
 +
 
<br />
 
<br />
 
[[Image:hw5_1top.png|230px]]
 
[[Image:hw5_1top.png|230px]]
Line 21: Line 22:
 
[[Image:hw5_1bot.png|230px]]
 
[[Image:hw5_1bot.png|230px]]
 
<br />
 
<br />
 +
 +
==Solution Executable==
 +
<br />
 +
The executable version of the solution program is available for you to play with.  Get a copy of it as follows:
 +
<br />
 +
 +
getcopy hw5_1sol
 +
 +
<br />
 +
and run it a few times to see how it works:
 +
 
 +
./hw5_1sol
 +
 +
You can compare the output of your program to the solution program by running these linux commands (we assume that we want to test the two programs with an input of '''6'''):
 +
 +
231b@aurora hw5 $ '''cat > input.txt'''
 +
'''6'''
 +
'''^D'''    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;''(type Control-D then ENTER to indicate end of input)''
 +
231b@aurora hw5 $ '''./hw5_1 < input.txt > output.txt'''
 +
231b@aurora hw5 $ '''./hw5_1sol < input.txt > outputsol.txt'''
 +
231b@aurora hw5 $ '''diff -y output.txt outputsol.txt''' 
 +
> * > *
 +
** **
 +
*** ***
 +
**** ****
 +
***** *****
 +
****** ******
 +
****** ******
 +
****** ******
 +
****** ******
 +
****** ******
 +
****** ******
 +
****** ******
 +
****** ******
 +
***** *****
 +
**** ****
 +
*** ***
 +
** **
 +
* *

Revision as of 07:22, 25 March 2017

--D. Thiebaut (talk) 08:12, 25 March 2017 (EDT)



This homework is due on 4/3/17, at 11:55 p.m.


Problem #1


Write an assembly language program called hw5_1.asm that prompts the user for an integer, and prints out a pattern of stars representing a triangle, a square, and another triangle.
Here is an example where the user enters 5 when prompted by the program:

Hw5 1.png


Note that the output corresponds to 3 geometric patterns: a triangle of 5 lines, a square of 5 lines, and another triangle of 5 lines. The width of the square and triangles is 5 star (max length of a line).


Hw5 1top.png Hw5 1middle.png Hw5 1bot.png

Solution Executable


The executable version of the solution program is available for you to play with. Get a copy of it as follows:

getcopy hw5_1sol


and run it a few times to see how it works:

./hw5_1sol

You can compare the output of your program to the solution program by running these linux commands (we assume that we want to test the two programs with an input of 6):

231b@aurora hw5 $ cat > input.txt
6
^D          (type Control-D then ENTER to indicate end of input)
231b@aurora hw5 $ ./hw5_1 < input.txt > output.txt
231b@aurora hw5 $ ./hw5_1sol < input.txt > outputsol.txt
231b@aurora hw5 $ diff -y output.txt outputsol.txt  
> *								> *
**								**
***								***
****								****
*****								*****
******								******
******								******
******								******
******								******
******								******
******								******
******								******
******								******
*****								*****
****								****
***								***
**								**
*								*