반응형

오늘은 Array! 배열에 대해 공부 해볼게요!


배열은 어떨때 쓰냐!


예를들어 이런 프로그래밍을 한다고 하면...


하나하나 변수 다 넣고, 일일히 A1 & A2 & A3 & A4 ....이렇게 설정을 해줘야 하죠?


이걸 좀더 편하고, 관리하기 쉽게 하기 위해서 배열이라는 것을 사용합니다.


자 위의 사진과 비교했을때 얼마나 짧아지는지 볼까요?




글자수가 많이 줄었지요?


변수 선언란에 보면


dim A(4) As String

이라고 선언을 했습니다.

이건 쉽게 얘기하자면,


A라는 그릇을 만드는데,

5조각으로 나누어라! 라는 뜻입니다.


그냥 변수에다가 Dim A as String 이라고 선언하면 A라는 그릇 하나가 생기는데,

이렇게 선언 해주면


차이점을 아시겠나요?


그렇다고 그릇의 크기가 저렇게 쪼개지는게 아니라,

(컴퓨터는 가상의 그릇을 만드는 것이니까)


A 하나만 선언 한 것의 크기나,

배열로 선언한 A(0)의 크기나 같습니다.


다만 사용자가 주의해야할 점은

배열은 0부터 시작한다는 것입니다.


그럼 Dim A(4) as String 이라고 선언하면,



0,1,2,3,4 이렇게 5개가 생성이 되는 것이지요.




자 그럼 문제입니다!


텍스트에 문자열을 입력후

배열에 등록하기 버튼을 누르면


A라는 배열안에 하나씩 차곡히 저장되는 코딩을 해볼게요!


이번 문제는 생각해야 할 것이 많으니, 해답을 아래에 게시하겠습니다~!!







우선 해볼 수 있는데 까지 해보시고, 보셔요 ㅎㅎ




자, 다 입력하고, 배열에 등록하기 그냥 누르면!


배열 0번에 값이 등록되고

텍스트 박스는 비워지게 되지요!


이런식으로 계속 입력해볼까요


이번엔 0번째에 이어 1번째 배열에 "안녕?"이라는 문자열이 저장되었습니다.


6번째까지 입력하다가 귀찮아서 때려치움..


For 문이 10번까지. 즉 배열의 갯수 만큼 맞춰 주었기때문에

10번째 입력을 마치고 11번째 또 입력을 하면

For문은 그냥 넘어가버릴 겁니다. 결국 아무 것도 입력이 되지 않음.


그럼 여기에 11번째 부터 경고를 띄워 줘볼까요?



귀찮아서 실행 완료된 것 은 안올릴래요 ㅋㅋㅋ


수고하셨습니다~!!





반응형
반응형

2강으로 돌아왔습니다~


1강에서 계속 사용하셨던 비주얼 베이직 파일을 가지고 계시죠?




이거요 ㅋㅋ

지우세요 이제 필요없어요 ㅋㅋ



오늘 할 것은


텍스트 박스에 있는 글을 변수에 집어 넣고,

그 변수의 값이 컴퓨터가 원하는 값과 일치하면

라벨에 정답! 이라는 메세지가 뜨게 해보겠습니다.


자, 새롭게 프로젝트를 만드셔서, 아래와 같이 폼을 만들어보세요.





 개체 이름

속성

속성값 

 Label1

 Caption 

"문제출제란"

 text1

 text 

"정답입력"

 Command1

 Caption

"정답확인"

자, 그 후에 폼의 빈공간(점이 그려져있는 빈 공간) 있죠?

빈공간부분을 더블클릭해보세요.



그럼 Form_Load라는 서브가 생성됩니다!


이건 폼이 로드되었을때. 즉, 실행되었을때 라는 말입니다.


그럼 폼이 실행되었을때 라벨에 문제 출제가 되도록 해볼게요.


label1.caption = "5+7+8+13=?"

이라고 입력해줍니다.


그리고 나서 실행해보면

Label1의 값이 변경되어서 실행 되는게 보이시죠?


자, 그리고 다시 돌아와서 커맨드 박스(버튼)을 더블클릭해보도록 하죠.


그럼 Command1을 클릭했을때에 대한 서브가 생성됩니다.

(사실 직접 입력해도 되는 거지만 저렇게 각 개체를 더블클릭해서 하는게 빠르고 편해서..ㅋㅋ)


아래와 같이 Command1_Click 서브에 입력..

if text1.text = "33" then

Label1.Caption = "정답입니다!"

else
Label1.Caption = "틀렸습니다 다시 입력해주세요. 5+7+8+13=?"

end if




자 이제 간단히 해석 해볼게요.


자 처음보는 IF문이 나왔어요.


프로그래밍 중의 가장 기본이 되는

비교문입니다.

IF문은 말그대로 '만약에'라는 뜻입니다.


즉,

If text1.text = "33" then

만약에 text1개체의 속성중 text 속성이 33과 같다면, (참이라면)


Label1.Caption = "정답입니다!"

Label1의 개체의 캡션을 "정답입니다!" 라고 보여주고,


Else 그렇지 않다면(거짓이라면)


Label1.Caption = "틀렸습니다 다시 입력해주세요. 5+7+8+13=?"

Label1의 개체의 캡션을 "틀렸습니다 다시 입력해주세요. 5+7+8+13=?" 라고 보여줘라.

end if 조건문IF를 종료합니다.

이해 하셨나요?

그럼 실행을 한번 해보겠습니다.


아무거나 입력해볼게요. 그리고 정답확인 클릭!

If 구문중에 Else구문 안에 있던 명령이 실행되었죠?


반대로 제대로된 "33"이란 값을 입력해볼게요.

정답입니다~!



자, 이걸 여러가지로 실험해보시고, 깨우쳐 보셔요


아, 그리고 Else 구문을 사용할 필요가 없을때도 있는데

그때는 생략 가능합니다.

(참일 경우만 IF문을 쓰고 싶을때.)


자, 그럼 변수와 함께 사용해볼게요.




서브가 실행되기 전에

변수를 미리 선언해줍니다. (선 선언)


해당 코딩을 한번 이해 해보시고, 아래 해석을 확인하세요.




허허 실험을 해보세요~!


궁금한점은 댓글 달아주세요!




반응형

+ Recent posts