반응형

부산...지진...후덜덜

깜짝 놀랬네요


집에서 씻으려고 보일러를 틀고 옷벗는데 쿠르르르릉..

전 보일러가 잘못 된 줄알고, 보일러를 급하게 껐는데, 동네 멍멍이들하고 사람들 다 나와서 난리 났네요.


19:44 경북 경주시 남남서쪽 9Km 지점 5.1 지진이랍니다!


다들 주의 하세요..!! 여진이 무서운거니..


서면쪽에는 여진이 계속해서 몰아 쳐서 어지러울 정도라고 합니다.


언제 또 여진이 내릴지 모르니


다들 피하실때는 방 모서리 부분으로 대피!

오히려 함부로 나가면 더 위험합니다~!!


아파트 사시는 분들은...어케 해야대지?


아는 형님께서는 응가중에 뭐 잘못 싼줄 알았다고..


저는 다시 씻으러 가봅니다..


부산 지진 괴담이 사실이었나 봅니다...헝..


다들 괜찮으시죠?



[조선일보] 가스·개미떼…부산 지진 괴담의 과학적 진실은? 원문보기


[출처] 본 기사는 조선닷컴에서 작성된 기사 입니다

최근 부산·울산에서 원인을 알 수 없는 가스 냄새가 나면서 소셜미디어를 중심으로 “대지진의 전조(前兆)”라는 괴담이 퍼지고 있다. 특히 부산 해운대해수욕장에서 찍은 개미떼 사진까지 유포되면서 “동물이 자연재해 조짐을 먼저 알아챈 것 아니냐”며 지진에 대한 불안감이 더해지고 있다.


그러나 전문가들은 “이번 괴담은 과학적으로 볼 때 지진으로 이어질 가능성이 매우 낮다”고 입을 모았다. 대전대 생명과학부 남상호 교수와 국립생태원 생태기반연구실 정길상 실장, 서울대 건설환경공학부 김재관 교수, 연세대 지구시스템학과 홍태경 교수 등 4명으로부터 지진 연관성을 들어봤다.


―지진 전조 현상에는 무엇이 있는가?


(김재관 교수) 지진 전조 현상으로는 크게 다섯 가지가 있다. 단층 근처에서 지진파의 속도 변화, 단층에서 인접한 지형의 높이나 수평적 변화, 라돈 가스의 농도 증가, 지반 내 저항의 급격한 변화, 전진(foreshock·큰 지진에 앞서 발생하는 작은 지진)의 증가 등이 있다.


―지진의 전조현상으로 가스가 지층에서 유출되기도 하는건가?


(김재관 교수) 지진 발생 전 라돈 가스의 농도가 높아진다는 연구가 있다. 지진으로 인해 지하 암반이 갈라지며 암반 속에 저장된 라돈 가스가 유출되어 우물 등에서 라돈이 많이 검출되기도 한다. 지진이 일어난 단층에서 최대 20㎞ 떨어진 곳에서도 라돈의 농도가 증가할 수 있다


―라돈 가스는 무엇인가?


(김재관 교수) 암석 등에 포함된 우라늄이 연속 붕괴해 라듐이되고 이 라듐이 붕괴할 때 생성되는 방사성 가스가 라돈이다. 그러나 지진의 충격으로 유출된 라돈 가스는 무색·무취한 특성이 있어 사람이 알아차리긴 어렵다


―왜 하필 라돈가스가 지진의 전조 현상의 척도로 쓰이는가?


(홍태경 교수) 암(rock)에는 라돈뿐아니라 다른 가스들도 포함되어있다. 어느 가스가 포함되어 있는지는 단층대의 발달과 관련이 있다. 주변에 천연메탄이 많은 지역이라면 메탄이 검출될 수 도 있다. 하지만 지진이 발생하는 단층에서 주로 관측되는 일반적인 가스가 라돈이기 때문에 라돈의 농도로 지진을 예상한다.


