Find Jobs
Hire Freelancers

Programming answers/ description needed for the question

$10-15 USD

Closed
Posted over 3 years ago

$10-15 USD

Paid on delivery
Problem 1 [9pt] Consider the following C program: int SumOfSquares(int n) { if (n <= 0) return 0; else return n*n+SumOfSquares(n-1); } a) (5pt) Write down a tail recursive implementation of function SumOfSquares in C language. You can use helper function in your solution. b) (4pt) An “optimizing” compiler will often be able to generate efficient code for recursive functions when they are tail-recursive. Refer to activation record, briefly explain how a compiler may “reuse” the same activation record for your solution in a). Problem 2 [6pt] In early implementations of Fortran language, a compiler may choose to use static allocation (i.e., allocation in the static area) for local variables and parameters, effectively arranging for the variables of different invocations to share the same locations, and thereby avoiding any run-time overhead for creation and destruction of stack frames. However, such an implementation changes the meaning of recursive function calls. Write down a simple example and explain how its meaning changes under the “Fortran” semantics as stated above, compared with standard semantics found in language like C, Python, Java. Problem 3 [6pt] Suppose as a language designer, you plan to implement a feature called “output-only” parameters. The expected semantics is that all output-only parameters are uninitialized when the callee starts execution; they can be used (both read and write) as other kinds of parameters within the callee; finally, the corresponding actual parameter in the caller is updated to the final values of the “output-only” parameters. Briefly describe one possible implementation of such “output-only” parameters. Problem 4 [16pt] Consider the following C-like program. Write down what will be printed out when the parameters are passed (1) by value, (2) by reference, (3) by value return and (4) by name. For each answer, briefly explain how did you derive it. int x=5, y=6; void foo(int a, int b) { x = a+b; b = a+a; } main () { foo(x,y); print x, y; } Problem 5 [13pt] Consider the following code snippet with exceptions. Note that the main function calls foo in the nested try block. 1/2 void foo () { try { throw new Exception1(); print ("A"); throw new Exception2(); print ("B"); } catch(Exception1 e1) { print "handler1"; } print ("C"); throw new Exception2(); } void main () { try { try { foo(); print ("D"); } catch(Exception1 e1) { print "handler2"; } } catch(Exception2 e2) { print "handler3"; } } a) (6pt) Write down what will be printed out by the program and briefly justify your answer. b) (7pt) Instead of the “replacement” semantics of exception handling used in modern languages (i.e., the semantics introduced in lecture), a very early design of exception handling introduced in the PL/I language uses a “binding” semantics. In particular, the design dynamically tracks a sequence of “catch” blocks that are currently active; a catch block is active whenever the corresponding try block is active. Moreover, whenever an exception is thrown, the sequence of active “catch” blocks will be traversed (in a first-in-last-out manner) to find a matching handler. Furthermore, execution will resume at the statement following the one that throws exception, rather than the next statement after the matching “catch” block as we have seen in the “replacement” semantics. Write down what will be printed out by the program if the language uses the “binding” semantics, and briefly justify your answer.
Project ID: 27935845

About the project

7 proposals
Remote project
Active 3 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
7 freelancers are bidding on average $14 USD for this job
User Avatar
I, Jignesh Lakhani completed masters from IIT Roorkee, I have very good knowledge of C, C++, data structures, and algorithms. I can complete your work in deadline. feel free to contact me thank you
$20 USD in 1 day
4.9 (45 reviews)
6.2
6.2
User Avatar
Hello, I read your job offer regarding the c programming and I'm ready to start right away. I am also flexible with whatever budget you have. Accuracy and client's satisfaction is the top priority. Awaiting your response. Thanks!
$10 USD in 1 day
4.7 (33 reviews)
4.9
4.9
User Avatar
Hi! I am an expert in C, C++ and data structures. I would be easily able to help you regarding any task related to them. Kindly message me to discuss more details. Thank you!
$10 USD in 1 day
5.0 (31 reviews)
4.1
4.1
User Avatar
Hi; i can help you Now (immediately) send me a message so that we can discuss more thks -------- thanks
$10 USD in 1 day
4.9 (10 reviews)
3.3
3.3
User Avatar
Hi, I'm an experienced developer and have hands-on experience working on various data structures/algorithm projects. I clearly understand your project requirements and can help me out. Let me know.
$15 USD in 1 day
5.0 (1 review)
2.1
2.1
User Avatar
Dear Sir, I hope you are fine. I have just read your job description and understood all requirements properly. I am a professional and experienced Programmer having over 7 years of extensive experience in the IT industry. I can do that task for you with 100% satisfaction as customer satisfaction is my satisfaction. Looking forward to hearing from you. Thank you. Regards, Amaan Malik
$20 USD in 3 days
4.8 (2 reviews)
2.0
2.0
User Avatar
I know very good C and i can deliver it very fast with a low cost. Also I can provide explanations as it asks in the problems.
$10 USD in 1 day
0.0 (0 reviews)
0.0
0.0

About the client

Flag of OMAN
Mutrah, Oman
4.9
432
Payment method verified
Member since Nov 17, 2009

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.