정보처리실기 - 문제 (코드형 1)

anonymous·2022년 4월 3일
0

정보처리기사

목록 보기
14/15

자바

1 다음 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());
  }
}

설명

// 기존에 객체가 없으면 new - 새로운 커넥션 객체 생성 , 단 기존에 객체가 있으면 기존 객체 리턴  
Connection conn1 = Connection.get();
static public Connection get() {
  if(_inst == null) {
  _inst = new Connection();
  return _inst; 
  }
return _inst;
}
// 해당 메소스 실행 후 count +=1 
conn1.count();

2 이것은 클래스 내에서 객체 생성 없이 사용할 수 있는 메소드이다. 다음의 출력 결과를 보고 괄호안에 알맞은 답안을 작성하시오.

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

3 다음 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);
    }
}

C 언어

1 다음 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);
}

2 다음은 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);
}

3 다음은 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;
}

4 다음 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("%d\n", (p+1)->hab + (p+1)->hhab);
}

힌트
p = &st[0]; ← p는 st의 주소값(배열 시작점)을 가집니다.

(p + 1)->hab = (p + 1)->os + (p + 2)->db; ← p[1].hap = 84 + 75 = 159 입니다.

(p + 1)->hhab = (p+1)->hab + p->os + p->db; ← p[1].hhap= 159 + 95 + 88 = 342 입니다.

printf("%d\n", (p+1)->hab + (p+1)->hhab); ← 159 + 342 = 501 입니다.

파이썬

1 다음 파이썬 코드의 결과를 적으시오.

a = 100
result = 0
for i in range(1,3);
   result = a >> i
   result = result + 1
print(result)

10진수 값을 2진수로 변경 후 시프트 연산을 하고 합하기
https://heestory217.tistory.com/81
https://velog.io/@csk917work/%EC%A7%84%EC%88%98-%EB%B3%80%EA%B2%BD#10%EC%A7%84%EC%88%98---2%EC%A7%84%EC%88%98

SQL

1 테이블의 튜플을 수정하고자 한다. 올바른 SQL을 작성하기 위해 빈칸을 채우시오.

(    A   ) 테이블명  (     B    )  컬럼 = 값 WHRE 점수 >= 90;

2 다음은 Inner Join을 하기 위한 SQL이다. 빈칸에 들어갈 문구를 적으시오.

SELECT .... FROM 학생정보 a JOIN 학과정보 b (   A   ) a.학과 = b.(   B   )

3 다음은 '이'씨 성을 가진 사람의 이름을 내림차순으로 출력하기 위한 SQL문이다. 괄호안에 들어갈 알맞은 답안을 작성하시오.

SELECT ... FROM ... WHERE 이름 LIKE ( A ) ORDER  BY ( B )

출처

기출문제
https://q.fran.kr/%EC%8B%9C%ED%97%98/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0/

profile
기술블로거입니다

0개의 댓글