1 of 17 Synergy Calculator By Ian Beardsley September 14, 2016 © 2016 by Ian Beardsley
2 of 17 The Idea: Synergy means “The whole is greater than the sum of the parts.” A technology according to Buckminster Fuller “is that which increases our degrees of freedom.” We use the idea that we develop the theory such that only whole numbers are used. This is done to use design of the system such that it increases simplicity of usage so that it is usable to a wider range of disciplines while at the same time achieving more, thus creating a more positive effect by breaking down the barriers erected by specialization. We achieve more using less in that we define our parameters such that there is no division of integers, thus eliminating the need for floats and casting in the source code, thus only needing to declare integers. The Theory: the degrees of freedom are N factorial (N!) because if we have a and b, the permutations for three technological functions are N!=6: (aaa), (aab), (abb), (bbb), (bba), (baa). That is, 3! = 1X1X2X3 = 6. These are the degrees of freedom for a 3 function technology. The work done by the technology must be a whole number expression thus, there can be no division. This is easily explained by looking at the ascii values for the the keyboard characters in binary. A bit is a zero or a one. Each character on the keyboard is described by a byte, which is the word for eight bits, thus we say there are two to the power of eight numbers available in binary for characters on the key board: 2^8=256. The work done by the technology is N^n, where n is the number steps to carry out the task (N is the number of technological functions the technology carries). The progress is work times n, again using no division to stick with whole number evaluations and results. The quality of life provided by the technology is described by the degrees of freedom provided by the technology times the work done by it. This paradigm becomes complete when we include Fuller’s stance that progress only happens through individual initiative. The Objective of the Project: To develop a software that evaluates the work done by a technology, the amount of progress it provides, and how much it increases the individual’s quality of life. Ian Beardsley September 14, 2016 Claremont, CA
3 of 17 #include <stdio.h> #include <math.h> int main(void) { int work, progress, n, quality; int N, fact=1; char verb[15], noun[15], step[15], function[15]; printf("What is verb describing task: "); scanf("%s", verb); printf("What is a noun describing task: "); scanf("%s", noun); printf("The task is: %s %s\n", verb, noun); printf("Enter number of functions done by the technology: "); scanf("%d", &N); printf("Enter the name of each function in one word: \n"); for (int j=1; j<=N; j++) { printf("Function %d: ", j); scanf("%s", function); } printf("Enter the number steps in task: "); scanf("%d", &n); printf("List the steps task in one word each: \n"); for (int k = 1; k<=n; k++) { printf("Enter function %d: ", k); scanf("%s", step); } work=pow(N, n); printf("work done: %d\n", work); progress=work*n; printf("progress: %d\n", progress); for (int i=1; i<=N; i++) { fact=fact*i; } printf("degrees of freedom: %d\n", fact); quality = work*fact; printf("Quality of Life rating for Technology: %d\n", quality); }
4 of 17 jharvard@appliance (~): cd Dropbox jharvard@appliance (~/Dropbox): make work clang -ggdb3 -O0 -std=c99 -Wall -Werror work.c -lcs50 -lm -o work jharvard@appliance (~/Dropbox): ./work What is verb describing task: calculate What is a noun describing task: area The task is: calculate area Enter number of functions done by the technology: 3 Enter the name of each function in one word: Function 1: recall Function 2: multiply Function 3: square Enter the number steps in task: 8 List the steps task in one word each: Enter function 1: 0.5 Enter function 2: enter Enter function 3: pi Enter function 4: recall Enter function 5: multiply Enter function 6: enter Enter function 7: square Enter function 8: multiply work done: 6561 progress: 52488 degrees of freedom: 6 Quality of Life rating for Technology: 39366 jharvard@appliance (~/Dropbox): ./work What is verb describing task: make What is a noun describing task: coffee The task is: make coffee Enter number of functions done by the technology: 3 Enter the name of each function in one word: Function 1: reservoir Function 2: filter Function 3: heat Enter the number steps in task: 3 List the steps task in one word each: Enter function 1: fill (reservoir) Enter function 2: fill (filter) Enter function 3: brew work done: 27 progress: 81 degrees of freedom: 6 Quality of Life rating for Technology: 162 jharvard@appliance (~/Dropbox):
5 of 17 Let’s see if we can run these results on the HP 35s scientific calculator and get the same results: SYNERGETICS.HP (WORK = W, PROGRESS=P) INPUT F = NUMBER OF FUNCTIONS OF THE TECHNOLOGY INPUT N = NUMBER OF STEPS OF THE TASK PRGM TOP P001 LBL P P002 INPUT F P003 INPUT N P004 STO N P005 RCL F P006 RCL N P007 y^x P008 STO W P009 FN= W P010 RCL W P011 RCL N P012 X (MULTIPLY) P013 STO P P014FN= P P015 RTN XEQ P000 F? 3 N? 3
R/S R/S
27.000000000 81.000000000 RUN ON AN HP 35s
6 of 17 SYNERGETICS.HP (Q=QUALITY OF LIFE) INPUT F = NUMBER FUNCTIONS OF THE TECHNOLOGY INPUT N = NUMBER OF STEPS OF THE TASK PRGM TOP Q001 LBL Q Q002 INPUT F Q003 ! Q004 STO D Q005 INPUT N Q006 RCL F Q007 y^x Q008 RCL D Q009 X (multiply) Q010 RTN XEQ Q000 F? 3 N? 3
R/S R/S
6.000000000 (Degrees of Freedom) 162.000000000 (Quality of Life)â&#x20AC;©
7 of 17 The Code In Python s = str(raw_input("Describe the task in two words: ")); N = int(raw_input("Enter the number of functions done by the technology: ")) n= int (raw_input("Enter the number of steps in the task: ")); i=1 fact = 1 while (i<=N): fact=fact*i i=i+1 work = N**n progress = work*n quality = work*fact else: print("Degrees of Freedom = " + str(fact)); print("work done = " + str(work)); print("progress = " + str(progress)); print("Quality of life rating = " +str(quality));â&#x20AC;Š
â&#x20AC;©
8 of 17
9 of 17 The Code In Java import comp102x.IO; public class Lab02 { public static void multiply() { System.out.print("Enter number of functions done by technology: "); double N = IO.inputDouble(); System.out.print("Enter number of steps in task: "); double n = IO.inputDouble(); int fact = 1; for (int i = 1; i<=N; i++) { fact = fact*i; } double work = java.lang.Math.pow(N,n); double progress = work*n; double quality = work*fact; IO.outputln("Work: "+ work + "progress: " + progress + "quality: " + quality); } }
10 of 17 The Code in Javaâ&#x20AC;©
11 of 17 In Xcode Beta Choose Command Line Tool, then give product name:â&#x20AC;Š
12 of 17 // // // // // // //
main.m work Created by Ian Beardsley on 9/15/16. Copyright (c) 2016 ovnigitano. All rights reserved.
#import <Foundation/Foundation.h> #include <stdio.h> #include <math.h> int main(int argc, const char * argv[]) { @autoreleasepool { { int work, progress, n, quality; int N, fact=1; char verb[15], noun[15], step[15], function[15]; printf("What is verb describing task: "); scanf("%s", verb); printf("What is a noun describing task: "); scanf("%s", noun); printf("The task is: %s %s\n", verb, noun); printf("Enter number of functions done by the technology: "); scanf("%d", &N); printf("Enter the name of each function in one word: \n"); for (int j=1; j<=N; j++) { printf("Function %d: ", j); scanf("%s", function); } printf("Enter the number steps in task: "); scanf("%d", &n); printf("List the steps task in one word each: \n"); for (int k = 1; k<=n; k++) { printf("Enter function %d: ", k); scanf("%s", step); } work=pow(N, n); printf("work done: %d\n", work); progress=work*n; printf("progress: %d\n", progress); for (int i=1; i<=N; i++) { fact=fact*i; }
13 of 17 printf("degrees of freedom: %d\n", fact); quality = work*fact; printf("Quality of Life rating for Technology: %d\n", quality); } NSLog(@"Hello, World!"); } return 0; }
14 of 17 If build succeeds, run in Xcode Beta Terminal:
15 of 17 Run in Mac Utility Terminal by extracting the executable file in Xcode Beta:
16 of 17 Claires-MBP:~ ianbeardsley$ /Users/ianbeardsley/Desktop/work ; exit; What is verb describing task: make What is a noun describing task: coffee The task is: make coffee Enter number of functions done by the technology: 3 Enter the name of each function in one word: Function 1: reservoir Function 2: filter Function 3: brew Enter the number steps in task: 3 List the steps task in one word each: Enter function 1: fill Enter function 2: fill Enter function 3: brew work done: 27 progress: 81 degrees of freedom: 6 Quality of Life rating for Technology: 162 2016-09-15 00:48:28.757 work[22821:2431039] Hello, World! logout [Process completed]â&#x20AC;Š
17 of 17 The Author