본문 바로가기

Fumin's681

[정보처리기사][알고리즘][응용] 숫자와 좌우 위치 변경 Q. A(10)의 배열에는 첫번째 위치부터 특정 번째까지 0이 아닌 자연수가 들어있고, 나머지는 0이 들어있다. 처음으로 0이 나오기 전까지의 숫자들의 위치를 반대로 교환하여 출력하는 순서도를 작성하시오. 예를들어 1234500000이면 5432100000으로 출력하고, 1234000000이면 4321000000으로 출력해야 한다.1. 데이터가 저장될 배열 A를 선언한다. 배열 A에는 데이터가 저장되어 있다고 가정한다. 2. 배열의 위치가 1부터 시작되므로 i를 1로초기화한다.첫번째로 0이 나오는 위치를 찾는다 A(i)의 값이 0이면 교환을 위해 Yes로 가고 아니면 계속 찾는다. 1) No일 경우, 숫자의 위치를 1증가 시킨다. 그리고 2번으로 간다. 2) Yes일 경우 으로 간다. 3. 숫자의 끝 위.. 2015. 8. 23.
[정보처리기사][알고리즘][응용] 역순으로 숫자 더하기 Q. 데이터를 읽어서 역순으로 변환한 후 원래의 데이터와 더하여 출력하는 순서도를 작성하시오. 예를 들어 123456이 입력되면 654321로 변환후 원래의 수와 더하여 풀력한다. 즉, 123456 + 654321= 777777이 출력된다. 단, 입력되는 값은 6자리 정수이고 999999가 입력되면 종료한다.1. 배열 A를 선언한다. 2. 숫자를 입력 받는다. 3. X가 999999이면 종료한다. 1) Yes일 경우, 종료한다. 2) No일 경우, 4로 간다. 4. 입력받은 값을 보존한다. 5. 숫자가 6자리 이므로 6회 반복한다. i는 배열의 첨자로 사용된다. 1) 입력받은 숫자를 10으로 나눠 몫을 구한다. 2) 나머지를 구한다. 3) 10으로 나눈 나머지를 배열에 저장한다. 4) 다음 다리를 추출하.. 2015. 8. 23.
[정보처리기사][알고리즘][응용] 반 배정 Q. 1번부터 21번까지 21명의 학생을 3학급으로 편성하는 순서도를 작성하시오. 첫 학생의 반은 2명의 교사가 제시한 2개의 숫자를 더한 후 21로 나눈 나머지 번째에 있는 학생을 1반으로 지정한다. 이후에는 첫번째 지정한 학생으로부터 4명 건너뛴 학생이 2반이 되며, 다시 4명 건너뛴 학생이 3반이 된다. 이러한 방법으로 3반 다음에는 다시 1반으로 연결된다. 단, 나머지가 0이면 21로 간주하고 이미 반이 배정된 학생은 건너뛰는 4명에서 제외시킨다.1. 배정된 반이 저장될 배열 A를 선언한다. 2. 반이 배정될 배열을 0으로 초기화한다. 1) A(I)를 0으로 초기화한다. 3. 2명의 교사가 제시한 수 2개를 입력받는다. 4. 입력받은 두 수를 더한다. 5. 입력받은 두 수의 합을 21로 나눈 나머.. 2015. 8. 23.
[정보처리기사][알고리즘][응용] 사과 나눠 갖기 Q. A, B, C, D의 네 사람과 사과 한 바구니가 있다. A가 4등문하였더니 1개가 남았다. 남은 1개를 먹고 4등분한 한 몫을 가졌다. B가 남은 사과를 다시 4등분하였더니 역시 1개가 남았다. 남은 1개를 먹고 그 한 몫을 가졌다. C , D도 4등분해 보았더니 역시 1개가 남았다. 최초에 사과는 몇개가 있었을까? 위의 조건을 만족하는 가장 작은 사과 개수를 계산하는 순서도를 작성하시오.1. i는 1씩 누적되며 증가하는 변수이므로 0으로 초기화한다. 2. 사ㅏ과의 개수 i를 1씩 증가시킨다. 3. 증가하는 사과의 개수는 변경되면 안되므로 임시 변수에 저장한다. 4. 다섯번의 계산을 수행해야 하므로 K가 1에서 5가 될때까지 1씩 증가하면서 반복한다. 1) 사과의 개수를 4등분하고 남은 나머지를 .. 2015. 8. 23.