Browse Source

README-en.md edited online with Bitbucket

Jose R Ortiz Ubarri 8 years ago
parent
commit
7300787803
1 changed files with 19 additions and 14 deletions
  1. 19
    14
      README-en.md

+ 19
- 14
README-en.md View File

5
 ![rsz_mariposa1.png](images/rsz_mariposa1.png)
5
 ![rsz_mariposa1.png](images/rsz_mariposa1.png)
6
 ![rsz_mariposa.png](images/rsz_mariposa.png)
6
 ![rsz_mariposa.png](images/rsz_mariposa.png)
7
 
7
 
8
-[version 2016.01.29]
8
+[Version 2016- Tatiana]
9
 
9
 
10
 A good way to organize and structure computer programs is dividing them into smaller parts using functions. Each function carries out a specific task of the problem that we are solving.
10
 A good way to organize and structure computer programs is dividing them into smaller parts using functions. Each function carries out a specific task of the problem that we are solving.
11
 
11
 
12
-You've seen that all programs written in C++ must contain the `main` function where the program begins. You've probably already used functions such as `pow`, `sin`, `cos`, or `sqrt` from the `cmath` library. Since in almost all of the upcoming lab activities you will continue using pre-defined functions, you need to understand how to work with them. In future exercises you will learn how to design and validate functions. In this laboratory experience you will call and define functions that compute the coordinates of the points of the graphs of some curves. You will also practice the implementation of arithmetic expressions in C++.
12
+You've seen that all programs written in C++ must contain the `main` function where the program begins. You've probably already used functions such as `pow`, `sin`, `cos`, or `sqrt` from the `cmath` library. Since in almost all of the upcoming lab experiences, you will continue using pre-defined functions, you need to understand how to work with them. In future exercises, you will learn how to design and validate functions. In this laboratory experience, you will call and define functions that compute the coordinates of the points of the graphs of some curves. You will also practice the implementation of arithmetic expressions in C++.
13
 
13
 
14
 
14
 
15
 ## Objectives:
15
 ## Objectives:
49
 
49
 
50
 ## Functions
50
 ## Functions
51
 
51
 
52
-In mathematics, a function $$f$$ is a rule that is used to assign to each element $$x$$ from a set called *domain*, one (and only one) element $$y$$ from a set called *range*. This rule is commonly represented with an equation, $$y=f(x)$$. The variable $$x$$ is the parameter of the function and the variable $$y$$ will contain the result of the function. A function can have more than one parameter, but only one result. For example, a  function can have the form $$y=f(x_1,x_2)$$ where there are two parameters, and for each pair $$(a,b)$$ that is used as an argument in the function, the function has only one value of $$y=f(a,b)$$. The domain of the function tells us the type of value that the parameter should have and the range tells us the value that the returned result will have.
52
+In mathematics, a function $$f$$ is a rule that is used to assign to each element $$x$$ from a set called *domain*, one (and only one) element $$y$$ from a set called *range*. This rule is commonly represented with an equation, $$y=f(x)$$. The variable $$x$$ is the parameter of the function and the variable $$y$$ will contain the result of the function. A function can have more than one parameter, but only one result. For example, a  function can have the form $$y=f(x_1,x_2)$$ where there are two parameters, and for each pair $$(a,b)$$ that is used as an argument in the function and the function will have only one value of $$y=f(a,b)$$. The domain of the function tells us the type of value that the parameter should have and the range tells us the value that the returned result will have.
53
 
53
 
54
-Functions in programming languages are similar. A function has a series of instructions that take the assigned values as parameters and performs a certain task. In C++ and other programming languages, functions return only one result, as it happens in mathematics. The only difference is that a *programming* function could possibly not return any value (in this case the function is declared as `void`). If the function will return a value, we use the instruction `return`. As in math, you need to specify the types of values that the function's parameters and result will have; this is done when declaring the function.
54
+Functions in programming languages are similar. A function has a series of instructions that take the assigned values as parameters and perform a certain task. In C++ and other programming languages, functions return only one result, as it happens in mathematics. The only difference is that a *programming* function could possibly not return any value (in this case the function is declared as `void`). If the function will return a value, we use the instruction `return`. As in math, you need to specify the types of values that the function's parameters and result will have; this is done when declaring the function.
55
 
55
 
56
 ### Function header:
56
 ### Function header:
57
 
57
 
69
 ### Calling
69
 ### Calling
70
 
70
 
71
 
71
 
72
-If we want to store the value of the `example` function's result in a variable `result` (that would be of type integer), we call the function by passing arguments as follows:
72
+If we want to store the value of the result of the function called example in a variable result (that would be of type integer), we call the function by passing arguments as follows:
73
 
73
 
74
 `result=example(2, 3.5, unCar);`
74
 `result=example(2, 3.5, unCar);`
75
 
75
 
76
-Note that as the function is called, you don't include the type of the variables in the arguments. As in the definition for the function `example`, the third parameter `&var3` is a reference variable; what is being sent to the third argument when invoking the function is a *reference* to the variable `unCar`. Any changes that are made on the variable `var3` will change the contents of the variable `unCar`.
76
+Note that as the function is called, you don't include the type of the variables in the arguments as in the definition for the function `example`. The third parameter `&var3` is a reference variable; this means that what is being sent to the third argument when invoking the function is a *reference* to the variable `unCar`. Any changes that are made on the variable `var3` will change the contents of the variable `unCar`.
77
 
