#06 - 마무리


본격적으로

언어를 배우기 전에

한번쯤 경험했으면

하는 것들을

만들어 봤다.


내용이 조금

길어지더라도

GIT, TDD, 디버깅도

넣어 볼까라는

생각도 해봤다.


하지만,

변수&비교문&반복문에

집중하는 편이 좋을거

같아 넣지 않았다.


개인적인 바램은

읽고, 직접 코드를

만들고 실행하여

결과를 확인하는 것이다.


그래서 학원이든,

혼자서든 언어를 

막힘없이 어렵지

않게 배웠으면

좋겠다.


그럼 즐겁게

언어를 배울길 바라며

이 컨텐츠를

마무리 한다.


^^


이전글 - 

2020/12/09 - [EDU] - 언어를 본격적으로 배우기 전에! 맛보기 #05 - 배열과 반복문을 이용하여 문제를 해결해 보자


반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,



하단에 코드를 작성하는
풀 동영상이 있다.

동영상을 시청하고 게시물을
본다면 이해에 도움이
될거라 생각한다.



숫자를 6개에서 100개로 늘리면
그만큼 변수와 관련된
코드도 늘어난다.


자바에서는
고정된 수를 보관하여
사용할 수 있는
'배열'을 제공 한다.


'배열'이란
단일 유형의 값의 고정 된 수
보관하는 컨테이너 객체이다.


6개든 100든 숫자들을 배열에 담아
숫자 색인으로 
사용(읽고 저장) 할 수 있다.

[노트에 배열 정리하기]


* 6개의 변수 대신 배열 사용하기

[배열 사용하기]


코드의 내용은 다음과 같다.


1) int [] numbers = new int[6];
정수배열 참조변수 numbers선언하고,
new 연산자를 사용하여 길이가 6인 정수
배열 객체를 생성하여 그 참조값
참조변수 numbers에 저장(할당) 한다. 


2) numbers[0] = 5;
numbers 첫번째 요소(인덱스 0)에
5를 저장한다.


아래 동영상은 rename 기능을
이용하여 쉽게 first를 numbers[0]으로
변경하는 내용이다.

[코드 작성 동영상]



* 반복문(for) 사용하여 배열의 값 출력하기

반복문(for)사용하여
배열의 요소들을
출력해 보자

[for문으로 배열의 요소들을 출력하기]

(1) 초기화(2) 종료,
(3) 증가(4) 실행문
작성하여 특정 조건이
충족될때까지 반복할 수 있다.


즉, 왼쪽 그림의 numbers의 인덱스
0, 1, 2, 3, 4, 5로 변하는 부분을 변수로 바꾸고
반복문(for)을 이용하여 오른쪽의 그림처럼
바꿀수 있다.


반대로 오른쪽 그림의 코드를 풀어 쓰면
왼쪽 그림의 코드가 된다.
코드의 실행 순서를 적어보면
다음과 같다. 


(1) 변수 index의 값을 0으로 초기화 한다.

(2) 6보다 변수 index의 값 0보다 작아서 

(4) 코드를 실행 한다.

(3) 변수 인덱스의 값을 1증가 한다.

index의 값은 1가 된다.

(2) 6보다 변수 index의 값 1보다 작아서 

(4) 코드를 실행 한다.

(3) 변수 인덱스의 값을 1증가 한다.

index의 값은 2가 된다.

(2) 6보다 변수 index의 값 2보다 작아서 

(4) 코드를 실행 한다.

(3) 변수 인덱스의 값을 1증가 한다.

index의 값은 3가 된다.

(2) 6보다 변수 index의 값 3보다 작아서 

(4) 코드를 실행 한다.

(3) 변수 인덱스의 값을 1증가 한다.

index의 값은 4가 된다.

(2) 6보다 변수 index의 값 4보다 작아서 

(4) 코드를 실행 한다.

(3) 변수 인덱스의 값을 1증가 한다.

index의 값은 5가 된다.

(2) 6보다 변수 index의 값 5보다 작아서 

(4) 코드를 실행 한다.

(3) 변수 인덱스의 값을 1증가 한다.

index의 값은 6가 된다.

(2) 6보다 변수 index의 값 6보다 작지 않아서

반복문(for)을 종료 한다.


[코드 작성 동영상]



* 반복문(for) 사용하여 정렬코드 작성하기

이제 정렬하는 부분을
for문을 적용해 보자.

[코드 작성 동영상]


위에서 for문을 이용하여
배열의 값을 출력한것처럼
1~5를 변수로 만들고
for문을 작성하면 된다.

[코드 작성 동영상]


for 문을 적용하다 보니
for문을 적용할 수 있는
숫자만 다른 부분이 보인다.

