diff --git a/.DS_Store b/.DS_Store index efe23c0..d708e00 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/PHYS112/.DS_Store b/PHYS112/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/PHYS112/.DS_Store differ diff --git a/PHYS112/HaldrupHW1.pdf b/PHYS112/HaldrupHW1.pdf new file mode 100644 index 0000000..b9b97b1 Binary files /dev/null and b/PHYS112/HaldrupHW1.pdf differ diff --git a/PHYS112/HaldrupHW2.pdf b/PHYS112/HaldrupHW2.pdf new file mode 100644 index 0000000..328c8b9 Binary files /dev/null and b/PHYS112/HaldrupHW2.pdf differ diff --git a/PHYS112/HaldrupHW3.pdf b/PHYS112/HaldrupHW3.pdf new file mode 100644 index 0000000..272900a Binary files /dev/null and b/PHYS112/HaldrupHW3.pdf differ diff --git a/PHYS112/HaldrupHW5.pdf b/PHYS112/HaldrupHW5.pdf new file mode 100644 index 0000000..7becc67 Binary files /dev/null and b/PHYS112/HaldrupHW5.pdf differ diff --git a/Research/pygameSim/CytoSim b/Research/pygameSim/CytoSim index e8f5108..41c2aec 160000 --- a/Research/pygameSim/CytoSim +++ b/Research/pygameSim/CytoSim @@ -1 +1 @@ -Subproject commit e8f51086d48273a645fe4c988301f1401762e099 +Subproject commit 41c2aecf88dee9efe9896171d4d70dc89f0c4d75 diff --git a/csci218/Assignments/output/pi.out b/csci218/Assignments/output/pi.out new file mode 100755 index 0000000..bec3702 Binary files /dev/null and b/csci218/Assignments/output/pi.out differ diff --git a/csci218/Assignments/pi.c b/csci218/Assignments/pi.c new file mode 100644 index 0000000..1b21bf8 --- /dev/null +++ b/csci218/Assignments/pi.c @@ -0,0 +1,85 @@ +#include +#include + +double piWallis(int n); +double piGregory(int n); +double piNilakantha(int n); +double piEuler(int n); +void piCompare(double pi); + + +int main() { + + int n = 10000; + double pi; + + pi = piWallis(n); + piCompare(pi); + pi = piGregory(n); + piCompare(pi); + pi = piNilakantha(n); + piCompare(pi); + pi = piEuler(n); + piCompare(pi); +} + +double piWallis(int n) { + int top = 0; + int bottom = 1; + double pi = 1; + for (int i = 0; i < n; i++) { + top += ((i + 1) % 2) * 2; + bottom += (i % 2) * 2; + pi *= (float)top / (float)bottom; + } + pi *= 2; + printf("The %d of pi is: %lf\n",n ,pi); + return pi; +} + +double piGregory(int n) { + int top = 4; + int bottom = 1; + double pi = 0; + + for (int i = 0; i < n; i++) { + bottom = (1 + (2 * i)) * pow(-1, i); + pi += (float)top / (float)bottom; + } + printf("The %d of pi is: %lf\n",n ,pi); + return pi; +} + +double piNilakantha(int n) { + int top = 4; + int bottom; + double pi = 3; + + for (int i = 1; i < n; i++) { + bottom = (2*i) * (2*i+1) * (2*i+2) * pow(-1, i - 1); + pi += (float)top / (float) bottom; + } + + printf("The %d of pi is: %lf\n",n ,pi); + return pi; +} + +double piEuler(int n) { + int bottom; + double pi = 0; + + for (int i = 0; i < n; i++) { + bottom = pow(i+1,2); + pi += 1.0 / bottom; + } + pi = sqrt(6 * pi); + printf("The %d of pi is: %lf\n",n ,pi); + return pi; +} + +void piCompare(double pi) { + double diff; + + diff = M_PI - pi; + printf("%lf\n", diff); +} diff --git a/csci218/Labs/.DS_Store b/csci218/Labs/.DS_Store index 4d4d3d4..161b98c 100644 Binary files a/csci218/Labs/.DS_Store and b/csci218/Labs/.DS_Store differ diff --git a/csci218/Labs/Lab7/Lab 7 Tables.pdf b/csci218/Labs/Lab7/Lab 7 Tables.pdf new file mode 100644 index 0000000..da40702 Binary files /dev/null and b/csci218/Labs/Lab7/Lab 7 Tables.pdf differ diff --git a/csci218/Labs/Lab7/autoNightlight/autoNightlight.ino b/csci218/Labs/Lab7/autoNightlight/autoNightlight.ino new file mode 100644 index 0000000..fc60643 --- /dev/null +++ b/csci218/Labs/Lab7/autoNightlight/autoNightlight.ino @@ -0,0 +1,66 @@ +/* Name: Garrett Haldrup + +Problem: Measure the output of a photo sensor and control leds based on light level +Certification of Authenticity: +I certify that this assignment is entirely my own work. +*/ +const int lightSensorPin = A0; +const int START_LED = 2; +const int END_LED = 8; + + +int pinValue; +float pinValueVolt; + +void setup() { + // put your setup code here, to run once: + Serial.begin(9600); + for (int i = START_LED; i <= END_LED; i++) { + pinMode(i, OUTPUT); + digitalWrite(i, LOW); + } +} + +void loop() { + // put your main code here, to run repeatedly: + pinValue = analogRead(lightSensorPin); + pinValueVolt = (5.0 / 1023) * pinValue; + + + Serial.print("Pin Value: "); + Serial.print(pinValue); + Serial.print(" Voltage: "); + Serial.print(pinValueVolt, 2); + Serial.println("V"); + + + switch (pinValue) { + case 0 ... 99: + for (int i = START_LED; i <= END_LED; i++) { + digitalWrite(i, HIGH); + } + break; + case 100 ... 399: + for (int i = START_LED; i <= END_LED - 3; i++) { + digitalWrite(i, HIGH); + } + for (int i = END_LED - 2; i <= END_LED; i++) { + digitalWrite(i, LOW); + } + break; + case 400 ... 799: + for (int i = START_LED; i <= END_LED - 5; i++) { + digitalWrite(i, HIGH); + } + for (int i = END_LED - 4; i <= END_LED; i++) { + digitalWrite(i, LOW); + } + break; + default: + for (int i = START_LED; i <= END_LED; i++) { + digitalWrite(i, LOW); + } + break; + + } +} diff --git a/csci218/Labs/Lab7/interfacingLightSensorVolt/interfacingLightSensorVolt.ino b/csci218/Labs/Lab7/interfacingLightSensorVolt/interfacingLightSensorVolt.ino new file mode 100644 index 0000000..85eba46 --- /dev/null +++ b/csci218/Labs/Lab7/interfacingLightSensorVolt/interfacingLightSensorVolt.ino @@ -0,0 +1,26 @@ +/* Name: Garrett Haldrup + +Problem: Measure the output of a photo sensor and output the pin value and voltage value +Certification of Authenticity: +I certify that this assignment is entirely my own work. +*/ +int lightSensorPin = A0; + +int pinValue; +float pinValueVolt; + +void setup() { + // put your setup code here, to run once: + Serial.begin(9600); +} + +void loop() { + // put your main code here, to run repeatedly: + pinValue = analogRead(lightSensorPin); + pinValueVolt = (5.0 / 1023) * pinValue; + + Serial.print("Pin Value: "); + Serial.print(pinValue); + Serial.print(" Voltage: "); + Serial.println(pinValueVolt, 2); +} diff --git a/csci218/Labs/Lab8/lab8.c b/csci218/Labs/Lab8/lab8.c new file mode 100644 index 0000000..72cf8e4 --- /dev/null +++ b/csci218/Labs/Lab8/lab8.c @@ -0,0 +1,258 @@ +/* Name: Garrett Haldrup +lab8.c +Problem: Has programs that convert C° to F°, and 7 different patterns and calculating mean and sd of users grades. +Certification of Authenticity: +I certify that this assignment is entirely my own work. +*/ + +#include +#include +#include + +void temperatureChart(); +void apporxSqrt(); +void patternA(int n); +void patternB(int n); +void patternC(int n); +void patternD(int n); +void patternE(int n); +void patternF(int n); +void patternG(int n); +void hwMean(); +void hwStats(); + +int main() { + + temperatureChart(); + //apporxSqrt(); + patternA(8); + patternB(8); + patternC(8); + patternD(8); + patternE(8); + patternF(8); + patternG(8); + //hwMean(); + hwStats(); + + return 0; +} + +void temperatureChart() { + int c; + float f; + + printf("This program will convert from °C to °F from 0 to 200 every 10°C\n"); + + for (c = 0; c <= 200; c += 10) { + f = (c * 1.8) + 32; + + printf("%d°C\t= %.1f°F\n", c, f); + } +} + +void apporxSqrt() { + int n, num; + float guess; + + printf("This will estimate the square root of a number using newtons method\n"); + + printf("Enter number: "); + scanf("%d", &num); + + printf("Enter n: "); + scanf("%d", &n); + + guess = num / 2.0; + + for (int i = 0; i < n; i++) { + guess = (guess + (num / guess)) / 2.0; + } + + printf("%.1f\n", guess); +} + + +void patternA(int n) { + int num = 0; + int sum = 0; + + printf("\nThis will show n values and sum of the pattern 2n\n"); + + num += 2; + sum += num; + + printf("%d", num); + + for (int i = 0; i < n; i++) { + num += 2; + sum += num; + + printf(" + %d", num); + } + printf(" = %d\n", sum); +} + +void patternB(int n) { + int num = 0; + + printf("\nThis will show the values for the pattern (-1)^n*(2 + 4n)\n"); + + num = -6; + printf("%d", num); + for (int i = 1; i < n; i++) { + num = abs(num) + 4; + if (!(i % 2)) { + num *= -1; + } + printf(", %d", num); + } + printf("\n"); +} + +void patternC(int n) { + printf("\nThis will show the pattern of 4 * ((n + 1) %% 2)\n"); + int num = 0; + printf("%d", num); + for (int i = 1; i < n; i++) { + num = 4 * (i % 2); + printf(", %d", num); + } + printf("\n"); +} + +void patternD(int n) { + int num = 1; + int sum = 0; + + printf("\nThis will show the pattern and sum of 1 + 2n * ((n %% 2) - 1)\n"); + + sum += num; + + printf("%d", num); + + for (int i = 1; i < n; i++) { + num = abs(num + (2 * ((i) % 2))) * pow(-1, i); + if (i % 2) { + printf(" - %d", abs(num)); + } else { + printf(" + %d", num); + } + + sum += num; + + } + printf(" = %d\n", sum); +} + +void patternE(int n) { + printf("\nThis will show the pattern of 3^n\n"); + int num = 3; + printf("%d", num); + for (int i = 1; i < n; i++) { + num = pow(3, i + 1); + printf(", %d", num); + } + printf("\n"); +} + +void patternF(int n) { + int top = 1; + int bot = 4; + + printf("\nThis will show the pattern and product of (3^n-1)/2+2n\n"); + float product = 1; + + product *= (float)top / (float)bot; + printf("(%d/%d)", top, bot); + + for (int i = 1; i < n; i++) { + top = pow(3, i); + bot += 2; + printf(" * (%d/%d)", top, bot); + + product *= (float)top / (float)bot; + } + printf(" = %.1f\n", product); +} + + +void patternG(int n) { + int num = 9; + int sum = 9; + + printf("\nThis will show the pattern and sum of (2 + n)^2\n"); + + printf("%d", num); + + for (int i = 1; i < n; i++) { + num = pow(i + 3, 2); + sum += num; + + printf(" + %d", num); + } + printf(" = %d\n", sum); +} + +void hwMean() { + int n; + float grades[20]; + float mean; + float sum = 0; + + printf("\nThe program will show the mean of your inputed grades\n"); + + printf("Enter the number of assignments: "); + scanf("%d", &n); + + for (int i = 0; i < n; i++) { + printf("Enter your grade on HW%d: ", i + 1); + scanf("%f", &grades[i]); + sum += grades[i]; + } + mean = sum / n; + printf("Your overall average is: %.1f\n", mean); + + +} + +void hwStats() { + int n = 1; + float grades[20]; + float mean; + float sum = 0; + float sd; + + printf("\nThe program will show the mean, and standard deviation of your inputed grades\n"); + + while(1) { + printf("Enter the number of assignments: "); + scanf("%d", &n); + if (n <= 20 && n > 0) { + break; + } else { + printf("Must be less than or equal to 20!\n"); + } + } + + + for (int i = 0; i < n; i++) { + printf("Enter your grade on HW%d: ", i + 1); + scanf("%f", &grades[i]); + sum += grades[i]; + } + mean = sum / n; + printf("Your overall average is: %.1f\n", mean); + + + sum = 0; + for (int i = 0; i < n; i++) { + sum += pow(grades[i] - mean, 2); + } + + sd = sqrt((1.0/n) * sum); + + printf("The standard deviation(σ) is: %.1f\n", sd); + + +} diff --git a/csci218/Labs/Lab8/output/lab8.out b/csci218/Labs/Lab8/output/lab8.out new file mode 100755 index 0000000..7b9bd62 Binary files /dev/null and b/csci218/Labs/Lab8/output/lab8.out differ diff --git a/csci218/Labs/Lab9/lab9.c b/csci218/Labs/Lab9/lab9.c new file mode 100644 index 0000000..5110111 --- /dev/null +++ b/csci218/Labs/Lab9/lab9.c @@ -0,0 +1,150 @@ +/* Name: Garrett Haldrup +lab9.c +Problem: Contains multiple functions that focus on nested loops and 2D arrays. +Certification of Authenticity: +I certify that this assignment is entirely my own work. +*/ + +#include + +void triangle(); +void multiplicationTable(); +void fractionalSequence(int n); +void twoDArrayMaxMin(); +void triangleN(int n); +void multiplicationTableN(int n); + + +int main() { + + triangle(); + multiplicationTable(); + fractionalSequence(15); + twoDArrayMaxMin(); + triangleN(15); + multiplicationTableN(15); + + return 0; +} + +void triangle() { + int n = 10; + char symbol = '*'; + int count = 1; + + printf("\nThis program will show a trangle with width of n = 10 and symbol '*'.\n"); + + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + if (j >= n - (i + 1)) { + printf("%c ", symbol); + } else { + printf(" "); + } + } + printf("\n"); + count++; + } +} + +void multiplicationTable() { + int n; + + printf("\nThis program will take your input and make a n x n multiplication table.\n"); + + printf("Enter n for a n x n multiplcaiton table: "); + scanf("%d", &n); + + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + printf("%d\t", (i + 1) * (j + 1)); + } + printf("\n"); + } +} + +void fractionalSequence(int n) { + long long int product = 1; + + printf("\nThis program will show the a(n) = n! from a(1) => a(%d)\n", n); + + printf("{"); + for (int i = 1; i <= n; i++) { + product *= i; + if (i == n) { + printf("%lld}\n", product); + } else { + printf("%lld, ", product); + } + } +} + +void twoDArrayMaxMin() { + int NUM_ROWS, NUM_COLUMN; + int max, min, maxI, maxJ, minI, minJ; + + printf("\nThis program will take your input for the size of a 2D array and values to fill the array then output the max and min of the 2D array\n"); + + printf("Enter number of rows: "); + scanf("%d", &NUM_ROWS); + + printf("Enter number of columns: "); + scanf("%d", &NUM_COLUMN); + + int nums[NUM_ROWS][NUM_COLUMN]; + + for (int i = 0; i < NUM_ROWS; i++) { + for (int j = 0; j < NUM_COLUMN; j++) { + printf("Enter value for nums[%d][%d]: ", i, j); + scanf("%d", &nums[i][j]); + if (!i && !j) { + max = nums[i][j]; + maxI = i; + maxJ = j; + min = nums[i][j]; + minI = i; + minJ = j; + } else if (nums[i][j] < min) { + min = nums[i][j]; + minI = i; + minJ = j; + } else if (nums[i][j] > max) { + max = nums[i][j]; + maxI = i; + maxJ = j; + } + } + } + printf("The max of nums is at nums[%d][%d] is: %d\n", maxI, maxJ, max); + printf("The min of nums is at nums[%d][%d] is: %d\n", minI, minJ, min); +} + +void triangleN(int n) { + char symbol = '*'; + int count = 1; + + printf("\nThis program will show a trangle with width of n = %d and symbol '*'.\n", n); + + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + if (j >= n - count) { + printf("%c ", symbol); + } else { + printf(" "); + } + } + printf("\n"); + count++; + } +} + +void multiplicationTableN(int n) { + printf("\nThis program will make a %d x %d multiplication table.\n", n, n); + + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + printf("%d\t", (i + 1) * (j + 1)); + } + printf("\n"); + } +} diff --git a/csci218/Labs/Lab9/lab9.out b/csci218/Labs/Lab9/lab9.out new file mode 100755 index 0000000..c2a4852 Binary files /dev/null and b/csci218/Labs/Lab9/lab9.out differ diff --git a/csci218/Lect/108.c b/csci218/Lect/108.c new file mode 100644 index 0000000..91d3ada --- /dev/null +++ b/csci218/Lect/108.c @@ -0,0 +1,181 @@ + + + +#include +#include +#include +void ex1(); +void ex2(); +void ex3(); +void ex4(); +void ex5(); +void ex6(); +void ex7(); +void ex8(); + +int main() +{ + ex1(); + ex2(); + ex3(); + ex4(); + ex5(); + ex6(); + ex7(); + ex8(); + + return 0; +} +void ex1(){ + printf("\nThis program count how many negative numbers exist in the array.\n"); + int nums[] = { 3, -2, 1, -1, 8, 9, -4}; + //declare a variable to accumulate negative numbers + int numNeg = 0; + + //calculat the # of elements of array + int len = sizeof(nums)/sizeof(nums[0]); + + //iterate arrays + for (int i = 0; i < len; i++) { + if (nums[i] < 0) { + numNeg++; + } + } + + printf("There are %d negatives in the array\n", numNeg); + + + +} +void ex2(){ + printf("\nThis program count how many odds exist in the array\n"); + + int nums[] = { 3, -2, 1, -1, 8, 9, -4}; + //declare a variable to accumulate # of odd numbers + int numOdd = 0; + + //calculat the # of elements of array + int len = sizeof(nums)/sizeof(nums[0]); + + //iterate arrays + for (int i = 0; i < len; i++) { + if (nums[i] % 2) { + numOdd++; + } + } + + printf("There are %d odds in the array\n", numOdd); + + + +} +void ex3(){ + printf("\nThis program replace the negative numbers as 0 in the array\n"); + int nums[] = { 3, -2, 1, -1, 8, 9, -4}; + int len = sizeof(nums)/sizeof(nums[0]); + + //iterate arrays and + for (int i = 0; i < len; i++ ){ + if (nums[i] < 0) { + nums[i] = 0; + } + } + + //display the aupdated array + printf("The array looks like:"); + for (int i = 0; i < len; i++) { + printf(" %d", nums[i]); + } + printf("\n"); +} + +void ex4(){ + printf("\nThis program will take an input string and determine the number of alphas\n"); + //Count how many alphabet letters in a string + printf("Please enter a string no more than 50 characters: "); + char var[50]; + //get the string from the user + + scanf("%s", var); + //declare a variable to accumulate # of alphabet + int numAlpha = 0; + + //calculat the # of elements of the string + int len = sizeof(var)/sizeof(var[0]); + + //iterate the string + for (int i = 0; i < len; i++) { + if (isalpha(var[i])) { + numAlpha++; + } + } + + printf("There are %d alphabet in the string\n", numAlpha); + + + +} + +void ex5(){ + printf("This program ask for a string, then convert all alphabet as uppercase.\n"); + char str[51]; + printf("Please enter a string no more than 50 characters: "); + scanf("%s", str); + + for (int i = 0; i < strlen(str); i++) { + if (isalpha(str[i])) { + str[i] = toupper(str[i]); + } + } + + printf("Modified String: %s\n", str); + +} + +void ex6(){ + printf("This program concatenate a string to another.\n"); + char str1[50] = "Hello! "; + char str2[50] = "csci218"; + + strcat(str1, str2); + + printf("Concated string: %s\n", str1); + + +} +void ex7(){ + printf("This program find the maximum of the array.\n"); + int nums[] = { 3, -2, 1, -1, 8, 9, -4}; + + //declare a variable the hold the maximum found so far + int max = nums[0]; + int len = sizeof(nums)/sizeof(nums[0]); + + //iterate the array and update the maximum + for (int i = 1; i < len; i++) { + if (nums[i] > max) { + max = nums[i]; + } + } + printf("the maximum is %d\n", max); + +} +void ex8(){ + printf("This program find the maximum of the array and its index.\n"); + int nums[] = { 3, -2, 1, -1, 8, 9, -4}; + //declare a variable the hold the maximum found so far + int max = nums[0]; + int maxI = 0; + int len = sizeof(nums)/sizeof(nums[0]); + + //iterate the array and update the maximum + for (int i = 1; i < len; i++) { + if (nums[i] > max) { + max = nums[i]; + maxI = i; + } + } + //iterate the array and update the maximum + printf("the maximum is %d, the index is %d\n", max , maxI); + +} diff --git a/csci218/Lect/output/108.o b/csci218/Lect/output/108.o new file mode 100755 index 0000000..e7250a1 Binary files /dev/null and b/csci218/Lect/output/108.o differ