User Tools

Site Tools


computer_science

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
computer_science [2021/09/16 23:43] – [Case study: addition] manacomputer_science [2021/09/25 05:27] (current) mana
Line 41: Line 41:
  
  
-===== Algorithm ===== 
-==== Design ==== 
-  * Step 1: Do something 
-  * Step 2: Do something 
-  * Step 3: Do something 
-  * ...   : ... 
-==== Sequential steps ==== 
-A sequential step is a single task; for example ''%%a 1 to x%%''. 
  
-==== Conditional steps ==== 
-Ask a question that is answered with a logic answer. The answer can be ''%%true%%''/''%%false%%''. 
-For example: 
-<code> 
-if (x > 0) add 1 to x 
-else substract 1 from x 
-</code> 
- 
-==== Loops ==== 
-Iterative steps. 
-<code> 
-add 1/2 cup to mixture 
-while mixture is dry 
-</code> 
- 
-==== Recursion ==== 
-FIXME (This will be filled at a later point.) 
- 
-==== Case study: addition ==== 
-Example:  
- 
-<code> 
- 472 
-+593 
-</code> 
- 
----- 
-FIXME 
-Conceptualise: 
-<code> 
-Let m => 1 be number of digits 
- 
-a<sub>m-1</sub> a<sub>3</sub> a<sub>2</sub> a<sub>1</sub> 
- 
-=== Algorithm === 
-<code> 
-Step 1: get m (user provides m) 
-Step 2: get a<sub>m-1</sub>・・・a<sub>1</sub> a<sub>0</sub>, b<sub>m-1</sub>・・・b<sub>1</sub>b<sub>0</sub> 
-Step 3: set i=0, set carry=0 
-Step 4: while(i ≤ m-1) do Step 5 to 7 
-Step 5:   set c<sub>i</sub> = a<sub>i</sub> + b<sub>i</sub> + carry 
-Step 6:   if(c<sub>i</sub> ≥ 10) then 
-            set c<sub>i</sub> = c<sub>i</sub> - 10 
-            set carry = 1 
-          else 
-            set carry = 0 
-Step 7:   set i = i + 1 
-Step 8: set c<sub>m</sub> = carry 
-step 9: print c<sub>m</sub> c<sub>m-1</sub> ... c<sub>2</sub> c<sub>1</sub> c<sub>1</sub> 
-step 10: stop 
-</code> 
computer_science.1631803433.txt.gz · Last modified: 2021/09/16 23:43 by mana