Μετάβαση στο περιεχόμενο

Αντικειμενοστρεφής Προγραμματισμός — Ιούνιος 2023 (eClass)

Μεταγραφή των σελίδων 1–6 του exams.pdf (στιγμιότυπα της εξέτασης eClass).

exams.pdf (σελ. 1-6)

Θεματα οντοκεντρικος προγραμματισμος

Ερώτηση 4 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Τι θα τυπώσει ο παρακάτω κώδικας;

#include<iostream>
using namespace std;

class Base {
public:
    virtual void show() { cout<<" In Base \n"; }
};

class Derived: public Base {
public:
    void show() { cout<<"In Derived \n"; }
};

int main(void) {
    Base *bp = new Derived;
    bp->show();
    return 0;
}
  • [ ] In Base
  • [ ] In Derived
  • [ ] In Derived In Base
  • [ ] In Base In Derived

Ερώτηση 1 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Τι τυπώνει ο παρακάτω κώδικας;

#include <iostream>
using namespace std;
class Shape {
    public:
        int width = 1;
        int height = 2;
        virtual void getType() {
            cout << "Shape"<<endl;
        }
};
class Rectangle: public Shape {
    public:
        int side = 3;
        void getType () override {
            cout << "Rectangle"<<endl;
        }
};
int main() {
    Shape* s ;
    Rectangle r ;
    s = &r;
    s->getType();
    r.getType();
    return 0;
}
  • [ ] Shape Shape
  • [ ] Rectangle Rectangle
  • [ ] Rectangle Shape
  • [ ] Shape Rectangle

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβολή Άσκησης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ C++ Υπολειπόμενος χρόνος: 23:57

Ερώτηση 2 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Ποια είναι η δήλωση της συνάρτησης zero που δέχεται ένα array ακεραίων και δεν επιστρέφει κάποια τιμή;

  • [ ] int zero (int []);
  • [ ] void zero (int);
  • [ ] void zero (int *);
  • [ ] int zero (int *);

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ C++ Υπολειπόμενος χρόνος: 19:42

Ερώτηση 7 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Τι τυπώνει ο παρακάτω κώδικας;

#include <iostream>
using namespace std;

int main()
{
unsigned int y = 0;
unsigned int x = 1;
unsigned int total = 0;

while ( x <= 10 )
{
y = x * x;
cout << y << endl;
total += y;
++x;
}

cout << "Total is " << total << endl;
}
  • [ ] Τα τετράγωνα τον αριθμών από 0 εώς και 10 και το άθροισμα των τετραγώνων
  • [ ] Τα τετράγωνα τον αριθμών από 1 εώς και 10 και το άθροισμα των τετραγώνων
  • [ ] Το άθροισμα των τετραγώνων των αριθμών από 1 έως και 10
  • [ ] Τα τετράγωνα τον αριθμών από 1 εώς και 10

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ JAVA Υπολειπόμενος χρόνος: 58:22

Ερώτηση 5 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Δίνεται το παρακάτω πρόγραμμα. Τί θα εκτυπωθεί μετά την εκτέλεσή της main;

class Window{
  double size = 1.0;
  public Window() {
    size = 2.0;
    System.out.println("Window size " + size);}}
class EWindow extends Window {
  public EWindow (double size){
    this.size = size--;
    System.out.println("EWindow size " + this.size);}}
public class RunWindow{
  public static void main() {
    EWindow w1 = new EWindow(3.5);
}}
  • [ ] Τίποτα
  • [ ] EWindow size 2.5
  • [ ] EWindow size 3.5
  • [ ] Window size 0 EWindow size 3.5

Ερώτηση 3 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Δίνεται το παρακάτω πρόγραμμα. Τί θα εκτυπωθεί μετά την εκτέλεσή της main;

