Beginning ASP.NET using VB.NET 연습문제 / 해답

Beginning ASP.NET using VB.NET 연습문제 4, 5장 / 해답

 본문 최초 작성일 : 2002년 07월 07일
 본문 최종 수정일 : 2002년 07월 16일

 작성자 : 지용군(성 지용)
 편집자 : 지용군(성 지용)

안녕하세요. 지용군입니다. Beginning ASP.NET using VB.NET의 연습문제에 대한 해답이 서적에서 제공되지 않았습니다.

이에 대한 해답을 출판사 측으로 부터 받아서 게재해 드립니다.


▣ 4장. VB.NET의 정보 저장

Chap 4 - Q1 : 변수란 무엇인가? 또한 변수는 VB.NET의 데이터형과 어떻게 관련되는가?

A1 : 변수는 메모리에 저장되어 있는 정보를 가리키고 있는 이름표이다. 데이터형은 숫자 또는 문자의 집합과 같이 특정한 유형의 값의 집합이라고 할 수 있다. VB.NET에서 각 변수들은 변수에 소속된 데이터형을 가지고 있다. 따라서 변수들은 해당하는 유형에 맞는 값만을 받아들이게 된다. 이 때문에, VB.NET을 강력한 데이터형 언어(견고하게 형식화 된, strongly typed language)라고 한다.

Chap 4 - Q2 : 숫자형과 텍스트형 데이터 변수를 사용하여 이름, 나이, 생일을 출력하는 ASPX 파일을 생성하라.

A2

<script language="vb" runat="server">
Sub Page_Load()
     Dim name As String
     Dim age As Integer
     Dim dateOfBirth As Date

     name = "이현중"
     age = 30
     dateOfBirth = #8/28/1972#

     Display1.Text = name
     Display2.Text = age
     Display3.Text = dateOfBirth
End Sub
</script>

<html>
<body>
     안녕하세요. 제 이름은 
     <asp:label id="Display1" runat="server" />
     입니다.
     <br>저는 
     <asp:label id="Display2" runat="server" />
     살 입니다.
     <br>저는
     <asp:label id="Display3" runat="server" />에 태어났습니다.
</body>
</html>

Chap 4 - Q3 : 다음 데이터형들을 숫자형, 텍스트형과 다양한 데이터형으로 묶고, 각 데이터형의 값과 사용 예를 작성하라.

  • Integer
  • Char
  • Byte
  • Short
  • Boolean
  • String
  • Long
  • Single
  • Double
  • Date
  • Decimal

A3

숫자
데이터형
값 예제 사      용
Integer 467,892 -2,147,483,648부터 2,14,483,647에 이르는 정수를 저장
Byte 174 0부터 255에 이르는 범위의 정수를 저장
Short 76 -32,768부터 32,767에 이르는 정수를 저장
Long 8,976,347,864 -9,223,372,036,854,755,808부터 9,223,372,036,854,755,807 까지 저장
Single -1.6088E-10 단정도 부동 소수로서, 음수의 경우에는 -3.402823E38에서 -1.401298E-45까지 저장할 수 있고, 양수의 경우에는 1.401298E-45부터 3.402823E38까지 저장
Double 3.965468572385E-271 배정도 부동 소수로서,
음수의 경우에는 1.79769313486232E308에서부터 -4.94065645841247E-324까지 저장이 가능하며,
양수의 경우에는 4.94065645841247E-324부터 1.79769313486232E308까지 저장
Decimal 12.76 소수점 28자리까지 저장

문자 데이터형 값 예제 사용
String "가게에 간다" 텍스트를 저장
Char "A"C 문자를 숫자로 저장. 사용자 정의 문자 셋을 저장하는 경우에도 마찬가지임.

다양한
데이터형
값 예제 사용
Date #09/09/1926# / #16:25:05# 날짜 또는 시간 값을 저장
Boolean True True 또는 False, 두 개의 값만 저장.

Chap 4- Q4 : 두 개의 정수형 변수를 이용하여 곱셈 연산을 수행하는 ASPX 파일을 작성하라. 그리고 나서 그것을 두 숫자로 덧셈, 나눗셈, 뺄셈 연산을 하는 예제로 변경하라.

A4

<script language="vb" runat="server">
Sub Page_Load()
     Dim integer1 As Integer
     Dim integer2 As Integer
     Dim Total As Integer

     integer1 = 10
     integer2 = 5

     Total = integer1 + integer2