(김재관 교수) 고베지진 때는 염소가스의 농도가 높아졌다는 연구결과도 있다. 하지만 라돈은 방사성 물질로 감지하기 쉽기 때문에 지진 전조현상 측정에 쓰인다.


―지진의 전조현상으로 나오는 가스가 무색·무취의 라돈 가스라면 지금의 가스냄새는 전조현상이 아닌가?


(김재관 교수)가스 냄새가 퍼지는 것은 지진 전조 현상으로 보기 어렵다. 지진 발생 전 가스가 유출돼 냄새가 났다는 얘기는 아직 들어본 적이 없다.


―SNS에서 제기되는 지진운과 지진광은 지진 전조현상으로 볼 수 있는가?


(홍태경 교수) 지진 전 발생한다는 구름과 빛을 각각 지진운과 지진광이라고 한다. 지진운과 지진광의 발생은 이론적으로 설명이 가능하다. 지진이 일어나게 되면 단층대에 힘이 쌓이게 된다. 힘이 쌓이게 되면 그 힘으로 인해 단층대를 따라 입자의 전하가 정렬이 된다. 전하의 밀도가 높아지고 정렬되면서 공기중에 있던 전하도 정렬된다. 이에 따라 구름이 생겨 지진운이 생긴다. 지진광도 마찬가지다.


―그러면 제기된 지진 전조 현상들은 믿을 수 있는 건가?


(홍태경 교수) 이론적으로는 지진운이나 지진광 같은 현상이 일어날 수 있다는 설명이 가능하다. 하지만 이런 현상들이 지진 전에 일관성 있게 관측되지 않았기 때문에 과학적인 근거가 있다고 보지는 않는다. 한마디로 지진의 전조인지 여부는 지진이 발생하기 전까지는 아무도 모른다는 것이다. 지진이 발생하면 그게 전조현상이었구나라고 생각할 수 있다. 그렇지 않다면 다른 이유 때문이었구나라고 생각할 수 있다는 것이다.


―얼마 전 울산 앞바다에서 발생한 지진의 영향으로 가스관이 손상된 것은 아닌가?


(김재관 교수) 지난 5일 울산 앞바다에서 난 지진은 부산과 거리가 멀고 그 규모(5.0)도 크지 않아 이 지진으로 가스관이 손상됐다고 보기도 어렵다. 진도 5.0의 규모 지진으로 건물이 흔들리는 정도를 느낄 수 있지만 심각한 피해는 입히지 않는 수준이다. 멀리 떨어진 가스관을 손상할 정도는 아니다.



―동물이 지진을 감지한다는 이야기가 있는데 동물들의 감각은 얼마나 민감한가?


(정길상 실장) 코끼리는 발바닥의 두꺼운 지방층이 매우 예민해 작은 진동도 느낄 수 있다. 진동으로 자기 동료들의 위치를 파악하는 것은 과학적으로 입증됐다. 철새들은 뇌에 자기장을 감지하는 부분이 있어 방향을 잃지 않는다.


(남상호 교수) 독수리는 4㎞ 거리의 먹이를 찾을 정도로 후각이 발달돼 있다. 곤충이나 양서류도 마찬가지다. 개구리의 경우 피부나 혀로 공기 중의 습도를 감지해 비가 오기 전 울음으로 신호를 내기도 한다. 개미의 더듬이는 인간보다 후각이나 진동감지 능력이 500~1000배 민감해서 여름철 태풍이나 홍수를 대비해 집을 옮기기도 한다. 인간이 못 느끼는 감각을 느끼기도 한다.


―그렇다면 SNS에서 떠도는 개미떼의 죽음을 지진 전조현상으로 볼 수 있는가?


(남상호 교수) 개미떼의 대규모 이동은 날씨나 생태 등 여러 원인이 있어 지진 때문이라고 단정하기는 어렵다.