class Window
{ public int size = 1;
  public static int count = 0;
  public Window()
  {this.size = 3;
   setCount ();}
  public static void setCount()
   {count++;}
class XWindow extends Window
  public XWindow(int x)
   {this.size = x--;}
public class RunWindow
{ public static void main ()
  {
   XWindow w1 = new XWindow(4);
   Window.setCount();
   System.out.println(w1.size);
   System.out.println(Window.count);
  }}
  • [ ] 4 0
  • [ ] 3 0
  • [ ] 3 2
  • [ ] 4 2

Ερώτηση 4 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Δίνεται το παρακάτω πρόγραμμα. Τί θα εκτυπωθεί μετά την εκτέλεσή της main;

class Window
{ public int size = 1;
  public static int count = 0;
  public Window()
  {this.size = 3;
   setCount ();}
  public static void setCount()
   {count++;}
class XWindow extends Window
  public XWindow(int x)
   {this.size = --x;}
public class RunWindow
{ public static void main ()
  {
   XWindow w1 = new XWindow(6);
   Window w = new Window();
   System.out.println(w1.size);
   System.out.println(w.count);
  }}
  • [ ] 6 0
  • [ ] 5 0
  • [ ] 5 2
  • [ ] 6 2

Ερώτηση 1 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Τι τυπώνει ο παρακάτω κώδικας;

#include <iostream>
using namespace std;
class Shape {
    public:
        int width = 1;
        int height = 2;
        virtual void getType() {
            cout << "Shape"<<endl;
        }
};
class Rectangle: public Shape {
    public:
        int side = 3;
        void getType () override {
            cout << "Rectangle"<<endl;
        }
};
int main() {
    Shape* s ;
    Rectangle r ;
    s = &r;
    s->getType();
    r.getType();
    return 0;
}
  • [ ] Shape Shape
  • [ ] Rectangle Rectangle
  • [ ] Rectangle Shape
  • [ ] Shape Rectangle

Ερώτηση 8 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Τι τυπώνει ο παρακάτω κώδικας;

#include <iostream>
using namespace std;
class Shape {
    public:
        int width = 1;
        int height = 2;
};
class Rectangle: public Shape {
    public:
        int side = 3;
};
int main() {
    Rectangle r;
    Shape s;
    s.width = 4;
    s = r;
    cout << r.width << endl;
    cout << s.width << endl;
    return 0;
}
  • [ ] 1 4
  • [ ] 1 3
  • [ ] 1 2
  • [ ] 1 1

Ερώτηση 10 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Τι τυπώνει ο παρακάτω κώδικας;

#include <iostream>
using namespace std;
class Shape {
    public:
        int width = 1;
        int height = 2;
};
class Rectangle: public Shape {
    public:
        int side = 3;
};
int main() {
    Rectangle *r = new Rectangle;
    Shape *s = r;
    s->width = 4;
    s = r;
    cout << r->width << endl;
    cout << s->width << endl;
    return 0;
}
  • [ ] 1 1
  • [ ] 2 2
  • [ ] 3 3
  • [ ] 4 4

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβολή Άσκησης

ΘΕΩΡΙΑ C++ Υπολειπόμενος χρόνος: 29:15

Ερώτηση 3 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Ποιο από τα παρακάτω είναι σωστή δήλωση κλάσης;

