7월 24일에 정처기 실기 시험을 접수해놨다.(공부한지 이틀됨..)
발등에 불 떨어져서 이제 공부를 시작해볼까 한다..
20년도부터 실기 유형이 변화했는데 가장 중요한건 기출을 분석하여 출제 성향을 파악하는 것이라 생각했다.
프로그래밍 언어 활용 출제빈도가 매 회 증가하고 있으며, 저번 22-1회차에서는 무려 7문제 가 출제되었다 하여, 따라서 해당 부분만 보기 쉽게 따로 정리하였다.
정처기가 개편된 20년을 기준으로 지금까지 나온 문제를 정리하였다.
<출처 : q.fran.kr>
다음은 C언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)
#include
void align(int a[ ]) {
int temp;
for (int i = 0; i < 4; i++) {
for (int j=0; j < 4 - i; j++) {
if (a[j]> a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
main( ) {
int a[ ] = { 85, 75, 50, 100, 95 };
align(a);
for (int i = 0; i < 5; i++) printf("%d ", a[i]);
}
다음은 C언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)
#include
main( ) {
int c = 1;
switch (3) {
case 1: c += 3;
case 2: c++;
case 3: c = 0;
case 4: c += 3;
case 5: c -= 10;
default: c--;
}
printf("%d", c);
}
다음은 Java언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)
public class Test {
static int[ ] arr( ) {
int a[ ] = new int[4];
int b = a.length;
for(int i = 0; i < b; i++)
a[i] = i;
return a;
}
public static void main(String[ ] args) {
int a[ ] = arr( );
for(int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
다음 파이썬(Python) 스크립트의 실행 결과를 적으시오.
>>> asia={"한국", "중국", "일본"}
>>> asia.add("베트남")
>>> asia.add("중국")
>>> asia.remove("일본")
>>> asia.update(["홍콩", "한국", "태국"])
>>> print(asia)
다음에 제시된 자바(Java) 프로그램이 [처리 결과]와 같은 결과를 출력할 때, 자바 프로그램의 ( ? )에 들어갈 표현을 대소문자를 구별하여 쓰시오.
[처리결과]
Child
class Parent {
void show() {
System.out.println("Parent");
}
}
class Child extends Parent {
void show() {
System.out.println("Child");
}
}
public class Exam {
public static void main(String[] args) {
Parent pa = ( ? ) Child();
pa.show();
}
}
다음 자바(Java) 프로그램을 실행한 출력 결과를 쓰시오.
class A {
int a;
public A(int n) {
a = b;
}
public void println("a="+a);
}
class B extends A {
public B(int n) {
super(n);
super.print();
}
}
public class Exam {
public static void main(String[] args) {
B obj = new B(10);
}
}
다음의 출력 결과를 쓰시오.
#include <stdio.h>
void main() {
int c=0;
int i=0;
while(i<10) {
i++;
c *= i;
}
printf("%d", c);
}
다음은 C언어 소스 코드이다. 출력 결과를 쓰시오.
#include <studio.h>
int r1(){
return 4;
}
int r10(){
return (30+r1());
}
int r100(){
return (200+r10());
}
int main(){
printf("%dn", r100());
return 0;
}
다음은 자바(Java) 코드이다. 출력 결과를 쓰시오.
abstract class vehicle{
private String name;
abstract public String getName(String val);
public String getName(){
return "vehicle name:" + name;
}
public void setName(String val){
name = val;
}
}
class Car extends Vehicle{
public Car(String val){
setName(val);
}
public String getName(String val){
return "Car name : " + val;
}
public String getName(byte val[]){
return "Car name : " + val;
}
}
public class good {
public Static void main(String[] args){
Vehicle obj = new Car("Spark");
System.out.print(obj.getName());
}
}
다음은 자바(Java) 코드이다. 출력 결과를 쓰시오.
public class Test{
public static void main(String []args){
int i=0;
int sum=0;
while (i<10){
i++;
if(i%2==1)
continue;
sum += i;
}
System.out.print(sum);
}
}
다음은 n이 10일 때, 10을 2진수로 변환하는 자바 소스 코드이다. A, B 괄호 안에 알맞은 값을 적으시오.
class good {
public static void main (String[] args) {
int[]a = new int[8];
int i=0; int n=10;
while ( 괄호 A ) {
a[i++] = ( 괄호 B );
n /= 2;
}
for(i=7; i>=0; i--){
System.out.print(a[i]);
}
}
}
다음은 자바 소스 코드이다. 출력 결과를 보고 괄호 A, B에 알맞은 값을 적으시오.
public class good {
public static void main(String[] args) {
int[][]a = new int[( 괄호A )][( 괄호B )];
for(int i = 0; i < 3; i++){
for(int j=0; j < 5; j++){
a[i][j] = j*3+(i+1);
System.out.print(a[i][j]+"");
}
System.out.println();
}
}
}
[출력 결과]
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15
다음은 파이썬 소스 코드이다. 출력 결과를 쓰시오.
lol = [[1,2,3],[4,5],[6,7,8,9]]
print(lol[0])
print(lol[2][1])
for sub in lol:
for item in sub:
print(item, end = '')
print()
다음은 C언어 소스 코드이다. 출력 값을 쓰시오.
#include <stdio.h>
void main(){
char *p = "KOREA"
printf("%sn" , p);
printf("%sn" , p+3);
printf("%cn" , *p);
printf("%cn" , *(p+3));
printf("%cn" , p+2);
}
다음은 자바(Java) 소스 코드이다. 출력 결과를 쓰시오.
class Parent {
public int compute(int num){
if(num <=1) return num;
return compute(num-1) + compute(num-2);
}
}
class Child extends Parent {
public int compute(int num){
if(num<=1) return num;
return compute(num-1) + compute(num-3);
}
}
class Good {
public static void main (String[] args){
parent obj = new Child();
System.out.print(obj.compute(4));
}
}
다음은 파이썬 코드이다. 출력 결과를 쓰시오.
class good :
li = ["seoul", "kyeonggi","inchon","daejeon","daegu","pusan"]
g = good()
str01 = ''
for i in g.li:
str01 = str01 + i[0]
print(str01)
다음 Java 프로그램 결과를 쓰시오.
public class QfranTest{
public static void main(String []args){
int a[][] = {{45, 50, 75}, {89}};
System.out.println(a[0].length);
System.out.println(a[1].length);
System.out.println(a[0][0]);
System.out.println(a[0][1]);
System.out.println(a[1][0]);
}
}
다음은 C언어 프로그램이다. 실행 결과를 쓰시오.
#include
struct good {
char name[10];
int age;
};
void main(){
struct good s[] = {"Kim",28,"Lee",38,"Seo",50,"Park",35};
struct good *p;
p = s;
p++;
printf("%sn", p-> name);
printf("%sn", p-> age);
}
다음은 Java 프로그램이다. 실행 결과를 쓰시오.
public class good {
public static void main(String[] args){
int i, j;
for(j=0, i=0; i<=5; i++){
j+=i;
System.out.print(i);
if(i==5){
System.out.print("=");
System.out.print(j);
}else{
System.out.print("+");
}
}
}
}
다음 파이썬 코드의 결과를 적으시오.
a = 100
result = 0
for i in range(1,3);
result = a >> i
result = result + 1
pirnt(result)
다음은 C언어에 관한 소스코드이다. 실행 결과값을 작성하시오.
int mp(int base, int exp);
int main(){
int res;
res = mp(2,10);
printf("%d",res);
return 0;
}
int mp(int base, int exp) {
int res = 1;
for(int i=0; i < exp; i++){
res = res * base;
}
return res;
}
이것은 클래스 내에서 객체 생성 없이 사용할 수 있는 메소드이다. 다음의 출력 결과를 보고 괄호안에 알맞은 답안을 작성하시오.
public class Test {
public static void main(String[] args){
system.out.print(Test.check(1));
}
( 괄호 ) String check (int num) {
return (num >= 0) ? "positive" : "negative";
}
}
[출력결과]
positive
다음은 C언어 코드의 실행 결과를 적으시오.
int main() {
int ary[3];
int s = 0;
*(ary + 0) = 1;
ary[1] = *(ary + 0) + 2;
ary[2] = *ary + 3;
for(int i = 0; i < 3; i++) {
s = s + ary[i];
}
printf("%d", s);
}
다음 JAVA 코드의 실행 결과를 적으시오.
public class over {
public static void main(String[] args){
ovr a1 = new ovr1();
ovr a2 = new ovr2();
System.out.println(a1.sun(3,2) + a2.sun(3,2));
}
int sun(int x, int y){
return x + y;
}
}
class ovr2 extends ovr1 {
int sun(int x, int y){
return x - y + super.sun(x,y);
}
}
다음 Java 코드에 대한 알맞는 출력값을 쓰시오.
class Connection {
private static Connection _inst = null;
private int count = 0;
static public Connection get() {
if(_inst == null) {
_inst = new Connection();
return _inst;
}
return _inst;
}
public void count() { count ++; }
public int getCount() { return count; }
}
public class testcon {
public static void main(String[] args) {
Connection conn1 = Connection.get();
conn1.count();
Connection conn2 = Connection.get();
conn2.count();
Connection conn3 = Connection.get();
conn3.count();
System.out.print(conn1.getCount());
}
}
다음 Java 코드에 대한 알맞는 출력값을 쓰시오.
public class testco {
public static void main(String[] args) {
int a = 3, b = 4, c = 3, d = 5;
if((a == 2 | a == c) & !(c > d) & (1 == b ^ c != d)) {
a = b + c;
if(7 == b ^ c != a) {
System.out.println(a);
} else {
System.out.println(b);
}
} else {
a = c + d;
if(7 == c ^ d != a) {
System.out.println(a);
} else {
System.out.println(d);
}
}
}
}
다음 C언어 코드에 대한 알맞는 출력값을 쓰시오.
#include
int main(){
int *arr[3];
int a = 12, b = 24, c = 36;
arr[0] = &a;
arr[1] = &b;
arr[2] = &c;
printf("%dn", *arr[1] + **arr + 1);
}
다음 파이썬 코드의 알맞는 출력값을 쓰시오.
a,b = 100, 200
print(a==b)
다음 C언어 코드에 대한 알맞는 출력값을 쓰시오.
#include
struct jsu {
char nae[12];
int os, db, hab, hhab;
};
int main(){
struct jsu st[3] = {{"데이터1", 95, 88},
{"데이터2", 84, 91},
{"데이터3", 86, 75}};
struct jsu* p;
p = &st[0];
(p + 1)->hab = (p + 1)->os + (p + 2)->db;
(p + 1)->hhab = (p+1)->hab + p->os + p->db;
printf("%dn", (p+1)->hab + (p+1)->hhab);
}
다음 자바 문법에 알맞는 출력 결과를 작성하시오.
class A {
int a;
int b;
}
public class Main {
static void func1(A m){
m.a *= 10;
}
static void func2(A m){
m.a += m.b;
}
public static void main(String args[]){
A m = new A();
m.a = 100;
func1(m);
m.b = m.a;
func2(m);
System.out.printf("%d", m.a);
}
}
다음은 파이썬 코드에서 출력되는 a와 b의 값을 작성하시오.
```python
def exam(num1, num2=2):
print('a=', num1, 'b=', num2)
exam(20)
다음 Java 코드 중에서 밑줄에 들어갈 알맞는 코드를 작성하시오.
class Car implements Runnable{
int a;
public void run(){
system.out.println("message")
}
}
public class Main{
public static void main(String args[]){
Thread t1 = new Thread(new ___());
t1.start();
}
}
다음 소스코드에서 입력값이 5가 들어왔을때 출력되는 값을 작성하시오.
#include <stdio.h>
int func(int a) {
if (a <= 1) return 1;
return a * func(a - 1);
}
int main() {
int a;
scanf("%d", &a);
printf("%d", func(a));
}
다음 중, 설명에 대한 괄호 ( ) 안에 들어갈 알맞는 답을 작성하시오.
#include <stdio.h>
int main() {
int number = 1234;
int div = 10;
int result = 0;
while (number ( 1 ) 0) {
result = result * div;
result = result + number ( 2 ) div;
number = number ( 3 ) div;
}
printf("%d", result);
}
Colored by Color Scripter
다음 소스코드가 실행할 때의 출력값을 작성하시오.
#include <stdio.h>
int isPrime(int number) {
int i;
for (i=2; i<number; i++) {
if (number % i == 0) return 0;
}
return 1;
}
int main(void) {
int number = 13195, max_div=0, i;
for (i=2; i<number; i++)
if (isPrime(i) == 1 && number % i == 0) max_div = i;
printf("%d", max_div);
return 0;
}