(정길상 실장) 개미는 학자에 따라 의견이 갈리지만 (한국에) 120~150종류가 있다. 그 중 많은 종류가 교미를 할 때 많은 암수 개체가 서로 섞여 무리지어 나는 혼인비행을 한다. 엄청난 수의 개미들이 특정 시간, 특정 장소에서 동시에 혼인비행을 하게 된다. 이 때 교미에 실패한 대다수 개미들은 땅에 떨어져 죽게 된다. SNS에 떠도는 사진 속 개미는 요즘 혼인비행을 하는 일본왕개미 또는 곰개미일 것으로 추정되는데, 혼인비행을 마친 개미들의 시체일 확률이 높다.


―동물이 지진을 미리 감지해 특이 행동을 한다는 이야기는 맞는 것인가?


(정길상 실장) 후각이나 촉각 등 동물들의 감각이 인간보다 예민한 것은 사실이다. 그러나 이런 능력을 활용해 동물이 미리 지진을 감지하는지에 대한 연구는 아직 알려지지 않고 있다. 아직까지 정확히 어떤 기작에 의해 자연재해를 미리 인지하는지에 대한 데이터 등은 없다. 우연히 겹친 현상을 사람들이 나중에 지진이 난 뒤에 결과적으로 맞춘 것이라고 생각한다. (부산·울산 지역 괴담도) 지진이라는 사건과 동물의 특이행동을 연결지어 인간이 해석한 오류로 보인다.



[출처] 본 기사는 조선닷컴에서 작성된 기사 입니다

반응형
반응형

무꼬입니다!


정말 오랜만에 포스팅을 하게 되었네요!!


저에게 그동안 많은일들이 있어서 블로그뿐만 신경을 못쓴게 아니라 직장까지 이직하게 되는 시기였답니다..ㅠㅠ


무튼 개인적인 사정은 넘어가고!


오늘은 DIY (Do It Your Self)를 해볼거에요!!


두잇 유얼 셀프~




무엇을 할것이냐!


짝퉁샤오미 보조배터리 내부 셀(이것도 가짜일듯 싶..)들을 제거하고

그 자리에 안쓰는 스마트폰 배터리를 결합해서,

새로운 보조배터리를 탄생시킬겁니다!


+가능하다면 어떤사이즈이건 간에 안쓰는배터리를 전부 수용할 수 있게,

단자부분을 왔다 갔다 할 수 있게 만들어 볼겁니다.


위험할지 안할지는 전기전공이 아니라 내몫이 아님

내가 살아 있다는건 성공했다는 거겠지..


다른 분들은 보면 충방전 회로보드를 직접 사시던데, 저희는

나쁜 짝퉁의 단자를 사용할것입니닷!


예전에 핸드폰 개통때 받았던 샤오미보조배터리..

이놈이 짝퉁입니다.



안의 내용물은 더 처참하기 그지 없더군요.


와우..뭐없음.

죄다 싸구려..


보자마자 스팟용접되어있는 리본을 사진처럼 손으로 잡아 뜯었습니다..

용접된걸 손으로 뜯다니..

힘 좀 좋아진 듯


그리고 그와함께 짝퉁 내부에 셀이 4개가 들어가있었는데

사진에는 3개밖에 없죠?



넴..하나는 핑크색이길래 뭘까 하다가,


갑자기 느낌이 쌔해서 흔들어 보았습니다.













네.

예상처럼 모래가 들어있었습니다.


바로 분노조절안돼서 집 마당에다 던져 버림.


그래서 사진에는 안나옴요..ㅋㅋ





자 그럼 남은 3개의 리튬이온? 셀을 어쩔까하다


전압을 재봣더니 전압계가 움직이질않네요

걍..완전방전되어서 못쓰게 된듯..?


여러분도 짝퉁은 쓰지마세요..

위험해요..

납땜되어있는 상태가 영 옳지 못합니다.




두둥! 등장했습니다.


공짜인듯 공짜아닌

군 제대하고, 집에와서 새폰 개통해야지 눈누난나 하는데


아버지가 이거써라! 하면서 주신...LG G Stylo..