'    Total = integer1 - integer2
'    Total = integer1 * integer2
End Sub
</script>

<html>
<body>
     연산의 결과는 :
     <asp:label id="Display1" runat="server" />
</body>
</html>

Chap 4 - Q5 : 좋아하는 가수 5명의 이름을 저장하는 배열을 생성하고, 배열의 요소들을 하나의 문자열로 연결하라. 이 문자열을 '가장 좋아하는 가수 5명: '이라는 문장으로 시작하도록 하여 <asp:label> 컨트롤을 이용하여 출력하라.

A5

<script runat="Server" language="VB">
Sub Page_Load()
    Dim strArraySinger(4) As String

    strArraySinger(0) = "vangelis,"
    strArraySinger(1) = "윤상,"
    strArraySinger(2) = "이현우,"
    strArraySinger(3) = "metallica,"
    strArraySinger(4) = "레이지 본."

    singers.Text = strArraySinger(0) & " " & strArraySinger(1) & " " & _
    strArraySinger(2) & " " & strArraySinger(3) & " " & _
    strArraySinger(4)
End Sub
</script>

<html>
<body>
    가장 좋아하는 가수 5명:
    <br/>
    <asp:label id="singers" runat="server"/>
</body>
</html>

▣ 5장. XML 소개

Chap 5 - Q1 : XML이 데이터를 저장하는 데 유용한 이유를 설명하라.

A1
XML은 다음과 같은 이유로 인해서 데이터를 저장하는데 유용하게 사용될 수 있다.

  • 명시적으로 데이터를 구조화하는 방법을 제공한다.
  • 구조화 과정의 일부로 데이터의 의미를 설명할 수 있도록 해준다.
  • 직관적이고 해석하기 쉬운 문서로 만들어진다.

Chap 5 - Q2 : 다음 사원 정보를 가지는 XML 파일을 생성해보자.
회사: 정보문화사

사원: Hubert Welsch
사원 번호: 9862
연락처: 내선 - 346
집 - 8764 35733
경력: 2 년
부서: 닷넷 팀

사원: Paul Crick
사원 번호: 7461
연락처: 내선 - 399
집 - 2138 90346
경력: 8 개월
부서: 닷넷 팀

사원: Alison Freyer
사원 번호: 7849
연락처: 내선 - 982
집 - 7893 42769
경력: 4 년
부서: 자바 팀

사원: Sandra Jackson
사원 번호: 9862
연락처: 내선 - 222
집 - 8974 389743
경력: 1 년
부서: 재무

A2

<?xml version="1.0"?>

<company name="정보문화사">
  <employee name="Hubert Welsch" number="9862">
    <contact_numbers>
      <office>내선.346</office>
      <home>8764 35733</home>
    </contact_numbers>
    <length_of_service>2 년</length_of_service>
    <department>닷넷 팀</department>
  </employee>

  <employee name="Paul Crick" number="7461">
    <contact_numbers>
      <office>내선.399</office>
      <home>2138 90346</home>
    </contact_numbers>
    <length_of_service>8 개월</length_of_service>
    <department>닷넷 팀</department>
  </employee>

  <employee name="Alison Freyer" number="7849">
    <contact_numbers>
      <office>내선.982</office>
      <home>7893 42769</home>
    </contact_numbers>
    <length_of_service>4 년</length_of_service>
    <department>자바 팀</department>
  </employee>

  <employee name="Sandra Jackson" number="9862">
    <contact_numbers>
      <office>내선.222</office>
      <home>8974 389743</home>
    </contact_numbers>
    <length_of_service>1 년</length_of_service>
    <department>재무</department>
  </employee>
</company>

Chap 5 - Q3 : 여러분이 생성한 XML 파일을 화면에 표시하기 위해 케스케이딩 스타일시트를 생성한다. 멋지게 정보를 표시하기 위해 폰트 스타일, 정렬, 색상을 사용해보자.

A3

employee
   display:block;
   background: #eeeecc;
   color: #7777bb;
   border-left:solid;
   border-top:solid;
   border-width:10;
   padding:10,10,10,10

name
   display:block;
   font-family: Arial, Helvetica;
   font-weight: bold;
   font-size: 12pt;
   background: #ffffee;
   color: #aa0066;
   border-bottom:solid;
   border-top:solid;
   border-width:4;

number
   display:inline;
   font-size: 8pt;
   font-weight: normal;
   color: #000000;

