Skip to main content
SciNet
  • Home
  • All Courses
  • Calendar
  • Certificates
  • SciNet
    Main Site Documentation my.SciNet
  • CCDB
  • More
Close
Toggle search input
English
English Français
You are currently using guest access
Log in
SciNet
Home All Courses Calendar Certificates SciNet Collapse Expand
Main Site Documentation my.SciNet
CCDB
Expand all Collapse all
  1. Dashboard
  2. PHY1610 - Winter 2021
  3. 1. C++ and Functions

1. C++ and Functions

Completion requirements
View
Make a submission
Receive a grade
Opened: Friday, 1 January 2021, 12:00 AM
Due: Thursday, 21 January 2021, 11:59 PM

Write a C++ program that generates a table of data.

This table should have three columns, one column with x double precision values ranging from -5 to 5, a second column with values y=sin(2x), and a third column with values z=cos(3x). In particular, your program should:

  • Contain at least two functions (besides "int main"), called "f" and "g". The function "f" should take x as an argument and return the value of sin(2x), while the function "g" should that take x as an argument and return cos(3x).
  • The program should take 101 evenly spaced x-values from the interval [-5,5] (including the end points).
  • It should use the functions f and g to compute the values of those functions for those 101 x-values.
  • It should write out the x, f, and g values in tabular form (i.e. three-column ascii text), either to a file called "lissajous.txt". Don't try to add lines to the table, just use spaces and newlines to format the text.

A few hints as to what coding style we are looking for:

  • Try to avoid duplicating the specific values for this assignment (i.e., -5, 5, 101, "lissajous.txt"). E.g. storing them, once, in a variable, and use that variable.
  • Give your variables understandable names.
  • Indent your code properly. Mostly, that means that you should indent consistently and in such a way that all code in the same block has the same indentation.
  • Be sure to comment your code!
  • In general: try and write a code that your future self could still read and understand it in, say, 1 year.

Compile and run your code using g++ with the -std=c++14 flag, and capture the output. Submit, by 21 January 2021 at 11:59 PM, the following files:

  1. a text file describing what you did and how you compiled the program, and how you ran it,
  2. code of the program,
  3. output file produced by the program.
    You can use "redirection" to store the output of your program in a text file. For instance, by running your program in the following way in the terminal
    ./myProgram > output.txt
    in this case the ">" operator will redirect the output of "myProgram" to the file named "output.txt".

All files should be PLAIN text files.
Doc, docx, xls, xlsx, ... files are NOT plain text files. Even .rtf, or, "rich text format" are NOT plain text files.
Use the "Assignment Dropbox" on the course website to upload your work. Remember the late penalty policy: you can submit upto seven days late, but you will get a half point taken off for each day you submitted late. Also note that if you submit the different parts of your work at different times, the last submission date is taken as the submission of the whole.

Contact site support
You are currently using guest access (Log in)
Data retention summary


All content on this website is made available under the Creative Commons Attribution 4.0 International licence, with the exception of all videos which are released under the Creative Commons Attribution-NoDerivatives 4.0 International licence.
Powered by Moodle