화면도 크고 성능도 다 좋지만 용량이 16G 였나..무튼 어플하나 깔면 하나 지워야했던 비운의 핸드폰

..그녀석이


제가 밤에 잠이 안와서 야밤에 운동하는데

그 옆에 쓰레기불법투기장이 있었던 것임.

아무생각없이 몸풀고 들어갈까 하면서 폰을 꺼내 시간을 확인 하는 찰나


바퀴벌레 두마리가 쓰레기더미에서 빛을 받고 제 몸에 날아 왔어요..

전 깜짝놀라서 손으로 줘팼는데

깜빡 제 손에서 폰을 놓침.


반사적으로 잡아야해!! 하면서

발로 뻥!..

산산히 부서졌습니다.


그래도 배터리 이거 하나는 살아있어서 다행..




아무튼 저 셀들은 다 폐건전지함에 투척할 것이고,


보드와 배터리를 연결해보겠습니다!


우선 알아두어야 할 것이,

장착할 배터리를 보면 4개의 단자가 있습니다.


알아보니 

+,-단자, D단자, NFC단자?

뭐 이렇게 있다네요.

정확한건 잘 모르겠어요


하지만 친절하게 배터리 아래 부분에 +, - 부분이 어딘지 쓰여있습니다.


자, 다른 부분에 혹시라도 쇼트가 날 수 있으니 전열테이프로 감아주고, 테스트를 시행합니다.


테스트를 위해 +단자에 리본을 올리고 절연테이프로 감았습니다.





실패. 제대로 접지가 안되어서 바로 방법을 바꿈.




전선이 얇아서 펜치나 다른 도구들 보다는

칼이 제격일거 같아 칼로 과감히 납땜 부분을 제거!



자, 이번엔 아주 살살 피복을 칼로 벗겨 냅니다.






완성! 워우 생각보다 잘벗겨지네요.





자, 그리고 그대로 절연테이프로 각각 고정 시키고, 배터리와 연결 해줍니다.


뭐, 이미 기판부분에는 납땜이 되어 있어서 따로 건드실 필요는 없지만



검은색선은 -

붉은선은 +입니다.



그래도 짝퉁이다보니 혹시나 싶어 말씀드립니다.

저게 반대로 되어 있을 수도 있어요! 짝퉁이니까 뭔짓을 못하겠습니까


그러니 기판에 잘 보시면

각 전선 시작부분에

B+

B-

이렇게 표기가 되어있을 거에요

저는 제대로 납땜에 되어 있는 착한짝퉁이라

B-는 제대로 검은선에

B+는 제대로 붉은선에 납땜에 되어있습니다.

잘못해서 거꾸로 시도하게되면 처참한 상황이 벌어질수 있으니 꼭 한번더 확인


두번 더 확인


세번 더 확인..



빠밤! 기판에 있는 배터리 스위치를 눌러보았더니 배터리 잔량 LED에 불이 뙇!


제대로 되었다는 증거겠죠?




자, 이번에는 충전 USB를 꽂고, 컴퓨터에 연결을 시도해보겠습니다.


자, 꽂고, 반대편 USB는 컴퓨터에 꽂꽂!


번쩍! 전원 공급이 되자 빛이 더 밝아 졌네요,




오우 일단 이걸로 테스트는 완료!


자, 테스트를 마쳤으니

안전검사는 여러분들이 해주세요..


이렇게 해도 되는 거겠죠?...ㅋㅋㅋ


다음 포스팅에는 만들어진 보조배터리를 넣을만한 상자를 제작하고,

저 배터리가 아니어도 어떤 배터리든 장착이 가능하게 제작을 할 것입니당~


자, 다음 시간에 뵙죠! 뿅

반응형

'Daily > DIY' 카테고리의 다른 글

DIY 자작 모니터 만들기~!  (2) 2018.03.05
반응형

좀 바빠지다보니 ㅠㅠ

오랜만에 포스팅을 하게 되네요~


지금까지는 시간의 개념이 빠진채,


