블로그 이미지

마이실피르넷

일상의 이야기와 여러가지 유용한 정보들을 나누는 공간입니다. by 실피르넷


'프로그래밍/Visual Basic'에 해당되는 글 13건

  1. 2007/04/28 비주얼 베이직 - Study / 070427 / 소수 구하기
  2. 2007/04/28 비주얼 베이직 - (Report) / 070427
  3. 2007/04/13 Visual Basic 프로시저
  4. 2007/04/13 Visual Basic 배열
  5. 2007/04/13 Visual Basic 반복문
  6. 2007/04/13 Visual Basic 조건문
  7. 2007/04/07 Visual Basic 연산자
  8. 2007/04/07 Visual Basic 기본 데이터형
  9. 2007/04/04 비주얼 베이직 - 참고 사이트
  10. 2007/04/03 비주얼 베이직 - (Report) / 070330 / 연습문제1
  11. 2007/03/30 비주얼 베이직 - Study / 070330
  12. 2007/03/30 비주얼 베이직 - (Report) / 070330
  13. 2007/03/23 비주얼 베이직 - (Report) / 070323

비주얼 베이직 - Study / 070427 / 소수 구하기

1부터 100까지의 소수 구하기

※ 소수 10개 마다 다음라인
※ 소수의 개수을 출력
※ 소수의 합을 출력

방법1)
Option Explicit
Option Base 1
Private Sub Form_Load()
AutoRedraw = True
Dim i As Integer, j As Integer, k As Integer
Dim count As Integer
Dim sum As Integer
Dim result(100) As Integer

k = 1
For i = 2 To 100
    For j = 2 To i - 1
        If i Mod j = 0 Then
            Exit For
        End If
    Next j
   
    If j = i Then
        result(k) = i
        Print result(k);
        If k Mod 10 = 0 Then Print:
        k = k + 1
        count = count + 1
        sum = sum + i
    End If
   
Next i
Print:
Print:
Print "1부터 100까지 소수의 개수:"; count
Print "1부터 100까지 소수의 합 :"; sum
End Sub

방법2)
Option Explicit
Option Base 1
Private Sub Form_Load()
AutoRedraw = True
Dim i As Integer, j As Integer
Dim count As Integer
Dim sum As Integer
Dim result(100) As Integer
j = 1
count = 0
For i = 2 To 100
    If (i = 2) Or (i = 3) Or (i = 5) Or (i = 7) Or _
        Not (i Mod 2 = 0) And Not (i Mod 3 = 0) And Not (i Mod 5 = 0) And Not (i Mod 7 = 0) Then
        result(j) = i
        sum = sum + i
        count = count + 1
        Print result(j);
         If j Mod 10 = 0 Then Print:
        j = j + 1
    End If
Next i
Print:
Print:
Print "1부터 100까지 소수의 갯수:"; count
Print "1부터 100까지 소수의 합 :"; sum
End Sub

실행결과
사용자 삽입 이미지








Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/196 관련글 쓰기

Top

비주얼 베이직 - (Report) / 070427

5장 연습문제2

문제1.
[결과] 버튼을 클릭하면 TextBox2에 "프로그램 문제입니다."가 나타나고,
[변환] 버튼을 클릭하면 Text1에 있는 내용과 Text2에 있는 내용을 바꾸며,
[종료] 버튼을 클릭하면 프로그램을 끝내는 프로그램을 작성하시오.

Option Explicit
Private Sub Form_Load()
    Text1.Text = "안녕하세요."
End Sub
Private Sub Command1_Click()
    Text2.Text = "프로그램 문제입니다."
End Sub
Private Sub Command2_Click()
    Dim temp As String
    temp = Text2.Text
    Text2.Text = Text1.Text
    Text1.Text = temp
End Sub
Private Sub Command3_Click()
    End
End Sub

실행결과
사용자 삽입 이미지











Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/195 관련글 쓰기

Top

Visual Basic 프로시저

Visual Basic 프로시저

