Computer Science Homework Help

Structure of Programming Languages 1. (2) Draw a diagram of the blocks in the following program (one box for each block, nested as appro- priate) and the symbols defined in each block. Be sure to incl

Structure of Programming Languages1. (2) Draw a diagram of the blocks in the following program (one box for each block, nested as appro-priate) and the symbols defined in each block. Be sure to include the global scope.#define LIMIT 16#include <iostream>int addXY();void subY( int a );int x = 10, y = 2;// ======================================================int main() {int x = 5, y = 10;while(x < LIMIT){x = addXY();}std::cout << x <<std::endl;}// ======================================================int addXY() {int x = 2;y += x;subY(y);return y;}// ======================================================void subY(int a) {for(int k=0; k<5; ++k) x -= k;}2. (2) In C or C++, declare and initialize integer variables of star-levels 0 and 2. Declare other variablesif you need them.3. (2) The first two lines below give the declarations of the variables used and the prototype for thefunction called on the last line. For each variable name on the last line, say whether it represents anL-value, an R-value, or an L-value coerced to an R-value:int fun( int a, int& b);int answer, term1, term2=5;answer = 2 * fun(term2, &term1) ;4. (2) Define a C struct type named TP with two int members. Declare and initialize an instance of TP.Declare an array with base type TP and initialize it to zeros. Use initialization, not assignment.5. (2) Write a destructive assignment using this array.