사용자가 입력을 하면 결과를 뱉어(출력해)내고,

또 다시 사용자가 입력을 하면 결과를 뱉어내는..

말그대로 정적인 프로그래밍만 했다면,


오늘 타이머 개체를 배우고나면 동적인 프로그래밍이 가능하실 겁니다~


그럼 정/동적인 프로그래밍이 뭐냐~!


음...알기 쉽게 게임을 만든다고 가정하고 설명드릴게요.


사용자가 용사가 되어 괴물을 잡는 게임을 제작한다고 가정해보아요.


그럼 사용자가 컨트롤하는 캐릭터가 있을테고,

좌, 우, 상, 하, 점프...등등의 사용자의 입력을 받으면 캐릭터가 움직이겠죠?

반대로 사용자가 입력이 없을때는 캐릭터는 가만히 있겠죠.

이 부분에 대해서는 전혀 상관이 없는데,


그럼 사용자가 움직임을 입력했을때, 시간의 개념이 없다면 바로 움직이는 결과만 화면만 출력이 될거에요.


그러나 보통 그런게임은 요즘 흔치 않죠. (16이하 bit의 컴퓨터때도 흔하지 않았음.)





그럼 결국 시간의 흐름에 따라 입력된 값대로 캐릭터를 부드럽게 움직이게 하면

좀더 역동적으로, 동적인 게임을 만들 수 있게 되겠죠.


결국 캐릭터가 움직이는 모션은

'시간'이란 개념을 통해서 그림을 하나씩 표현하고,

해당 좌표로 이동해줘야 하겠죠?


예를들어,

자, 그러면 총 3개의 움직임이 추가가 되었죠?

사용자가 키를 입력하면 위의 '타이머'개념이 없는 것 보다는

좀 더 움직이는 것처럼 역동적으로 보여 질 거에요.


저 하나하나의 움직임을 프레임,(Frame) 이라고 불러요

요즘 3D 게임에 보면 Fps 라는 개념이 있는데

이게 바로 Frame per second 라고.

초당 보여지는 프레임의 수를 얘기하는 거에요.


그럼 초당 보여지는 프레임 수가 높을 수록 더 잘게 잘게 쪼개서 움직이는 모습을 보여주게 되는 거니까

더 부드러운 움직임을 보여주겠죠?


결국 '시간'의 개념이 도입되면 다이내믹한 연출이 가능해진다는 말씀.





그럼 또 다른 예를 들어볼게요.


현재 시간을 표시하는 디지털 시계 프로그램을 만들어 볼게요.


시간 개념이 없이 그냥 폼이 로드 되었을때 현재시간을 표시하는 코딩을 하게되면


Private Sub Form_Load()

(현재시간 표시하는 코딩)

End Sub

이렇게 되겠죠? 그럼 

결과가 이렇게 나올거에요.




문제는 폼이 로드된 시점의 시간에서 멈춰 버린다는 것이죠.


그럼 매 초마다 띄우게 할 수는 없을까? 에 대한 궁금증이 생기실 거에요.


역시 이것도 당연히 '시간' 의 개념이 필요한것이죠.



그렇다면,

한번 만들어볼게요!!


이게 타이머 입니다.



타이머 속성을 한번 볼게요.

속성에는 중요하게 봐야 할게

EnabledInterval 이 두개 입니다.


우선 Interval을 설명드리면,

ms(밀리세컨)을 사용해서 타이머가 가지는 시간값을 지정하는 것입니다.

1분 = 60000ms

10초 = 10000ms

1초 = 1000ms

0.1초 = 100ms


이렇게 되겠죠?

그럼 'Interval값을 1000으로 두면

1초마다 timer에 입력된 코드를 실행시킨다.' 라고 알고 계시면 됩니다.


Enabled값은 말그대로 사용가능한지에 대한 여부인데.

False값으로 설정되지면 Timer는 정지 상태가 됩니다.