1. 이벤트 프로시저
VB에서는 모든 객체는 자기 자신의 이벤트를 가지며, 이벤트는 각 객체를 사용할 때 자동으로 발생한다.
VB프로그램은 컨트롤을 사용하여 이벤트가 발생했을 때 해야 할 작업을 코드로 작성해주면 해당 이벤트가
발생할 때마다 작성된 코드를 실행시켜준다.
컨트롤을 사용할 때 발생하는 이벤트에 해야 할 작업을 작성한 코드를 이벤트 프로시저라 한다.

[형식]
Private Sub 컨트롤이름_이벤트이름(인수들)
Private Sub Form_이벤트이름(인수들)

ex)
Private Sub Form_Load()
Private Sub Form_Click()
Private Sub Form_DbClick()

2. 서브 프로시저
공통적으로 반복되는 작업을 하나의 독립적인 기능을 수행하는 단위로 만들 때 이용되는 프로시저
반환되는 값은 없으며, 인수를 통하여 데이터를 주로 받는다.

1) 서브 프로시저 선언
[형식]
[Private | Public | Static] Sub 프로시저 이름[인수들]
     선언들
     문장들
End Sub

Private : 현재 모듈 안의 프로시저에서만 사용이 가능하다.
Public : 다른 모듈의 프로시저에서 공유가 가능하다.
Static : Sub 종료된 후에도 지역 변수의 값을 기억한다.

2) 프로시저 호출
[형식]
Call 프로시저 이름(인수1, ..., 인수n)

ex)
Option Explicit
Dim plus As Integer

Private Sub Form_Load()
Dim A As Integer, B As Integer

A=500: B=200

Call PLUS_SUB(A, B)
Print Plus

End Sub

Private Sub PLUS_SUB(X As Integer, Y As Integer)
  plus = X + Y
End Sub

3. 함수 프로시저
서브 프로시저는 값을 반환하지 않지만 함수 프로시저는 값을 반환한다.
프로시저의 이름 자체에 값을 지정함으로서 값을 반환하며, 함수 프로시저에 반환되는 기본값은 Variant이고,
더 효과적인 코드를 위하여 As 예약어를 사용하여 반환값에 대한 데이터형을 명시한다.

1) 함수 프로시저 선언
[형식]
[Private | Public | Static] Function 프로시저 이름[인수들]
     선언들
     문장들
     함수 프로시저 이름=결과값
End Function

Private : 현재 모듈 안의 프로시저에서만 사용이 가능하다.
Public : 다른 모듈의 프로시저에서 공유가 가능하다.
Static : Sub 종료된 후에도 지역 변수의 값을 기억한다.

2) 프로시저 호출
[형식]
결과 변수 = 함수 이름(인수1, ..., 인수n)

ex)
Option Explicit
Dim plus As Integer

Private Sub Form_Load()
Dim A As Integer, B As Integer

A=500: B=200

plus = PLUS_SUB(A,B)
Print Plus

End Sub

Private Function PLUS_SUB(X As Integer, Y As Integer) As Integer
  PLUS_SUB = X + Y
End Function
Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/167 관련글 쓰기

Top

Visual Basic 배열

Visual Basic 배열

배열 : 같은 이름을 갖는 연속적인 항목들이 같은 크기로 순서를 지니고 나열되어 있는 데이터 집합체

1. 인덱스는 0부터 시작한다.
2. 변수가 사전에 선언되어야 한다.
3. 각각의 요소는 모두 같은 데이터 형으로 구성되어 있어야 한다.

- 배열의 첨자는 0부터 시작하기 때문에 "상한값 + 1"개로 배열 요소가 설정된다.
- 하한값 설정 : 배열 요소의 하한값이 0으로 설정된 것을 1로 변경할 때 모듈의 선언부에 Option Base 문 사용.
   ex) Option Base 1

[1차원 배열]
[형식] Dim 배열명[원소] [As 데이터형]
[형식] Dim 배열명[시작원소 To 마지막원소] [As 데이터형]

ex) Dim Sum(5) As Integer
ex) Dim Sum(5 To 8) As String

[다차원 배열]
[형식] Dim 배열명(행,열) [As 데이터형]
[형식] Dim 배열명(행 시작 원소 To 행 마지막 원소, 열 시작 원소 To 열 마지막 원소)

