100% de satisfacción garantizada Inmediatamente disponible después del pago Tanto en línea como en PDF No estas atado a nada
logo-home
COS1512 Assignment 4 memo 2024 MCQ and code $7.61
Añadir al carrito

Otro

COS1512 Assignment 4 memo 2024 MCQ and code

1 revisar
 11 veces vendidas
  • Grado
  • Institución

COS1512 Assignment 4 memo 2024 MCQ and code NB: This assignment consists of two parts: • • a part where you write and implement program code (this part) and an MCQ part where you answer questions on the code you have written, and the material covered in this assignment. The MCQ part of t...

[Mostrar más]

Vista previa 5 fuera de 69  páginas

  • 13 de septiembre de 2024
  • 69
  • 2024/2025
  • Otro
  • Desconocido

1  revisar

review-writer-avatar

Por: khulisomulima • 5 meses hace

avatar-seller
COS1512 2024 Assignment 4 memo

Crystal Indigo!
Crystal Indigo!
Providing all solutions you need anytime
+27 76 626 8187




All the code and answered MCQ ready to submit and ready
for MCQ
NB: This assignment consists of two parts:
• a part where you write and implement program code, which is provided in this
document in full and
• an MCQ part where you answer questions on the code you have written,
which is provided in this document in full

,Question 1
The program below contains an incomplete recursive function raised_to_power(). The
function returns the value of the first parameter number of type float raised to the value of the
second parameter power of type int for all values of power greater than or equal to 0.

The algorithm used in this question to write a recursive function to raise a float value number to a
positive power uses repeated multiplication as follows:
numberpower = 1 if power= 0
= number x numberpower -1 otherwise


In other words, number raised to power gives 1 if power is 0; and otherwise numberpower can
be calculated with the formula: number x numberpower -1

(a) Complete the function header in line 2. //see in the code below.

(b) Using the fact that any value raised to the power of 0 is 1, complete the base case in line 10
and 11. //see in the code below.

(c) Why do we need a base case in a recursive function?
Because, the base case provides a stopping condition for the recursion. Without it, the
function would keep calling itself indefinitely, leading to a stack overflow. The base case is
the simplest scenario where we can directly return a result without further recursive calls.
(d) What is the purpose of the general case?
The general case generate the recursive calls which should eventually result in a call that
cause the base case to execute and end the recursion. It handles all other scenarios not
covered by the base case. It breaks down the problem into smaller subproblems and makes
recursive calls to solve these subproblems. In this case, it multiplies the number by itself
raised to power - 1, gradually reducing the problem until it reaches the base case.
1 #include <iostream>
2
3 using namespace std;
4
5 //(a)Complete the function header in line 2
6 float raised_to_power(float number, int power) {
7 if (power < 0) {
8 cout << "\nError - can't raise to a negative power\n";
9 exit(1);
10 } else if (power == 0) {//(b)
11 return 1.0;
12 } else {
13 return number * raised_to_power(number, power - 1);
14 }
15 }
16
17 int main() {
18 float answer = raised_to_power(4.0, 3);
19 cout << answer<<endl;
20 return 0;

,Question 2
1: #include <iostream>
2: using namespace std;
3:
4: //
5:
6: class A
7: {
8: private:
9: int x;
10: protected:
11: int getX();
12: public:
13: void setX();
14: };
15:
16: int A::getX()
17: {
18: return x;
19: }
20:
21: void A::setX()
22: {
23: x=10;
24: }
25:
26://
27: class B
28: {
29: private:
30: int y;

,31: protected:
32: A objA;
33: int getY();
34: public:
35: void setY();
37: };
38:
39: void B::setY()
40: {
41: y=24;
42: int a = objA.getX();
43: }
44:
45://
46:
47: class C: public A
48: {
49: protected:
50: int z;
51: public:
52: int getZ();
53: void setZ();
54: };
55:
56: int C::getZ()
57: {
58: return z;
59: }
60:
61: void C::setZ()
62: {
63: z=65;

, 64: }
(a) Is line 18 a valid access? Justify your answer.
It's inside the getX() member function of class A, which has access to the private member
x. x is a private data member of the class A and therefore it can only be accessed by other
member functions and operators of the class A.
(b) Is line 32 a valid statement? Justify your answer.
An object of class A is created in class B as objA. Since class B has access to protected
members of class A, it is able to use them.

(c) Identify another invalid access statement in the code.
Another invalid access statement in the code is on line 42: int a = objA.getX();
This is invalid because getX() is a protected member of class A, and class B is not derived
from A, so it cannot access getX().

(d) Class C has public inheritance with the class A. Identify and list class C’s private, protected
and public member variables resulting from the inheritance.
With public inheritance, the public and protected members of the base class A are inherited
as public and protected members of the derived class C.
Private data members or member functions resulting from the inheritance: None
Protected data members or member functions resulting from the inheritance: getX()
Public data members or member functions resulting from the inheritance: setX()
(e) If class C had protected inheritance with the class A, identify and list class C’s private,
protected and public members variables resulting from the inheritance.
With protected inheritance, public and protected members of the base class become
protected members of the derived class.
Private data members or member functions resulting from the inheritance: None
Protected data members or member functions resulting from the inheritance: setX() and
getX()
Public data members or member functions resulting from the inheritance: None



Question 3
(a) Implement the class InsurancePolicy.
insurancepolicy.h
#ifndef INSURANCE_H
#define INSURANCE_H
#include <iostream>

Los beneficios de comprar resúmenes en Stuvia estan en línea:

Garantiza la calidad de los comentarios

Garantiza la calidad de los comentarios

Compradores de Stuvia evaluaron más de 700.000 resúmenes. Así estas seguro que compras los mejores documentos!

Compra fácil y rápido

Compra fácil y rápido

Puedes pagar rápidamente y en una vez con iDeal, tarjeta de crédito o con tu crédito de Stuvia. Sin tener que hacerte miembro.

Enfócate en lo más importante

Enfócate en lo más importante

Tus compañeros escriben los resúmenes. Por eso tienes la seguridad que tienes un resumen actual y confiable. Así llegas a la conclusión rapidamente!

Preguntas frecuentes

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

100% de satisfacción garantizada: ¿Cómo funciona?

Nuestra garantía de satisfacción le asegura que siempre encontrará un documento de estudio a tu medida. Tu rellenas un formulario y nuestro equipo de atención al cliente se encarga del resto.

Who am I buying this summary from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller CrystalIndigo. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy this summary for $7.61. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

45,681 summaries were sold in the last 30 days

Founded in 2010, the go-to place to buy summaries for 15 years now

Empieza a vender

Vistos recientemente


$7.61  11x  vendido
  • (1)
Añadir al carrito
Añadido