# Bcee 231 Assignments Definition

SAMPLE EXAMINATION QUESTIONS – Chapter 1 The mid-term (final exam) will have up to 8 (25) questions for 1 (3) hours. Adjacent students will have different exams. Special instructions: Closed book. No calculators. A non-electronic dictionary is permitted. A) Attempt every question: In Part 1: Select the best answer among the choices listed in the right column. In Part 2: Write the answer (e.g. a, b, …), and its reason or justification unless the answer is either “None of the above” or a choice of output values. B) One point for each correct answer provided that the stated reason, where required, is sensible and specifically related to the situation. Only Part 2 will be assessed for marks. Note: These sample exam questions should help you focus on issues for study and review. Avoid memorization since it only overloads/confuses you. Best to write a short program code to test, prove or disprove an idea--This will surely help you progress, write exams or do your homework. Part 1 Note: Line numbers are added for reference purpose only. The situation 1. The following assignment expressions have a common syntax error: f(x) = (a+b)*Area*x; g(x, y, z) = a*sin(x*y)*exp(b*z); A B = C; A*B = C; A+B*C = D; In relation to the described situation: The syntax error may be due to: a) A variable name is too long b) A right-hand-side variable name has illegal character(s) c) The left-hand-side is not a (valid) name d) The right-hand-side expression has illegal or missing operator(s) e) Unbalanced parentheses _____________ f) None of the above 2. The following expression is supposed to compute V = x a 2 + b 2 sin y : V = x*sqrt(a*a+b*b)*Sin y; It has an error. The error may be due to: a) A variable name is too long b) The part a 2 + b 2 is badly implemented c) The variable name in the left-hand-side has illegal character(s) d) The part sin y is badly implemented e) Unbalanced parentheses _____________ f) None of the above BCEE 231 Chapter 1 - Sample questions 1 3. The following expression is supposed to compute V = x a 2 + b 2 sin y : V = x * hypot(a,b) * sin y; It has an error. The syntax error may be due to: a) The hypot function is not applicable b) Bad use of the sin-function c) Square root function is missing d) No space between arguments in hypot() e) Missing operator between sin and y _____________ f) None of the above 4. Consider the following program: main() { a = 3; b = 4; x = a^3; y = 0.2; V = x * hypot(a,b) * Sin(y); print(a, b, x, y, V); } It does NOT execute as expected. The error may be due to: a) Missing or invalid operator(s) b) Undefined variable or function name c) Improper function argument(s) d) An illegal or missing operator e) Unbalanced parentheses _____________ f) None of the above 5. Consider the following program: The error may be due to: main() { Dept = 3.5; Width = 0.12; Length = 2.1 Volume = Length * Dept * Width; print(Length, Dept, Width, Volume); } a) Too many expressions on one line It does NOT execute as expected. b) An undefined variable c) An expression is not terminated by semicolon d) Bad use of a function e) Unbalanced parentheses f) Improper function argument(s) _____________ g) None of the above 6. Consider the following program: The error may be due to: main() { Dept = 3.5; Width = 0.12; Length = 2.1; Volume = Length * Depth * Width; print(Length, Dept, Width, Volume); } a) An undefined variable It does NOT execute as expected. BCEE 231 Chapter 1 - Sample questions b) Missing or invalid operator(s) c) Expression not terminated by semicolon d) Bad use of a function e) Unbalanced parentheses f) Improper function argument(s) 2 _____________ g) None of the above 7. Consider the following program: The error may be due to: main() { Dept=3.5;Width=0.12,Length=2.1; Volume = Length * Dept * Width; print(Length, Dept, Width, Volume); } a) Missing or invalid operator(s) It does NOT execute as expected. f) Improper function argument(s) b) An undefined variable c) Expression not terminated by semicolon d) Bad use of a function e) Unbalanced parentheses _____________ g) None of the above 8. The following expressions make use of built-in functions. One of them may have invalid argument(s). Which one? a) A = hypot(2, 4); b) A = cos(-2.1); c) print(pi#, 4/5, A = hypot(B = 3, C=4)); d) A = ln(-4.5); e) A = getnum(); f) A = round(2, B = 2/3); _____________ g) None of the above 9. Consider the following code segment: Its execution gives the following output: { a) 3 2 4 21 5 b) 2 2 4 21 5 c) 3 2 4 16 5 d) 3 2 4 16 2 e) 3 18 36 149 5 f) 3 2 2 9 5 F = (A=2)*3 + (B = (C=A^2)/2) * (D = 2*C^2/B + ( E = (D = hypot(A=3,4)^2)/5)); print(A, B, C, D, E); } _____________ g) None of the above 10. In relation to the use of functions in Cprogramming. One of the following statements is false. Which one? a) Functions [other than main()] must be invoked by name for its execution b) Input data to function can be supplied as function arguments c) Functions are useful for their actions and/or BCEE 231 Chapter 1 - Sample questions 3 returned values d) A function name must be followed by a closing pair of parentheses e) Built-in functions are functions supplied by the programming environment _____________ f) None of the above 11. The followings are supposed to be unrelated examples of CMAP-expressions shown in no particular order. They may have faults in them. 1 2 3 4 5 6 7 8 9 L = hypot(A); A*B-C; getnum(" Input A", A); getnum(" Input A", 2*3); sin(x = A/B); A = sin(0.14) * getnum(); print(A,B,C); B = getnum(" Input B", getnum("Set prompt for B", sin(0.2)*cos(0.1))); print(getnum(" Input A")); ONE of the following statements may be FALSE. Which one? a) Line 1: hypot() should have two scalar arguments. b) Line 3 gets user input for ‘A’. c) Line 4: Input window shows 6 as a prompt value. d) Lines 2, 3, 4, 5: Expressions are valid but they serve no real purpose. e) Line 5: value of x is sent as argument to function sin(). f) Line 6: Expression is valid and it serves to define the content of 'A'. g) Line 7: The actions done by print() is of great interest while its returned value is often ignored. h) Line 8: Expression is valid and useful, but not practical. i) Line 9 gets user-input value and prints it. j) In an expression, a constant or variable name can be replaced by a sub-expression. _____________ k) None of the above 12. In relation programming. to expressions in C- One of the following statements is false. Which one? a) The left-hand-side of the assignment operator must be a valid name b) Every variable in the right-hand-side of the assignment expression must have its value defined previously BCEE 231 Chapter 1 - Sample questions 4 c) An invoked function must have valid arguments d) Every expression must have an assignment operator e) A variable name or constant in the right-hand-side of the assignment expression can be replaced by a sub-expression f) An upper case character is considered different from its lower case. _____________ g) None of the above Part 2: For each question, write the answer number and its justification in its reserved space. Question Answer (a,b,…) Reason or justification for the answer 1 (c) A legal variable name must not have illegal special characters. 2 (d) This part sin y should be implemented as 3 (b) Argument y of function sin must be in parentheses (sin is the name of a built-in function, not a variable name) 4 5 (b) (c) 6 (a) 7 8 9 (c) (d) (a) Built-in function sin must be in lower case Semicolon missing after the expression Length = 2.1 which becomes incomprehensible when merged with the next line. Variable ‘Depth’ is undefined (even though Dept was defined). This kind of error is often typo error. Terminate the expression “Width = 0.12” with a semicolon, not a comma The argument of ln() cannot be negative A and D are redefined later in the same expression 10 11 (f) (b) 12 (d) sin(y) All preceding statements are true. This expression displays value of A as a prompt only. For 'A' to be defined by user-input, the returned value of getnum() must be assigned to 'A' like this: A = getnum(); See documentation on getnum() for its optional arguments. Assignment operator is needed only when a value is to be saved or stored in a variable name. BCEE 231 Chapter 1 - Sample questions 5 SAMPLE EXAMINATION QUESTIONS – Chapter 2 The mid-term (final exam) will have up to 8 (25) questions for 1 (3) hours. Adjacent students will have different exams. Special instructions: Closed book. No calculators. A non-electronic dictionary is permitted. A) Attempt every question: In Part 1: Select the best answer among the choices listed in the right column. In Part 2: Write the answer (e.g. a, b, …), and its reason or justification unless the answer is either “None of the above” or a choice of output values. B) One point for each correct answer provided that the stated reason, where required, is sensible and specifically related to the situation. Only Part 2 will be assessed for marks. Note: These sample exam questions should help you focus on issues for study and review. Avoid memorization since it only overloads/confuses you. Best to write a short program code to test, prove or disprove an idea--This will surely help you progress, write exams or do your homework. Part 1 The situation 1. The following code segment has a syntax error: if(Volume) notice(" Volume is not zero:", Volume); A = A/Volume; } In relation to the described situation: The syntax error is caused by: a) else-clause is missing b) ‘if’ is in lower case c) ‘Volume’ is undefined d) variable ‘A’ appears in both left and right hand side of the assignment expression e) unbalanced parentheses or braces 2. Consider the following code segment: if(Pressure) { notice(" Volume is not zero:", Volume); A = B/Pressure; } 3. Consider the following program: main() { A = 1; B = 10; C = 100; if(B >= (C = 20)) { BCEE 231 Chapter 2 - Sample questions The main purpose of the if-statement is: a) to test if ‘Pressure’ is positive b) to test if ‘Pressure’ is zero c) to test if ‘Pressure’ is negative d) to test if ‘Pressure’ is non-zero e) to test if ‘Pressure’ is greater than zero The program produces the following output: a) b) c) d) 1 3 10 3 10 10 10 10 100 20 100 30 1 } A = C/B; } else { A = 3; C = 30; } print(^, A, B, C); 4. Consider the following code segment: E1 = ((a=2+4) < a || a > 0); E2 = ((b=5) == b && b <= 0); ______________ e) None of the above This code segment will give the following values for a, b, E1 and E2: a) a = 6, b = 5, E1 = 1, E2 = 0 b) a = 6, b = 5, E1 = 1, E2 = 1 c) a = 6, b = 5, E1 = 0, E2 = 0 d) a = 0, b = 1, E1 = 0, E2 = 1 _____________ e) None of the above 5. Given the following program: main() { Sum = 1; I = 3; do { Sum = Sum + I; print(^, I,Sum); I=I-1; } while(I); print(^" Final sum = ", Sum); } ONE of the following statements about the program may be FALSE. Which one? a) The program has no syntax error b) The final value of Sum is 6 c) The final value of I is 0 d) while-loop can also be used here e) The program prints 4 lines _____________ f) None of the above. 6. The following program is supposed to compute Sum = N =10 I: I =1 main() { Sum = 0; I = 1; N = 10; do { Sum = Sum + I; print(^, I,Sum); I=I+1; } while(I); print(^" Final sum = ", Sum); } The program does NOT work as expected, and the error is due to: a) syntax error(s) b) ‘N’ is defined but not used c) bad initialization of ‘I’ d) bad loop-exit condition e) do-while loop is not applicable f) improper function argument(s) _____________ g) None of the above. 7. The following program is supposed to compute Sum = N =10 I: I =1 BCEE 231 Chapter 2 - Sample questions The program does NOT work as expected, and the error is due to: 2 main() { Sum = 0; I = 1; N = 10; do { Sum = Sum + I; print(^, I,Sum); I=I+1; } while(I < N); print(^" Final sum = ", Sum); } a) syntax error(s) b) ‘N’ is defined but not used c) bad initialization of ‘I’ d) bad loop-exit condition e) do-while loop is not applicable f) improper function argument(s) _____________ g) None of the above. 8. The following program is supposed to find the square root of ‘A’ using the following iterative formula based on a previously estimated root r1: A 1 r2 = r1 + r1 2 where r2 is supposed to be a better estimate. main() { A = getnum("Input A > 0 "); r1= A/2; do { r2 = (r1+A/r1)/2; Error = abs((r2-r1)/r1); } while(Error > 0.01); print(^,"A = ",A," Root = ",r2); } 9. The following program is supposed to find the square root of ‘A’ using the following iterative formula based on a previously estimated root r1: 1 A r2 = r1 + 2 r1 where r2 is supposed to be a better estimate. main() { getnum("Input A > 0 "); r1= A/2; do BCEE 231 Chapter 2 - Sample questions The program does NOT work because of: a) syntax error(s) b) no iterative improvement of root c) bad initialization of ‘r1’ d) bad loop-exit condition e) undefined variable(s) f) improper function argument(s) _____________ g) None of the above. The program does NOT work because of: a) syntax error(s) b) no iterative improvement of root c) bad initialization of ‘r1’ d) bad loop-exit condition e) undefined variable(s) f) improper function argument(s) _____________ g) None of the above. 3 { r2 = (r1+A/r1)/2; Error = abs((r2-r1)/r1); r1 = r2; } while(Error > 0.01); print(^,"A = ", A, " Root = ", r2); } 10. The following program is supposed to find the square root of ‘Z’ using the following iterative formula based on a previously estimated root X1: X2 = 1 Z X1 + 2 X1 where X2 is supposed to be a better estimate. main() { Z = getnum("Input Z > 0 "); X1 = Z/2; do { X2 = (X1+Z/X1)/2; X1 = X2; Error = abs((X2-X1)/X1); } while(Error > 0.01); print(^,"Z = ", Z, " Root = ", X2); } The program does NOT work because of: a) syntax error(s) b) no iterative improvement of root c) bad initialization of ‘X1’ d) bad loop-exit condition e) undefined variable(s) f) improper function argument(s) _____________ g) None of the above. 11. Consider the use of the keywords ‘continue’, ‘break’, ‘case’, and ‘switch’. ONE of the following statements may be FALSE. Which one? a) The keywords ‘continue’ and ‘break’ can be used within a loop. b) Execution of ‘break’ inside a loop will terminate the loop. c) Without ‘case’, the switch-control structure loses its power. d) Execution of ‘break’ inside a switch-control structure will transfer control to the next ‘case’. e) A program may have loops and switch-control structures nested within themselves in any number of levels. _____________ f) None of the above. BCEE 231 Chapter 2 - Sample questions 4 12. Consider the following program which computes the same quantity using two ONE of the following statements may be FALSE. Which one? mathematically equivalent forms E1 = E2: B E1 = E2 = A+ B B B A A+ + A main() { A = 100; Eps = 1; while(Eps>=1E-15){ E1=sqrt(A+Eps)-sqrt(A); E2=Eps/(sqrt(A+Eps)+sqrt(A)); print(^,Eps,E1,E2); Eps = Eps * 0.5; } } 13. Consider the following program: main() { A = 2; B = 4; C = 0; SUM = 1; switch(A) { case 2: if(C){ C=1; SUM=SUM-C;} else { C=-1;SUM=SUM+C;} case 5: SUM = SUM + A + B + C; break; default: A=1; B=3; C=-1; SUM=1; break; } print (^, A, B, C, SUM); } 14. Consider the following program: a) The program computes E1, E2 for constant B B B B ‘A’ and decreasing value of b) The program has no error(s). c) Output will have 3 columns of values. d) Results for E1 and E2 should be nearly the B B B same for relatively large value of . e) A approaches zero, the computed E2 B should be more accurate than E1 . B __________________ f) None of the above. Its execution will give the following output: a) 1 3 -1 1 b) 2 4 -1 5 c) 2 4 0 1 d) 2 4 1 7 e) 2 4 -1 0 _____________ f) None of the above. Its execution will give the following output: main() a) 8 2 5 9 5 5 { F = (A=2^2*2) + (C=(B=2)*2+1) * b) 8 2 5 0 5 3 c) 8 2 5 5 1 5 d) 16 2 5 9 1 5 e) 16 2 5 0 5 3 (D=A/B+(E=hypot(3,4)^2/5)==5); X = 2*(C<3) + 3*(B==2)+2*(D > 3); print(^, A, B, C, D, E, X); } BCEE 231 Chapter 2 - Sample questions B _____________ f) None of the above. 5 15. Concerning the working of loop-control structures, one of the following statements may be FALSE. Which one? a) do-while loop: the loop body is executed at least once. b) while loop: the condition is tested before executing the loop body. c) The first expression in the for-loop construct is executed just before each time the loop body is executed. d) The body of the for-loop is executed only if the value of the second expression in the for-loop construct is non-zero. e) The third expression in the for-loop construct is executed only after the loop body has been executed. f) The keywords break and continue may change or disrupt the normal sequential execution of the loop body. ______________________ g) None of the above Part 2: For each question, write the answer number and its justification Question Answer 1 (e) Begin of if-block requires the brace {. 2 (d) If Pressure is non-zero then the division by Pressure can be done. 3 (d) 4 (a) The if-test failed and thus, the else-block is executed. Note that (C = 20) is an assignment expression, NOT an equality test E1 is true because a > 0 is true; E2 is false because b > 0. 5 (b) 6 (d) 7 (d) When I equals 10, the do-while loop terminates and exits without adding 10 into ‘Sum’. (b) After computing ‘r2’, its value should be placed into ‘r1’ for the next iteration. 8 Reason or justification for the answer The final value of Sum is 7. Infinite loop: ‘I’ is always non-zero in while(I). BCEE 231 Chapter 2 - Sample questions 6 9 (e) 10 11 (b) (d) 12 13 14 15 (f) (b) (b) (c) Variable ‘A’ is undefined. The computed ‘Error’ is 0, hence the loop terminates after one iteration. ‘break’ transfers control to the statement following the switch block. All preceding statements are true. case 2 is executed, and then proceed through case 5 until break The first expression is executed only once, at the very beginning. BCEE 231 Chapter 2 - Sample questions 7 SAMPLE EXAMINATION QUESTIONS – Chapter 3 The mid-term (final exam) will have up to 8 (25) questions for 1 (3) hours. Adjacent students will have different exams. Special instructions: Closed book. No calculators. A non-electronic dictionary is permitted. A) Attempt every question: In Part 1: Select the best answer among the choices listed in the right column. In Part 2: Write the answer (e.g. a, b, …), and its reason or justification unless the answer is either “None of the above” or a choice of output values. B) One point for each correct answer provided that the stated reason, where required, is sensible and specifically related to the situation. Only Part 2 will be assessed for marks. Note: These sample exam questions should help you focus on issues for study and review. Avoid memorization since it only overloads/confuses you. Best to write a short program code to test, prove or disprove an idea--This will surely help you progress, write exams or do your homework. Functions cat() and view() placed at strategic places will make debugging easier. Part 1. Note: Program line numbers are added for reference only The situation In relation to the situation at left 1. User-defined functions ONE of the following statements is FALSE. Which one? a) Any function other than main() must be invoked by name for it to be executed. b) All user-defined functions in a program will eventually be executed. c) Function name must be followed by parentheses which enclose optional function arguments or parameters. d) Function arguments must match the type of parameters declared inside the function heading. e) Execution of ‘return’ inside the function body will transfer control back to the calling expression. ____________ f) None of the above BCEE 231 Chapter 3 - Sample questions 1 2. Consider the following program: 1. 2. 3. 4. 5. main() { A = HYPOT(3, 4); print(A); } 6. 7. 8. 9. 10. 11. HYPOT(float a, float b) { float L; L = sqrt(a*a+b*b); return L; } When the program executes, ONE of the following statements in relation to the results or program is FALSE. Which one? a) At line 4, ‘A’ is 5. b) At line 8, ‘a’ is 3 and ‘b’ is 4. c) At line 8, ‘L’ is 0 or possibly undefined d) At line 10, ‘L’ is 5 e) At line 4, ‘a’ is 3 and ‘b’ is 4 ____________ f) None of the above 3. Consider the following program: 1. 2. 3. 4. 5. 6. main() { float a = 1; b = 2; f(a); print(^, a, b, c); } 7. 8. 9. 10. 11. f(float a) { float c; a = 100; b = 200; print(^, a, b, c = a+b); } When the program executes, ONE of the following statements in relation to the results or program is FALSE. Which one? a) At line 2, ‘a’ is declared to be local in main() b) Once line 4 executed, ‘a’ is 1 and ‘b’ is 2 c) At line 5, ‘a’ is 1 and ‘b’ is 2 d) At line 10, ‘c’ is 300 e) At line 5, ‘c’ is undefined ____________ f) None of the above 4. Consider the following program: 1. 2. 4. 5. 6. main() { float a = 1, b = 2; f(a, b); print(^, a, b, c = a+b); } 7. 8. 9. 10. 11. f(float a, float b) { float c; a = 100; b = 200; print(^, a, b, c = a+b); } E When the program runs, ONE of the following statements in relation to the results or program is FALSE. Which one? a) At line 2, ‘a’ and ‘b’ are declared to be local in main() b) Once line 4 executed, ‘a’ is 1 and ‘b’ is 2 c) At line 5, ‘a’ is 100, ‘b’ is 200 and ‘c’ is 300 d) At line 7, ‘a’ is 1 and ‘b’ is 2 e) At line 10, ‘a’ is 100, ‘b’ is 200 and ‘c’ is 300 ____________ f) None of the above BCEE 231 Chapter 3 - Sample questions 2 5. Given the following program: 1. 2. 3. 4. 5. 6. 7. 8. ONE of the following statements in relation to the program is FALSE. Which one? main() { useoption("RADIANS"); for(x = 1; x <= 90; x = x+1) { a = x*pi#/180; print(^, x, s1 = SIN(a), s2 = sin(a), (s1-s2)*100/s2); } } a) The expression in Line 2 is good even though it might be redundant at times. b) ‘x’ in main() and ‘x’ in SIN() have separate storage or content c) At line 11, ‘Sum’ should be initialized to 0 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. SIN(float x) { // Compute sin of x by // its Taylor series float Sum = T=x, n=3, Sign = -1; do { T = T*(x*x)/(n*(n-1)); Sum = Sum + Sign*T; n = n+2; Sign = -Sign; } while (abs(T) > 0.0001); return Sum; } 6. Consider the following program: 1. 2. 3. 4. 5. 6. main() { plot(x, -2, 3, T(x)); xo = minz1(x, -2, 3, T(x)); print(^, xo, T(xo)); } 7. 8. 9. 10. T(float x) { return 10-3*x+0.9*x*x; } d) The argument ‘x’ in SIN() must be in summing radians e) Line 11 declares local variables for temporary data used in SIN() ____________ f) None of the above ONE of the following statements in relation to the program is FALSE. Which one? a) xo in line 5 and x in function T() have separate storage b) Illegal duplicate of ‘x’ in lines 3 and 7 c) In line 4, xo is the point at which T(x) is minimum d) Function arguments in minz1() are proper e) Function arguments in plot() are proper ____________ f) None of the above BCEE 231 Chapter 3 - Sample questions 3 7. The following expressions make use of built-in functions. Only one of them may have invalid argument(s). Which one? a) plot(x, 0, pi#, f(x) = sin(x)*cos(x)); b) plot(z, a=1, b=2, sin(z)*exp(- 0.15*z)); c) x = maxz1(z, a=1, b=2, sin(z)*exp(-0.15*z)); d) root1(x, 0, 1, sin(x)-cos(x)); e) clearplot(); ____________ f) None of the above 8. Consider the following expression: u = maxz1(z, a, b, sin(x*z)*exp(-y*z)); ONE of the following statements in relation to the expression is FALSE. Which one? a) The purpose of the expression is to get the value z that makes sin(x*z)*exp(y*z) maximum within the interval a z b b) The expression will provide good result only if such result exists c) ‘z’ is a dummy variable name d) The fourth parameter in maxz1() must be an expression of z e) The expression has a syntax error f) The expression will execute only if the values of ‘a’, ‘b’, ‘x’ and ‘y’ are previously defined ____________ g) None of the above 9. Consider the following program: 1. 2. 3. 4. 5. main() { a = 1; b = 2; print(A = F(0)); } BCEE 231 Chapter 3 - Sample questions When the program executes, ONE of the following statements in relation to the results or program is FALSE. Which one? a) Variables ‘a’ and ‘b’ are global by default b) At line 8, ‘L’ is 1 4 6. 7. 8. 9. F(float x) { float L = (a+b*x*sin(x)); } c) At line 4, ‘A’ is 1 d) At line 8, ‘x’ is 0 e) At line 4, ‘x’ does not exist ____________ f) None of the above 10. Consider the following program: 1. 2. 3. 4. When the program executes, ONE of the following statements in relation to the results or program may be FALSE. Which one? main() { print(E(0.23)); } 5. E(float y) 6. { // Return exp(y) by summing 7. // Taylor series 8. float S = T = K = 1; 9. do { 10. T = T * y/K; 11. S = S + T; 12. K = K + 1; 13. } while (abs(T) > 0.0001); 14. return S; 15. } 11. The following program tests the function SIN(float x) which computes and returns sin(x) by summing the terms in the Taylor series until a term is smaller than 0.0001: sin x = x x3 x5 + 3! 5 ! x7 + 7! 1 2 3 4 5 6 6 7 8 main() { for(x=0, x<= 90, x=x+1) { K = 0; y=x*pi#/180; print(^,x, SIN(y),K); } } 9 10 SIN(float x) { float Sum=Term=x, n=3, Sign = -1; do { K = K+1; Term = Term*(x*x)/ (n*(n-1)); Sum = Sum + Sign*Term; n = n+2; Sign = -Sign; } while(abs(Term)<0.0001), return Sum; } 11 12 13 14 15 16 17 18 19 BCEE 231 Chapter 3 - Sample questions a) b) c) d) e) There is no syntax error At line 10, ‘y’ is 0.23 At line 8, ‘K’ is 1 At line 12, ‘K’ is incremented by 1 At line 14, ‘S’ is supposed to be the sum of the first K terms of the Taylor series ____________ f) None of the above ONE of the following statements may be FALSE. Which one? a) Line 3 has syntax error(s) b) Line 13 has a logical error b) Line 17 has logical error(s) c) Line 17 has syntax error(s) d) Once the preceding errors, if any, have been corrected, the program should work fine. e) K counts the number of terms being summed for each x. ____________ f) None of the above 5 12. Consider the following program: 1. main() { 2. float a = 1, b = 2; 3. c = f(a) 4. +f(b); 5. print(^, a, b, c); 6. } 7. f(float a) 8. { 9. float c = a+1; 10. return c+1; 11. } ONE of the following statements may be FALSE. Which one? a) At line 2, 'a' and 'b' are local b) At line 3, 'c' is a local variable of main() c) 'a' in Line 3 and 'a' in line 7 have different storage d) 'c' in Line 9 is a local variable of f() e) The values printed are 1, 2, 7 f) Removing the return-keyword in Line 10, the values printed are 1, 2, 0 ____________ g) None of the above 13. Consider the following program: 1 2 3 4 5 6 float G = 1; H = 1; main() { float H = 3, K = 4; print(f(G, h), G, H, K); } 7 8 9 10 11 12 f(float G, H) { G = G + 1; H = H + 1; K = 1; print(^,G, H, K); } ONE of the following statements may be FALSE. Which one? a) Line 1 has syntax error(s). b) Line 4 declares local variables. c) Line 5 has a typo error. d) Line 7 has syntax error(s). e) If syntax and typo errors are properly corrected, the output would be: 2 4 1 0 1 3 4 _____________ f) None of the above. 14. Consider the following program: main() { float a = 1; b = 2; f(a, b); print(a, b); } BCEE 231 Chapter 3 - Sample questions Its execution will give the following output: a) 2 1 1 2 1 b) 1 2 1 2 1 c) 2 1 2 1 2 d) 1 2 1 1 2 6 f(float a, float b) { float T = 0; if(a < b){ T=a; a=b; b = T; } print(a, b, T); } 15. Consider the following program: 1 2 3 4 main() { print(f(1,9,2)); } 5 6 7 8 9 10 11 12 13 f(float M; float N; float K) { float I, Sum = 0; for(I = M, I <= N, I = I+K); { Sum = Sum + I; if(I>=N-3){Print(I,Sum);} } } e) 2 1 1 1 2 f) 1 2 2 1 1 _____________ g) None of the above. ONE of the following statements may be FALSE. Which one? a) Line 5 has syntax error(s). b) Line 8 has syntax error(s). c) Line 11 has a typo error. d) After correcting all the errors, execution of f() will give I = 11 when the loop terminates. e) After correcting all the errors, execution of the program will give this output: 7 16 9 25 0 _____________ f) None of the above. Part 2: For each question, write the answer number and its justification Question Answer Reason or justification for the answer 1 (b) Only those invoked will be executed. 2 (e) Variables ‘a’ and ‘b’ exist only within HYPOT() while HYPOT() is being executed. BCEE 231 Chapter 3 - Sample questions 7 3 (c) Local variable ‘a’ remains at 1 while global variable ‘b’ has been changed by function f() 4 (c) Being local variables in main(), ‘a’ and ‘b’ cannot be changed by f() 5 (c) The loop starts with the second term of the series (i.e. x^3), and thus, Sum is initialized with the first term (x) in the series. 6 (b) Any name will do. 7 (a) The illegal variable name f(x) in the RHS invalidates the expression to be plotted. 8 (e) The syntax is proper 9 (c) F() does not have the return statement, and hence CMAP returns 0 by default. i.e. ‘A’ is 0. 10 (e) ‘S’ is supposed to be the sum of the first K-1 terms of the Taylor series 11 (b) The expression is fine as is. 12 (b) 'c' is global by default [i.e. Not declared as local in main()] 13 14 15 (f) (e) (f) BCEE 231 Chapter 3 - Sample questions 8 SAMPLE EXAMINATION QUESTIONS – Chapter 4 The mid-term (final exam) will have up to 8 (25) questions for 1 (3) hours. Adjacent students will have different exams. Special instructions: Closed book. No calculators. A non-electronic dictionary is permitted. A) Attempt every question: In Part 1: Select the best answer among the choices listed in the right column. In Part 2: Write the answer (e.g. a, b, …), and its reason or justification unless the answer is either “None of the above” or a choice of output values. B) One point for each correct answer provided that the stated reason, where required, is sensible and specifically related to the situation. Only Part 2 will be assessed for marks. Note: These sample exam questions should help you focus on issues for study and review. Avoid memorization since it only overloads/confuses you. Best to write a short program code to test, prove or disprove an idea--This will surely help you progress, write exams or do your homework. Functions cat() and view() placed at strategic places will make debugging easier. Part 1 Note: Line numbers are added for reference only. The situation: In relation to the described situation: ONE of the following statements is FALSE. Which 1. The following program is supposed to sum all one? elements of the matrix M. a) Matrix M has three elements main() { defmat (M[N = 3], 2, 3, 7); float I, Sum = 0; for(I=1; I<= N; I=I+1) { Sum = M[I]; } print(" Sum = ", Sum); } BCEE 231 Chapter 4 - Sample questions b) As is, the program prints Sum = 7 c) 'M' is a local array of main() d) 'I' and 'Sum' are local variables of main() e) Element M[2] contains 3 f) When the loop terminates, the value of I is 4 g) The program has logical error(s) ________________ h) None of the above 1 ONE of the following statements is FALSE. Which 2. The following program is supposed to copy one? elements of arrays A and B into C as shown. a) As is, the program gives C[5] the value 0 b) As is, the program gives C[9] the value -8 c) As is, the size of array C is 1 by 10 d) All arrays are global e) Variables I and J are local while M, N, K global f) When the loop terminates, the value of I is 11 main() { defmat (A[M=7],3,1,2,4,0,6,9); defmat (B[N=3],-1,-8,-2); zero(C[K=M+N]); float I, J = 0; for(I=1; I<= K; I=I+1) { if(I <= M) { C[I] = A[I]; } else { C[I] = B[J = J+1];} } print(A, B, C); } g) The program has logical error(s) ________________ h) None of the above ONE of the following statements is FALSE. Which 3. The following program is supposed to copy one? elements of arrays A and B into C as shown. a) All variables are local b) When the second loop starts, value of I is 8 c) When the second loop terminates, value of J is 4 d) When the second loop terminates, value of I is 11 e) In the second loop, when 'J' is 2 then C[9] is set main() { float I, J, M = 7, N = 3, K = M+N; mat A[M], B1, C[K]; defmat(A,3,1,2,4,0,6,9); defmat(B,-1,-8,-2); zero(C[K]); for(I=1; I<= M; I=I+1) { C[I] = A[I]; } for(J = 1; J <= N; J=J+1) { C[I] = B[J]; I = I+1; } BCEE 231 Chapter 4 - Sample questions f) The program works as intended ________________ g) None of the above 2 print(A, B, C); } ONE of the following statements is FALSE. Which one? 4. Consider the following program. a) The program has no syntax error main() { defmat(A[3],3,1,2); defmat(B[4],0,-1,-8,-2); C = f(A[1], B[3]); // Line 5 print(C, A[2], f(A[3], B[4])); } f(float A, float B) { return A+B; } b) 'A' and 'B' in main() are global arrays c) 'A' and 'B' in f() are local float variables d) The arguments of f() in Line 5 are 3 and -8 e) Function f() must not use 'A', 'B' as names of parameters in order to avoid conflict with global array names. f) On program execution, the output will be -5, 1, 0 ________________ g) None of the above ONE of the following statements is FALSE. Which one? 5. Consider the following program. main() { zero(M[3], N[2]); S = Set(M,3,1) + Set(N[1], 2); print(S); } a) When Set() is invoked in Line 4, value 3 is copied into local var 'I', and 1 to Val // Line 4 // Line 5 Set(mat A,float I,float Val) { // Assign Val to A[I] A[I] = Val; return 2*Val; } b) When Set() is invoked in Line 4, array A is created as a copy of M c) The intention of Line 5 is clear but it has at least 2 errors d) Once the errors are fixed, M[3] should be 1 and 'S' should be 6 e) If the return-command in Set() is deleted, 'S' will be zero, but arrays [M] and 1 are not affected ________________ f) None of the above 6. Consider the following function which adds two vectors A1xN and B1xN giving C. 1. 2. 3. 4. 5. AddArrays(mat A, mat B, mat C, N) { // Add vectors C = A+B mat C1; float I; BCEE 231 Chapter 4 - Sample questions ONE of the following statements in relation to the given function is FALSE. Which one? a) At line 2, ‘N’ should be declared as float. b) The declaration on Line 4 is invalid. c) The function should initialize C with zero. d) At line 6, semicolon must be used after N instead of comma. 3 6. 7. 8. 9. 10. 11. } for(I=1; I<= N, I=I+1) { C[I] = A[I]+B[I]; } return 1; 7. Consider the following function which performs the dot product of vectors A1xN and B1xN. 1. Dot Product(mat A, mat B, 2. float N); 3. { // Dot product of A & B 4. float I, C; 5. zero(C); 6. for(I=1; I<= N; I=I+1) 7. { 8. C[I] = A[I]+B[I]; 9. } 10. return C; 11. } 8. Consider the following program. 1. 2. 3. 4. 5. main() { // Test sample defmat(X[K=4], 2,5,1); print(Average(X,K)); } 6. Average(mat A, float N) 7. { 8. float I, Sum; 9. for(I=1; I<= N; I=I+1) 10. { 11. Sum = Sum + A[I]; 12. } 13. } Where function Average(mat A, float N) computes and returns the average value of the elements of vector A1xN. e) Line 10 should be return C; f) In order to use this function, the argument for C must have the size 1 by N. ________________ g) None of the above. ONE of the following statements in relation to the given function is FALSE. Which one? a) The function name is illegal. b) At line 2, the semicolon should be removed. c) At line 5, the argument in zero() is invalid. d) At line 8, the multiplication operator should be used instead of the addition operator. e) At line 8, the scalar C is mistakenly used as a vector. f) There is no additional error other than those mentioned above. ________________ g) None of the above. ONE of the following statements in relation to the given program is FALSE. Which one? a) Variables X and K in main() are global. b) Average() requires the return statement. c) At line 4, value of K is passed and stored as N in function Average(). d) Arrays A and X share the same storage. e) At line 3, K does not match the data list. f) At line 4, since X and K are global, they must not be passed as function arguments. ________________ g) None of the above. ONE of the following statements is false. Which 9. Consider the following expressions that operate one? on the physical vectors A and B: 1. 2. 3. 4. 5. !D = A &* B; E = !A * (B-A); Q = !A^2*B^2; if(A==B){print("A equals B");} F = !A^B; BCEE 231 Chapter 4 - Sample questions a) Line 1 computes Di = Ai Bi b) Line 2 computes E= N i =1 i = 1,2, Ai ( Bi ,N Ai ) 4 6. !G = A*B; 7. !H = A[3] + B[1]; c) Line 3 computes Q= N i =1, 2 , 3 Ai 2 N i =1, 2 , 3 Bi 2 d) Line 4 gives error. e) Line 5 gives error. f) At line 6, the resulting G is a 1 by 1 matrix. g) Line 7 gives error. ONE of the following statements is false. Which 10. In relation to the following expression that one? operates on the position vectors A and B: a) The expression computes the unit vector along !D = (C=B–A)/hypot(!C); the line AB. b) The computed vector D contains the direction cosines of the line AB. c) The computed vector C is the vector from point A to point B. d) The exclamation in hypot(!C) is necessary because the argument C is an array--hypot() normally accepts scalar arguments. e) hypot(!C) returns the length of vector C. f) This expression works ONLY for vectors A, B of size 1 by 3. ________________ g) None of the above. 11. Refer to the following program. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. main() { defmat(U[M = 3, N = 4], -2, 0, 2, 1, -1, 3, 4, 0, 3, 1, -1, 3); zero(R1, C[M]); F1(U, 3, 3, R); F2(U, 1, 2, C); print(R,C); } F1(mat A, float M, float N, mat B) { !B = A(M) + A(N); } ONE of the following statements in relation to the given program is FALSE. Which one? a) It has no syntax error. b) Matrices U, R, C are global. c) Value of U2,3 is 4. d) Line 6 creates and initializes the vectors R and C for later use. e) After execution of line 7, element R4 is 4. f) After execution of line 8, element C3 is 4. ________________ g) None of the above. F2(mat A, float M, BCEE 231 Chapter 4 - Sample questions 5 20. 21. { 22. 23. } float N, mat B) !B = A{M} + A{N}; 12. Refer to the following program. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. main() { defmat(U[M = 3, N = 4], -2, 0, 2, 1, -1, 3, 4, 0, 3, 1, -1, 3); print(F(U, M, N)); } F(mat A, float R, float C) { float I, J, Val = A[1,1]; for(I=1; I<=R; I=I+1) { for(J=1; J<=C; J=J+1) { if(Val > A[I, J]) { Val = A[I, J];} } ONE of the following statements in relation to the given program is FALSE. Which one? a) It has no syntax error. b) Line 6 prints “4”. c) At line 9, the value of A2,3 is 4. d) At line 21, values of I and J are, respectively, 4 and 5. e) Once F() returns, the variables I, J and Val no longer exist. f) Within F(), the values of R and C are, respectively, 3 and 4. g) Line 21 is necessary for the program to work as expected. } return Val; } 13. Consider the following expressions: 1. 2. 3. 4. 5. L = hypot(A, B); L = hypot(!C); view(A, B, C, L); G = defmat(A[3], 2, 1, 4); H = defmat(A[2],2,0)* defmat(B[2], 3,4); 6. K = ! defmat(A[2],1,2)* defmat(B[2], 3,4); ONE of the following statements is false. Which one? a) Variables A and B in line 1 must be float-type. b) Variable C in line 2 must be mat-type. c) Function view() in line 3 can display both floatand mat-type variables. d) Line 4 assigns 0 to G. e) Line 5 assigns 0 to H. f) Line 6 assigns 10 to K. ________________ g) None of the above. BCEE 231 Chapter 4 - Sample questions 6 Part 2: For each question, write the answer number and its justification Question Answer Reason or justification for the answer 1 2 3 4 5 (c) (g) (g) (e) (b) 6 7 (e) (f) 8 (f) 9 (c) Power operator is not defined for matrices (except for matrix inverse). 10 11 12 13 (f) (e) (b) (f) It works for vectors of any size. R3 is 6. It prints number -2 (the smallest element of matrix U). Line 6 assigns (1*3+2*4) = 11 to K. M is not declared as local in main(), hence it's global by default. The program works as intended. Local variables may have any valid names When Set() is invoked in Line 4, 'A' becomes the local name of the storage of array 'M', and thus, if Set() changes 'A', it changes 'M' simultaneouly. If desired, matrix C can be returned with return !C; The products are not summed properly. Line 8 should be C = C+A[I]*B[I]; // with C initialized to 0 previously With arguments, Average() is more versatile and convenient to use. BCEE 231 Chapter 4 - Sample questions 7 Sample Multiple Choice Questions – Chapter 5 In Part 1: Consider carefully each question, and select the best answer In Part 2: Write the answer number and its reason or justification. Part 1 The situation 1. In relation to the described situation: Consider the following program (Line ONE of the following statements may be FALSE. Which one? numbers are added for reference only): 1. main() 2. { 3. mat AB[3], u[3], F[3]; 4. // Position vectors A & B 5. defmat(A[3],1,-1,2);//Point A 6. defmat(B[3],0,1,-1);//Point A 7. ! AB = B-A; 8. ! u = AB/hypot(!AB); 9. ! F = 2500*u; 10. acos(!T = u); 11. print(AB, u, F, T); 12. } a) The program has NO syntax error(s). b) Arrays ‘A’, ‘B’ and ‘T’ are global. c) Arrays ‘AB’, ‘ u’ and ‘F’ are local. d) At the end, ‘u’ is the unit vector along the line AB. e) At the end, vectors ‘T’ and ‘u’ are equal. f) At the end, ‘F’ is a vector along the line AB, and its magnitude is 2500 units. -------------------g) None of the above. 2. Consider the following program (Line ONE of the following statements may be FALSE. Which one? numbers are added for reference only): 1. main() 2. { 3. defmat(A[3],1,-1,2);//Point A 4. defmat(B[3],0,1,-1);//Point B 5. defmat(C[3],2,-1,0);//Point C 6. !u = (T=B-A)/hypot(!T); 7. !F1 = 1000*u; 8. !F2 = 2000*(T=C-A)/hypot(!T); 9. !R = F1+F2; 10. acos(!T = R/hypot(!R)); 11. print(F1, F2, R, T); 12. } a) The program has NO syntax error(s). b) All variables are global. c) All variables are vectors of 3 elements. d) At line 6, ‘T’ is the vector from A to B, but at line 8 it becomes the vector from A to C. e) At the end, ‘T’ contains the angles between ‘R’ and the axes. f) The magnitude of vector F2 is twice the magnitude of vector F1. -------------------g) None of the above. BCEE 231 Chapter 5 - Sample questions 1 3. ONE of the following statements may be Consider the following program (Line FALSE. Which one? numbers are added for reference only): a) The program has NO syntax error(s). 1. main() b) Arrays ‘uAB’, ‘uAC’, ‘T’ are local. 2. { mat uAB[1], uAC[1], T[1]; 3. defmat(A[3],1,-1,2);//Point A c) At the end, arrays ‘uAB’, ‘uAC’, ‘T’ are 4. defmat(B[3],0,1,-1);//Point B vectors of 3 elements. 5. defmat(C[3],2,-1,0);//Point C 6. !uAB = (T=B-A)/hypot(!T); d) At line 6, ‘T’ is the vector from A to B, 7. !uAC = (T=C-A)/hypot(!T); 8. acos(!T = uAB*uAC); but at line 7 it becomes the vector 9. print(T); from A to C. 10. } e) At the end, ‘T’ contains the angle between the lines AB and AC. f) ‘uAB’ and ‘uAC’ are unit vectors. -------------------g) None of the above 4. The following program is supposed to compute the resultant force ‘R’ of ‘N’ input forces stored in ‘F’ (Line numbers are added for reference only): 1. float N; // Number of forces 2. main() 3. { 4. mat F[N = getnum(), 3], R[3]; 5. view(F); 6. Resultant(F, R); 7. print(R); 8. } 9. 10. 11. Resultant(mat F, float R) 12. { 13. for(i=1; i<= N; i = i+1) 14. { 15. ! R = F(i); 16. } 17. } 5. A particle (at the axis origin) is supported by 3 cables which are attached to points [A]. The particle is subject to a known resultant force {R}. The following program is supposed to compute the tensions in the 3 cables (Line numbers are added for reference only): BCEE 231 Chapter 5 - Sample questions ONE of the following statements may be FALSE. Which one? a) Column 2 of arrays ‘F’ and ‘R’ should be for the y-components of the forces. b) Line 5: Size of ‘F’ is needed here. c) Line 11: type of ‘R’ is incorrect. d) In Resultant(): It is a good practice to declare ‘i’ local. e) In Resultant(): ‘R’ should be initialized to zero. f) Logical error on line 15. -------------------g) None of the above. ONE of the following statements may be FALSE. Which one? a) User should input the coordinates of the cables’ anchored points into array ‘A’, one point per row. 2 b) At line 8: ‘C’ is the new name for the 1. main() 2. { 3. mat A[3, 3], R[3]; 4. view(A,R);//Components x,y,z 5. CableTensions(A, R); 6. print(R); 7. } 8. CableTensions(mat C, mat R) 9. {// Set up equilibrium equations 10. // and solve for cable tensions 11. float i; 12. zero(D[3,3]); 13. for(i = 1; i <= 3; i=i+1) 14. { 15. !V=(Ci=C(i))/hypot(!Ci); 16. !D{i}=V; 17. } 18. solve(S,D, !R = -R); 19. } array ‘A’ of main(). c) Line 8: Parameter types, number and sequence are consistent with the function arguments in line 5. d) In CableTensions(), ‘D’ and ‘V’ should be declared local. e) Line 15: ‘V’ is the unit vector along cable i. f) Line 13: Once the for-loop terminates, ‘D’ contains the direction cosines of the cable lines. g) Line 18: At the end, ‘R’ contains the cable tensions. -------------------h) None of the above. Part 2: For each question, write the answer number and its justification Question Answer Reason or justification for the answer 1 (e) Line 10: acos() converts ‘T’ into the angles between ‘u’ and the axes. 2 (g) All the preceding statements are TRUE. 3 (c) Size of vector T becomes 1 by 1 in line 8. 4 (b) ‘F’ is an existing matrix. Its size need not be specified again in view(). 5 (h) All the preceding statements are TRUE. BCEE 231 Chapter 5 - Sample questions 3 Sample Multiple Choice Questions – Chapter 7 In Part 1: Consider carefully each question, and select the best answer In Part 2: Write the answer number and its reason or justification. Part 1 The situation In relation to the described situation: 1. Consider the following equations: ONE of the following statements may be FALSE. Which one? A11 X 1 + A12 X 2 + A13 X 3 = B1 A21 X 1 + A22 X 2 + A23 X 3 = B2 a) The unit of C1 is $ A31 X 1 + A32 X 2 + A33 X 3 = B3 b) The unit of A12 is kN C1 X 1 + C 2 X 2 + C 3 X 3 = D d) The unit of A21 is m/kN where the units of Xi, Bi and D are as follows: Variables X1 X2 X3 B1 B2 B3 D Units kN m kN.m kN.m m Radians $ 2. Consider the following equations: A11 X 1 + A12 X 2 + A13 X 3 = B1 A21 X 1 + A22 X 2 + A23 X 3 = B2 A31 X 1 + A32 X 2 + A33 X 3 = B3 where the units of Xi, and Bi are as follows: Variables X1 X2 X3 B1 B2 B3 Units kN m kN.m kN.m m Radians c) The unit of A33 is kN-1 m-1 e) The unit of A32 is 1/m. f) The unit of A21 is m/kN g) The unit of C3 is $/(kN.m) ONE of the following statements may be FALSE. Which one? a) The unit of C11 is 1/m b) The unit of C21 is 1/kN c) C31 is dimensionless d) The unit of C12 is kN/m e) The unit of C32 is kN f) The unit of C23 is m g) The unit of C22 is m Let C be the inverse of the coefficient matrix A. BCEE 231 Chapter 7 - Sample questions 1 3. Consider system: the following linear equation ONE of the following statements may be FALSE. Which one? A n×m X m×1 = B n×1 a) The solution X is unique when A is nonsingular. b) The solution X is exact when the residual vector is a null vector c) If n > m, the system has more equations than the number of unknowns, and the system is called “overdetermined”. d) An overdetermined system can never have exact solution. e) If n < m, the system has more unknowns than the number of equations, and the system is called “underdetermined”. f) An underdetermined system usually has infinite solutions. 4. Consider the following lines of expressions, ONE of the following statements may be each of which is supposed to solve the linear FALSE. Which one? equation system A n×m X m×1 = B n×1 (Line a) All expressions require matrix A to be a numbers are added for reference only): 1. 2. 3. 4. ! X = A^(-1) * B; solve(S, A, B); solve(S, A, !X = B); svd(A, W, V); svsolve(A,W,V,B,X); square matrix, and if m ≠ n , it is necessary to pad matrix A with column(s) or row(s) of zero. b) Expression 1 works only if matrix A is well-conditioned. c) Expression 2 works for any system. d) Expression 2 stores the solution in B. e) Expression 3 stores the solution in X. f) The expressions in line 4 always yield solution of some kind. 5. The following program attempts to fit the parabola y = C1 + C 2 x + C 3 x 2 to the three BCEE 231 Chapter 7 - Sample questions ONE of the following statements may be FALSE. Which one? 2 a) The program has no syntax error(s). given points: x y -1 20 0 10 1 60 (Line numbers are added for reference only) 1. main() 2. {// Set up and solve [A]{C}={B} 3. defmat(B[3], 20, 10, 60); 4. defmat(A[3,3],1,-1,1,1,0,0,1, 1, 1); 5. solve(S, A, B); 6. } 6. The following program attempts to fit the parabola y = C1 + C 2 x + C 3 x 2 to the four given points: x y -1 20 b) Data for {B} is correct. c) Data for [A] is correct. d) Solution for {C} is found in {B}. e) At the end, the original matrix [A] remains intact. f) solve() is good enough for this curve fitting problem. -------------------g) None of the above. ONE of the following statements may be FALSE. Which one? a) The program has no syntax error(s). 0 10 0.5 30 1 60 (Line numbers are added for reference only) 1. main() 2. { // Set up and solve [A]{C}={B} 3. defmat(B[4], 20, 10, 30, 60); 4. defmat(A[4,4], 1, -1, 1, 0, 5. 1, 0, 0, 0, 1, 0.5, 0.25, 0, 6. 1, 1, 1, 0); 7. svd(! U = A,W,V); 8. svsolve(U,W,V,B,C); 9. } b) Data for {B} is correct. c) Data for [A] is correct. d) Solution for {C} is found in {B}. e) At the end, the original matrix [A] remains intact. f) Line 7 decomposes [A] = [U] [W][V] T -------------------g) None of the above. 7. The following program attempts to fit the ONE of the following statements may be 2 parabola y = C1 + C 2 x + C 3 x to the two given FALSE. Which one? points (Line numbers are added for reference only): x y -1 20 0 10 a) The program has no syntax error(s). b) Data for {B} is correct. c) Data for [A] is correct. d) There is an infinite set of solutions for 1. main() 2. { // Set up and solve [A]{C}={B} 3. defmat(B[3], 20, 10, 0); 4. defmat(A[3,3], 1, -1, 1, 5. 1, 0, 0, 0, 0, 0); 6. svd(!U = A,W,V); 7. svsolve(U,W,V,B,C); 8. } this problem. e) The length of the residual vector should be nearly zero. f) Line 6 decomposes [A] = [U] [W][V] T -------------------g) None of the above. BCEE 231 Chapter 7 - Sample questions 3 Part 2: For each question, write the answer number and its justification Question Answer Reason or justification for the answer 1 (a) The unit of C1 is $/kN. 2 (g) C22 is dimensionless. 3 (d) Exact solution exists when (i) B is null, or when (ii) the system is consistent. 4 (c) Not good for singular matrix. 5 (e) [A] has been destroyed by solve(). 6 (d) Line 8: Solution for C is found in C. 7 (g) All the preceding statements are true. BCEE 231 Chapter 7 - Sample questions 4 Sample Multiple Choice Questions – Chapters 9, 10, 11 In Part 1: Consider carefully each question, and select the best answer In Part 2: Write the answer number and its reason or justification. Part 1 The situation 1. Consider the following program computes, in various ways, the derivative of the function f(x, a, b): main() { xo = 0.5; Dx = 0.001; a = 1.2; b = -0.15; Df1 = (f(xo+Dx,a,b)f(xo,a, b))/Dx; Df2 = (f(xo+Dx/2,a,b) – f(xo-Dx/2,a,b))/Dx; Df3 = deriv(x,xo,f(x,a,b)); Df4 = deriv(x,a,f(xo,x,b)); print(^,Df1, Df2, Df3, Df4); } f(float x, float a, float b) { return a*cos(x)*exp(b*x); } In relation to the described situation: that ONE of the following statements may be first FALSE. Which one? a) The program has no syntax error(s) b) Df1 gives df dx while a, b are constant x = xo c) Df1 and Df2 are the same derivative but Df2 should be more accurate than Df1 d) If Dx is too small or too large, accuracy of the computed derivatives may suffer e) Df2 and Df3 are the same derivative f) Df4 is the derivative of f(x,a,b) with respect to ‘a’ ---------------g) None of the above. 2. Consider the following program that plots ONE of the following statements may be the function f(x, a, b) and its first FALSE. Which one? derivative (12 Line numbers are added for reference only): a) Line 4 clears the plot window 1 2 3 4 5 6 7 8 main() { a = 1.2; b = -0.15; clearplot(); plot(t,0,2*pi#,f(t,a,b)); setop(C, 4); plot(t,0,2*pi#, deriv(x,t,f(x,a,b))); } 9 10 11 12 f(float x, float a, float b) { return a*cos(x)*exp(b*x); } BCEE 231 Chapters 7,8,9 - Sample questions b) Line 5 plots f(x,a,b) for varying x, and hence ‘x’ must be used in place of ‘t’ c) Line 6 sets the color for subsequent plot d) Line 7 plots the derivative df ( x, a, b) for dx varying x e) The plot range is from 0 to 2 f) The program has no syntax error(s) 1 3. Consider the following program that plots ONE of the following statements may be the function f(t, x, y) and its various FALSE. Which one? partial derivatives: 1 2 3 4 5 6 7a 7b 7c main() { a = 1.2; b = -0.15; clearplot(); plot(t,0,2*pi#,f(t,a,b)); setop(C, 4); plot(x,0,2*pi#, deriv(t,x,f(t,a,b))); plot(x,0,2*pi#, deriv(t,x,f(0.5,t,b))); plot(x,0,2*pi#, deriv(t,x,f(0.5,a,t))); 8 } 9 10 11 12 f(float t, float x, float y) { return t^2*cos(x)*exp(x*y); } a) Line 7a plots the derivative f (t , a, b) t versus t b) f(t,a,b) in line 7a can be replaced by t^2*cos(a)*exp(a*b) to get the same plot. c) Line 7b plots the derivative f (0.5, x, b) x versus x d) Line 7c plots the derivative f (0.5, a, y ) y versus y ___________________________________ (e) None of the above. 4. Consider the following program that ONE of the following statements may be computes the various partial derivatives of FALSE. Which one? f(x,y) at the point xo, yo. (14 Line numbers are added for reference only): f a) D1 gives 1 2 3 4 5 6 main() { xo = 2; yo = 0.3; D1 = deriv(u,xo,f(u,yo)); D2 = deriv(v,yo,f(xo,v)); D3 = deriv(x,xo, deriv(u,x,f(u,yo))); 7 D4 = deriv(y,yo, deriv(v,y,f(xo,v))); 8 D5 = deriv(x,xo, deriv(y,yo,f(x,y))); 9 cat(); 10 } 11 f(float x, float y) 12 { 13 return x*y^2+exp(x); 14 } x b) D2 gives c) D3 gives d) D4 gives e) D5 gives f y x f x y f y x f y f) The significance of the first argument in deriv() depends on its position in the list of function parameters, not on its name. (g) None of the above. BCEE 231 Chapters 7,8,9 - Sample questions 2 5. Consider the following program that ONE of the following statements may be computes the gradient and total FALSE. Which one? differential at a point. (14 Line numbers are added for reference only): a) {X} is the point at which the gradient is 1 2 3 4 5 6 7 8 9 main() { defmat(X[4], 1, 1.5, 1.2, 3); zero(G[4]); // The gradient grad(X, G, F(X)); // G at X print(X, G); defmat(Dx[4],0.01,0.2,0.15, 0.2); // Changes in X print(^^, F(X), DF = !G*Dx); } 10 F(mat X) 11 { 12 float a = X[1], b = X[2], x = X[3], y = X[4]; 13 return a*y*sin(b*x); 14 } computed. b) grad() is a built-in function for computing the gradient. Its third argument specifies the expression in terms of the variable name in the first argument. c) Line 5: F(X) can be replaced by X[1]*X[2]*sin(X[3]*X[4]) without changing the computed values. d) Line 9: DF is the total change in F due to changes in X. e) Line 13: Returned value depends on {X}. f) The program has no syntax error. 6. Consider the following program that finds ONE of the following statements may be the minimum of F(m,t,w) with respect to t: FALSE. Which one? (14 Line numbers are added for reference only) a) The program determines the minimum of 1 2 3 4 5 6 7 8 9 10 main() { m = 0.15; W = 1000; a = 0; b = 0.3; to = root1(x, a, b, deriv(t, x, F(m, t, W))); t1 = minz1(x,a,b,F(m,x,W)); print(^^,to,t1,F(m, to, W)); clearplot(); plot(x,a,b, F(m,x,W)); } 11 F(float m, float t, float W) 12 { 13 return m*W/(m*sin(t)+cos(t)); 14 } function F() by direct minimization. b) The program determines the minimum of function F() by locating the zero(s) of its first derivative. c) F() is minimized with respect to its second parameter while the others are fixed. d) Line 11: parameters ‘m’ and ‘W’ can be omitted as they are global constants. e) Line 5: Improper use of function argument(s). f) The range of t in F(.., t, ..) is from 0 to 0.3. (g) None of the above. BCEE 231 Chapters 7,8,9 - Sample questions 3 7. Consider the following non-related expressions, each solving a math problem. Function F(float x, float y, float z)--not show-is an existing user-defined function that returns the value of the function for any given x, y, z. 1. r1 = root1(z,0,1,F(0,z,2)-0.2); 2. r2 = root1(z,0,1,deriv(t,z, F(t,1,2))+ 2*z); 3. r3 = root1(z, 0, 1, integ(t,0,z,F(1,2,t))-0.1); 4. I1 = integ(x,0,2, integ(y,x^2,2*x,F(x,y,1)-x*y)); 5. r4 = root1(z,0,1, ((F(1,z+(Dz=1e-4)/2,2)) -(F(1,z-Dz/2,2)))/Dz); ONE of the following statements may be FALSE. Which one? a) Line 1 solves F (0, x,2) = 0.2 for x b) Line 2 solves c) Line 3 solves F ( x,1,2) = 2 x for x x x 0 F (1,2, u )du = 0.1 for x. d) Line 4 computes: 2 2x 0 x2 e) Line 5 solves F ( x, y,1) xy dydx F (1, x,2) = 0 for x x f) None of the above. 8. The arc length of the curve y = f(x) within ONE of the following statements may be the interval a x b is given by the FALSE. Which one? integral a) The program has no syntax error(s) 2 L= b a 1+ df ( x) dx dx b) Line 6 has error(s) c) Line 10 has error(s) The following program is supposed to compute the arc length of the curve d) The value of f ( x) = x 0 ln cos t dt within the interval 0 x / 3 . (11 Line numbers are added for reference only) 1 2 3 4 5 6 7 main() { clearplot(); a = 0; b = pi#/3; plot(x, a, b, f(x)); L = integ(x, a, b, sqrt(1+deriv(t,x,f(t))^2)); } 8 f(float z) 9 { 10 return integ(z,0, t,ln(cos(z))); 11 } x 0 ln cos t dt is independent of t. e) The value of L = b a df ( x) 1+ dx 2 dx is independent of x. f) ‘x’ in Line 5 or 6 can be replaced by another name such as u, v, y, z, etc... g) None of the above 9. The solution x of the equation f(x) = 0 ONE of the following statements may be may be found by the iterative formula: FALSE. Which one? a) Function Root(float x1) is supposed to BCEE 231 Chapters 7,8,9 - Sample questions 4 x2 = x1 f ( x1 ) df ( x) dx x = x1 where x1 is the initial estimate of the solution. accept the initial estimate ‘x1’ and returns the final estimate of the root. b) Function Root(float x1) is supposed to keep iterating until the estimated relative error of the solution is The following program is supposed to sufficiently small. make use of the above formula to solve for the root of the equation xe3 x x 2 1 = 0 . c) Function Root(float x1) should work (27 Line numbers are added for reference fine. only) df ( x) dx is the derivative of f(x) 1 2 3 4 5 6 7 8 9 10 11 float K; main() { float x; for(x=-10; x<=10; x=x+1) { K = 0; N = 0; Z = f(R = Root(x)); print(^, x, R, Z, K, N); } } d) 12 13 14 15 16 17 g) Line 8: ‘x’ is the initial estimate of the 18 19 20 21 22 23 Root(float x1) { // Newton-Raphson iteration float Err, x2; do { x2 = x1 - f(x1)/ deriv(x, x1, f(x)); Err = abs((x2-x1)/x2); x2 = x1; N = N+1; } while (Err > 0.001); return x2; } 24 25 26 27 f(float x) { K = K+1; return x*exp(3*x)-x^2-1; } x = x1 evaluated at x1. e) The program tries 21 different initial estimates of the root. f) Line 18: x2-x1 is the difference between the two last estimated solutions—hence it may be used as an error estimate. root, ‘R’ is the computed root, and ‘Z’ is the residual. h) For each initial estimate, ‘K’ counts the number of evaluation of f() while ‘N’ counts the number of iterations. k) None of the above 10. The following program is supposed to ONE of the following statements may be compute the definite integral FALSE. Which one? b a 2 xe 0.12 x 2 sin x dx by summing the areas of N rectangular strips under the curve. a) The value of b a 2 xe 0.12 x 2 sin x dx is independent of x (23 Line numbers are added for reference only) b) Function Integral(. . .) accepts input 1 2 main() { BCEE 231 Chapters 7,8,9 - Sample questions for integral limits, number of strips, and 5 3 4 5 6 7 8 9 } returns the approximate value of the float a=0, b=4, N, A; for(N=5; N<=40 ; N=N+5) { A = Integral(a,b,N); print(^^, N, A); } integral. c) Line 16 sets the width of the strip and the center of the first strip. d) Line 17 has syntax error(s). 10 f(float x) 11 { 12 return 2*x*e^(-0.12*x^2) * sin x; 13 } e) Lines 19 and 20 have logical errors. f) Higher value of ‘N’ generally gives better accuracy for the computed integral. g) Function f() has error. 14 Integral(float a,float b,float N) 15 { 16 float S=0,i,dx=(b-a)/N, x = a + dx/2; 17 for(i=1, i<=N, i=i+1) 18 { 19 x = x + dx; 20 S = f(x)* dx; 21 } 22 return S; 23 } h) The program tries 8 different strip sizes. i) None of the above Part 2: For each question, write the answer number and its justification Question Answer Reason or justification for the answer 1 (g) All the preceding statements are true. 2 (b) ‘t’ is ok. When f(t,a,b) is invoked, value of ‘t’ is sent to ‘x’ in function f(x, a, b) 3 (e) 4 (g) All the preceding statements are true. 5 (c) Replace F(X) by X[1]*X[4]*sin(X[2]*X[3]) 6 (e) All function arguments are ok. 7 (d) Should be BCEE 231 Chapters 7,8,9 - Sample questions 2 2x 0 x2 F ( x, y,1) xy dydx 6 8 (b) Line 6 is ok. Notes: - Line 10 should be: return integ(t,0, z, ln(cos(t))); 9 (c) Logical error. Line 19 should be x1 = x2; This makes ‘x2’ the new initial estimate ‘x1’ for input into the iterative formula. 10 (i) All the preceding statements are true. Notes: - Line 12 should be: return 2*x*exp(-0.12*x^2) * sin(x); - Lines 19 and 20 should be 19 S = S + f(x)*dx; 20 x = x + dx; BCEE 231 Chapters 7,8,9 - Sample questions 7

Help

#### BUILDING ENGINEERING

**BLDG 212 Building Engineering Drawing and Introduction to Design** (3 credits)

Fundamentals of technical drawing, dimensioning practices, orthographic projections, auxiliary and sectional views of buildings. Theory and applications of descriptive geometry in building design. Computer-aided building drawing. Building sub-systems and related graphics standards; architectural and building engineering drawing at preliminary and final stages. Introduction to the design of light-frame buildings. Project: representation of a building and its sub-systems. Introduction to conceptual design. Lectures: three hours per week. Tutorial: two hours per week.

**BLDG 341**(3 credits)

*Building Engineering Systems*Prerequisite: BCEE 231 previously or concurrently. Introduction to systematic solution of building engineering problems. Techniques treated include linear programming, network analysis, nonlinear programming. Introduction to decision analysis and simulation. Application of optimization methods for solution of design problems in building science, building environment, building structures, and construction management, taking into account sustainability issues. Lectures: three hours per week.

**BLDG 365**(3.5 credits)

*Building Science*Prerequisite: ENGR 251. General introduction to the thermal environment and sustainable development issues. Topics include heat, temperature, one-dimensional steady-state processes. Convection: natural and forced. Radiation. Combined radiative and convective surface transfer. Psychrometrics. Thermal comfort. Air quality. Condensation: surface and interstitial. Introduction to compressible viscous flow, friction, and flow in pipes; boundary layer and wind effects. Lectures: three hours per week. Tutorial: one hour per week. Laboratory: two hours per week, alternate weeks.

**BLDG 366**(3.5 credits)

*Acoustics and Lighting*Prerequisite: ENGR 243. General introduction to the aural and visual environment. Psychological impact of environment. Subjective and objective scales of measurement. Introduction to vibration. The hearing mechanism. Transmission of sound, passive control of noise in buildings, transmission loss, absorption and reverberation time. Room acoustic assessment. Active control of the aural environment. Visual perception. Photometry, brightness, luminance, and illumination. Concept of natural lighting in building. Artificial lighting; light sources; luminaries. Calorimetry. Calculation methods for artificial lighting. Lectures: three hours per week. Tutorial: one hour per week. Laboratory: two hours per week, alternate weeks.

**BLDG 371**(3.5 credits)

*Building Service Systems*Prerequisite: BLDG 365 previously or concurrently. Principles of building service systems, including electrical, gas, communications, service-water supply and distribution; introduction to plans, codes, and standards for utility distribution systems. Lectures: three hours per week. Laboratory: two hours per week, alternate weeks.

**BLDG 390**(3.5 credits)

*Building Engineering Design Project*Prerequisite: BLDG 341; ENCS 282; BCEE 344 previously or concurrently. The project of each team will encompass the conceptual and preliminary design of a new medium-size building. Students learn building engineering design process, methodology, identification of objectives, building codes, formulation of design problems. Development and evaluation of sustainable building design alternatives. Conceptual building design: spatial requirements, design of space layout. Preliminary building design: synthesis and design of structures, enclosure systems, and services (HVAC, lighting, electrical distribution) using computer-aided design tools. Performance evaluation using modelling, sensitivity analysis and cost estimation. Lectures: three hours per week. Laboratory: two hours per week, alternate weeks.

**BLDG 462**(3 credits)

*Modern Building Materials*Prerequisite: CIVI 321. Engineering properties of building materials such as: plastics, synthetic fibres, adhesives, sealants, caulking compounds, foams, sandwich panels, composites, polymer concrete systems, fibre-reinforced concretes, plastic mortars, polymers for flooring, roofing, synthetic wall papers. Their structural, thermal, and acoustical properties. Consideration of corrosion, bio- and thermal-degradation, stability to ultraviolet and solar radiation. Laboratory sessions to illustrate synthesis, application, testing, deterioration, and protection. Lectures: three hours per week.

**BLDG 463**(3 credits)

*Building Envelope Design*Prerequisite: BLDG 365; CIVI 321. Technical influences in the design of building envelope, including the control of heat flow, air and moisture penetration, building movements, and deterioration. Application of air/vapour barrier and rain-screen systems. Performance assessment and building codes through case studies and design projects. Sustainable design principles. Design of walls, roofs, joints and assemblies. Cause of deterioration and preventive measures, on-site investigation. Relevant building codes and standards. Lectures: three hours per week.

**BLDG 465**(3 credits)

*Fire and Smoke Control in Buildings*Prerequisite: BLDG 365. Topics treated include fire and smoke control; failure mechanisms of building enclosure illustrated by case studies; code requirements for enclosure systems; systems approach for fire safety. Lectures: three hours per week.

**BLDG 471**(4 credits)

*HVAC System Design*Prerequisite: BLDG 371; BLDG 476 previously or concurrently. Principles of HVAC system design and analysis; sustainable design issues and impact on environment; component and system selection criteria including room air distribution, fans and air circulation, humidifying and dehumidifying processes, piping and ducting design. Air quality standards. Control systems and techniques; operational economics; computer applications. Lectures: three hours per week. Laboratory: two hours per week.

**BLDG 472**(3 credits)

*Building Energy Conservation Technologies*Prerequisite: BLDG 471 previously or concurrently. Standards of energy efficiency in buildings.Trends in energy consumption. Energy audit: evaluation of energy performance of existing buildings, weather normalization methods, measurements, disaggregation of total energy consumption, use of computer models, impact of people behaviour. Energy efficiency measures in buildings: approaches, materials and equipments, operating strategies, evaluation methods of energy savings. Renewable energy sources: passive or active solar systems, geothermal systems, free-cooling. Optimum selection of energy sources. Impact of emerging technologies. Case studies. Lectures: three hours per week.

**BLDG 473**(3 credits)

*Building Acoustics*Prerequisite: BLDG 366. Noise control criteria and regulations, instrumentation, noise sources, room acoustics, walls, barriers and enclosures, acoustical materials and structures, vibration and noise control systems for buildings. Lectures: three hours per week.

**BLDG 474**(3 credits)

*Building Illumination and Daylighting*Prerequisite: BLDG 366. Production, measurement and control of light. Photometric quantities, visual perception and colour theory. Daylight and artificial illumination systems. Radiative transfer, fixture and lamp characteristics, control devices and energy conservation techniques. Design of lighting systems. Solar energy utilization and daylighting. Integration of lighting systems with mechanical systems for energy conservation and sustainable development. Lectures: three hours per week.

**BLDG 475**(3 credits)

*Indoor Air Quality*Prerequisite: BLDG 371 previously or concurrently. Elements of indoor air quality, physical/ chemical characteristics of contaminants, health effects, standard requirements. Estimation of the levels of indoor air contaminants in buildings. Design of ventilation systems for pollutant control. Air pollution due to outdoor air supply through ventilation systems. Effect of outdoor air pollution on indoor air quality. Lectures: three hours per week.

**BLDG 476**(3 credits)

*Thermal Analysis of Buildings*Prerequisite: BLDG 365; ENGR 361. Two- and three-dimensional steady-state and transient conductive heat transfer together with convection and radiation as applied to building materials and geometries. Heating and cooling load analysis, including building shapes, construction type, solar radiation, infiltration, occupancy effects, and daily load variations. Computer applications for thermal load analysis. Introduction to heat exchangers. Lectures: three hours per week. Tutorial: one hour per week.

**BLDG 477**(3 credits)

*Control Systems in Buildings*Prerequisite: BLDG 371 previously or concurrently. Introduction to automatic control systems. Control issues related to energy conservation, indoor air quality and thermal comfort in buildings. Classification of HVAC control systems. Control system hardware: selection and sizing of sensors, actuators and controllers. Practical HVAC control systems; elementary local loop and complete control systems. Designing and tuning of controllers. Building automation systems. Case studies. Lectures: three hours per week.

**BLDG 478**(3 credits)

*Project Management for Construction*Prerequisite: BLDG 341 or CIVI 341. Introduction to project management techniques in construction, including project delivery methods, construction contracts, cost estimating and bidding planning and scheduling, cash flow analysis, project tracking and control, computer applications. Lectures: three hours per week.

**BLDG 482**(3 credits)

*Impact of Technology on Society and Architecture*Prerequisite: 20 courses in the BEng program. History of architecture as the confluence of social and technological evolution. Methodology and thought processes in the theory and design of cities and the human habitat. Impact of technology on society. Energy conservation, environmental constraints and sustainability issues. Lectures: three hours per week.

**BLDG 490**(4 credits)

*Capstone Building Engineering Design Project*Prerequisite: Minimum of 75 credits in the BEng (Bldg) program including ENCS 282; BCEE 344, 345; BLDG 371, 390; ENGR 301. The project of each team encompasses the integrated design of at least three sub-systems of a new or retro-fitted building to achieve high performance and efficiency at reasonable cost; sustainable design and environmental impact issues are addressed in all projects. In the process, students learn, through case studies and literature survey, the information gathering and decision/design process, problem-resolution as well as aspects related to management, teamwork and communication. Students registering for this course must contact the course coordinator for the detailed procedure. Lectures: two hours per week, two terms.

**BLDG 490A**(4 credits)

*Capstone Building Engineering Design Project*Prerequisite: Minimum of 75 credits in the BEng (Bldg) program including ENCS 282; BCEE 344, 345; BLDG 371, 390; ENGR 301. The project of each team encompasses the integrated design of at least three sub-systems of a new or retro-fitted building to achieve high performance and efficiency at reasonable cost; sustainable design and environmental impact issues are addressed in all projects. In the process, students learn, through case studies and literature survey, the information gathering and decision/design process, problem-resolution as well as aspects related to management, teamwork and communication. Students registering for this course must contact the course coordinator for the detailed procedure. Lectures: two hours per week, two terms.

**BLDG 490B**(4 credits)

*Capstone Building Engineering Design Project*Prerequisite: Minimum of 75 credits in the BEng (Bldg) program including ENCS 282; BCEE 344, 345; BLDG 371, 390; ENGR 301. The project of each team encompasses the integrated design of at least three sub-systems of a new or retro-fitted building to achieve high performance and efficiency at reasonable cost; sustainable design and environmental impact issues are addressed in all projects. In the process, students learn, through case studies and literature survey, the information gathering and decision/design process, problem-resolution as well as aspects related to management, teamwork and communication. Students registering for this course must contact the course coordinator for the detailed procedure. Lectures: two hours per week, two terms.

**BLDG 491**(3 credits)

*Labour and Industrial Relations in Construction*Prerequisite: ENGR 301. The study of labour legislation with special emphasis on the construction industry, union organization, the theory and practice of negotiations, mediation, contract administration, and arbitration. Review of actual contracts, discussion of future trends. Lectures: three hours per week.

**BLDG 492**(3 credits)

*Construction Processes*Prerequisite: BCEE 451 or ENGR 451. A study of current construction methods and techniques. The subjects include site preparation and earth-work, wood framing, masonry, concrete forming, slip forming, precast construction, industrialized building, deep excavation shoring and underpinning. Design, erection, and removal of temporary construction work. Current field practice and safety considerations. Site visits. Lectures: three hours per week.

**BLDG 493**(3 credits)

*Legal Issues in Construction*Prerequisite: ENGR 301. Legal concepts and processes applicable to the development of constructed facilities and to the operation of the construction firm. Emphasis on Quebec law and institutions. Lectures: three hours per week.

**BLDG 498**(3 credits)

*Topics in Building Engineering*Prerequisite: Permission of the Department. This course may be offered in a given year upon the authorization of the Department. The course content may vary from offering to offering and will be chosen to complement the available elective courses. Lectures: three hours per week.

## 0 Replies to “Bcee 231 Assignments Definition”