ex) Dim Sum(5,5) As Integer
ex) Dim Sum(1 To 5, 1 To 5) As String

[동적 배열]
프로그램 실행중에 배열의 크기를 바꿀 수 있는 배열
동적배열 선언 - [형식] Dim 배열명() [As 데이터형]
배열크기 재구성 - [형식] ReDim 배열명(원소의 개수)

ex) Dim Sum() As Integer
ex) ReDim Sum(5)

ReDim문은 실행할 때마다 배열의 저장된 값은 모두 초기화 된다.
기존의 값을 보존하고 크기만 변경하려면 예약어 Preserve 를 사용한다.
[형식] ReDim Preserve 배열명(UBound(배열명)+1)
UBound는 배열의 상한값을 나타낸다.

[배열 초기화]
한꺼번에 배열의 모든 요소들을 초기화, Erase문
숫자배열은 0, 문자형 배열은 길이가 0인 빈 공백, Variant 배열은 Empty로 초기화
[형식] Erase 배열 리스트
ex)
Dim Sum(5) As Integer
Erase Sum

Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/166 관련글 쓰기

Top

Visual Basic 반복문

Visual Basic 반복문

1. For ~ Next 문
Step값이 생략되었을 경우 기본 증가값 1
반복중에 Exit For로 중지하면 For문을 빠져나온다.
For 변수 = 초기값 To 최종값 [Step 증감값]
  ...
  문장들
  [Exit For]
  ...
Next 변수

2. Do While ... Loop 문
코드를 수행하기 전에 조건을 검사하여 참이면 반복을 수행, 거짓이면 Do While ... Loop 문을 빠져나온다.
조건이 동안 문장을 반복하여 실행하고, 조건이 거짓이 되면 반복을 종료한다.
반복중에 Exit Do로 중지하면 반복문을 빠져나온다.
Do While 조건식
  ...
  문장들
  ...
  [Exit Do]
Loop

3. Do ... Loop While 문
Do While ... Loop 문과 동일하지만 조건 판단문이 하단부에 있으므로 일단! 코드 블록을 "한 번 수행"하고
조건이 동안 문장을 반복하여 실행하고, 조건이 거짓이 되면 반복을 종료한다.
반복중에 Exit Do로 중지하면 반복문을 빠져나온다.
Do
  ...
  문장들
  ...
  [Exit Do]
Loop While 조건식

4. Do Until ... Loop 문
코드를 수행하기 전에 조건을 검사하여 참이면 반복을 수행, 거짓이면 Do ... Until Loop 문을 빠져나온다.
조건이 거짓 동안 문장을 반복하여 실행하고, 조건이 참이 되면 반복을 종료한다.
반복중에 Exit Do로 중지하면 반복문을 빠져나온다.
Do Until 조건식
  ...
  문장들
  ...
  [Exit Do]
Loop

5. Do ... Loop Until 문
Do Until ... Loop 문과 동일하지만 조건 판단문이 하단부에 있으므로 일단! 코드 블록을 "한 번 수행"하고
조건이 거짓인 동안 문장을 반복하여 실행하고
, 조건이 참이 되면 반복을 종료한다.
반복중에 Exit Do로 중지하면 반복문을 빠져나온다.
Do Until 조건식
  ...
  문장들
  ...
  [Exit Do]
Loop

6. While ~ Wend 문
코드를 수행하기 전에 조건을 검사하여 참이면 반복을 수행, 거짓이면 While ~ Wend 문을 빠져나온다.
조건이 동안 문장을 반복하여 실행하고, 조건이 거짓이 되면 반복을 종료한다.
반복중에 중지할 수가 없다.
While 조건식
  ...
  문장들
  ...
Wend

7. For Each ~ Next 문
컬렉션(collection)이나 배열 안에 있는 문자열을 찾거나 문자열 항목을 알아내고자 할 때 사용된다.
[그룹명]은 배열이나 컬렉션을 설정 할 수 있고 [구성요소]에는 그룹명의 내용을 넣을 수 있도록 variant
형식 또는 객체(object) 형식으로 설정한다.
For Each 구성요소 In 그룹명
  ...
  문장들
  [Exit For]
  문장들
  ...
