User Tools

Site Tools


haas:spring2022:unix:projects:mtf0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
haas:spring2022:unix:projects:mtf0 [2022/03/13 14:38] – [Script] wedgehaas:spring2022:unix:projects:mtf0 [2022/03/15 18:09] (current) – [sample outputs] wedge
Line 15: Line 15:
  
 <cli> <cli>
-      1  2  3  4  5  6  7  8  9+(10)  1  2  3  4  5  6  7  8  9
    x---------------------------    x---------------------------
  1 |  1  2  3  4  5  6  7  8  9  1 |  1  2  3  4  5  6  7  8  9
Line 39: Line 39:
 Using your investigative skills cultivated in this class, figure out how to use the **grabit** tool to obtain the project files provided for this project. Using your investigative skills cultivated in this class, figure out how to use the **grabit** tool to obtain the project files provided for this project.
  
 +Do note: as an attempt to ensure some element of time management is practiced, you will want to perform this step by the Sunday prior to the due date of the project.
 =====Script===== =====Script=====
 Your task for this project is to write a bash script to generate a multiplication table. Your task for this project is to write a bash script to generate a multiplication table.
Line 50: Line 51:
   * the operation symbol represented in the top left of the table (in our case, an 'x' for multiplication)   * the operation symbol represented in the top left of the table (in our case, an 'x' for multiplication)
   * all values aligned, allowing for the padding of a single space for the largest value represented   * all values aligned, allowing for the padding of a single space for the largest value represented
 +  * in the upper-left corner, in parentheses, the base is displayed
  
 Additionally, with the specification of command-line arguments, we can change: Additionally, with the specification of command-line arguments, we can change:
Line 57: Line 59:
   * $3: the starting point (0-)   * $3: the starting point (0-)
  
-NOTE that the ending value comes before the starting value.+NOTE that the ending value comes before the starting value in the order of command-line arguments.
  
 =====Toolbox===== =====Toolbox=====
Line 78: Line 80:
  
 ====the shabang==== ====the shabang====
-One thing that makes a bash script an actual **bash** script is the shabang, a mechanism for ensuring our script is run using a particular shell.+One thing that makes a bash script an actual **bash** script is the shabang, a mechanism for ensuring our script is run using a particular shell or interpreter.
  
 The VERY FIRST LINE of our script, to set this up, will therefore be as follows: The VERY FIRST LINE of our script, to set this up, will therefore be as follows:
Line 93: Line 95:
 </code> </code>
  
-Your script will then occur between the shabang and this final exit command.+Your script will then occur between the shabang and this final exit command. Scripts lacking these two bounding elements will not be considered complete and will be subject to credit lost during evaluation.
  
 ====for loops==== ====for loops====
