-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
목차
1.1 자바의 소개 3
1.1.1 자바의 정의 3
1.1.2 자바언어의 특징 3
1.2. 자바 기초 문법 8
1.2.1 Comment, Semicolons, Blocks, WhiteSpace 8
1.2.2 Identifiers(식별자) 8
1.2.3 Java Keyword 8
1.2.4 Basic Java Type 9
1.2.5 객체(Object)의 이해 10
1.2.4 Default Initialization 10
1.2.5 클래스의 생성 및 객체의 사용 예제 11
1.2.6 변수 및 변수 영역 11
1.2.7 변수의 초기화 12
1.2.8 연산자 13
1.2.9 형 변환(Casting) 17
1.2.10 흐름제어 17
2.1 알고리즘의 정의 21
2.1.1 알고리즘의 정의 21
2.1.2 알고리즘의 조건 21
2.2 알고리즘의 설계 및 검증 21
2.2.1 알고리즘 설계단계 21
2.2.2 알고리즘의 분석 기준 21
2.3 순서도 (Flow Chart) 작성법 22
2.3.1 순서도란? 22
2.3.2 순서도의 역할 22
2.3.3 순서도 작성으로 얻을수 있는 효과 23
2.3.4 순서도의 종류 23
2.3.5 순서도 작성 방법 23
2.3.6 순서도의 기호와 사용 예 24
3.1 기본 설계 28
3.1.1 1 부터 100까지의 합계를 구하라 28
3.1.2 1단부터 9단까지의 구구단을 출력 30
3.2 순열 알고리즘 32
3.2.1 1+2+4+7+11+16+22+...의 순서로 나열되는 순열의 20번째 항까지의 합계 32
3.2.2 1+1+2+3+5+8+13+...의 순서로 나열되는 피보나치 수열의 20번째 항까지의 합계 34
3.2.3 1-2+3-4+5-6+....+99-100 합계 36
3.2.4 의 합계 38
3.3 소수[素數, prime number] 40
3.3.1 임의의 정수를 입력하여 소수를 판별하는 프로그램 작성 40
3.3.2 배열A(99)에는 2~100사이의 소수의 개수 구하기 43
3.3.3 임의의 정수를 입력받아 그 안에 포함된 소수의 합 46
3.4 약수[約數, divisor] 49
3.3.1 정수를 입력받아 약수를 구해 출력 49
3.3.2 최대 공약수[最大公約數, greatest common measure] / 최소공배수 구하기 52
3.5 기타 예제 55
3.5.1 10진수를 입력받아 2진수로 변환하는 순서도를 작성하시오. 55
3.5.2 10개의 숫자 중 가장 큰값을 찾는 방법 57
3.5.3 1부터 100까지의 수중에서 5의 배수를 구해서 합을 구하는 방법 59
3.5.4 입력받은 수중 7에 가장 가까운 숫자 구하기 61
3.5.5 10개의 수치자료를 입력받아서 오름차순으로 정렬 63
3.5.6 키보드로 입력받은 값이 DATA 배열 중 몇 번째에 찾는 방법 66
3.5.7 다음과 같은 2차원 배열 생성 68
1.1.1 자바의 정의 3
1.1.2 자바언어의 특징 3
1.2. 자바 기초 문법 8
1.2.1 Comment, Semicolons, Blocks, WhiteSpace 8
1.2.2 Identifiers(식별자) 8
1.2.3 Java Keyword 8
1.2.4 Basic Java Type 9
1.2.5 객체(Object)의 이해 10
1.2.4 Default Initialization 10
1.2.5 클래스의 생성 및 객체의 사용 예제 11
1.2.6 변수 및 변수 영역 11
1.2.7 변수의 초기화 12
1.2.8 연산자 13
1.2.9 형 변환(Casting) 17
1.2.10 흐름제어 17
2.1 알고리즘의 정의 21
2.1.1 알고리즘의 정의 21
2.1.2 알고리즘의 조건 21
2.2 알고리즘의 설계 및 검증 21
2.2.1 알고리즘 설계단계 21
2.2.2 알고리즘의 분석 기준 21
2.3 순서도 (Flow Chart) 작성법 22
2.3.1 순서도란? 22
2.3.2 순서도의 역할 22
2.3.3 순서도 작성으로 얻을수 있는 효과 23
2.3.4 순서도의 종류 23
2.3.5 순서도 작성 방법 23
2.3.6 순서도의 기호와 사용 예 24
3.1 기본 설계 28
3.1.1 1 부터 100까지의 합계를 구하라 28
3.1.2 1단부터 9단까지의 구구단을 출력 30
3.2 순열 알고리즘 32
3.2.1 1+2+4+7+11+16+22+...의 순서로 나열되는 순열의 20번째 항까지의 합계 32
3.2.2 1+1+2+3+5+8+13+...의 순서로 나열되는 피보나치 수열의 20번째 항까지의 합계 34
3.2.3 1-2+3-4+5-6+....+99-100 합계 36
3.2.4 의 합계 38
3.3 소수[素數, prime number] 40
3.3.1 임의의 정수를 입력하여 소수를 판별하는 프로그램 작성 40
3.3.2 배열A(99)에는 2~100사이의 소수의 개수 구하기 43
3.3.3 임의의 정수를 입력받아 그 안에 포함된 소수의 합 46
3.4 약수[約數, divisor] 49
3.3.1 정수를 입력받아 약수를 구해 출력 49
3.3.2 최대 공약수[最大公約數, greatest common measure] / 최소공배수 구하기 52
3.5 기타 예제 55
3.5.1 10진수를 입력받아 2진수로 변환하는 순서도를 작성하시오. 55
3.5.2 10개의 숫자 중 가장 큰값을 찾는 방법 57
3.5.3 1부터 100까지의 수중에서 5의 배수를 구해서 합을 구하는 방법 59
3.5.4 입력받은 수중 7에 가장 가까운 숫자 구하기 61
3.5.5 10개의 수치자료를 입력받아서 오름차순으로 정렬 63
3.5.6 키보드로 입력받은 값이 DATA 배열 중 몇 번째에 찾는 방법 66
3.5.7 다음과 같은 2차원 배열 생성 68
본문내용
Data);
initData[inputCount] = intInData;
inputCount ++;
if(inputCount >= maxCount){
break;
}
}
}catch(Exception e){
e.printStackTrace();
}
int temp;
for(int i=0 ; i < maxCount ; i++){
for(int j=i; j < maxCount ; j++){
if( initData[i]> initData[j]){
temp = initData[i];
initData[i] = initData[j];
initData[j] = temp;
}
System.out.println("[i="+i+",j="+j+"] ");
for(int k=0; k < maxCount ; k++){
System.out.print(initData[k]+" ");
}
System.out.println("");
}
}
}
}
DATA(10)은 initData라는 변수로 사용하고, M은 inputCount 로 저장한다. 임시변수는 temp로 사용
3.5.6 키보드로 입력받은 값이 DATA 배열 중 몇 번째에 찾는 방법
분석 : 2분 검색
10개의 숫자 중 하나의 숫자가 몇 번째 있는지를 검색하는 방법을 도표로 나타내면 다음과 같다.
10개의 숫자가 순차적으로 정렬되어 있을 때 44라는 숫자가 몇 번째에 있는 지를 알기 위해서 중간 값을 비교하여 그값의 크기를 비교하면서 검색해 나간다.
순서도 작성
DATA(10)은 입력받은 10개의 숫자가 저장될 배열
J는 검색할 값
L : 검색 시작 위치 L=1
H 는 마지막 위치 H= 10
M 는 중간위치 M = (INT)((L+H)/2)로 계산한다.
프로그램 작성
TwoSearch.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class TwoSearch {
public static void main(String[] args) {
int[] data = {8,15,35,55,60,61,70,80,92,99};
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
String strInData;
int inputData=0;
System.out.println(" 숫자 입력받기 .. ");
try{
System.out.print("숫자를 입력하시오. ");
strInData = in.readLine(); // 키보드 입력 읽기 (줄 단위)
inputData = Integer.parseInt(strInData);
}catch(Exception e){
e.printStackTrace();
}
int lowPos = 1;
int highPos = 10;
int midPos =5;
while(true ){
if(lowPos <= highPos){
midPos = (int)((lowPos+highPos)/2);
if(inputData != data[midPos]){
if( inputData < data[midPos]){
highPos = midPos-1;
}else{
lowPos = lowPos +1;
}
}else{
System.out.println("INPUT -"+ inputData +" POS-"+midPos);
break;
}
}else{
System.out.println("INPUT -"+ inputData +" NOT FOUND");
break;
}
}
}
}
3.5.7 다음과 같은 2차원 배열 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
분석 : 다차원 배열
위의 다차원 배열을 표시하면 다음과 같이 표시될 수 있다. (보통 배열은 1이 최초인덱스이지만, 실제 프로그래밍에서는 0이 최초 인덱스이다.)
1 ( 1,1 )
2 ( 2,1 )
3 ( 2,2 )
4 ( 3,1 )
5 ( 3,2 )
6 ( 3,3 )
7 ( 4,1 )
8 ( 4,2 )
9 ( 4,3 )
10 ( 4,4 )
11 ( 5,1 )
12 ( 5,2 )
13 ( 5,3 )
14 ( 5,4 )
15 ( 5,5 )
아래처럼 상세하게 표현할 수 있다.
(1,1)
(2,1)
(2,2)
(3,1)
(3,2)
(3,3)
(4,1)
(4,2)
(4,3)
(4,4)
(5,1)
(5,2
(5,3
(5,4
(5,5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
이를 순서도로 표현하면 다음과 같다.
순서도 작성
A(5,5)는 2차원 배열
K는 배열에 들어가는 숫자로 1씩 순차적으로 증가한다.
I는 세로에 대한 위치 즉 행 위치이고, J는 가로에 대한 위치 즉, 열 위치이다.
프로그램 작성
LeftTriArray.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class LeftTriArray {
public static void main(String[] args) {
int A[][] = new int[5][5];
int value = 0;
for(int i=0; i< 5 ;i++){
A[i] = new int[5];
for(int j=0; j< i+1; j++){
System.out.println(i+":"+j);
A[i][j] = ++value;
}
}
for(int i=0; i < A.length ; i++){
for(int j=0; j < A[i].length ; j++){
System.out.print(A[i][j]+"");
}
System.out.println("");
}
}
}
자바에서의 2차원 배열은 int A[][] = new int[5][5];처럼 선언한다. 그리고 자바에서의 배열은 객체로 인식되기 때문에 INT에 대한 배열이라도 int가 원시형데이터이지만, 배열은 객체 타입이 된다.
initData[inputCount] = intInData;
inputCount ++;
if(inputCount >= maxCount){
break;
}
}
}catch(Exception e){
e.printStackTrace();
}
int temp;
for(int i=0 ; i < maxCount ; i++){
for(int j=i; j < maxCount ; j++){
if( initData[i]> initData[j]){
temp = initData[i];
initData[i] = initData[j];
initData[j] = temp;
}
System.out.println("[i="+i+",j="+j+"] ");
for(int k=0; k < maxCount ; k++){
System.out.print(initData[k]+" ");
}
System.out.println("");
}
}
}
}
DATA(10)은 initData라는 변수로 사용하고, M은 inputCount 로 저장한다. 임시변수는 temp로 사용
3.5.6 키보드로 입력받은 값이 DATA 배열 중 몇 번째에 찾는 방법
분석 : 2분 검색
10개의 숫자 중 하나의 숫자가 몇 번째 있는지를 검색하는 방법을 도표로 나타내면 다음과 같다.
10개의 숫자가 순차적으로 정렬되어 있을 때 44라는 숫자가 몇 번째에 있는 지를 알기 위해서 중간 값을 비교하여 그값의 크기를 비교하면서 검색해 나간다.
순서도 작성
DATA(10)은 입력받은 10개의 숫자가 저장될 배열
J는 검색할 값
L : 검색 시작 위치 L=1
H 는 마지막 위치 H= 10
M 는 중간위치 M = (INT)((L+H)/2)로 계산한다.
프로그램 작성
TwoSearch.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class TwoSearch {
public static void main(String[] args) {
int[] data = {8,15,35,55,60,61,70,80,92,99};
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
String strInData;
int inputData=0;
System.out.println(" 숫자 입력받기 .. ");
try{
System.out.print("숫자를 입력하시오. ");
strInData = in.readLine(); // 키보드 입력 읽기 (줄 단위)
inputData = Integer.parseInt(strInData);
}catch(Exception e){
e.printStackTrace();
}
int lowPos = 1;
int highPos = 10;
int midPos =5;
while(true ){
if(lowPos <= highPos){
midPos = (int)((lowPos+highPos)/2);
if(inputData != data[midPos]){
if( inputData < data[midPos]){
highPos = midPos-1;
}else{
lowPos = lowPos +1;
}
}else{
System.out.println("INPUT -"+ inputData +" POS-"+midPos);
break;
}
}else{
System.out.println("INPUT -"+ inputData +" NOT FOUND");
break;
}
}
}
}
3.5.7 다음과 같은 2차원 배열 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
분석 : 다차원 배열
위의 다차원 배열을 표시하면 다음과 같이 표시될 수 있다. (보통 배열은 1이 최초인덱스이지만, 실제 프로그래밍에서는 0이 최초 인덱스이다.)
1 ( 1,1 )
2 ( 2,1 )
3 ( 2,2 )
4 ( 3,1 )
5 ( 3,2 )
6 ( 3,3 )
7 ( 4,1 )
8 ( 4,2 )
9 ( 4,3 )
10 ( 4,4 )
11 ( 5,1 )
12 ( 5,2 )
13 ( 5,3 )
14 ( 5,4 )
15 ( 5,5 )
아래처럼 상세하게 표현할 수 있다.
(1,1)
(2,1)
(2,2)
(3,1)
(3,2)
(3,3)
(4,1)
(4,2)
(4,3)
(4,4)
(5,1)
(5,2
(5,3
(5,4
(5,5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
이를 순서도로 표현하면 다음과 같다.
순서도 작성
A(5,5)는 2차원 배열
K는 배열에 들어가는 숫자로 1씩 순차적으로 증가한다.
I는 세로에 대한 위치 즉 행 위치이고, J는 가로에 대한 위치 즉, 열 위치이다.
프로그램 작성
LeftTriArray.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class LeftTriArray {
public static void main(String[] args) {
int A[][] = new int[5][5];
int value = 0;
for(int i=0; i< 5 ;i++){
A[i] = new int[5];
for(int j=0; j< i+1; j++){
System.out.println(i+":"+j);
A[i][j] = ++value;
}
}
for(int i=0; i < A.length ; i++){
for(int j=0; j < A[i].length ; j++){
System.out.print(A[i][j]+"");
}
System.out.println("");
}
}
}
자바에서의 2차원 배열은 int A[][] = new int[5][5];처럼 선언한다. 그리고 자바에서의 배열은 객체로 인식되기 때문에 INT에 대한 배열이라도 int가 원시형데이터이지만, 배열은 객체 타입이 된다.
추천자료
- 관여도에 따라 소비자의 태도형성이 어떻게 달라지는가를 이론에 근거하여 논하시오and2) 소...
- 발달이론에서 행동주의 학습이론, 생득적 언어발달이론, 사회학습이론, 동물생태학이론, 인지...
- [문자메시지]문자메시지(문자메세지)와 광고문자, 문자메시지(문자메세지)와 심상처리정보, ...
- [아동발달] 인지발달이론 - 피아제(Piaget)의 인지발달이론, 정보처리이론, 비고츠키(Vygotsk...
- 영아기 인지발달 - 인지발달, 피아제(Piaget)의 접근법, 정보처리접근, 언어의 구성요소, 언...
- 휴리스틱과 바이어스 (잉그리치의 실험, 이중 프로세스 이론, 운동선수의 휴리스틱, 정보처리...
- 기초 학습 기능 검사 _ 기초 학습 기능 검사의 구성, 소검사의 측정 내용(정보처리, 셈하기, ...
- 조직구조, 조직구조 설계의 응용, 조직구조의 형태,공식적보고체계,조직구조에 대한 정보처리...
- 인지이론(認知理論) : 인지학습이론에서의 인지이론 인지적접근론 {인지이론의 배경, 통찰성,...
- [영유아infants발달] 아동의 인지발달에 대한 교육적 적용(뇌 발달이론, Piaget 이론, 정보처...
- [영유아infants발달] 아동의 인지발달 - 뇌 발달이론, Piaget의 인지발달이론(보존개념, 유목...
- [아동간호학 兒童看護學] 성장과 발달의 이론 - 학습이론(행동주의이론, 사회학습이론), 인지...
- 인지주의 학습이론 중 하나를 선택하고 선택한 이유와 함께 선택한 인지주의 학습이론에 대해...
- [아동수학지도] 수학교육의 이론적 배경과 각 이론이 수학교육에 기여한 점 - 행동주의이론, ...
소개글