Next 구성요소

ex)
For i = 0 To 9
  Num(i) = Int(10 * Rnd + 1)
  Print Num(i)
Next i

For Each VarItem In Num
  Sum = Sum + VarItem
Next

8. Exit 문
반복문이나 프로시저 수행중에 강제적으로 종료할 경우 사용
Exit Function - Function 프로시저 종료
Exit Property - Property 프로시저 종료
Exit Sub - Sub 프로시저 종료

Exit For - For ... Next, For Each ... Next 문의 반복을 중지
Exit Do - Do ... Loop 문의 반복 중지
Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/165 관련글 쓰기

Top

Visual Basic 조건문

Visual Basic 조건문

1. IF문
조건의 결과가 참인 경우 실행, 하나의 문장만을 처리한다면 end if는 넣지 않아도 된다.

[단순 IF문]
If 조건 then 문장

[다중 IF문]
If 조건 Then
  문장
ElseIf 조건2 Then
  문장
...
Else
  문장
End If

2. Select ~ Case문
조건의 결과 값이 Case의 값1부터 ~ 값n까지 비교하여 으면 문장을 실행하고
같은 값이 없으면 Case Else문 다음을 수행한다.

Select Case 수식 또는 변수
  Case 값1
    문장1
  Case 값2
    문장2
  Case 값3
    문장3
  ...
  Case Else
    문장n
End Select
Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/164 관련글 쓰기

Top

Visual Basic 연산자

연산자 종류

연산자 우선순위 예)
산술연산자 + 더하기 1 Print 3 mod 5
Print 10 \ 3
Print 4 ^ 2
- 빼기
* 곱하기
/ 나눗셈 (몫)
(결과 실수값)
\ 나눗셈 (몫)
(결과 정수값)
Mod 나눗셈 (나머지)
^ 지수 (제곱)
관계연산자 > 크다 2 a > 10
b <> 0
c <= 100
< 작가
>= 크거나 같다
<= 작거나 같다
= 같다
<> 같지 않다
논리연산자 And 논리곱 (모두 참일 때만 참)
그리고
3 A And B
A Or B
Not A
A Xor B
A Eqv B
A Imp B
Or 논리합 (하나만 참이면 참)
또는
Not 논리부정
아니다
Xor 배타적 논리합(Exclusive Or)
(같으면 거짓, 다르면 참)
Eqv 등가(Equivalence)
(모두 참이거나 거짓이면, 참, 아니면 거짓)
Imp 논리적 내포(Implication)
(왼쪽 값 기준으로 거짓이면 참, 참이면 그대로)
결합연산자 & 문자열을 연결하는데 사용되는 연산자
(연결되는 데이터의 데이터 타입이 달라도 됨)
   
+ 문자열을 연결하는데 사용되는 연산자
(연결되는 데이터의 타입이 같아야 함)
Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/155 관련글 쓰기

Top

Visual Basic 기본 데이터형

자 료 형

크 기(byte)
범 위
Byte 1 0 ~ 255
Boolean
(논리형)
2 True, False
Integer
(정수형)
2 -32,768 ~ 32,767
Long
(배정수형)
4 -2,147,483,648 ~ 2,147,483,647
Single
(단정도 실수)
4 3.402823E38 ~ 1.401298E-45
Double
(배정도 실수)
8 ±4.94065645241247E-324 ~ ±1.79769313486232E308
Date 8 100년1월1일 ~ 999년12월31일
Currency
(통화형)
8 -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807
Object 4 모든 종류의 객체
String
(문자열 고정길이)
문자열 길이 0 ~ 약 65,400 바이트
String
(문자열 가변길이)
10 + 문자열 길이 0 ~ 약 2조 바이트
Variant(문자) 22 + 문자열 길이 String(가변길이)와 같음
Variant(숫자) 16 Double 형 범위와 같음
Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/154 관련글 쓰기

Top

비주얼 베이직 - 참고 사이트

