2024년 1회 짝수

이주원·2025년 3월 28일

컴퓨터언어

목록 보기
14/50

v1이 v2보다 작잖아 그래서 v1이 값이되므로
if( 0 )이 되는데 0이면 false이므로

v3 = v3 << 2 ; 가실행됨
v3를 2진수로바꿔서 left shift 2번하면됩니다

따라서 35 + 116 = 151


str 문자열생성하고

strlen 함수에 넣습니다
p1변수화 p2변수를 만들어서 p1은 문자열맨앞 p2는 맨뒤를 가르키게합니다 그리고 자리를 바꾸네요

그럼 len변수에는 "HGFEDCBA"이렇게 들어가게됩니다.
포인터를 바꾸었기 때문에 실질적으로 str이 바뀌었음
출력을 1부터 +2단위로 출력

G E C A 이렇게 나옵니다.


일단 제 1정규형은 맞습니다 이유는 셀마다 고유값이 들어가니까

고객아이디 + 강좌명을 통해서 강사번호의 고유값이 정해집니다.

어떤 컬럼이 전체 키가 아닌, 키의 일부분에만 의존하면 안 된다! 라는 말이라네요 그렇다면
보면 강사번호가 두개의 키값( 복합 기본키 )에 의존하기때문에 일부에만 의존하는것이 아닙니다 결국 제 2정규형도 만족하게되네요

제3정규형(3NF)은
"기본키가 아닌 컬럼을 보고 또 다른 컬럼이 결정되는 구조를 없애는 것"입니다.
즉, 모든 컬럼은 오직 기본키에만 직접 의존해야 해요.

이게아니지않나요?? 라고 생각했는데
복합기본키니까 맞다고하네요!! 고객아이디 + 강좌명이 합쳐져야 기본키인샘입니다.


( 1 ) 조건에 맞는 속성값을 반환
( 2 ) 일치하는 결과 반환
( 3 ) 중복된 속성 제거

이렇게 요약했습니다.

1 - 모르겠어요 조건문이니까 where 일까요
2 - 등호 일치하는결과니까 이게 where인가??
3 - 중복 속성제거는 depts 였던것같은데

전부 틀렸습니다.

세타조인 : 모든 조합을 합치는 게 아니라, 조건을 만족하는 경우에만 두 테이블의 튜플(행)을 연결
동등조인 : 세타조인중에서 '='기호를 사용하는것은 동등조인입니다.
자연조인 : 동등조인중에서 중복 칼럼을 제거하는 조인은 자연조인입니다.


10. 아래 JAVA언어 코드의 실행 순서를 중복 번호없이 작성하시오.

class Parent {
    int x, y;

    Parent(int x, int y) { // 1
        this.x=x;
        this y=y;
    }

    int getT() { // 2
        return x*y;
    }
}



​class Child extend Parent {
    int x;

    Child (int x) { // 3
        super(x+1, x);
        this.x=x;
    }

    int getT(int n){ // 4
        return super.getT()+n;
    }
}



class Main {
    public static void main(String[] args) { // 5
        Parent parent = new Child(3); // 6
        System.out.println(parent.getT()); // 7
    }
}

메인부터 시작하니 첫번째. 5
그다음 다음문장인 두번째. 6
Child 객체가 실행되었으니 세번째. 3
부모클래스인 super를 호출하였으니 네번째. 1
모든 메서드를 호출하고 돌아가서 다음문장인 다섯번째. 7
부모클래스의getT호출 하였으니 여섯번째. 2


리스트 생성
str변수생성

반복문에 들어가는데
첫번째. Seoul에서 1번인덱스를 str에 더해줌 현재str. Se
두번째. Kyeonggi에서 1번인덱스를 str에 더해줌 현재str. Sey
...
결국 str은 Seynaau


  1. 모든조합 테스트가아니라 필요한 조합을 찾아냄
  2. 전체결과 영향을 주는 조건만 테스트
  3. 모든 파라미터 테스트 ( 모든 파라미터가 아니라 선택된 파라미터들이 결과에 영향을 준다는 말이네요 )

필요한 조건을 찾아내는것을보니 아마 결정 커버리지 아닐까요
전체결과에 영향을 주는 테스트만 찾는것은 아무래도 변경 조건/결정 커버리지
모든 파라미터를 테스트하는것은 구문 커버리지로 알고 있습니다.

ㄴ,ㄹ,ㄱ

놀랍게도 정답은 하나

예제기반으로 설명

if (a > 0 && b > 0) {
c = 1;
} else {
c = -1;
}

이런 조건문이있다고 할경우

ㄱ. 구문 커버리지: c = 1; 과 c = -1; 이 모두 실행되도록 테스트

ㄴ. 결정 커버리지: 조건문 전체 (a > 0 && b > 0) 가 true, false 되도록 테스트

ㄷ. 조건 커버리지: a > 0, b > 0 각각이 true/false 가 되도록 테스트

ㄹ. 변경 조건/결정 커버리지: 예를 들어 a 값 하나만 바꿔서 전체 결과가 바뀌는지 확인

ㅁ. 다중 조건 커버리지: (T,T), (T,F), (F,T), (F,F) 네 가지 조합 모두 테스트

ㅂ. 경로 커버리지: if문과 else문, 반복문 등 포함된 모든 경로를 따져서 테스트

ㅅ. 조건/결정 커버리지: 조건 각각과 전체 판단 결과가 true/false가 되도록 확인


16. 다음 Java 코드를 보고 알맞는 출력 값을 작성하시오.

class classOne {
    int a, b;
    public classOne(int a, int b) {
        this.a = a;
        this.b = b;
    }
    public void print() {
        System.out.println(a + b);
    }
}
class classTwo extends classOne {
    int po = 3;
    public classTwo(int i) {
        super(i, i+1);
    }
    public void print() {
        System.out.println(po*po);
    }
}
public class main {  
    public static void main(String[] args) {
        classOne one = new classTwo(10);
        one.print();
    }
}
  1. 메인에서 classTwo객체를 생성합니다.
  2. classTwo 생성자는 부모클래스를 호출하네요 파라미터 10,11
  3. 부모클레스에서 a - 10 , b - 11이됩니다.
  4. 각각 메서드에서 생성자를 호출하고 돌아와서 다음문장실행 one.print()
  5. 생성된 객체는 classTwo이므로 print는 System.out.println(po*po); 메서드가 호출되고 결과는 9를 출력

조건문부터 보겠습니다.
1. EMPNO > 100보다 커야합니다. 맨위 카디널리티 아웃
2. SAL값이 3000보다 크거나작고 EMPNO가 200인것은 하나뿐입니다.
3. SELECT FROM 으로가보면 COUNT를하기때문에
4. 결과적으로 EMPNO가 200 인 값 하나만 COUNT 됩니다.

정답 : 1


눈에보이는 키워드
1. 구체적인 클레스에 의존하지 않는다.
2. 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스 패턴
3. 추상화
4. 팩토리

연관이있는 객체들을 인터페이스처럼 찍어내는 추상화된 패턴은
추상팩토리 패턴이 맞는 것 같습니다.

profile
뭐가될지 모름

0개의 댓글