public class Main {
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);
}
}
}
🖍️ 7
&
: 비트연산자로써 모두 같을 경우 true / 아니면 false|
: 비트연산자로써 하나라도 조건이 맞을 경우 true / 아니면 false^
: XOR연산자로써 두 값이 같으면 false / 아니면 true1.
if((a == 2 | a == c) & !(c > d) & (1 == b ^ c != d))
:
a == 2 | a == c
→3 == 2 | 3 == 3
→false | true
∴ true
!(c > d)
→!(3>5)
→!(false)
∴ true
(1 == b ^ c != d)
→1 == 4 ^ 3 != 5
→false ^ true
∴ true
➲true && true && true
∴ true
a = b + c;
→a = 4 + 3
∴ a = 72.
if(7 == b ^ c != a)
:
7 == b
→7 == 4
∴ false
c != a
→3 != 7
∴ true
➲false ^ true
∴ true3.
System.out.println(a);
#include <stdio.h>
int main() {
int *arr[3];
int a = 12, b = 24, c = 36;
arr[0] = &a;
arr[1] = &b;
arr[2] = &c;
printf("%d\n", *arr[1] + **arr + 1);
}
🖍️ 37
arr[0]
= 12,arr[1]
= 24,arr[2]
=36
*arr[1] + **arr + 1
→ 24 + 12 + 1 = 37
🖍️ 4
NAME | RULE |
---|---|
smith | s% |
scott | s% |
smith | t% |
scott | t% |
a,b = 100, 200
print(a==b)
🖍️ False
( ) 다이어그램은 문제 해결을 위한 도메인 구조를 나타내어 보이지 않는 도메인 안의 개념과 같은 추상적인 개념을 기술하기 위해 나타낸 것이다.
또한 소프트웨어의 설계 혹은 완성된 소프트웨어의 구현 설명을 목적으로 사용할 수 있다.
( ) 다이어그램의 형식은 ( )를 포함하여 속성(attribute)과 메서드(method)가 있다.
🖍️ 클래스
( ) 패턴은 객체지향 디자인 패턴이다.
( )는 부모(상위) 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며, 자식(하위) 클래스가 어떤 객체를 생성할지를 결정하도록 하는 패턴이기도 하다.
부모(상위) 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용한다.
🖍️ Factory Method
#include <stdio.h>
struct min {
char name[12];
int os, db, hab, hhab;
};
int main(){
struct min st[3] = {{"데이터1", 95, 88},
{"데이터2", 84, 91},
{"데이터3", 86, 75}};
struct min* 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);
}
🖍️ 501
(p + 1)->hab = (p + 1)->os + (p + 2)->db;
p[1]->hab
=p[1]->os
+ `p[2]->db
= 84 + 75 = 159(p + 1)->hhab = (p+1)->hab + p->os + p->db;
p[1]->hhab
=p[1]->hab
+p[0]->os
+p[0]->db
= 159 + 95 + 88 = 342printf("%d\n", (p+1)->hab + (p+1)->hhab);
= 159 + 342 = 501
파일구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식으로 접근 방식에 따라 방식이 달라진다.
접근 방법중, 레코드들을 키-값 순으로 정렬하여 기록하고, 레코드의 키 항목만을 모은 ( )을 구성하여 편성하는 방식이 있으며, 레코드를 참조할 때는 ( ) 이 가르키는 주소를 사용하여 직접 참조할 수 있다. 파일 구조에는 순차 접근, ( ) 접근, 해싱 접근이 있다.
🖍️ 인덱스
( )는 사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 환경을 말한다.
이전까지 사용자 인터페이스는 키보드를 통해 명령어로 작업을 수행시켰지만 ( )에서는 키보드 뿐만 아니라 마우스 등을 이용하여 화면의 메뉴 중 하나를 선택하여 작업을 수행한다.
화면에 아이콘을 띄어 마우스를 이용하여 화면에 있는 아이콘을 클릭하여 작업을 수행하는 방식이다.
대표적으로는 마이크로소프트의 Windows, 애플의 Mac 운영체제 등이 있다.
🖍️ GUI
( ① ) 방식은 이름에서도 알 수 있듯이, 하위 모듈부터 시작하여 상위 모듈로 테스트를 진행하는 방식이며, 이 방식을 사용하기 위해서는 ( ② )가 필요하다.
( ② )는 이미 존재하는 하위 모듈과 존재하지 않은 상위 모듈에 대한 인터페이스 역할을 한다.
🖍️ ① 상향식, ② 테스트 드라이버
참고,
https://newbt.kr/시험/정보처리기사+실기
https://chobopark.tistory.com/217