Quantcast
Channel: Small Basic
Viewing all articles
Browse latest Browse all 669

Learn Abstract and Concrete with Small Basic

$
0
0

I wrote some programs for learning abstract and concrete.  At first I made a subroutine Average().  This routine calculates (a + b) / 2.  The concept average is a special (concrete) case of a wider concept.  Secondly, I made a subroutine Intermediate().  The concept of this routine is wider and more abstract than Average().  Intermediate() needs one more parameter k.  And if k = 0.5, the result is the same as Average().  The output of this program is:

Average(a=10, b=20) = 15
Intermediate(a=10, b=20, k=0) = 10
Intermediate(a=10, b=20, k=0.25) = 12.50
Intermediate(a=10, b=20, k=0.50) = 15.00
Intermediate(a=10, b=20, k=0.75) = 17.50
Intermediate(a=10, b=20, k=1.00) = 20.00

Press any key to continue...

The code is here.

' Abstract and Concrete
' Version 0.1
' Copyright © 2016 Nonki Takahashi. The MIT License.
' Program ID HRX565
 
TextWindow.Title = "Abstract and Concrete 0.1"
 
' average value
a = 10
b = 20
Average()
TextWindow.WriteLine("Average(a=" + a + ", b=" + b + ") = " + c)
 
' intermediate value
For k = 0 To 1 Step 0.25
  Intermediate()
  TextWindow.WriteLine("Intermediate(a=" + a + ", b=" + b + ", k=" + k + ") = " + c)
EndFor
TextWindow.WriteLine("")
 
Sub Average
  ' param a - the first value
  ' param b - the second value
  ' return c - the average of the given values
  c = (a + b) / 2
EndSub
 
Sub Intermediate
  ' param a - the first value
  ' param b - the second value
  ' param k - ratio between a and b (0 ≦ k ≦ 1)
  ' return c - the intermediate value between a and b
  c = a * (1 - k) + b * k
EndSub

I sometimes use the code like Intermediate(). So I also wrote application samples of Intermediate() for points and colors. The program ID is HRX565-0.  This program is also text base.

One more sample is HRX565-1.  This is a graphical demo animation program for these concepts.

Screen shot of a program Abstract and Concrete 0.3


Viewing all articles
Browse latest Browse all 669

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>