반대로 True값이 되면 타이머는 설정된 Interval수치를 작동시켜 돌아가게 되는 것이죠.


그럼 인터벌값을 1초로 두고, 매 초마다 현재 시간을 표현하는 레이블을 만들어 볼까요?




아주아주, 간단합니다.


이렇게 하면 아주 간단하죠!

매 초마다 Timer가 작동하게 되고, 그 타이머는 Label1의 caption속성에다가 Now라는 함수.

즉 현재 시간을 나타내는 함수를 대입하라는 것이죠.

실행 한번 해보세요 ㅎㅎ


2016-02-12 오후 1:11:25 와 같이 시간이 표시 될 것입니다.


자, 그럼 Format 형식을 사용해서 더 나은 타이머를 만들어볼게요.



어? 그럼 Format(Now, "hh:mm:ss") 이 부분이 뭐지? 라고 생각하시겠죠?


Format 함수는 간단하게 사용하시려면 Expression 부분과 [Format] 부분만 신경쓰시면 됩니다.

Expression은 표현할 인수를 얘기하는 것이고,

Format은 그 인수를 어떻게 표현할 것인지를 나타내는 것입니다.


알기 쉽게 풀어서 설명 드리면,

Now라는 함수는 2016-02-12 오후 1:11:25 라는 값을 가지고 있겠죠? (당연히 매초마다 바뀜.)


영어 단어로 풀어보자면




2016 

02 

12 

오후 

11 

25 

Year

Month 

Day 

AM/PM 

Hour 

Minute 

Second 


Year-Month-Day AM/PM Hour:Minute:Second 로 되어 있죠?


이걸 이제 Format 함수에 써먹는 방법은, 각 문자의 앞글자를 따서 사용합니다.


가령 현재 연도를 출력하고 싶다면 Year 단어의 앞글자인 Y.


월을 출력하고 싶다면 Month의 M

일을 출력하고 싶다면 Day의 D

...AM/PM은 그대로 AM/PM으로 사용하시면 되고,


H, M, S 이렇게 각각 앞글자를 따게 되죠.


어라? 근데 이상하네요.

Month의 M과 Minute의 M이 겹치네요?


그래서 날짜는 대문자

시간은 소문자로 표현합니다.


예를 들어볼게요.


16/02/12 을 표현하고 싶다. 하면 "YY/MM/DD" 라고 하면 되겠고,

2016년 02월 12일을 표현하고 싶다. 하면 "YYYY년 MM월 DD일" 이라고 표현하면 되겠습니다.


시간도 역시 마찬가지로.

현재시각: 2시 10분입니다.

라고 표현하고 싶다!

"현재시각: h시 m분입니다." 라고하면 되겠죠.


정말 쉽게 풀어 쓴거라. 후에 제대로 설명을 한번 드리도록할게요.

지금은 개념만 이렇게 잡아두시면 문제 없을 겁니다!


자 그럼 심화 문제 나갑니다!


아래와 같이 폼을 꾸며 주시고,


Label과 타이머를 이용해서 계속해서 시계가 출력되도록 설정합니다.

매초마다 시간을 보여주고,


사용자는 두개의 버튼을 누를 수 있습니다.

우선

1. 현재 시간 체크! 를 클릭하면 현재 시간을 저장합니다.

2. 얼마나 지났나? 를 클릭하면 아까 저장했던 시간부터 얼마나 지났는지 출력하는 문제입니다.



해답은 아래에 있지만. 꼭 풀어보고 하셔요!

















오늘은 여기까지 하겠습니다.


이해 안되시는 부분이나 궁금한점 있으시면 댓글 남겨주세요~!! 확인하는대로 바로 답변드릴게요!


반응형
반응형

현재 비주얼 베이직으로 간단한 암호화 프로그램 하나 제작 했습니다.


현재 열기/저장 기능은 수행되지 않고, 기능만 넣어 두었습니다.



ASC En'Decoder.exe



문자를 아스키코드로 변환한뒤 설정된 키값으로 가감하여 다시 문자열로 뿌려주는 프로그램입니다.