contact_numbers
   display:block;
   font-family: Verdana;
   font-size: 8pt;
   color: #336633;
   text-align: right;

office
   display:block;
   border-bottom:solid;
   border-width:1;

home
   display:block;
   border-bottom:solid;
   border-width:1;

length_of_service
   font-family: Arial, Helvetica;
   font-size: 12pt;
   color: black;

department
   font-family: Arial, Helvetica;
   font-size: 12pt;
   font-weight: bold;
   color: black;

Chap 5 - Q4 : 다음의 XML 문서는 잘 작성(well-formed)되었는가? 만약 그렇지 않다면, 잘못된 부분을 수정하고, 이 부분이 잘 작성된 문서를 생성하는데 필요한 이유를 설명해보자.

(a)

<?xml version="1.0"?>
<shoppingList>
  <title>Shopping List</title>
  <items>
    <fruit items>
      <item>Rasberries</item>
      <item>Apples</item>
      <item>Oranges</item>
    </fruit_items>
    <vegetable_items>
      <item>Carrots</item>
      <item>Onions</item>
    </vegetable_items>
    <other_items>
      <item>Floor cleaner</item>
      <item>Bread</item>
      <item>Toothpaste</item>
      <item>Pasta</item)
    </other_items>
  </items>
</shoppingList>
<notes> Don't get cooking apples like last time and post letter to Harold</notes>

(b)

<?xml version="1.0">
<order>
  <salesperson>Sam Clarke</salesperson>
  <customer>Droutledge Waters</customer>
  <item>
    <description>snorkle</description>
    <quantity>37</quantity>
  </item>
  <date>
    <month>7</month>
    <day>6</day>
    <year>2001</year>
  </date>
</order>

A4
두 XML 문서 모두 제대로 형식화되어 있지 않다.

(a)
시작 태그인 <fruit items>는 닫기 태그인 </fruit_items>와 쌍을 맞추기 위해서 <fruit_items>로 변경되어야 한다. 두 문자를 연결하기 위해서 밑줄이 필요하며, XML 요소 이름에는 빈 공간이 들어갈 수 없다.

Items 요소는 반드시 닫기 태그인 </items>로 구분되어야 한다.

<?xml version="1.0"?>
<shoppingList>
  <title>Shopping List</title>
  <items>
    <fruit_items>
      <item>Rasberries</item>
      <item>Apples</item>
      <item>Oranges</item>
    </fruit_items>
    <vegetable_items>
      <item>Carrots</item>
      <item>Onions</item>
    </vegetable_items>
    <other_items>
      <item>Floor cleaner</item>
      <item>Bread</item>
      <item>Toothpaste</item>
      <item>Pasta</item>
    </other_items>
  </items>
  <notes> Don't get cooking apples like last time and post letter to Harold</notes>
</shoppingList>

(b)
XML 버전 지시자는 닫기 기호인 >로 닫기 전에 물음표를 표기해주어야 한다.

<?xml version="1.0"?>
<order>
  <salesperson>Sam Clarke</salesperson>
  <customer>Droutledge Waters</customer>
  <item>
    <description>snorkle</description>
    <quantity>37</quantity>
  </item>
  <date>
    <month>7</month>
    <day>6</day>
    <year>2001</year>
  </date>
</order>

Chap 5 - Q5 : b 부분을 보고, 판매자 Sam Clarke를 통해 들어온 주문을 확인할 수 있도록 이 정보를 다시 정렬해보자. 그리고, Aqua Lake Enterprises에서 주문된 12개의 고글에 대한 주문을 추가해보자.

A5
다음과 같이 정보를 재정렬하여 영업 사원인 Sam Clarke를 통해서 들어온 주문을 확인할 수 있다. 예제에서 설명하였던 것처럼, 다른 주문을 추가하면 다음과 같다. 

<?xml version="1.0"?>
<salesperson name="Sam Clarke">
  <order>
    <customer>Droutledge Waters</customer>
    <item>
      <description>snorkle</description>
      <quantity>37</quantity>
    </item>
    <date>
      <month>7</month>
      <day>6</day>
      <year>2001</year>
    </date>
  </order>

  <order>
    <customer>Aqua Lake Enterprises</customer>
    <item>
      <description>goggles</description>
      <quantity>12</quantity>
    </item>
    <date>
      <month>7</month>
      <day>13</day>
      <year>2001</year>
    </date>
  </order>
</salesperson>