NPRG038 reseni vzorove pisemky

dmtuan

NPRG038 reseni vzorove pisemky

Příspěvek od dmtuan »

Zdravim,
koukal jsem na vzorovou pisemku, kterou ma Jezek vyvesenou na strankach.. zajimalo me, jestli by nekdo nemohl poradit s odpovedma na tyto otazky:

1) Který z následujících konceptů je nejpodobnější aplikačním doménám (application domain/AppDomain) v .NETu:
- vlakno
- proces
- procesor
- fronta zpráv
- API pro IPC (inter-proces communication)

2)Předpokládejme následující třídu v C++/CLI:

Kód: Vybrat vše

public ref class ZkouskaList {
private: array<int> ^list;
public:
ZkouskaList(int capacity) {
list = gcnew array<int>(capacity);
}
property int% default[int] {
int% get(int index)
{ return list[index]; }
void set(int index, int% value)
{ list[index] = value; }
} };
Lze použít indexer na jejích instancích z programu v C#?
- ano
- Ne, protože C# nemá koncept tracking ref.
- Ne, protože C# sice má koncept tracking ref., ale neumožňuje je použít v tomto kontextu.

3) Doplňte implementaci následující třídy tak, aby bylo možné její instance serializovat pomocí "binární serializace" (tj. např. pomocí System.Runtime. Serialization.Formatters.Binary.Binary Formatter). Je třeba, aby třída byla rezistentní proti chybám v serializovaných datech, tj. aby v případě úspěšné deserializace byly zachovány její invarianty.

Kód: Vybrat vše


class Data {

int a;

int b;


public int A {
get { return a; }
set {
if (value < 0) {
throw new ArgumentOutOfRangeException();
}
a = value;
}
}


public int B {
get { return b; }
set { b = value; }
}
}
Jookyn
Matfyz(ák|ačka) level III
Příspěvky: 115
Registrován: 13. 9. 2008 21:42
Typ studia: Informatika Mgr.

Re: NPRG038 reseni vzorove pisemky

Příspěvek od Jookyn »

Odpovedi na 1 a 3 tady na foru uz urcite jsou, 1 je proces a u trojky to chce doplnit nejaky atributy a metody, urcite jsem to tu popisoval, protoze jsem to mel u zkousky...
cre8or
Matfyz(ák|ačka) level I
Příspěvky: 13
Registrován: 26. 1. 2011 10:58
Typ studia: Informatika Mgr.

Re: NPRG038 reseni vzorove pisemky

Příspěvek od cre8or »

Odpoved na 2 je, ze C# sice ma koncept tracking referenci, ale neumoznuje je pouzit v tomto kontextu. Jediny pripad, kdy se v C# pouzivaji tracking reference je klicove slovo "ref" v argumentu metody (napr. "public void m(ref object o)" ), o se predava tracking referenci - odkazem.
Odpovědět

Zpět na „NPRG038 Pokročilé programování pro .NET“