C# pomoc z odpowiedziami

0

Witam,

zaliczenie zbliża się wielkimi krokami. Miłośnikiem programowania to ja nie jestem i prosiłbym ekspertów z forum o sprawdzanie moich odpowiedzi na kilka pytań.
Jeżeli zły dział lub temat proszę o przeniesienie lub zamknięcie.

  1. Funkcje w języku C#
    a) muszą być zawsze zdefiniowane wewnątrz klasy obiektowej
    B) mogą zawierać typ pusty void
    c) mogą być zdefiniowane poza ciałem klasy obiektowej
    d) umożliwiają wielokrotne wywołanie ich kodu

  2. Pola typu readonly
    a) mogą być jedynie odczytywane
    B) mogą mieć ustawione wartości, ale tylko w definicji klasy
    c) mogą mieć ustawione wartości w konstruktorze
    d) mogą mieć ustawione wartości w definicji klasy

  3. Metody klasy Convert
    a) kontrolują poprawność wprowadzanych danych
    B) umożliwiają konwersję liczb do łańcuchów znaków
    c) umożliwiają konwersję łańcuchów znaków do liczb

    d) umożliwiają rysowanie linii na dowolnej kontrolce wizualnej

  4. Poprawne operatory języka C# to:
    a) ==
    B) =
    c) +=
    d) !=

  5. Ile razy zostanie wykonana pętla z kodu zamieszczonego poniżej:
    Int i=10; while(i>2)true {i--;};
    a) 0
    B) 7
    c) 8
    d) 10

  6. Jednowymiarowa tablica o nazwie tabDouble:
    a) Może być zdefiniowana komendą: int{} tabDouble = new int {4};
    B) Może być zdefiniowana komendą: double{ } tabDouble = new int {4};
    c)Może być zdefiniowana komendą: double{} tabDouble = new double {4};
    d) ma indeksy elementów o wartościach rozpoczynających się od 1

  7. Konstruktor:
    a) rezerwuje zasoby pamięci operacyjnej dla obiektu
    b)może być przeciążony
    c) nie może mieć parametrów
    d)powinien być publiczny

  8. Modyfikator dostępu protected definiuje:
    a) pola i metody klasy dostępne tylko z wnętrza klasy
    B) pola i metody dostępne są swobodnie z dowolnego miejsca programu
    c) pola i metody dostępne tylko z wnętrza klasy, ale dodatkowo widoczne w klasach potomnych
    d) pola i metody widoczne tylko w klasach potomnych

  9. Zdefiniowane są dwie klasy Pojazd i Samochód. Klasa Samochod dziedziczy po klasie
    Pojazd….
    deklaracji obiektu zgodnie z kodem : Samochod samochod: poprawne są zapisy:
    a) pojazd = new Pojazd ()
    B) pojazd = new Samochod ( )
    c) samochod=new Samochod()

    d) samochod=new Pojazd()

  10. Przekazanie parametru do funkcji przez referencję (z modyfikatorem ref):
    a) modyfikuje wartość zmiennej podanej jako parametr
    B) prowadzi do pracy na kopii przekazywanej zmiennej
    c) prowadzi do pracy na oryginale przekazywanej zmiennej
    d) nie występuje w języku C#

Podkreślone to moje odpowiedzi. Dzięki za pomoc.

3

Generalnie ten test to chyba bardziej na umiejętność obsługi szklanej kuli niż na programistę. Pracowałem w C# dość długo, a nie rozumiem połowy pytań. Ale ok:

Funkcje w języku C#
a) muszą być zawsze zdefiniowane wewnątrz klasy obiektowej
B) mogą zawierać typ pusty void
c) mogą być zdefiniowane poza ciałem klasy obiektowej
d) umożliwiają wielokrotne wywołanie ich kodu

Nie pomogę, bo nie wiem co to jest klasa obiektowa. Google też nie wie. Generalnie takie pojęcie w języku polskim technicznym nie istnieje. Tak samo nie wiem co to znaczy że mogą zawierać typ pusty void (zwracać?).

Jedyne co tu się da powiedzieć to że odpowiedź na d) to tak.

Pola typu readonly
a) mogą być jedynie odczytywane
B) mogą mieć ustawione wartości, ale tylko w definicji klasy
c) mogą mieć ustawione wartości w konstruktorze
d) mogą mieć ustawione wartości w definicji klasy

To mogą być jedynie odczytywane, czy mogą mieć ustawiane wartości (gdziekolwiek)? :P Odpowiedzi sprzeczne same ze sobą. Ale generalnie c) i d) to prawda

Metody klasy Convert
a) kontrolują poprawność wprowadzanych danych
B) umożliwiają konwersję liczb do łańcuchów znaków
c) umożliwiają konwersję łańcuchów znaków do liczb
d) umożliwiają rysowanie linii na dowolnej kontrolce wizualnej

Prawie ok, ale a) to też prawda (metody rzucają wyjątek jak dane są niepoprawne).

Poprawne operatory języka C# to:
a) ==
B) =
c) +=
d) !=

To jest dobrze, ale przydałaby się szklana kula żeby sprawdzić czy wg. klucza = to poprawny operator w języku C#. Nie wiem co to poprawny operator, ale na pewno operatorem jest (https://msdn.microsoft.com/en-us/library/sbkb459w.aspx).

Jednowymiarowa tablica o nazwie tabDouble:
a) Może być zdefiniowana komendą: int{} tabDouble = new int {4};
B) Może być zdefiniowana komendą: double{ } tabDouble = new int {4};
c)Może być zdefiniowana komendą: double{} tabDouble = new double {4};
d) ma indeksy elementów o wartościach rozpoczynających się od 1

Dobrze to przepisałeś? Bo int{} x to nie jest poprawna składnia w C#. int[] x by było ok - wtedy a i c.

Konstruktor:
a) rezerwuje zasoby pamięci operacyjnej dla obiektu
b)może być przeciążony
c) nie może mieć parametrów
d)powinien być publiczny

A i B się zgadzają (chociaż A to głupie stwierdzenie, niepotrzebnie miesza poziomy abstrakcji). C jest fałszywe. A co to w ogóle jest za odpowiedź d? Prywatne konstruktory mają sporo zastosowań (np. wzorzec singleton https://en.wikipedia.org/wiki/Singleton_pattern).

9 i 8 pytanie ok

Przekazanie parametru do funkcji przez referencję (z modyfikatorem ref):
a) modyfikuje wartość zmiennej podanej jako parametr
B) prowadzi do pracy na kopii przekazywanej zmiennej
c) prowadzi do pracy na oryginale przekazywanej zmiennej
d) nie występuje w języku C#

Przekazanie parametru nic nie modyfikuje, b jest nieprawdziwe, c to strasznie nieformalne stwierdzenie ale prawdziwe.

3

Autor pytań nie zna C#.

0

A to są pytania, które się pojawiły na jednym z zaliczeń na pewnej wyższej uczelni :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1