  • [ ] class A { int x; };
  • [ ] class B { }
  • [ ] public class A { }
  • [ ] object A { int x; };

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβολή Άσκησης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ C++ Υπολειπόμενος χρόνος: 23:43

Ερώτηση 3 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Τι τυπώνει ο παρακάτω κώδικας;

#include <iostream>
#include <memory>
class Resource
{
public:
    Resource() { std::cout << "Constructor\n"; }
    ~Resource() { std::cout << "Destructor\n"; }
};
int main()
{
    Resource* res = new Resource();
    return 0;
}
  • [ ] Constructor Destructor
  • [ ] Constructor
  • [ ] Destructor
  • [ ] Τίποτα από τα παραπάνω

Ερώτηση 4 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Δίνεται το παρακάτω πρόγραμμα. Τί θα εκτυπωθεί μετά την εκτέλεσή της main;

class Window
{ public int size = 1;
  public static int count = 0;
  public Window()
  {this.size = 3;
   setCount ();}
  public static void setCount()
   {count++;}
class XWindow extends Window
  public XWindow(int x)
   {this.size = --x;}
public class RunWindow
{ public static void main ()
  {
   XWindow w1 = new XWindow(6);
   Window w = new Window();
   System.out.println(w1.size);
   System.out.println(w.count);
  }}
  • [ ] 6 0
  • [ ] 5 0
  • [ ] 5 2
  • [ ] 6 2

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβολή Άσκησης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ JAVA Υπολειπόμενος χρόνος: 45:19

Ερώτηση 9 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Η παρακάτω μέθοδος της κλάσης ManageStrings συγκρίνει δύο αλφαριθμητικά και επιστρέφει κατάλληλο αποτέλεσμα. Στη main εκτελείται η εντολή: String label = ms1.compString("Hello", "Ioannis"), όπου ms1 στιγμιότυπο της ManageStrings. Ποια θα είναι η τιμή της μεταβλητής label;

public String compString(String s1, String s2)
{
    boolean result = s1.equals(s2);
    if !result
        if (s1.length() > s2.length())
            return s1+s2;
        else return s2+s1;
    else return s1;
}
  • [ ] "HelloIoannis"
  • [ ] "IoannisHello"
  • [ ] "Hello"
  • [ ] IoannisHello

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβολή Άσκησης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ JAVA Υπολειπόμενος χρόνος: 59:22

Ερώτηση 2 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Η παρακάτω μέθοδος θέλουμε να μετρά και να επιστρέφει τον αριθμό των εμφανίσεων του χαρκτήρα c στο αλφαρηθμητικό s. Πρέπει να συμπληρωθεί ο κώδικας στα σημεία (1) και (2). Ποια από τις παρακάτω δυάδες είναι η σωστή. Πρέπει να συμπληρωθεί ο κώδικας στα σημεία (1) και (2). Ποια από τις παρακάτω δυάδες είναι η σωστή.

public int charCount (String s, char c)
{
    int count=0;
    for (int i=0; (1); i++)
        {if ((2))
            count++;}
    return count;
}
  • [ ] (1): i <= s.length(), (2): c==s.charAt(i)
  • [ ] (1): i <= s.length, (2): c==s.charAt(i)
  • [ ] (1): i < s.length(), (2): c==s.charAt(i)
  • [ ] i < s.length(), (2): c==s.indexOf(c)

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβολή Άσκησης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ JAVA Υπολειπόμενος χρόνος: 59:36

Ερώτηση 1 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Δίνεται η παρακάτω μέθοδος της κλάσης ManageStrings. Στη main εκτελείται η εντολή: String label = ch1.changeString("Dagat", 'a', 'i'), όπου ch1 στιγμιότυπο της ManageStrings. Ποια θα είναι η τιμή της μεταβλητής label;

public String changeString(String s, char c1, char c2)
{String snew = s;
 snew.replace(c1, c2);
 return snew;
}
  • [ ] Digit
  • [ ] "Digit"
  • [ ] "Digat"
  • [ ] "Dagat"

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβολή Άσκησης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ JAVA Υπολειπόμενος χρόνος: 45:12

Ερώτηση 8 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Η biggerWindow(Window w) είναι μια μέθοδος στιγμιοτύπου της Window που συγκρίνει το στιγμιότυπο της Window που είναι όρισμά της με το τρέχον αντικείμενο. Θέλουμε να συγκρίνουμε ένα στιγμιότυπο wa με ένα άλλο στιγμιότυπο wb της Window. Ποια από τις παρακάτω προτάσεις είναι σωστή;

  • [ ] wa.biggerWindow(wb);
  • [ ] wb.biggerWindow(wa);
  • [ ] Window.wa.biggerWindow(wb);
  • [ ] Και 1 και η 2.

Ερώτηση 9 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Τι θα τυπώσει ο παρακάτω κώδικας;

#include <iostream>

class Base {
    virtual void method() {std::cout << "from Base" << std::endl;}
public:
    virtual ~Base() {method();}
    void baseMethod() {method();}
};

class A : public Base {
    void method() {std::cout << "from A" << std::endl;}
public:
    ~A() {method();}
};

int main(void) {
    Base* base = new A;
    base->baseMethod();
    delete base;
    return 0;
}
  • [ ] from A from Base from A
  • [ ] from Base from Base from A
  • [ ] from Base from A from Base
  • [ ] from A from A from Base

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβολή Άσκησης

ΘΕΩΡΙΑ C++ Υπολειπόμενος χρόνος: 29:26

Ερώτηση 6 / 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός)

Ποιο σύμβολο χρησιμοποιείται για τον ορισμό μέλους κλάσης εκτός εμβέλειάς της;

  • [ ] :
  • [ ] ::
  • [ ] #
  • [ ] ~

✖ Βρήκα λάθος στη μεταγραφή