(14 listopada 2006) (max. 50pkt.

Transkrypt

(14 listopada 2006) (max. 50pkt.
Języki programowania na platformie .NET
Kolokwium I (14 listopada 2006) (max. 50pkt.
Zadanie 1. (8 pkt.)
Wyjaśnij pojęcia (krótko, max. dwa zdania):
– CLR
– CLI
Zadanie 2. (10 pkt.)
Niewielka firma (ale o dużym potencjale) posiada
pięć oddziałów: „Fiko”, „Miko”, „Rachu”, „Ciachu” i „Bam”. Zadeklaruj wyliczenie nadając nazwom oddziałów kolejne numery, będące stałymi
dwubajtowego typu całkowitego bez znaku.
napisz funkcję, która jako argument pobiera stos
łańcuchów, a jako wynik zwraca również stos łańcuchów, ale ułożonych w odwrotnej kolejności.
(c) Uzupełnij metodę z poprzedniego punktu o
dodatkowy parametr, będący metodą, która przy
zamianie kolejności definiuje pewną operację na
przechowywanych elementach stosu. Operacja ta
powinna mieć jeden argument typu string i taki
sam typ wartości zwracanej.
(d) Wywołaj metodę napisaną w poprzednim
punkcie stosując metody anonimowe.
Zadanie 3. (20 pkt.)
pojemnik Stack z System.Collections.Generic Zadanie 4. (12 pkt.)
implementuje stos parametryzowany typem ele- Sid i Nancy zapisują sobie tajemnicze kody z
mentu:
opakowań ich ulubionych ciasteczek. Kody skłapublic class Stack<T> : IEnumerable<T>,
dają się z wielkiej litery po której następuje liczba
ICollection, IEnumerable
całkowita. Sid postanowił napisać program, który
(a) Zadeklaruj stos elementów zawierających łań- ułatwi mu pracę. Zaczął od definicji klasy zapacuchy (obiekty klasy string) używając bezpara- miętującej kody w pojemnikach List numerowanych wielkimi literami. Niestety Sid jako początmetrowego konstruktora.
kujący programista potrzebuje pomocy, uzupełnij
(b) Wiedząc, że istnieją metody
puste miejsca, które pozostawił Sid.
public T Pop ()
public void Push (T item)
Codes {
L i s t <int>
l i s t s = new L i s t <int >[1+( int ) ’ Z’ −( int ) ’A ’ ] ;
public L i s t <int> t h i s [ char l ] {
{ return l i s t s [ 1 + ( int ) l − ( int ) ’A ’ ] ; }
s e t { l i s t s [ ( int ) l − ( int ) ’A ’ ] = v a l u e ; }
}
Codes ( ) {
fo r ( char x = ’A ’ ; x <= ’ Z ’ ; x++) t h i s [ x ] =
L i s t <int > ( ) ;
}
}
c l a s s Program{
s t a t i c void Main ( string [ ] a r g s ){
Codes c o d e s= new Codes ( ) ;
L i s t <int> l i s t ;
c o d e s [ ’ F ’ ] . Add ( 4 2 3 ) ;
// add F423 code
}
}
// v e r t e
Zadanie 5* Scharakteryzuj wady i zalety języka C# w porównaniu z językiem Java.

Podobne dokumenty