Sale!

# Assignment 2 – Calculator+ (cont.)

\$30.00

CSCI 1320 Computer Science I: Engineering Applications
Assignment 2 –
Objectives: understand the difference between Matlab scripts and functions
▪ Understand the idea of modular programming
▪ Understand the terminology regarding functions and their use: calling a
function, passing arguments, returning values
▪ Convert a part of a script into a function
▪ Test the function
▪ Call a function from inside a script

Category:
5/5 - (2 votes)

CSCI 1320 Computer Science I: Engineering Applications
Assignment 2 –
Objectives: understand the difference between Matlab scripts and functions
▪ Understand the idea of modular programming
▪ Understand the terminology regarding functions and their use: calling a
function, passing arguments, returning values
▪ Convert a part of a script into a function
▪ Test the function
▪ Call a function from inside a script
All your files should include at the top your name, course no., assignment no., and instructor name.
Calculator+ (cont.)
The following problem was introduced in Lab 1: we want to write a program that
inputs two numbers as floating point, then prints out the results of
o adding them together
o subtracting the second from the first
o multiplying them together
o dividing the first by the second
o dividing the first into the second
A possible sample run is given:
First number: 23.0
Second number: 10
23.0 + 10.0 = 33.0
23.0 – 10.0 = 13.0
23.0 * 10.0 = 230.0
23.0 / 10.0 = 2.3
23.0
10.0 = 4.1427e+13
In Task 4 of Lab2, you wrote a script so achieve the functionality of the Calculator
program, matching the sample run.
Task 1 (30 points) Add a fifth operation to the program you wrote in Lab 1. The
specifications are:
Dividing the first (x) by the second (y) results in a value (let’s call i z).
z = x/y
If z is greater than x but less than y, the result is a logical TRUE. If the result of the
division does not fall between x and y, the output is a logical FALSE.
i.e. If x < z < y, result is TRUE. Otherwise, result is FALSE.
Give pseudocode in a text format, then write the MATLAB code by appending to the
m-file you created for Lab 1 (<lastname><Firstname>CalcScriptA.m).
Task 2 (24 points) Write six functions addressing the functionality needed by the
Calculator program. Below are the function headers for your reference.
function [ out] = addFunc( input1, input2)
function [ out] = subtractFunc( input1, input2)
function [ out] = multFunc( input1, input2)
function [ out] = divbyFunc( input1, input2)
function [ out] = divintoFunc( input1, input2)
function [ out] = quotientInBoundsFunc( input1, input2)
Task 3 (16 points) Create a new script. This script should be a modified version of
the original script such that the each of the 6 operations is replaced by the
appropriate function call. Name your script <lastname><Firstname>CalcScriptB.m.
Run some sample values through your program to verify correct outputs. (At your
grading interview your grader might try different values to verify correctness.)
Scripts vs. Functions
Task 4 (15 points) In thermodynamics, the Carnot efficiency is the maximum
possible efficiency of a heat engine operating between two reservoirs at different
temperatures. The Carnot efficiency is given as

, where and are the absolute temperatures at the cold and hot reservoirs,
respectively. Write a script carnot.m that will:
a) prompt the user for the two reservoir temperatures in Kelvin,
b) call a function to calculate the Carnot efficiency, and then
c) print the corresponding Carnot efficiency to 3 decimal places.
Note: You will need to write the function as well.
Task 5 (15 points) In CS it is often necessary to design logic that has a specific
result based on some set of inputs. Let’s say we have 3 logical variables, X, Y, and Z
that store the values of 3 inputs. Design a logic that would output true only if X and Y
are true, or if Z is false.
A. How many different combinations can we have given the 3 logical variables?
B. Write a logical statement for the given logic (use MATLAB syntax).
C. Create a truth table showing all of the possible variable combinations and the
result for each combination.
Submitting the assignment:
Copy the code from all the scripts and function files into a text document, indicating
the task number. Include the call statements from Task 2. Convert your text file to
pdf and save it as <first_name>.<last_name>_Hwk2.pdf. Zip this file with all your .m
files and submit the resulting file on Moodle by due date.

Hello