Line 138: Line 140:
 The **printf** tool is an especially powerful output formatter. The **printf** tool is an especially powerful output formatter.
  
 +=====sample outputs=====
 +For checking purposes, here are some sample outputs of what your script should be able to generated, given various command-line arguments:
 +
 +Standard base 11 table:
 +
 +<cli>
 +lab46:~/src/SEMESTER/DESIG/PROJECT$ ./mtf0 11 10 1
 +(11)  1  2  3  4  5  6  7  8  9  A 
 +   x------------------------------ 
 + 1 |  1  2  3  4  5  6  7  8  9  A
 + 2 |  2  4  6  8  A 11 13 15 17 19
 + 3 |  3  6  9 11 14 17 1A 22 25 28
 + 4 |  4  8 11 15 19 22 26 2A 33 37
 + 5 |  5  A 14 19 23 28 32 37 41 46
 + 6 |  6 11 17 22 28 33 39 44 4A 55
 + 7 |  7 13 1A 26 32 39 45 51 58 64
 + 8 |  8 15 22 2A 37 44 51 59 66 73
 + 9 |  9 17 25 33 41 4A 58 66 74 82
 + A |  A 19 28 37 46 55 64 73 82 91
 +</cli>
 +
 +Subset of base 9:
 +
 +<cli>
 +lab46:~/src/SEMESTER/DESIG/PROJECT$ ./mtf0 9 5 2
 +( 9)  2  3  4  5 
 +   x------------ 
 + 2 |  4  6  8 11
 + 3 |  6 10 13 16
 + 4 |  8 13 17 22
 + 5 | 11 16 22 27
 +</cli>
 +
 +Base 15:
 +
 +<cli>
 +lab46:~/src/SEMESTER/DESIG/PROJECT$ ./mtf0 15 17 0
 +(15)    0                              10  11  12 
 +    x------------------------------------------------------------------------ 
 +  0 |                                     0
 +  1 |                                10  11  12
 +  2 |                  11  13  15  17  19  1B  1D  20  22  24
 +  3 |            10  13  16  19  1C  20  23  26  29  2C  30  33  36
 +  4 |          11  15  19  1D  22  26  2A  2E  33  37  3B  40  44  48
 +  5 |        10  15  1A  20  25  2A  30  35  3A  40  45  4A  50  55  5A
 +  6 |        13  19  20  26  2C  33  39  40  46  4C  53  59  60  66  6C
 +  7 |        16  1D  25  2C  34  3B  43  4A  52  59  61  68  70  77  7E
 +  8 |      11  19  22  2A  33  3B  44  4C  55  5D  66  6E  77  80  88  91
 +  9 |      13  1C  26  30  39  43  4C  56  60  69  73  7C  86  90  99  A3
 +  A |      15  20  2A  35  40  4A  55  60  6A  75  80  8A  95  A0  AA  B5
 +  B |      17  23  2E  3A  46  52  5D  69  75  81  8C  98  A4  B0  BB  C7
 +  C |      19  26  33  40  4C  59  66  73  80  8C  99  A6  B3  C0  CC  D9
 +  D |      1B  29  37  45  53  61  6E  7C  8A  98  A6  B4  C2  D0  DD  EB
 +  E |      1D  2C  3B  4A  59  68  77  86  95  A4  B3  C2  D1  E0  EE 10D
 + 10 |    10  20  30  40  50  60  70  80  90  A0  B0  C0  D0  E0 100 110 120
 + 11 |    11  22  33  44  55  66  77  88  99  AA  BB  CC  DD  EE 110 121 132
 + 12 |    12  24  36  48  5A  6C  7E  91  A3  B5  C7  D9  EB 10D 120 132 144
 +</cli>
 =====Submission===== =====Submission=====
 To successfully complete this project, the following criteria must be met: To successfully complete this project, the following criteria must be met:
Line 150: Line 210:
   * Submit a copy of your source code to me using the **submit** tool.   * Submit a copy of your source code to me using the **submit** tool.
  
-To submit this program to me using the **submit** tool, run the following command at your lab46 prompt:+To submit this program to me using the provided Makefile, run the following command at your lab46 prompt:
  
 <cli> <cli>
Line 188: Line 248:
 *:mtf0:project is submitted with relevant and complete script [6/6] *:mtf0:project is submitted with relevant and complete script [6/6]
 *:mtf0:project is submitted on lab46 using 'make submit' [6/6] *:mtf0:project is submitted on lab46 using 'make submit' [6/6]
-*:mtf0:runtime runtime tests of submitted script succeed [6/6]+*:mtf0:runtime tests of submitted script succeed [6/6]
 </code> </code>
  
 Additionally: Additionally:
-  * Solutions not abiding by **SPIRIT** of project will be subject to a 25% overall deduction+  * Solutions not abiding by **SPIRIT** of project will be subject to a 50% overall deduction
   * Solutions not utilizing descriptive why and how **COMMENTS** will be subject to a 25% overall deduction   * Solutions not utilizing descriptive why and how **COMMENTS** will be subject to a 25% overall deduction
   * Solutions not utilizing **INDENTATION** to promote scope and clarity will be subject to a 25% overall deduction   * Solutions not utilizing **INDENTATION** to promote scope and clarity will be subject to a 25% overall deduction
   * Solutions lacking **ORGANIZATION** ior are not easy to read (within 90 char width) are subject to a 25% overall deduction   * Solutions lacking **ORGANIZATION** ior are not easy to read (within 90 char width) are subject to a 25% overall deduction
haas/spring2022/unix/projects/mtf0.1647182303.txt.gz · Last modified: 2022/03/13 14:38 by wedge