숨기고 싶은 문자나 글을 해당 프로그램으로 암호화 시켜놓으시고

메모장에 저장해두셨다가 나중에 꺼내 보실때는

복호화할 내용에 넣고, 복호화하기 하면

원래 내용이 보여집니다.


암호화할 내용에 내용을 입력후


F1키 혹은 암/복호화 -> 암호화 탭을 클릭하시면


아래 처럼 뜹니다.


반대로

복호화할 내용에

받값슷닉닥!묵꼭읜!븜록극잇닉닥/

를 입력하고, F2키 혹은 암/복호화 -> 복호화 탭을 클릭하시면



...과연 뭐가 나올까요?

정답을 댓글로 달아주시고, 메일주소 알려주시면

해당 프로그램의 코딩 내용을 전달해 드리겠습니다~!


아, 참고로 복호화 할때 키값은 1입니다.



코딩 내용은 추후 어느정도 시간이 지난 후 포스팅에 공개 하겠습니다 ㅎㅎ

반응형
반응형

오늘은 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번째 부터 경고를 띄워 줘볼까요?



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


수고하셨습니다~!!





반응형
반응형

Swap 이란 단어, 들어 보신분들도 계시고 아닌 분도 계신데,


네이버 영어사전에 뜻을 검색해보면




우리는 다른 뜻은 필요 없고,

<데이터>를 교환하다.만 보시면 됩니다 ㅎㅎ


그럼 데이터를 교환하는데 왜이렇게 스왑이란 단어로 명명하고,

힘들게 하냐?


예시를 들어보면



이렇게 두개의 변수가 있다고 합시다!


그리고 이 변수 들에게 각각 어떤 값이 들어갔습니다.


A라는 변수에는 "안녕?" 이라는 문자열이.

B라는 변수에는 "무꼬" 라는 문자열이 각각 저장 되었죠.


여기까진 쉽죠?


그냥


Dim A as String

Dim B as String

A = "안녕?"

B = "무꼬"


이렇게 해주시면 되지요.


여기 까진 문제가 없습니다.


그럼 이건 어떨까요?


A의 값과 B의 값을 서로 바꿔야 할 상황이 생겼습니다.


어떻게 할까요?





Dim A as String

Dim B as String

A = "안녕?"

B = "무꼬"


A = B

B = A


이렇게 하면 될까요?

그럼 현재 이 코딩을 모식도로 보여 드릴게요.



??????

왜이런 결과가 나올까요.


결과가 A와 B모두 "무꼬"라는 문자열이 저장 되어 버리지요.


컴퓨터는 코딩 내용을 위에서 아래로 읽어 내려 갑니다.



그럼 A 와 B의 값을 깔끔하게 바꿀 수 있는 방법은 뭐가 있을까요?


쉽게 바꿔 얘기하면

A라는 페트병과

B라는 페트병 두개가 있습니다.


A에는 우유가 들어있고

B에는 이온음료가 들어 있지요.


두개의 내용물을 바꾸는 방법이 뭐가 있을까요?

생각 한번 해보시고 스크롤을 내려보세요.




과연 당신의 IQ는 높을까요?








정답은 C라는 페트병을 하나 임시로 가져와서

A의 내용물을 C에다가 옮겨 담고,

B의 내용물을 A에 옮기고,

C의 내용물(원래는 A의 내용물)을 다시 B에다가 넣게 되면


결과 적으로


A와 B의 내용물은 정확히 바뀌게 되지요?


순서도로 보여드릴게요!

정확히 반대로 바뀌게 됩니다.



그렇다면

코딩으로 볼게요,


Dim A as String

Dim B as String

Dim C as String

A = "안녕?"

B = "무꼬"


C = A

A = B

B = C


이렇게 할 수 있겠죠?



이 방법이 바로 '스왑'이라는 방법입니다.


스왑에 관한 전반적인 설명이 끝났습니다!




반응형

+ Recent posts