| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- Rocky Linux
- Spring
- Python
- suricata
- ChatGPT
- rnn
- 코딩도장
- git
- GoogleDrive
- cloud
- colab
- Powershell
- OSS
- VSCode
- Machine Learning
- LINUX MASTER
- Spring Boot
- ICT멘토링
- KAKAO
- Resnet
- 국가과제
- C언어
- 고등학생 대상
- 인터넷의이해
- Github
- Database
- API
- 크롤링 개발
- Web
- Docker
- Today
- Total
코딩두의 포트폴리오
[2023실기] 1회 본문
1. 다음 JAVA로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.
class Static {
public int a = 20;
static int b = 0;
}
public class Test {
public static void main(String[] args) {
int a = 10;
Static.b = a;
Static st = new Static();
System.out.println(Static.b++);
System.out.println(st.b);
System.out.println(a);
System.out.print(st.a);
}
}
2. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.
#include <stdio.h>
main() {
char a[] = "Art";
char* p = NULL;
p = a;
printf("%s\n", a);
printf("%c\n", *p);
printf("%c\n", *a);
printf("%s\n", p);
for (int i = 0; a[i] != '\0'; i++)
printf("%c", a[i]);
}
3. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.
#include <stdio.h>
main() {
char* a = "qwer";
char* b = "qwtery";
for (int i = 0; a[i] != '\0'; i++)
for (int j = 0; b[j] != '\0'; j++)
if (a[i] == b[j])
printf("%c", a[i]);
}
4. 클라이언트와 서버 간 자바스크립트 및 XML을 비동기 방식으로 처리하며, 전체 페이지를 새로 고치지 않고도 웹페이지 일부 영역만을 업데이트할 수 있도록 하는 기술을 의미하는 용어를 쓰시오.
AJAX (Asynchronous JavaScript AND xml)
5. 데이터 교환 방식에 대한 다음 설명에서 괄호(1, 2)에 들어갈 알맞은 용어를 [보기]에서 찾아 쓰시오.
| - ( 1 ) : 연결형 통신에서 주로 사용되는 방식으로, 출발지와 목적지의 전송 경로를 미리 연결하여 논리적으로 고정한 후 통신하는 방식 - ( 2 ) : 비연결형 통신에서 주로 사용되는 방식으로, 사전에 접속 절차를 수행하지 않고 헤더에 출발지에서 목적지까지의 경로 지정을 위한 충분한 정보를 붙여서 개별적으로 전달하는 방식 |
[보기]
| 회선 교환 방식 | 데이터그램 방식 | 가상 회선 방식 | 메시지 교환 방식 |
1. 가상 회선 방식
2. 데이터그램 방식
6. 다음 설명에 해당하는 알맞은 용어를 쓰시오.
| 데이터링크 계층의 프로토콜 중 하나로, 터널링 프로토콜인 PPTP와 VPN의 구현에 사용하는 L2F의 기술적 장점들을 결합하여 만든 프로토콜이다. 자체적으로 암호화 및 인증 기능을 제공하지 않아 다른 보안 프로토콜과 함께 사용되는 경우가 많다. |
L2TP (Layer 2 Tunneling Protocol)
7. 다음 설명에 해당하는 알맞은 용어를 영문 3글자로 쓰시오.
| - 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 또는 이를 이용한 응용 프로그램이다. - 데이터 암호화와 강력한 인증 방법으로 보안성이 낮은 네트워크에서도 안전하게 통신할 수 있다. - 키(key)를 통한 인증 방법을 사용하려면 사전에 클라이언트의 공개키를 서버에 등록해야 한다. - 기본적으로는 22번 포트를 사용한다. |
SSH
8. 멀웨어(Malware)에 대한 다음 설명에서 괄호(1~3)에 들어갈 알맞은 용어를 [보기]에서 찾아 쓰시오.
| - ( 1 ) : 윈도우나 응용 프로그램의 취약점 또는 E-mail 등을 통해 전파되며, ( 3 )과(와) 같이 자기복제가 가능하며 네트워크를 통해 스스로 전파가 가능하다. - ( 2 ) : 정상적인 응용 프로그램에 포함되어 실행되는 악성코드로, 정상적인 응용 프로그램으로 위장하고 있다가 활성화되면 공격자는 이를 이용하여 사용자의 컴퓨터를 조종할 수 있게 된다. - ( 3 ) : 정상 파일을 감염시키며, 자기복제가 가능하다. 파일을 통해 감염되며 네트워크를 통해 스스로 전파되지는 못한다. |
1. 웜
2. 트로이목마
3. 바이러스
9. 다음은 2진수 101110을 10진수로 변환하는 C언어 프로그램이다. 프로그램을 분석하여 괄호(1~2)에 들어갈 알맞은 답을 쓰시오.
#include <stdio.h>
main() {
int input = 101110;
int di = 1;
int sum = 0;
while (1) {
if (input == 0) break;
sum = sum + (input ( ① ) ( ② )) * di;
di = di * 2;
input = input / 10;
}
printf("%d", sum);
}
10. 다음 설명에 해당하는 알맞은 용어를 영문 4글자로 쓰시오.
| IP(Internet Protocol)의 주요 구성원 중 하나로, OSI 계층 모델의 네트워크 계층에 속한다. 네트워크 컴퓨터의 운영체제에서 오류 메시지를 수신하거나, 전송 경로를 변경하는 등 오류 처리를 위한 제어메시지를 주로 취급한다, 관련된 도구로 traceroute, ping이 있으며, ping of death와 같은 네트워크 공격 기법에 활용되기도 한다. |
ICMP (Internet Control Message Protocol)
11. 다음 설명에서 괄호에 들어갈 알맞은 디자인 패턴을 아래에서 찾아 쓰시오.
| 생성 패턴 | 구조 패턴 | 행위 패 |
| Abstract Factory Builder Factory Method Prototype Singleton |
Adapter Bridge Composite Decorator Facade Proxy |
Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer Strategy Template Method |
| ( )은/는 복잡한 시스템을 개발하기 쉽도록 클래스나 객체들을 조합하는 패턴에 속하며, 대리자라는 이름으로도 불린다. 내부에서는 객체 간의 복잡한 관계를 단순하게 정리해 주고, 외부에서는 객체의 세부적인 내용을 숨기는 역할을 한다. |
Proxy
12. 릴리에션을 구성하는 용어들에 대한 다음 설명에서 괄호 (1~3)에 들어갈 알맞은 답을 [보기]에서 찾아 쓰시오.
| - ( 1 ) : 릴레이션을 구성하는 각각의 행을 의미하며, 파일 구조에서는 레코드에 해당함 - ( 2 ) : 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 가진 것으로, 실제 값을 가진 튜플을 의미함 - ( 3 ) : 튜플의 개수를 의미함 |
1. 튜플
2. 릴레이션 인스턴스
3. 카디널리티
13. <학생> 테이블에서 "이름"이 "민수"인 튜플을 삭제하고자 한다. 다음 <처리 조건>을 참고하여 SQL문을 작성하시오.
<처리 조건>
| - 최소한의 코드로 작성될 수 있도록 SQL문을 구성한다. - 명령문 마지막의 세미콜론(;)은 생략이 가능하다. - 인용 부호가 필요한 경우 작은따옴표(' ')를 사용한다. |
DELET FROM 학생 WHERE 이름 = '민수';
14. 다음은 버블 정렬을 이용하여 배열에 저장된 수를 오름차순으로 정렬하는 프로그램이다. 프로그램을 분석하여 괄호(1~3)에 들어갈 알맞은 답을 쓰시오.
#include <stdio.h>
void swap(int* a, int idx1, int idx2) {
int t = a[idx1];
a[idx1] = a[idx2];
a( ① ) = t;
}
void Usort(int* a, int len) {
for (int i = 0; i < len - 1; i++)
for (int j = 0; j < len - 1 - i; j++)
if (a[j] > a[j + 1])
swap(a, j, j + 1);
}
main() {
int a[] = { 85, 75, 50, 100, 95 };
int nx = 5;
Usort(a, ( ② ));
}
15. 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.
asia = {'한국', '중국', '일본'}
asia.add('베트남')
asia.remove('일본')
asia.update({'한국', '홍콩', '태국'})
print(asia)
16. <성적> 테이블에서 과목별 점수의 평균이 90점 이상인 '과목이름', '최소점수', '최대점수'를 검색하고자 한다. 다음 <처리 조건>을 참고하여 적합한 SQL문을 작성하시오.
<처리 조건>
| - 최소한의 코드로 작성될 수 있도록 SQL문을 구성한다. - WHERE문은 사용하지 않는다. - GROUP BY와 HAVING을 이용한다. - 집계함수(Aggregation Function)를 사용하여 명령문을 구성한다. - '최소점수', '최대점수'는 별칭(Alias)을 위한 AS문을 이용한다. - 명령문 마지막의 세미콜론(;)은 생략이 가능하다. - 인용 부호가 필요한 경우 작은따옴표(' ')를 사용한다. |
<성적>
| 학번 | 과목번호 | 과목이름 | 학점 | 점수 |
| a2001 | 101 | 컴퓨터구조 | 6 | 95 |
| a2002 | 101 | 컴퓨터구조 | 6 | 84 |
| a2003 | 302 | 데이터베이스 | 5 | 89 |
| a2004 | 201 | 인공지능 | 5 | 92 |
| a2005 | 302 | 데이터베이스 | 5 | 100 |
| a2006 | 302 | 데이터베이스 | 5 | 88 |
| a2007 | 201 | 인공지능 | 5 | 93 |
SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수
FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >= 90;
17. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.
abstract class Vehicle {
String name;
abstract public String getName(String val);
public String getName() {
return "Vehicle name : " + name;
}
}
class Car extends Vehicle {
private String name;
public Car(String val) {
name = super.name = val;
}
public String getName(String val) {
return "Car name : " + val;
}
public String getName(byte[] val) {
return "Car name : " + val;
}
}
public class Test {
public static void main(String[] args) {
Vehicle obj = new Car("Spark");
System.out.print(obj.getName());
}
}
18. 스키마에 대한 설명에서 괄호(1~3)에 들어갈 알맞은 답을 [보기]에서 찾아 쓰시오.
| - ( 1 ) 스키마는 데이터베이스의 전체적인 논리적 구조로, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스이다. - ( 2 ) 스키마는 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다. - ( 3 ) 스키마는 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다. |
[보기]
| 외부 | 내부 | 개념 |
1. 개념
2. 내부
3. 외부
19. 다음은 화이트박스 테스트의 프로그램 제어 흐름이다. 다음의 순서도를 참고하여 분기 커버리지로 구성할 테스트 케이스를 작성하시오.

1 - 2 - 3 - 4 - 5 - 6 - 7
1 - 2 - 4 - 5 - 6 - 1
20. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.
class Parent {
int x = 1000;
Parent() {
this(3000);
}
Parent(int x) {
this.x = x;
}
}
class Child extends Parent {
int x = 4000;
Child() {
this(5000);
}
Child(int x) {
this.x = x;
}
int getX() {
return this.x;
}
}
public class Test {
public static void main(String[] args) {
Child c = new Child();
System.out.println(c.getX());
}
}
'정보처리기사 > 2023 실기' 카테고리의 다른 글
| [2023실기] 3회 (1) | 2025.12.15 |
|---|---|
| [2023실기] 2회 (0) | 2025.12.15 |
