ソフトウェア開発者クイズ

2451 ワード

引っ越しの家、インターネットの不足とインスピレーションの欠如は、最近ポストの不足を引き起こしました、しかし、うまくいけば来てください.いくつかのファイリングを行っていて、古いソフトウェア開発者クイズを見つけました.私が行くだろうと思った.
最初にクイズを書くために多くの感謝.
質問:
  • 文字列が大文字A - Z
  • で始まるかどうかを決定する関数を記述する
  • 半径
  • を与えられた円の面積を決定する関数を書きます
  • 整数値の配列ですべての値を加算する
  • 以下の構造体とサンプルデータを持つ“node”というテーブルを与えられます(以下に参照).
  • 指定されたノードID
  • の下のすべてのノードを返すようにストアドプロシージャを書き込みます
  • 指定されたノードIDの下の任意の深さ(すなわち、再帰的に)
  • のすべてのノードを返すクエリを書く方法を説明します
  • は1000000
  • まで素数を得るために関数を書きます
  • あなたは、以下のコードを(下記の表の)レビューするように与えられました.どのようなコメントが開発者に与えるのでしょうか?
  • ID

    名称
    種類
    深さ
    1
    NULL
    マイドキュメント
    フォルダ
    0
    2
    1
    マイピクチャ
    フォルダ
    1
    3
    1
    マイCV
    書類
    1
    4
    2
    私の写真
    書類
    2
    CREATE PROCEDURE GetNode
    @NodeId INT
    AS
    
    DECLARE @ID INT, @ParentID INT, @Name NVARCHAR(255)
    DECLARE @Type NVARCHAR(20), @Depth INT
    
    SELECT @ID = ID FROM Nodes WHERE ID = @ID
    SELECT @ParentID = ParentID FROM Nodes where ID = @ID
    IF (EXISTS(SELECT NULL FROM Nodes WHERE ID = @ID AND Name = NULL))
    SELECT @Name = ''
    ELSE
    SELECT @Name = Name FROM Nodes WHERE ID = @ID
    
    SELECT @Type = Type FROM Nodes WHERE ID = @ID
    SELECT @Depth = Depth FROM Nodes WHERE ID = @ID
    
    SELECT @ID, @ParentID, @Name, @Type, @Depth
    
    
    私の答え
    static bool GetUpper(string var)
    {
      if (char.IsUpper(var[0]))
      {
        return true;
      }
      else
      {
        return false;
      }
    }
    
    
    static double AreaOfCircle(int radius)
    {
      double area = 0;
      area = Math.PI * radius * radius;
      return area;
    }
    
    
    static int SumArray()
    {
      int[] MyArray = new int[10] { 1, 2, 5, 12, 4, 9, 8, 18, 9, 6 };
      int Sum = MyArray.Sum();
      return Sum;
    }
    
    
    create procedure getnodes
    (
      @node int
    )
    select * from dbo.nodes where parentid = @node
    
    
    再帰的な問い合わせのために、私は線に沿って何かを書くでしょう
    select * from dbo.nodes n1
    join dbo.nodes n2 on n1.id = n2.ParentId
    join dbo.nodes n3 on n2.id = n3.ParentId
    where n1.parentid = 4544054
    
    
    static void prime()
    {
      Console.WriteLine("Prime: 1");
      for (long i = 3; i <= 1000000;i++ )
      {
        bool isprime = true;
        for (long j = 2; j <i; j++)
        {
          if(i%j==0)
          {
            isprime = false;
            break;
          }
        }
        if (isprime)
        {
          Console.WriteLine("Prime: "+i);
        }
      }
    }
    
    
    パラメータの周りの括弧はありません.@ nodeidパラメータを使用しないでください.id = setがセットされたのと同じIDとして意味がないノード、name = nullはnameでなければなりません.おそらくより多くの問題があります.