교수님 홈페이지
http://lki.co.kr

참고 홈페이지
http://www.web-reader.co.kr/vb/vb-edu4.htm

Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/150 관련글 쓰기

Top

비주얼 베이직 - (Report) / 070330 / 연습문제1

1. 다음 중 변수명으로 적합한 것은 어느 것인가? 1
1) Name
2) 007K
3) My*Array
4) Function

2. 다음 설명 중 맞지 않는 것을 고르시오. 3
1) 변수명의 첫 글자는 반드시 영문자이어야 한다.
2) 실행이 종료된 프로시저의 지역 변수는 사라진다.
3) 긴 정수형 변수는 2 바이트가 필요하다.
4) 변수명 뒤에 #이 붙은 변수는 배정도 실수형 변수로 인식한다.

3. 다음 중 전역 변수의 특징이 아닌 것은 무엇인가? 4
1) 모듈의 선언 부분에서 선언된다.
2) 일반 모듈에서도 선언할 수 있으며, 전 프로그램 내에서 사용이 가능한 변수를 말한다.
3) Static이나 ReDim을 이용하여 변수의 형식을 정의할 수 있다.
4) 다음과 같은 방법을 사용하여 선언한다. Global version as Integer

4. 다음의 연산식을 비주얼 베이직의 코드로 바꾸시오.
1) y=4πr²
2) y=x²-2x+3
3) y=√a³+√b³
4) y=b² +√4ac/2

1) y=4*3.14*R^2
2) y=x^2-2*x+3
3) y=sqr(a^3+b^3)
4) y=b^2+sqr(4*a*c)/2


5. 아래의 선언문과 배열, 변수들의 값을 이용하여 다음의 값을 구하시오.
Dim i,j,Item(1 to 5) as Integer
i=4 : j=2

Item(1) = 40
Item(2) = 20
Item(3) = 12
Item(4) = 3
Item(5) = 18

1) Item(i/j)
2) i*Item(3*j-i)
3) Item(Item(4))
4) Item(i-j)

// 연습문제1
// 5번 문제
Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim i As Integer, j As Integer
Dim item(1 To 5) As Integer
i = 4: j = 2
item(1) = 40
item(2) = 20
item(3) = 12
item(4) = 3
item(5) = 18
Print "1번"; item(i / j)
Print "2번"; i * item(3 * j - i)
Print "3번"; item(item(4))
Print "4번"; item(i - j)
End Sub
결과 :
1번 : 20
2번 : 80
3번 : 12
4번 : 20

6. 다음 중 틀린 것을 찾으시오.
1,2,3,4,5 모두 Array 를 변수명으로 사용(예약어)
Array 변수명을 제외하고 생각하면 1번 k 변수가 지정되어 있지 않고
2번 ReDim 에서 double 데이터 타입을 변경할 수 없음

1) Dim Array(k) As Integer
2) Dim Array()
    ReDim Array(5) As Double
3) Static Array(8,8) As Long
4) Dim Array(2,5) As Integer
    Array(1,3) = 30
5) Dim Array(4,4,4) As String
    Array(1,2,3) = 45

7. 각 차원의 원소가 5개씩인 정수형 2차원 배열을 선언하고 루프를 사용하여 초기화하는 코드를 작성하시오.(단, 각 원소의 값은 두 인덱스 값의 곱으로 한다.)

// 연습문제1
// 7번 문제
Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim ary(5, 5) As Long
Dim i As Integer, j As Integer
For i = 1 To 5
    For j = 1 To 5
        ary(i, j) = i * j
        Print ary(i, j); " = " & i; " * " & j
    Next j
Next i
End Sub

8. 배열 B(3,3)의 값을 이용하여 다음 프로그램의 변수  Total의 결과를 구하시오.(단, Option Base는 1로 한다.)

B(3,3)
1, 3, 5
7, 9, 11
13, 15, 17


// 연습문제1
// 8번 문제
Option Explicit
Option Base 1
Private Sub Form_Load()
AutoRedraw = True
Dim b(3, 3) As Integer
Dim i As Integer, j As Integer, k As Integer, Total As Integer
   
