test 26.1.2009 (zkuska)

Cílem semináře je seznámit posluchače s jazykem C#, prostředím platformy .NET a tvorbou aplikací s grafickým uživatelským rozhraním. Předpokládají se znalosti objektově orientovaného programování.
Uživatelský avatar
peva
Matfyz(ák|ačka) level I
Příspěvky: 22
Registrován: 25. 1. 2006 20:21
Typ studia: Informatika Bc.

test 26.1.2009 (zkuska)

Příspěvek od peva »

Dnesny test vyzeral asi takto (ked tak ma opravte):
cca 8 otazok na skrtanie, jeden dopisovaci (tam sa dalo stratit az -7 bodov). Otazky:

Kód: Vybrat vše

string a = "hello";
       a. Replace("ll", "lp y");
       a+= "u";
co je po prevedeni v a?
moznosti (cca) : -"hellou", "help you", nezkompiluje sa, neda sa povedat.. (a)

Kód: Vybrat vše

 interface A
    {
        int Value { get; set;}
    }
    class T : A
    {
        public int a;
        public int Value { get { return a; } set { a = value; } }
    }
    class Program
    {
        static void Set(A a, int v)
        {
            a.Value = v;
        }
        static void Main(string[] args)
        {
            T t = new T();
            Set(t, 9);
            Console.Write(t.a);
        }
    }
Co bude po vykonani v t.a? 0, 9, nezkompiluje sa...(b)

Kód: Vybrat vše

aku ma velkost datova polozka int[]?
4B, 8B, 16B, zalezi na platforme, zalezi na velkosti pola (d)

Kód: Vybrat vše

Co patri medzi hodnotove typy?
decimal, string, S?, object..(a,c)

Kód: Vybrat vše

class A
    {
        static public int a = 5;
        public A()
        {
            a*=3;
            m();
        }
        void m()
        {
            a++;
        }
    }
    class B : A
    {
        public B()
        {
            a *= 2;
        }
        new void  m()
        {
            a--;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            B b = new B();
            Console.Write(A.a);
        }
    }
Co vypise? (26,32, nezkompiluje sa..) (b)

Kód: Vybrat vše

zakrtnite pravdive vyroky, co znamena
         int [,] x,y[];

neprejde kompilatorom, dvojrozmerne pole x a jednorozm pole, 2D a 3D pole, 2d a 2d jednorozm. pole + rozne variacie (a)

Kód: Vybrat vše

Co bude v premennych a, b?
 class Program
    {
        static void Main(string[] args)
        {
            System.Random r = new System.Random();
            int a, b = r.Next(2);
            if (b == 1) a = 1;
            a = b;
        }
    }
[1,1],[0,1], nezkompije sa, neda sa povedat..(d)

dedicnost + virtualne fcie, co sa zavola pri a.m1(), a.m2() atd -> nepamatam cele

Velky priklad - mali sme naimplementovat funkciu add v triede, co chcela byt binarnym vyhladavacim stromom, thread_safe + vyhadzovanie vynimiek pri neprijatelnom vstupe, tamplate premenne <K, V> kluc, hodnota, uzivatel nesmel zadat rovnake cislo 2x, zo zadanie nevyplyvalo, ze kluc sa da porovnavat

Tot vsio, co pamatam, snad pomoze :wink:
Naposledy upravil(a) peva dne 26. 1. 2009 19:44, celkem upraveno 1 x.
Uživatelský avatar
Donarus
Matfyz(ák|ačka) level III
Příspěvky: 194
Registrován: 30. 9. 2007 12:40
Typ studia: Informatika Mgr.

Re: test 26.1.2009 (zkuska)

Příspěvek od Donarus »

jejda, tak to vypada, ze jsem prosral docela jednoduchej testik :( .... skoda, ze jsem si nezasel :)
Zemi

Re: test 26.1.2009 (zkuska)

Příspěvek od Zemi »

Nemal by niekto chut naimplementovat tu ten Add tak ako by mal byt? Hodilo by sa vediet na com baziruje a za co strhava body:)
Uživatelský avatar
peva
Matfyz(ák|ačka) level I
Příspěvky: 22
Registrován: 25. 1. 2006 20:21
Typ studia: Informatika Bc.

Re: test 26.1.2009 (zkuska)

Příspěvek od peva »

No, neviem ako je to teraz, ci nahodou nepritrvdli, ale moz nestrhavam -> hlavne to malo do putiku splnovat zadanie. Cca zhruba to malo vyzera`takto:(ak si to spravne pamatam)

Kód: Vybrat vše

class binary_tree_item: IComparable<binary_tree_item>
{ int CompareTo(binary_tree_item item) return item.value.CompareTo(this.value); } //toto bolo ptrebne, pokial si pamatam, myslim, si value bolo private alebo  tak nejak
class binary_tree
...
object o =  new object();
lock(o);
public void Add(binary_tree-item item)
{ bool added = false;
  binary_tree_item actual_node = this.root; //toho roota sme si mam pocit tiez mali dopisovat
  while(!added)
  {
      if(root == null) { root = item; break;}
      if(item.CompareTo(actual_node) < 0)
         if( actual_node.left == null) { added = true; actual_node.left = item}
          else actual_node = actual_node.left;
if(item.CompareTo(actual_node) > 0)
         if( actual_node.right == null) { added = true; actual_node.right=item}
          else actual_node = actual_node.right;
if(item.CompareTo(actual_node) == 0) throw new Exception("prvok tam uz je)";
   }
}
cca :P
Odpovědět

Zpět na „NPRG035 Jazyk C# a platforma .NET“