마찬가지로 for문을 적용해 보자.

[이중 for문]


for문안for문
있는 모양이 됐다.

이것이 이중 for문이다.

이중 for문이 되면서
index = 1, index = 2, ...... , index = 5
이 부분이 index2 + 1
바뀌었다.

[이중 for문]


* 메서드(method) 및 정리

아직까지는 6개의 숫자만으로
정렬하고 짝수를 출력했다.

배열 속성length이용하면
배열의 요소의 갯수
맞춰서 반복 실행 한다.

다음과 같이 바꿔주면 된다.

6 -> numbers.length     
5 -> numbers.length - 1


main 메서드에 
1) 배열의 요소들을 출력하기,
2) 배열을 정렬하기,
3) 짝수만 출력하기      
3개의 기능의 코드들이
한꺼번에 있다.

기능별 메서드
만들면, 코드의
재사용성을 높여준다.

eclipse의 Refactor - Extract Method
기능을 이용하여 간단하게
메서드를 만들었다.

[완성 코드]


[코드 작성 동영상]


부족한 부분이 있지만,
문제 해결을 위한
코드를 완성했다.

다음 게시물을 마지막으로
맛보기 컨텐츠를 마무리
예정이다.

보고 읽는 것만으로도
도움을 되겠지만,
직접 따라 작성해서
결과를 확인했으면
좋겠다.


* 코드 작성 풀 동영상

아래 동영상은
배열과 반복문을 사용하여
만든 풀 동영상이다.

[코드 작성 동영상]



반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

오름차순으로 정렬을

했으니 짝수를 출력하는 

코드를 작성해 보자.


'짝수'란,

n을 임의의 정수라 할때

2n의 꼴로 표시되는

정수를 말한다.


다른 말로 2로 나누었을때

나머지가 0인 정수이다.


자바에서는 '%' 연산

이용하여 코드

작성 할 수 있다.



변수 first 값을 2로 나눈 나머지가 0(짝수)이면

변수 first값을 출력!


어렵지 않게 

if문과 '%'연산자를 이용하여

짝수를 구별 할 수 있다.


아래는 완성된 코드와

코드를 작성하는 동영상이다.





드디어

'5 30 3 11 8 12'라는 것을

'8 12 30'으로 만들었다.


6개의 변수에

다른 값으로 변경하여

실행시켜 보자.


아마도 오름차순으로

정렬된 짝수들이

출력될 것이다.


그런데 그런데......

문제가 하나 생겼다.


숫자 6개에서 7개로

숫자를 늘려서 하고 싶다.


1개쯤이야 하고

추가 코드를 

작성하면 된다.


그럼 숫자를

100개로 늘리면??


.

.

.

.

.

.


100개로 늘리면

변수도 100개 만들어야 하고

오름차순 코드도

변수의 개수에 맞게

반복되는 많은 코드

작성해야 한다.


다음 시간에는

배열반복문

이용하여

문제를 해결해 보자.


이전글 - 2020/11/20 - [EDU] - 언어를 본격적으로 배우기 전에! 맛보기 #03 - 노트에 정리한 생각을 코드로 작성하기(변수와 비교문 이용하여 오름차순 정렬하기)

다음글 - 2020/12/09 - [EDU] - 언어를 본격적으로 배우기 전에! 맛보기 #05 - 배열과 반복문을 이용하여 문제를 해결해 보자



반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,


문제를 해결하기 위해

노트에 숫자들을

기록하여 사용했듯이


프로그램에서는 '변수'

숫자를 저장 하여 

사용할 수 있다.


'변수'

값을 저장할 수 있는 

메모리 공간이다.


각각의 변수에

5, 30, 3, 11, 8, 12 값을

저장하는 코드를 

작성해면

다음과 같다.


 

6번 줄 코드를 읽고 

말하는 방법은

아래와 같다.


1) 인트 퍼스트는 5.


2) 정수형 변수 first를

선언하고 

5로 초기화(저장) 한다.


1)보다는 2)형식으로

생각하고 코드를 작성하고

말하는 것을 권한다.


각각의 변수에

값들을 저장했다.


이제 노트에 적었던

방식대로


앞의 숫자보다  뒤에 있는 숫자가 작으면

또는 앞의 숫자가 뒤에 있는 숫자보다 크면(21)

앞의 숫자를 빈곳에 이동한다(22).

뒤에 있는 숫자를 앞으로 이동한다(23).

빈곳으로 이동했던 앞의 숫자를 뒤로 이동한다(24).



변수 first 값 보다 변수 second 값이 작으면

또는 변수 first 값이 변수 second 값 보다 크면(21)

정수형 변수 temp를 선언하고 변수 first값으로 초기화 한다(22).