k = 1
For i = 1 To 3
    For j = 1 To 3
        b(i, j) = k
        k = k + 2
    Next j
Next i

   
Total = 0
i = 1
Do While i <= 3
    Total = Total + b(i, 3)
    i = i + 1
Loop
Print Total
End Sub
결과 : 33

9. 다음 프로그램의 결과를 출력하시오.


// 연습문제1
// 9번 문제
Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim value(4) As Integer, k As Integer
k = 0
Do While k <= 3
    value(k) = 2 * k
    k = k + 1
Loop
value(2) = value(2) * value(3)
value(3) = value(3) + value(2)
Print value(2), value(3)
End Sub
결과 : 24, 30

10. 다음과 같이 변수가 정의되었을 때 아래 연산식의 결과를 구하시오. (단, Net, Easy는 실수형, Mean, Value는 정수형 변수이다.)

A = 3, B = 6, L = 2.0, C = 4, M = 4.0, N = 6.0
1) Easy = M / L - N
2) Value = B / C + N * A
3) Mean = A / C + B / C
4) Net = M / L + N / L


// 연습문제1
// 10번 문제
Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim Mean As Integer, Value As Integer
Dim Net As Single, Easy As Single
Dim A As Integer, B As Integer, C As Integer
Dim L As Single, M As Single, N As Single
A = 3
B = 6
C = 4
L = 2#
M = 4#
N = 6#
Easy = M / L - N
Value = B / C + N * A
Mean = A / C + B / C
Net = M / L + N / L
Print "1번 Easy = "; Easy
Print "2번 Value = "; Value
Print "3번 Mean = "; Mean
Print "4번 Net = "; Net
End Sub
결과 :
1번 Easy = -4
2번 Value = 20
3번 Mean = 2
4번 Net = 5

11. 배열 C(3,3)의 값을 이용하여 다음 프로그램의 변수 Sum의 결과를 구하시오.(단, Option Base는 1로 한다.)

C(3,3)
9 8 7
6 5 4
3 2 1

// 연습문제1
// 11번 문제

Option Explicit
Option Base 1
Private Sub Form_Load()
AutoRedraw = True
Dim c(3, 3) As Integer
Dim i As Integer, j As Integer, k As Integer, sum As Integer
k = 10
For i = 1 To 3
    For j = 1 To 3
        k = k - 1
        c(i, j) = k
        Print k
    Next j
Next i
sum = 0
For i = 1 To 3
    For j = 1 To 3
        sum = sum + c(i, j)
    Next j
Next i
Print sum
End Sub

결과 : 45

12. 각 차원의 원소가 4개씩인 정수형 2차원 배열을 선언하고 루프를 사용하여 초기화하는 코드를 작성하시오. (단, 각 원소의 값은 두 인덱스값의 누승으로 한다.)

// 연습문제1
// 12번 문제

Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim ary(4, 4) As Long
Dim i As Integer, j As Integer
For i = 1 To 4
    For j = 1 To 4
        ary(i, j) = i ^ j
        Print i, j, ary(i, j)

    Next j
Next i
End Sub

13. 배열 C(3,3)의 값을 이용하여 다음 프로그램의 변수 Total의 결과를 구하시오. (단, Option Base는 1로 한다.)

C(3,3)
2 4 6
8 10 12
14 16 18


// 연습문제1
// 13번 문제
Option Explicit
Option Base 1
Private Sub Form_Load()
AutoRedraw = True
Dim c(3, 3) As Integer
Dim i As Integer, j As Integer, k As Integer, Total As Integer
k = 0
For i = 1 To 3
    For j = 1 To 3
        k = k + 2
        c(i, j) = k
    Next j
Next i
Total = 0
i = 1
Do
    Total = Total + c(i, 3)
    i = i + 1
Loop While i <= 3
Print Total
End Sub
결과 : 36

14. 다음 프로그램의 결과를 출력하시오.

// 연습문제1
// 14번 문제

Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim value(4) As Integer, k As Integer
k = 0
Do While k <= 3
    value(k) = 2 ^ k
    k = k + 1