77
 
78
 You can also use the function's result without having to store it in a variable. For example you could print it:
78
 You can also use the function's result without having to store it in a variable. For example you could print it:
79
 
79
 
121
 int example(int, char) ;
121
 int example(int, char) ;
122
 ```
122
 ```
123
 
123
 
124
-All of the above functions have the same name, `example`, but different parameters. The first and second functions have the same amount of parameters, but their arguments are of different types. The fourth and fifth functions have arguments of type `char` and `int`, but in each case are in different order.
124
+All of the above functions have the same name, `example`, but different parameters. The first and second functions have the same amount of parameters, but their arguments are of different types. The fourth and fifth functions have arguments of type `char` and `int`, but have a different order in each case.
125
 
125
 
126
-In that last example, the function `example` is overloaded since there are 5 functions with different signatures but with the same name.
126
+In that last example, the function `example` is overloaded since there are five functions with different signatures but with the same name.
127
 
127
 
128
 
128
 
129
 
129
 
130
 ### Default values
130
 ### Default values
131
 
131
 
132
-Values by default can be assigned to the parameters of the functions starting from the first parameter to the right. It is not necessary to initialize all of the parameters, but the ones that are initialized should be consecutive: parameters in between two parameters cannot be left uninitialized. This allows calling the function without having to send values in the positions that correspond to the initialized parameters.
132
+Values by default can be assigned to the parameters of the functions starting from rightmost parameter. It is not necessary to initialize all of the parameters, but the ones that are initialized should be consecutive: parameters in between two parameters cannot be left uninitialized. This allows calling the function without having to send values in the positions that correspond to the initialized parameters.
133
 
133
 
134
 **Examples of function headers and valid function calls:**
134
 **Examples of function headers and valid function calls:**
135
 
135
 
193
 
193
 
194
 $$y=r \sin(t),$$
194
 $$y=r \sin(t),$$
195
 
195
 
196
-where $$t$$ is a parameter that corresponds to the measure (in radians) of the positive angle  with initial side that coincides with the positive part of the $$x$$-axis and terminal side that contains the point $$(x,y)$$, as it is illustrated in Figure 1.
196
+where $$t$$ is a parameter that corresponds to the measure (in radians) of the positive angle  with an initial side that coincides with the positive part of the $$x$$-axis and a terminal side that contains the point $$(x,y)$$, as it is illustrated in Figure 1.
197
 
197
 
198
 
198
 
199
 ---
199
 ---
205
 
205
 
206
 ---
206
 ---
207
 
207
 
208
-To plot a curve that is described  by parametric equations, we compute the $$x$$ and $$y$$ values for a set of values of the parameter. For example, Figure 2 shows the values for $$t$$, $$(x,y)$$ for the circle with $$r=2$$.
208
+To plot a curve that is described by parametric equations, we compute the $$x$$ and $$y$$ values for a set of values of the parameter. For example, Figure 2 shows the values for $$t$$, $$(x,y)$$ for the circle with $$r=2$$.
209
 
209
 
210
 
210
 
211
 ---
211
 ---
239
 
239
 
240
 ## Laboratory session:
240
 ## Laboratory session:
241
 
241
 
242
-In the introduction to the topic of functions you saw that in mathematics and in some programming languages, a function cannot return more than one result. In this laboratory experience's exercises you will practice how to use reference variables to obtain various results from a function.
242
+In the introduction to the topic of functions you saw that in mathematics and in some programming languages, a function cannot return more than one result. In this laboratory experience's exercises, you will practice how to use reference variables to obtain various results from a function.
243
 
243
 
244
 ### Exercise 1
244
 ### Exercise 1
245
 
245
 
247
 
247
 
248
 **Instructions**
248
 **Instructions**
249
 
249
 
250
-1. Download the folder`Functions-PrettyPlots` from `Bitbucket` using the terminal, moving to the `Documents/eip` directory, and writing the command `git clone http://bitbucket.org/eip-uprrp/functions-prettyplots`.
250
+1. Load the project ‘prettyPlot’ into ‘QtCreator`. There are two ways to do this:
251
+
252
+		*Using the virtual machine: Double click the file `prettyPlot.pro` located in the folder `home/eip/labs/functions-prettyplots` of your virtual machine.
253
+		*Downloading the project’s folder from `Bitbucket`: Use a terminal and write the command `git clone http://bitbucket.org/eip-uprrp/functions-prettyplots` to download the folder `functions-prettyplots` from `Bitbucket`. Double click the file `prettyPlot.pro` located in the folder that you downloaded to your computer.
251
 
254
 
252
-2. Load the project `prettyPlot` in Qt Creator by double clicking on the file `prettyPlot.pro` in the folder `Documents/eip/functions-prettyplots` of your computer.
253
 
255
 
254
 3. Configure the project and execute the program by clicking on the green arrow in the menu on the left side of the Qt Creator screen. The program should show a window similar to the one in Figure 3.
256
 3. Configure the project and execute the program by clicking on the green arrow in the menu on the left side of the Qt Creator screen. The program should show a window similar to the one in Figure 3.
255
 
257
 
356
 [2] http://paulbourke.net/geometry/butterfly/
358
 [2] http://paulbourke.net/geometry/butterfly/
357
 
359
 
358
 [3] http://en.wikipedia.org/wiki/Parametric_equation
360
 [3] http://en.wikipedia.org/wiki/Parametric_equation
361
+
362
+
363
+