변수 first에 변수 second 값을 저장 한다(23).

변수 second에 변수 temp의 값을 저장 한다(24).


이런 방식으로

나머지 부분을

작성해 주면 된다.


* 전체 코드



아래의 그림처럼

Run 메뉴 또는

Run 아이콘을

클릭하거나

Ctrl + F11 입력하여

작성한 코드를 실행해 보자.




* 실행결과


코드가 많아 보이지만,

단지 변수와 비교문으로

힘들지 않게

오름차순으로 정렬했다.


*참고

이클립스를 이용한 코드 작성 동영상이다.




짝수 출력은 다음 시간에~


이전글 - 2020/10/23 - [EDU] - 언어를 본격적으로 배우기 전에! 맛보기 #02 - 정렬 과정을 노트에 그려 보자

다음글 - 2020/11/23 - [EDU] - 언어를 본격적으로 배우기 전에! 맛보기 #04 - 짝수만 출력 하기 그리고 생각해 보기


















반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

문제

------------------------------------

5 30 3 11 8 12

<처리>

8 12 30


*


702 301 80 1000 1

<처리>

80 702 1000

------------------------------------


오름차순으로 정렬하기

5 30 3 11 8 12

<처리>

3 5 11 12 30 


어떻게 하면

작은 숫자에서 큰숫자

정렬 할 수 있을까?


처음에

제일 작은 숫자인 3

맨 앞으로 오면 된다.


그럼! 3이 제일

작은 숫자인지는 

어떻게 알까?


숫자를 하나 하나

비교하면

제일 작은 숫자를

알 수 있다.


5 30 3 11 8 12


5와 30을 비교하면 5가 작음

5와 3을 비교하면 3이 작음

3과 11를 비교하면 3이 작음

3과 8을 비교하면 3이 작음

3과  12를 비교하면 3이 작음


위 과정을 거치면

3이 제일 작은 숫자란 걸

알 수 있다.


제일 작은 3맨 앞으로

이동하면 된다.


제일 작은 숫자를 찾아서

맨 앞으로 이동했으니

다음으로 작은 숫자를 찾아서

그 다음 자리에 이동하면 된다.


정리하자면

비교하여 작은 숫자는 앞으로

앞에 있는 숫자는 작은 숫자 자리

이동하는 것을 반복하면 된다.


위 과정을 노트에

직접 그려 보는 것을

동영상으로 만들었다.

* 참고

이런 생각하는 과정이

처음임에도 다른 방법으로

생각을 한 분들도 있을 것이다.

많은 방법 중에 하나라고

생각하면 된다.


이제 코드로 직접

작성해 보자!


다.음 시간에~


이전글 - 2020/10/14 - [EDU] - 언어를 본격적으로 배우기 전에! 맛보기 #01 - 문제 인식하고 해결 가능한 방법 찾기

다음글 - 2020/11/20 - [EDU] - 작성중 언어를 본격적으로 배우기 전에! 맛보기 #03 - 노트에 정리한 생각을 코드로 작성하기(변수와 비교문 이용하여 오름차순 정렬하기)



반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

언어를 본격적으로 배우기 전

어렵지 않게 시작했으면 

좋겠다는 생각으로

문제를 해결해 보면서 

맛보기 형식으로

글을 작성해 볼까 한다.


문제를 해결하면서 

알 수 있는 것들

1. 생각들을 어떻게 코드로 작성하고,

2. 변수를 이해하고,

3. 반복문을 이해하고,

4. 비교문을 이해하는것이다.

+ 5. @


사용할 언어자바이며

개발 환경툴이클립스 IDE

사용한다.


문제

------------------------------------

5 30 3 11 8 12

<처리>

8 12 30


*


702 301 80 1000 1

<처리>

80 702 1000

------------------------------------


'5 30 3 11 8 12'라는 것을

어떻게 하면

'8 12 30'으로 만들 수 있을까?


잠시 생각해 보자!

.

.

.

.

.

.



6개의 숫자3개의 숫자

줄어 들었다.


자세히 보니 작은 숫자에서

큰 숫자로 되어 있다.

또 보니 숫자가

짝수이다.


주어진 숫자를 

오름차순으로 정렬하여

짝수만 표시하면

되는 것이다.


두번째 예도 마찬가지로

오름차순으로 정렬된

짝수이다.


거꾸로

'짝수만 오름차순으로 정렬한다'

라고 생각해도 맞다.


이 작은 차이는 

코드를 작성하면서

자연스럽게 알게 될 것이다.


계속......


다음글 - 2020/10/23 - [EDU] - 언어를 본격적으로 배우기 전에! 맛보기 #02 - 정렬 과정을 노트에 그려 보자


반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,