Loop
value(2) = value(2) * value(3)
value(3) = value(3) + value(2)
Print value(2); value(3)
End Sub
결과 : 32, 40
Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/149 관련글 쓰기

Top

비주얼 베이직 - Study / 070330

[예제 3-11] 주민등록번호에서 8번째 문자를 추출하여 성별을 출력하는 프로그램을 작성하시오.

Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim strnum As String
strnum = "050101-1234567"
If Mid(strnum, 8, 1) = "1" Then
    Print "성별="; "남"
Else
    Print "성별="; "여"
End If
End Sub

[문자열 함수]
Mid 함수
: string의 start로부터 length만큼의 숫자를 추출
Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/145 관련글 쓰기

Top

비주얼 베이직 - (Report) / 070330

연습문제2

1. 점수를 입력하여 70점 이상이면 합격, 70점 미만이면 불합격을 판정하는 프로그램을 작성하시오.

Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim jumsu As Integer
jumsu = 80
If jumsu >= 70 Then
    Print "점수 " + Str(jumsu) + "은 합격입니다."
Else
    Print "점수 " + Str(jumsu) + "은 불합격입니다."
End If
   
End Sub

Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/144 관련글 쓰기

Top

비주얼 베이직 - (Report) / 070323

[실습2-12] 1부터 100까지 중에서 홀수만을 출력하는 프로그램을 작성하시오.

Do ... While~Loop 구조

Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim i As Integer
i = 1
Do While i < 100
    If i Mod 2 = 1 Then
        Print i
    End If
   
    i = i + 1
Loop
End Sub

[실습2-13] 1부터 100까지 중에서 짝수만을 출력하는 프로그램을 작성하시오.

Do ... Loop While 구조

Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim i As Integer
i = 1
Do
    If i Mod 2 = 0 Then
        Print i
    End If
   
    i = i + 1
Loop While i <= 100
End Sub

[실습2-14] 1부터 100까지 중에서 짝수만을 출력하는 프로그램을 작성하시오.

Do Until ... Loop 구조

Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim i As Integer
i = 1
Do Until i > 100
    If i Mod 2 = 0 Then
        Print i
    End If
   
    i = i + 1
Loop
End Sub

[실습2-15] 1부터 100까지 중에서 짝수만을 출력하는 프로그램을 작성하시오.

Do ... Loop Until 구조

Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim i As Integer
i = 1
Do
    If i Mod 2 = 0 Then
        Print i
    End If
   
    i = i + 1
Loop Until i > 100
End Sub

[실습2-16] 1부터 100까지 중에서 홀수만을 출력하는 프로그램을 작성하시오.

While ~ Wend 구조

Option Explicit
Private Sub Form_Load()
AutoRedraw = True
Dim i As Integer
i = 1
While i < 100
    If i Mod 2 = 1 Then
        Print i
    End If
   
    i = i + 1
Wend
End Sub

[실습2-17] 10명 학생의 점수의 평균을 구하는 프로그램을 작성하시오. (학생의 점수는 Rnd 함수를 이용하시오.)

Option Explicit
Private Sub Form_Load()
Form1.AutoRedraw = True
Dim high As Integer, i As Integer, sum As Integer
Dim score(1 To 10) As Integer
Dim jumsu As Variant
Randomize
For i = 1 To 10
    score(i) = Int(100 * Rnd + 1)
    Print score(i)
Next i
For Each jumsu In score
    sum = sum + jumsu
Next
high = sum / 10
Print "학생의 평균 점수는 " + Str(high) + "입니다."
End Sub


[실습2-18] 1부터 100까지 중에서 짝수의 합이 900을 넘으면 반복을 종료하는 프로그램을 작성하시오.

Private Sub Form_Load()
Form1.AutoRedraw = True
Dim i As Integer
Dim total As Long
i = 0
Do While i < 100
    If i Mod 2 = 0 Then total = total + i
   
    If total > 900 Then Exit Do
    i = i + 1
Loop
Print "합계 = "; Str(total)
End Sub
Comment 0 Trackback 0

Trackback : http://my.silpir.net/trackback/129 관련글 쓰기

Top

prev 1 next