728x90
SMALL

2024 정보처리기사 실기 예상 문제 모음


정보처리기사 C언어, Java, Python, SQL 기출문제 모음

 

 

정보처리기사 실기 C언어 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

 

 

정보처리기사 실기 JAVA 기출문제 모음

2023 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

 

 

정보처리기사 실기 Python 기출문제 모음

2023 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

 

 

정보처리기사 실기 SQL 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com


정보처리산업기사 C언어, Java, Python, SQL 기출문제 모음

 

정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

 

 

정보처리산업기사(정처산기) 실기 Java 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

 

 

정보처리산업기사(정처산기) 실기 Python 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

 

 

정보처리산업기사(정처산기) 실기 SQL 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

728x90
LIST
728x90
SMALL

정보처리기사 실기 기출문제이긴 한데 산업기사 공부에도 도움이 됩니다

 

2024 정보처리기사 실기 예상 문제 모음

목차1) 정보처리기사 공부법2) 최신 경향3) 산업기사 기출문제4) 코딩 기출문제 + 예상문제5) SQL 기출문제 + 예상문제6) 이론 기출문제+ 예상문제 예상문제는 기출문제를 제외하고는 제가 직접 만

complainrevolutionist.tistory.com


2022~2024년 정보처리산업기사 실기 기출문제 모음

 

 

「22년 1회」정보처리산업기사(정처산기) 실기 기출문제

[정보처리기사/예상문제] - 2024 정보처리기사 실기 예상 문제 모음[22년 1회] 정보처리산업기사 실기 기출문제[22년 2회] 정보처리산업기사 실기 기출문제[22년 3회] 정보처리산업기사 실기 기출문

complainrevolutionist.tistory.com

 

 

「22년 2회」정보처리산업기사(정처산기) 실기 기출문제

[정보처리기사/예상문제] - 2024 정보처리기사 실기 예상 문제 모음[22년 1회] 정보처리산업기사 실기 기출문제[22년 2회] 정보처리산업기사 실기 기출문제[22년 3회] 정보처리산업기사 실기 기출문

complainrevolutionist.tistory.com

 

 

「22년 3회」정보처리산업기사(정처산기) 실기 기출문제

[정보처리기사/예상문제] - 2024 정보처리기사 실기 예상 문제 모음[22년 1회] 정보처리산업기사 실기 기출문제[22년 2회] 정보처리산업기사 실기 기출문제[22년 3회] 정보처리산업기사 실기 기출문

complainrevolutionist.tistory.com

 

 

「23년 1회」정보처리산업기사(정처산기) 실기 기출문제

[정보처리기사/예상문제] - 2024 정보처리기사 실기 예상 문제 모음[22년 1회] 정보처리산업기사 실기 기출문제[22년 2회] 정보처리산업기사 실기 기출문제[22년 3회] 정보처리산업기사 실기 기출문

complainrevolutionist.tistory.com

 

 

「23년 2회」정보처리산업기사(정처산기) 실기 기출문제

[정보처리기사/예상문제] - 2024 정보처리기사 실기 예상 문제 모음[22년 1회] 정보처리산업기사 실기 기출문제[22년 2회] 정보처리산업기사 실기 기출문제[22년 3회] 정보처리산업기사 실기 기출문

complainrevolutionist.tistory.com

 

「23년 3회」정보처리산업기사(정처산기) 실기 기출문제

[정보처리기사/예상문제] - 2024 정보처리기사 실기 예상 문제 모음[22년 1회] 정보처리산업기사 실기 기출문제[22년 2회] 정보처리산업기사 실기 기출문제[22년 3회] 정보처리산업기사 실기 기출문

complainrevolutionist.tistory.com

 

 

「24년 1회」정보처리산업기사(정처산기) 실기 기출문제

[정보처리기사/예상문제] - 2024 정보처리기사 실기 예상 문제 모음[22년 1회] 정보처리산업기사 실기 기출문제[22년 2회] 정보처리산업기사 실기 기출문제[22년 3회] 정보처리산업기사 실기 기출문

complainrevolutionist.tistory.com

 

 

「24년 2회」정보처리산업기사(정처산기) 실기 기출문제

1. 다음은 패리티 비트(Parity Bit)에 대한 설명이다. 각 괄호에 들어갈 알맞은 내용을 쓰시오• 홀수 패리티 검사에서 (가)의 개수는 홀수이고, 짝수 패리티 검사에서 (나)의 개수는 짝수이다.• 패

complainrevolutionist.tistory.com

 

 

「24년 3회」정보처리산업기사(정처산기) 실기 기출문제

1. 다음 에서 라우터의 역할에 해당하는 것을 모두 골라 기호로 쓰시오ㄱ. 목적지 주소 확인ㄴ. 라우팅 소스 정보 확인ㄷ. 경로 설정ㄹ. 경로 탐색ㅁ. 라우팅 정보 유지 및 검증ㅂ. 패킷 전송더보

complainrevolutionist.tistory.com


2022~2024년 C언어, Java, Python, SQL 기출문제 모음

 

정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

 

정보처리산업기사(정처산기) 실기 Java 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

 

정보처리산업기사(정처산기) 실기 Python 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

 

정보처리산업기사(정처산기) 실기 SQL 기출문제 모음

2024 정보처리기사 실기 예상 문제 모음 C언어 기출문제 모음JAVA 기출문제 모음Python 기출문제 모음정보처리기사 실기 SQL 기출문제 모음 정보처리산업기사(정처산기) 실기 C언어 기출문제 모음

complainrevolutionist.tistory.com

 

728x90
LIST
728x90
SMALL

정보처리산업기사(정처산기) 실기 기출문제 모음

 

1. 다음 <보기>에서 라우터의 역할에 해당하는 것을 모두 골라 기호로 쓰시오

<보기>
ㄱ. 목적지 주소 확인
ㄴ. 라우팅 소스 정보 확인
ㄷ. 경로 설정
ㄹ. 경로 탐색
ㅁ. 라우팅 정보 유지 및 검증
ㅂ. 패킷 전송
더보기

ㄱ, ㄷ, ㄹ, ㅁ, ㅂ


2. 인터넷 프로토콜에 대한 설명인데 해당하는 답을 영문 약어로 쓰시오

(가) : 파일 전송 프로토콜을 지원하고, 양방향 연결(Full Duplex Connection)형 서비스를 제공하는 프로토콜이다. 신뢰성 있는 경로를 확립하고 메시지 전송을 감독하며, 패킷의 분실, 손상, 지연이나 순서가 틀린 것 등이 발생할 때 투명성이 보장되는 통신을 제공한다.
대용량의 데이터 또는 중요한 데이터 전송에 사용하고 3-Way-Handshaking을 통해서 신뢰성 있는 통신이 가능하다.

( 나 ) : 간이 파일 전송 프로토콜(TFTP)을 지원하고, 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 제공하는 프로토콜이다. 상대적으로 단순한 헤더 구조를 가지므로, 오버헤드가 적고, 흐름 제어나 순서 제어가 없어 전송 속도가 빠르다. 실시간 전송에 유리하
며 신뢰성보다는 속도가 준요시되는 네트워크에서 사용되다.
더보기

(가) TCP

(나) UDP


3. OSI 7계층중 어느 계층인지 쓰시오

두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당하는 계층으로, 프레임의 시작과 끝을 구분하기 위한 프레임의 동기화 기능과 오류의 검출과 회복을 위한 오류 제어 기능을 제공한다. HDLC, LAPB, LLC, MAC, LAPD, PPP 등의 표준이 있으며, 관련 장비에는 랜카드, 브리지, 스위치 등이 있다.
더보기

데이터 링크 계층


4. C언어 출력결과

#include <stdio.h>
union Number {
int intV;
int floatV;
};

struct data {
union Number n1;
union Number n2;
char islnt;
};

void func(struct data *a) {
if (a->islnt) {
a->n1.intV +=a->n2.intV;
}
else {
a->n1.floatV += a->n2.floatV;

   }
}

int main() {
struct data a = {{.intV = 5}, {.floatV = 3.5}, 1};
func(&a);
printf("%d", a.n1.intV);
return 0;
}

5. 다음은 <학생>과 <학과> 테이블에서 '학과코드' 값이 같은 튜플을 JOIN하는 <SQL> 문이다. 괄호에 들어갈 알맞은 예약어를 쓰시오

<SQL> 문
SELECT 학번, 이름, 학생.학과코드, 학과명
FROM 학생 JOIN 학과
(   가  )(학과코드);
더보기

(가) USING


6. SQL 문에서 집계 함수는 GROUP BY절에 지정된 그룹별로 속성의 값을 집계할 때 사용되는데, 이 중 지정된 조건과 일치하는 튜플의 개수를 반환하는 집계 함수는 무엇인지 쓰시오. 

더보기

COUNT


7. Java 실행결과

public class Main
{
public static void main(String[] args) {
int i = 17;
i += 1;
i -= 2;
i *= 3;
i /= 4;
i %= 5;
System.out.print(i);
 }
}

8. 다음 설명에 해당하는 알맞은 용어를 쓰시오

• 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고받을 수 있도록 하는 원격 파일 전송 프로토콜이다.
• 파일의 전송(Upload)과 수신(Download), 삭제, 이름 변경 등의 작업을 할 수 있다.
• 그림 파일, 동영상 파일, 실행 파일, 압축된 형태의 파일을 전송할 때에는 Binary 모드를, 텍스트 파일을 전송할 때에는 ASCII 모드를 사용한다.
• 기본적인 포트 번호는 21번이다.

9. C언어 출력결과

#include <stdio.h>
void swap(int *ptr1, int *ptr2) {
int temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
}

void func(int *arr, int n) {
int *ptr1 = &arr[0];
int *ptr2 = &arr[n-1];
while(ptr1 <ptr2) {
swap(ptr1, ptr2);
ptr1++;
ptr2 --;
  }
}

int main( ) {
int arr[] = {1, 2, 3, 4, 5};
func(arr, 5);
printf("%d", arr[2]);
return 0;
}

10. 다음은 <Student> 테이블의 'ssn' 속성에 대해, 중복을 허용하지 않도록 "Stud_idx" 라는 이름으로 인덱스를 정의하는 SQL문이다. 괄호(1, 2)에 알맞은 예약어를 적어 <SQL> 문을 완성하시오. 

  <SQL>문
CREATE ( 1 ) ( 2) Stud_idx ON Student (ssn);
더보기

(1) UNIQUE

(2) INDEX


11. C언어 출력결과

#include <stdio.h>
int main( ) {
int sum = 0;
int i = 0;
for(i = 0; i <= 10; i++) {
if(i % 2 != 0)

continue;

sum += i;
 }
printf("%d", i + sum);
}

12. 다음 설명에 해당하는 알맞은 용어를 쓰시오.

• 데이터가 전송되는 기본 단위로, 데이터를 일정한 크기로 분할한 후 송·수신측 주소와 제어 정보 등을 부가하여 만든 데이터 블록을 의미한다.
• 미국 국방부에서 개발한 ARPAnet에서 사용하는 네트워크 교환 방식이다.
더보기

패킷

또는

Packet


13. 다음 설명에 해당하는 알맞은 용어를 쓰시오

• 컨테이너 기술을 자동화하여 쉽게 사용할 수 있게 하는 오픈소스 프로젝트이다.
• 소프트웨어 캔테이너 안에 응용 프로그램들을 배치시키는 일을 자동화 해주는 역할을 수행한다.
더보기

도커

또는

Docker


14. C언어 출력결과

#include <stdio.h>
int factorial(int n, int from, int to, int temp) {
if(n == 0) {
return 0;
  }
else {
return factorial(n-1, from, temp, to)+1 + factorial(n-1, temp, to, from);
   }
}
int main( ) {
int n = 3;
printf("%d", factorial(n, 3, 2, 1));
return 0;
}

15. 다음 설명에 해당하는 SQL 명령어를 쓰시오.

• 변경되었으나 아직 COMMIT되지 않은 모든 내용들을 취소하고 데이터베이스를 이전 상태로 되돌리는 명령어이다.
• 트랜잭션 전체가 성공적으로 끝나지 못하면 일부 변경된 내용만 데이터베이스에 반영되는 비일관성(Inconsistency) 상태가 될 수 있기 때문에 일부분만 완료된 트랜잭션에는 이 명령이 수행되어야 한다.
더보기

롤백

또는

Rollback


16. <인사팀> 테이블의 튜플의 수(인원 수)가 총 20개이고, 그 중 3개의 나이대가 20대, 6개의 나이대가 30대, 나머지는 나이대가 40대일 때, 다음 <SQL> 문으로 검색될 수있는 튜플의 개수(인원 수)를 괄호에 쓰시오. 

<SQL> 문
SELECT 이름 FROM 인사팀 WHERE 나이 BETWEEN 35 AND 49;
(가) 명 이상, (나) 명 이하
더보기

(가) 11

(나) 17


17. 다음 설명에 해당하는 알맞은 테스트 커버리지를 쓰시오.

소스 코드의 조건문에 포함된 개별 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행되도록 테스트 케이스를 설계 한다.
더보기

조건 커버리지

또는

Condition Coverage


18. Java 출력결과

class Printer {
void print(Integer a) {
System.out.print("A" + a);
  }
void print(Object a) {
System.out.print("B" + a);
  }
void print(Number a) {
System.out.print("C" + a);
   }
}
public class Main {
public static void main(String[] args) {
new Collection<>(0).print();
}
public static class Collection<T> {
T value;
public Collection(T t) {
value = t;
}
public void print() {
new Printer().print(value);

    }
  }
}

19. C언어 출력 결과

#include <stdio.h>
void func(int ** arr, int size) {
for(int i = 0; i < size; i++) {
*(*arr + i) = (*(*arr + i) + i) % size;

 }
}
int main( ){
int arr[] = {3, 1, 4, 1, 5};
int* p = arr;
int ** pp = &p;
int num = 6;
func(pp, 5);
num = arr[2];
printf("%d", num);
return 0;

}

20. 네트워크 및 인터넷과 관련된 다음 설명에 해당하는 용어를 <보기>에서 찾아 기호로 쓰시오

• 재난 및 군사 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트(Mobile Host)만을 이용하여 구성한 네트워크이다.
• 망을 구성한 후 단기간 사용되는 경우나 유선망을 구성하기 어려운 경우에 적합하다.
• 멀티 홉 라우팅 기능을 지원한다.
<보기>
ㄱ. Mesh Network
ㄴ. Peer-to-Peer Network
ㄷ. Virtual Private Network
ㄹ. Ad-hoc Network
ㅁ. Sensor Network
ㅂ. Infrastructure Network

 

정보처리산업기사(정처산기) 실기 기출문제 모음

728x90
LIST
728x90
SMALL

정보처리산업기사(정처산기) 실기 기출문제 모음

 

1. 다음은 패리티 비트(Parity Bit)에 대한 설명이다. 각 괄호에 들어갈 알맞은 내용을 쓰시오

• 홀수 패리티 검사에서 (가)의 개수는 홀수이고, 짝수 패리티 검사에서 (나)의 개수는 짝수이다.
• 패리티 비트는 2Bit 이상 짝수 개수에서 오류가 발생되면, 검출할 수 ( 다 ), 수정도 ( 라 )하다.
<보기>
-1
-2
-3
-4
-가능
-불가능
-있으며
-없으며
더보기

(가) 1

(나) 1

(다) 없으며,

(라) 불가능


2. 데이터베이스의 정규화(Normalization) 과정에서 테이블 R이 제1정규형이고, 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형은 무엇인지 쓰시오. 

더보기

제2정규형


3. C언어 실행결과

#include <stdio.h>
int main( ) {

int i = 3;
int j =5;
printf("%d", (i | j) - (i &j));
return 0;
}

4. Java 실행결과

public class Test
{
int A(int a, int b) {
System.out.print(a+b);
return a*b;
   }
public static void main(String[] args) {
Test a = new Test( );
System.out.print(a.A(5,5));

   }

}
더보기

1025


5. C언어 출력결과

#include <stdio.h>
struct number {
float i;
float j;
};

int main() {
struct number a = {3.0, 4.0};
struct number b = {4.0, 5.0};
printf("%.2f 그리고 %.2f", a.i+b.i, a.j + b.j);

}
더보기

7.00 그리고 9.00


6. 다음 설명에 해당하는 용어를 쓰시오

• 기본 테이블의 기본키를 구성하는 어떤 속성도 널(Null) 값이나 중복값을 가질 수 없다는 규정이다.
  관계 데이터 모델에서는 릴레이션에 포함되어 있는 튜플들을 유일하게 구별해주고 각 튜플에 쉽게 접근할 수 있도록 릴레이션마다 기본키를 정의하는데, 기본키를 구성하는 속성 전체나 일부가 널(Null) 값이 되면 튜플의 유일성을 판단할 수 없어 기본키의 본래 목적을 상실하게 된다. 이를 (      ) 무결성 제약조건이라고 한다.
더보기

개체


7. 다음은 구구단의 3단을 출력하는 코드를 C언어로 구현한 것이다. 괄호에 알맞은 수식을 채워 코드를 완성하시오.

#include <stdio.h>
int main( ) {

int n = 3;

for(int i = 1; i <= 9; i++) {
printf("%d*%d=%d\n", n, i, (가));

   }
}
더보기

(가) n*i


8. MS-DOS에서 인터넷 서버까지의 경로를 추적하는 명령어로, IP 주소, 목적지까지 거치는 경로(장비의 수)의 수, 각 구간 사이의 데이터 왕복 속도를 알아볼 수 있는 명령어는 무엇인지 쓰시오.

더보기

tracert


9. C언어 출력 결과

#include <stdio.h>
int main( ) {
int n1 =11;

int n2 = 0;
int* p = NULL;
p = &n1;
n2 = *p + n1;
printf("%d", *p-n1+n2);
}

10.  다음 <보기>에 나열된 애플리케이션 테스트를 블랙박스 테스트와 화이트박스 테스트로 구분하여 기호(ㄱ~ㅂ))로 쓰시오.

ㄱ. 기초 경로 검사
ㄴ. 동치 분할 검사
ㄷ. 루프 검사
ㄹ. 조건 검사
ㅁ. 경계값 분석
ㅂ. 원인-효과 그래프 검사

1) 블랙박스 테스트 : 

2) 화이트박스 테스트 : 

더보기

1) 블랙박스 테스트 : ㄴ, ㅁ, ㅂ

2) 화이트박스 테스트 : ㄱ, ㄷ, ㄹ


11. 학생(STUDENT) 테이블에 전기과 학생이 50명, 전산과 학생이 100명, 전자과 학생이 50명 있다고 할 때, 다음 SQL문 1, 2, 3의 실행 결과로 표시되는 튜플의 수를 쓰시오. (단, DEPT 필드는 학과를 의미한다) 

1. SELECT DEPT FROM STUDENT;

2. SELECT DISTINCT DEPT FROM STUDENT;

3. SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT ='전산과';
더보기

1. 200

2. 3

3. 1


12. 다음 <처리 조건>에 부합하는 <SQL문>이 완성되도록 괄호에 적합한 명령어를 쓰시오.

<처리조건>
•< 사원> 테이블에 이름이 "윤정희", 부서가 "영업부", 주소가 "마포구"인 사원의 정보를 입력하시오.
• <사원> 테이블에서 이름이 "임선호"인 사원의 부서를 "기획부"로 변경하시오.
<sql문>
• INSERT ( 1 ) 사원 (이름, 부서, 주소) ( 2 ) ('윤정희', '영업부', '마포구'):
• UPDATE 사원 ( 3 ) 부서 = '기획부' WHERE 이름 = '임선호';
더보기

(1) INTO

(2) VALUES

(3) SET


13. 다음 <처리조건>에 부합하는 <SQL문>이 완성되도록 괄호에 적합한 명령어를 쓰시오

<처리조건>
• <회원> 테이블에서 성별이 "여"이면서 등급이 "GOLD"인 회원의 정보를 검색하시오.

• <회원> 테이블에서 회원들의 구매내역을 검색하되, 가입년도를 기준으로 오름차순정렬하여 검색하시오.

• <회원> 테이블에서 이름이 "김"으로 시작하지 않는 회원들을 검색하시오.
<sql문>
• SELECT * FROM 회원 WHERE 성별 = '여' ( 1 ) 등급 = 'GOLD';

• SELECT * FROM 회원 ORDER BY 가입년도 ( 2 );

• SELECT * FROM 회원 WHERE 이름 ( 3 ) LIKE '김%';
더보기

(1) AND

(2) ASC

(3) NOT


14. 다음은 IPv4 주소가 사용하는 네트워크 상에서의 전송 방식에 대한 설명이다. 정답을 쓰시오

(원래는 보기 주어지는 문제)

(  1 ) 는 한 번의 송신으로 메시지나 정보를 목표한 여러 컴퓨터에 동시에 그룹 단위로 전송하는 것을 말한다. 이 때 망 접속 형태가 요구할 경우에 한해, 자동으로 라우터와 같은 다른 네트워크 요소들에 메시지의 복사본이 생성된다. 인터넷 텔레비전, 응용 프로그램 용도로 사용된다.
( 2 ) 는 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에게 전송되는 것을 말한다. 주소는 주로 FFFFFFFF = 255.255.255.255 형태가 사용된다.
( 3 ) 는 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로(one-to-one) 트래픽 또는 메시지를 전송하는 것을 말한다.
더보기

(1) 멀티캐스트

(2) 브로드캐스트

(3) 유니캐스트


15. 다음 설명에 해당하는 알맞은 용어를 쓰시오.

• TCP/IP의 네트워크 관리 프로토콜로, 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는데 사용된다.
• 이 프로토콜을 사용하는 대표적인 장비에는 프린터, UPS, CCTV 등이 있다.
• 에이전트(Agent)는 161번 포트를 사용하고, 관리 시스템(Manager)은 162번 포트를 사용한다.
더보기

SNMP


16. Python 실행결과

x = [1, -1, 0, 1, -1]

for n in x:
 if(n ==- 1): continue
 print(n, end="")

17. C언어 실행결과

#include <stdio.h>
int main( ) {
int a[5] ={3, 4, 5, 10, 2};
int *p = a;
int i, j, temp;
for(i = 0; i <5; i++) {
for(j =i+1; j <5; j++) {
if(*(p+i) > *(p+j)) {
temp = *(p+i);
*(p+i) = *(p+j);
*(p+j) = temp;
         }
     }
     printf("%d ", *(p+i));
  }
}
더보기
2 3 4 5 10 

18. IP 주소(IPv4)는 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 주소로, 8비트씩 4부분, 총 32비트로 구성된다. 또한 IP 주소는 네트워크 부분의 길이에 따라 A 클래스에서 E 클래스까지 5개의 클래스로 구분하는데, 네트워크 부분의 길이가 16비트이며, 128~191로 시작하고 나머지 16비트가 호스트 부분인 클래스는 무엇인지 쓰시오. 

더보기

B클래스


19. 단위 테스트에서 테스트의 대상이 되는 하위 모듈을 호출하고, 매개 변수(Parameter)를 전달하는 가상의 모듈로, 상향식 테스트에서 사용되는 것은 무엇인지 쓰시오. 

더보기

드라이버


20. 다음 그림에서 A~F는 라우터이고, 각 링크 상의 숫자는 가중치 값을 나타낼 때 RIP(Routing Information Protocol)을 이용한 A에서 F까지의 최적 경로를 쓰시오.

더보기

A -> D -> C -> F

 

정보처리산업기사(정처산기) 실기 기출문제 모음

728x90
LIST
728x90
SMALL

 

정보처리산업기사(정처산기) 실기 기출문제 모음

 


1. C언어 출력결과

#include <stdio.h>
#include <string.h>
int main() {
	char* str = "abCDEfGh";
	int count = 0;
	for (int i = 0; i < strlen(str); i++) {
		char ch = str[i];
		if (ch >= 'A' && ch <= 'Z') {
			count++;

		}
	}
	printf("%d", count);



}

2. 데이터 전송 제어 절차 나열

ㄱ. 회선 절단
ㄴ. 데이터링크설정
ㄷ. 회선 접속
ㄹ. 정보 전송
ㅁ. 데이터링크 해제
더보기

ㄷ-ㄴ-ㄹ-ㅁ-ㄱ


3. 해당하는 용어을 쓰시오

오류 제어 방식 중 하나로 송신 측이 전송할 문자나 프레임에 부가적 정보를 첨가하여 전송하고 수신 측에 에러를 발견 시 부가적 정보로 오류 검출 및 오류 정정을 하는 방식
더보기

FEC(전진 오류 수정)


4. java 출력결과

public class Test{
public static void main(String [] args) {
int a[] = {1, 2, 3, 4, 5, 6};
int sum = 0;
for(int i:a) {
sum += i;

     }
System.out.print(sum);

  }
}

5.  보기 중에 축적 교환 방식을 고르시오

ㄱ. 회선 교환 방식
ㄴ. 메시지 교환 방식
ㄷ. 가상 회선 방식
ㄹ. 데이터그램 방식
더보기

ㄴ, ㄷ, ㄹ


6. 빈칸에 용어를 쓰시오

- 관계형 데이터베이스에서 ( 가 )(이)란 데이터를 구분하여 저장하는 기본 단위로, 데이터들을 표(table)형태로 표현한 것이다.
- 특정 속성이 가질 수 있는 모든 가능한 값의 집합을( 나 )(이)라 하며, 한 속성의 값은 모두 같은 (나 )에 속해 야 한다.

- 봉급이 5000이상 7000이하이고, 이름이 김으로 시작하는 종업원을 검색한다.
<SQL문> SELECT * FROM 종업원 WHERE 봉급 BETWEEN 5000 (다 ) 7000 (다) 이름 like '김%';

- 부서별 평균봉급이 6900보다 많은 부서들의 부서명과 평균봉급을 검색한다.
<SQL문> SELECT 부서명, AVG(봉급) FROM 종업원 GROUP BY 부서명 (라) AVG(봉급) > 6900;

- 번호 400, 이름 '정몽주', 부서명 '생산부', 봉급 5000인 종업원을 삽입한다.
<SQL문> INSERT INTO 종업원 ( 마) (400, '정몽주', '생산부', 5000);
더보기

(가) 릴레이션

(나) 도메인

(다) AND

(라) HAVING

(마) VALUES


7. 빈칸에 용어를 쓰시오

- 관계형 데이터베이스에서 (가)은(는) 설계에서 중복 정보의 포함을 최소화하기 위한 기법을 적용하는 것이다.

데이터베이스를 잘못 설계하면 불필 요한 데이터 중복이 발생하여 데이터 삽입 등의 연산을 수행할 때 부작용들이 발생할 수 있다. 이러한 부작용을 (나) 현상이라 한다. 
(나) 현상을 제거하면서 데이터베이스를 올바르게 설계해 나가는 과정이 (가)(이)다.  (나) 현상에는 삽입. (다), 삭제가 있다.

-(다) : 중복 튜플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제
- 이행적 함수 종속이란 릴레이션을 구성하는 세 개의 속성 집합 A. B, C에 대해 함수 종속 관계 A → B와 B →(라 )가 존재하면 논리적으로 A→ (라)가 성립하는데, 이를 속성 집합(4)(이)가 속성 집합 A에 이행적으로 함수 종족되었다고 한다.

- 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키이면 (마) 정규형에 속한다. 하나의 릴레이션에 여러 개
의 후보키가 존재할 수도 있는데, 이 경우 릴레이션에 발생할 수 있는 이상 현상을 해결하기 위한 제약조건을 제시한 것이 (마) 정규형이다.
더보기

(가) 정규화

(나) 이상

(다) 갱신

(라) C

(마) BCNF


8. 소프트웨어 V모델에 빈칸에 해당하는 용어를 쓰시오(실제 문제는 보기 있음)

더보기

가 : 사용자요구사항

나 : 분석

다 : 설계

라 : 구현

마 : 단위테스트

바 : 통합테스트

사 : 시스템테스트

아 : 인수테스트


9. 빈칸에 해당하는 것을 쓰시오.

1 3학년 이상의 전자계산과 학생들의.이름을 검색하라.
<SQL문> SELECT 이름 FROM 학생 WHERE 학년>=3( 가   ) 학과="전자계산";

2 프로젝트번호(PNO) 1,2.3 에서 일하는 사원의 주민등록번호(JUNO)를 중복없이 검색하라.
<SQL문> SELECT(   나    ) JUNO FROM WORKS WHERE PNO(    다   )(1,2,3);
더보기

가 : AND

나 : DISTINCT

다 : IN


10. 설명에 해당하는 것을 쓰시오 (실제 문제는 보기 있음)

중앙처리장치(CPU)와 프로세스(process)의 상태를 추적, 저장하는 역할
어떤 작업에게 프로세서(processor)를 할당할 것인지를 결정하는 역할
어떤 프로세스가 언제 얼마나 중앙처리장치(CPU)를 차지할 것인지 결정하는 역할
필요한 하드웨어 레지스터를 설정함으로써 프로세스에게 중앙처리장치(CPU)의 제어를 할당하는 역할
더보기

가: 트래픽 제어기

나 : 작업 스케줄러

다 : 프로세스 스케줄러

라 : 디스패처


11. 빈칸에 해당하는 것을 쓰시오

설명 OSI계층 PDU
여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층
통신 경로상의 지점간 회선 제어, 흐름제어, 오류 제어를 담당하는 계층
장치들 간의 물리적인 접속과 비트 정보를 다른 시스템에 전송하는데 필요한 규칙을 정의하는 계층
두 사용자 사이의 신뢰성 있는 데이터 전송을 위한 종단간 제어를 담당하는 계층
더보기

가: 네트워크

나 : 패킷

다: 데이터링크

라 :프레임

마 : 물리

바 : 비트

사 : 전송

아 : 세그먼트


12. 설명에 해당하는 것을 찾아 쓰시오

HDLC 프로토콜의 이 필드의 값으로는 네트워크 계층에서 전달 받은 패킷을 전송하기 위한 정보 프레임, 정보 프
레임에 대한 응답 기능을 수행하는 감독 프레임, 연결 설정의 제어와 관련된 비번호 프레임으로 구분할 수 있다.
이 세 가지의 프레임의 종류를 나타내는 필드를 <보기>에서 고르시오.
<보기>
Flag
ADdress
Control
Data
CRC
더보기

Control


13. Java 빈칸에 들어갈 것을 쓰시오

public class Test {
	public static void main(String [] args) {
		int totalcnt = 10, totalleg = 26;
		int duckcnt, pigcnt;
		for(duckcnt = 1; duckcnt < totalcnt; duckcnt++) {
			pigcnt = totalcnt -(가);
			if((2 * duckcnt) + (4 *(나)) == totalleg) {
				System.out.printf("%d %d", duckcnt, pigcnt);
				break;

    		}
		}
	}
}
더보기

(가) duckcnt

(나) pigcnt


14. 관련 용어를 찾아 쓰시오

- 코드 품질 향상 기법 중 하나로 품질 보증 활동을 인식한다
- 정적 테스트 시에만 활용하는 기법이다
- 결함과 함께 코딩 표준 준수 여부 효율성 등의 다른 품질 이슈를 검사하기도 한다
(가) 디버깅
(나) 매트릭
(다) 코드 인스펙션
(라) 검사
(마) 워크스루
(바) 동료 검사
더보기

(다) 코드 익스펙션


15. Python 출력결과

a=[81,91,72,100,49]
print(a.pop())
print(a.pop())
print(a.pop(1))
더보기

49

100

91


16. 학생 테이블에서 학생수가 30명 이하인 학과를 검색하는 SQL문의 빈칸을 완성하시오

SELECT (가) FROM 학생 WHERE (나);
더보기

(가) : 학과

(나) : 학생수<=30


17.  다음 용어를 쓰시오

1) 컴퓨터에서 전원을 켜 가장 처음 기본적인 기능을 처리해 주는 모듈
2) 입 출력 장치와 CPU 간의 처리 속도 차이에서 발생하는 CPU의 대기시간을 최소화하는 기능을 하는 모듈
더보기

1) BIOS

2) 버퍼링


18.  C언어 아래 string, test를 입력했을 때 출력결과

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
	int N = 2;
	char* str[N];sd
	for (int i = 0; i < N; i++) {
		char input[100];
		scanf("%s", input);
		str[i] = (char*)malloc(sizeof(char) * (strlen(input) + 1));
		strcpy(str[i], input);
	}
		while (N > 0) {
			printf("%d번 출력 :", N);
			for (int i = strlen(str[N - 1]) - 1; i >= 0; i--) {
				printf("%c", str[N - 1][i]);
			}
				printf("\n");
				N--;

			}

		}
<입력>
string
test
더보기

2번 출력 :tset
1번 출력 :gnirts


19. C언어 출력결과

#include <stdio.h>
int main() {
int sum = 0;
int i = 329;
do {

sum = 999 % i;
i++;
} while(sum != 0);
printf("%d", i);
return 0;

}

20. 고객계좌 테이블에서 잔고가 1,000,000원에서 3,000,000원 사이인 고객들의 등급을 우대고객으로 변경하라는 SQL문에 빈칸을 쓰시오

UPDATE 고객계좌 ( 가 ) 등급 = '우대고객' ( 나 ) 잔고 BETWEEN 1000000 AND 3000000
더보기

(가) SET

(나 ) WHERE


정보처리산업기사(정처산기) 실기 기출문제 모음

728x90
LIST
728x90
SMALL

1. 다음은 실습 사이트의 메인 페이지에 게시판의 최근 게시판 목록을 불러오는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
    $con =________________("localhost", "user1", "12345", "sample");
    $sql = "select * from board order by num desc ________________ 5";
    $result = mysqli_query($con, $sql);

    if (!$result)
        echo "게시판 DB 테이블(board)이 생성 전이거나 아직 게시글이 없습니다!";
    else
    {
        while( $row = ________________($result) )
        {
            $regist_day = _______________($row["regist_day"], 0, 10);
?>
                <li>
                    <span><?=$row["subject"]?></span>
                    <span><?=$row["name"]?></span>
                    <span><?=$regist_day?></span>
                </li>
<?php
        }
    }
?>
더보기

mysqli_connect
limit
mysqli_fetch_array
substr

<?php
    $con = mysqli_connect("localhost", "user1", "12345", "sample");
    $sql = "select * from board order by num desc limit 5";
    $result = mysqli_query($con, $sql);

    if (!$result)
        echo "게시판 DB 테이블(board)이 생성 전이거나 아직 게시글이 없습니다!";
    else
    {
        while( $row = mysqli_fetch_array($result) )
        {
            $regist_day = substr($row["regist_day"], 0, 10);
?>
                <li>
                    <span><?=$row["subject"]?></span>
                    <span><?=$row["name"]?></span>
                    <span><?=$regist_day?></span>
                </li>
<?php
        }
    }
?>

2. 다음은 관리자 모드에서 회원을 삭제하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
    _________________;
    if (isset($_SESSION["userlevel"])) $userlevel = $_SESSION["userlevel"];
    else $userlevel = "";

    if ( _________________ != 1 )
    {
        echo("
            <script>
            alert('관리자가 아닙니다! 회원 삭제는 관리자만 가능합니다!');
            history.go(-1)
            </script>
        ");
                exit;
    }

    $num   = $_GET["num"];

    $con = _________________("localhost", "user1", "12345", "sample");
    $sql = "_________________ from members where num = $num";
    _________________($con, $sql);

    mysqli_close($con);

   /*생략*/
?>
더보기

session_start()
$userlevel
mysqli_connect
delete
mysqli_query

<?php
    session_start();
    if (isset($_SESSION["userlevel"])) $userlevel = $_SESSION["userlevel"];
    else $userlevel = "";

    if ( $userlevel != 1 )
    {
        echo("
            <script>
            alert('관리자가 아닙니다! 회원 삭제는 관리자만 가능합니다!');
            history.go(-1)
            </script>
        ");
                exit;
    }

    $num   = $_GET["num"];

    $con = mysqli_connect("localhost", "user1", "12345", "sample");
    $sql = "delete from members where num = $num";
    mysqli_query($con, $sql);

    mysqli_close($con);

   /*생략*/
?>

3. 문자열에서 특정 문자셋을 기준으로 문자열을 추출하는 데 사용하는 함수는 무엇인가?

더보기

mb_substr()

 

728x90
LIST
728x90
SMALL

1. 다음은 게시판 폼 양식에 사용자가 입력한 정보를 DB에 저장하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
  /*생략 */
    $subject = $_POST["subject"];
    $content = $_POST["content"];
    $regist_day = date("Y-m-d (H:i)");  // 현재의 '년-월-일-시-분'을 저장
    $upload_dir = './data/'; 

	$upfile_name	 = $_FILES["upfile"]["name"];
	$upfile_tmp_name = $_FILES["upfile"]["tmp_name"];
	$upfile_type     = $_FILES["upfile"]["type"];
	$upfile_size     = $_FILES["upfile"]["size"];
	$upfile_error    = $_FILES["upfile"]["error"];

	if ($upfile_name && !$upfile_error)
	{
		$file = ________(".", $upfile_name);
		$file_name = $file[0];
		$file_ext  = $file[1];

		$new_file_name = date("Y_m_d_H_i_s");
		$new_file_name = $new_file_name;
		$copied_file_name = $new_file_name.".".$file_ext;      
		$uploaded_file = $upload_dir.$copied_file_name;


		________($upfile_tmp_name, $uploaded_file);
		
	}
	else 
	{
		$upfile_name      = "";
		$upfile_type      = "";
		$copied_file_name = "";
	}
	
	$con = mysqli_connect("localhost", "user1", "12345", "sample");

	$sql = "________ board (id, name, subject, content, regist_day, hit,  file_name, file_type, file_copied) ";
	$sql .= "values('$userid', '$username', '$subject', '$content', '$regist_day', 0, ";
	$sql .= "'$upfile_name', '$upfile_type', '$copied_file_name')";
	________($con, $sql);  // $sql 에 저장된 명령 실행
	mysqli_close($con);                // DB 연결 끊기
/*생략*/
?>
더보기

explode
move_uploaded_file
insert into
mysqli_query

<?php
  /*생략 */
    $subject = $_POST["subject"];
    $content = $_POST["content"];
    $regist_day = date("Y-m-d (H:i)");  // 현재의 '년-월-일-시-분'을 저장
    $upload_dir = './data/'; 

	$upfile_name	 = $_FILES["upfile"]["name"];
	$upfile_tmp_name = $_FILES["upfile"]["tmp_name"];
	$upfile_type     = $_FILES["upfile"]["type"];
	$upfile_size     = $_FILES["upfile"]["size"];
	$upfile_error    = $_FILES["upfile"]["error"];

	if ($upfile_name && !$upfile_error)
	{
		$file = explode(".", $upfile_name);
		$file_name = $file[0];
		$file_ext  = $file[1];

		$new_file_name = date("Y_m_d_H_i_s");
		$new_file_name = $new_file_name;
		$copied_file_name = $new_file_name.".".$file_ext;      
		$uploaded_file = $upload_dir.$copied_file_name;


		move_uploaded_file($upfile_tmp_name, $uploaded_file);
		
	}
	else 
	{
		$upfile_name      = "";
		$upfile_type      = "";
		$copied_file_name = "";
	}
	
	$con = mysqli_connect("localhost", "user1", "12345", "sample");

	$sql = "insert into board (id, name, subject, content, regist_day, hit,  file_name, file_type, file_copied) ";
	$sql .= "values('$userid', '$username', '$subject', '$content', '$regist_day', 0, ";
	$sql .= "'$upfile_name', '$upfile_type', '$copied_file_name')";
	mysqli_query($con, $sql);  // $sql 에 저장된 명령 실행
	mysqli_close($con);                // DB 연결 끊기
/*생략*/
?>

2. 다음은 게시판의 글 목록을 보여주는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

   	<div id="board_box">
	    <h3>
	    	게시판 > 목록보기
		</h3>
	    <ul id="board_list">
				<li>
					<span class="col1">번호</span>
					<span class="col2">제목</span>
					<span class="col3">글쓴이</span>
					<span class="col4">첨부</span>
					<span class="col5">등록일</span>
					<span class="col6">조회</span>
				</li>
<?php
	$con = mysqli_connect("localhost", "user1", "12345", "sample");
	$sql = "select * from board order by num desc";
	$result = ____________($con, $sql);
	$total_record = ____________($result); // 전체 글 수

	$scale = 10;

	// 전체 페이지 수($total_page) 계산 
	if ($____________ % $scale == 0)     
		$total_page = floor($total_record/$scale);      
	else
		$total_page = floor($total_record/$scale) + 1; 
 
	// 표시할 페이지($page)에 따라 $start 계산
	//최 중요 코드 페이징 
	$start = ($page - 1) * $scale;      

	$number = $total_record - $start;

   for ($i=$start; $i<$start+$scale && $i < $total_record; $i++)
   {
      ____________($result, $i);
      // 가져올 레코드로 위치(포인터) 이동
     ____________ = mysqli_fetch_array($result);
      // 하나의 레코드 가져오기
	  $num         = $row["num"];
	  $id          = $row["id"];
	  $name        = $row["name"];
	  $subject     = $row["subject"];
      $regist_day  = $row["regist_day"];
      $hit         = $row["hit"];
      if ($row["file_name"])
      	$file_image = "<img src='./img/file.gif'>";
      else
      	$file_image = " ";
?>
				<li>
					<span class="col1"><?=$number?></span>
					<span class="col2"><a href="board_view.php?num=<?=$num?>&page=<?=$page?>"><?=____________?></a></span>
					<span class="col3"><?=$name?></span>
					<span class="col4"><?=$file_image?></span>
					<span class="col5"><?=$regist_day?></span>
					<span class="col6"><?=$hit?></span>
				</li>	
<?php
   	   $number--;
   }
   mysqli_close($con);

?>
	    	
	</div>
더보기

mysqli_query
mysqli_num_rows
total_record
mysqli_data_seek
$row
$subject

   	<div id="board_box">
	    <h3>
	    	게시판 > 목록보기
		</h3>
	    <ul id="board_list">
				<li>
					<span class="col1">번호</span>
					<span class="col2">제목</span>
					<span class="col3">글쓴이</span>
					<span class="col4">첨부</span>
					<span class="col5">등록일</span>
					<span class="col6">조회</span>
				</li>
<?php
	$con = mysqli_connect("localhost", "user1", "12345", "sample");
	$sql = "select * from board order by num desc";
	$result = mysqli_query($con, $sql);
	$total_record = mysqli_num_rows($result); // 전체 글 수

	$scale = 10;

	// 전체 페이지 수($total_page) 계산 
	if ($total_record % $scale == 0)     
		$total_page = floor($total_record/$scale);      
	else
		$total_page = floor($total_record/$scale) + 1; 
 
	// 표시할 페이지($page)에 따라 $start 계산
	//최 중요 코드 페이징 
	$start = ($page - 1) * $scale;      

	$number = $total_record - $start;

   for ($i=$start; $i<$start+$scale && $i < $total_record; $i++)
   {
      mysqli_data_seek($result, $i);
      // 가져올 레코드로 위치(포인터) 이동
      $row = mysqli_fetch_array($result);
      // 하나의 레코드 가져오기
	  $num         = $row["num"];
	  $id          = $row["id"];
	  $name        = $row["name"];
	  $subject     = $row["subject"];
      $regist_day  = $row["regist_day"];
      $hit         = $row["hit"];
      if ($row["file_name"])
      	$file_image = "<img src='./img/file.gif'>";
      else
      	$file_image = " ";
?>
				<li>
					<span class="col1"><?=$number?></span>
					<span class="col2"><a href="board_view.php?num=<?=$num?>&page=<?=$page?>"><?=$subject?></a></span>
					<span class="col3"><?=$name?></span>
					<span class="col4"><?=$file_image?></span>
					<span class="col5"><?=$regist_day?></span>
					<span class="col6"><?=$hit?></span>
				</li>	
<?php
   	   $number--;
   }
   mysqli_close($con);

?>
	    	
	</div>

3. 게시판 기능을 구현하는 데 사용되는 PHP 함수에 관한 물음에 답하시오.

① 문자열을 분리하여 배열로 반환하는 함수는 무엇인가?

② 업로드된 파일을 새로운 위치의 파일(경로 포함)로 이동하는 데 사용하는 함수는 무엇인가?

③ 파일을 열어서 그 파일이 지시하는 파일 포인터를 얻는 데 사용하는 함수는 무엇인가?

④ 현재 파일 포인터가 지시하는 위치부터 끝까지 파일을 읽어 출력 버퍼에 저장하는 함수는 무엇인가?

더보기

① explode()

② move_uploaded_file()

③ fopen()

④ fpassthru()

728x90
LIST
728x90
SMALL

1. 다음은 쪽지를 DB에 저장하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
    $send_id = $_GET["send_id"];

    $rv_id = $_POST['rv_id'];
    $subject = $_POST['subject'];
    $content = $_POST['content'];
	$content = ____________________($content, ENT_QUOTES);
	$regist_day = _______("Y-m-d (H:i)");  // 현재의 '년-월-일-시-분'을 저장

	$con =_______("localhost", "user1", "12345", "sample");
	$sql = "select * from members where id='$rv_id'";
	$result = mysqli_query($con, $sql);
	$num_record = _______($result);

	if($num_record)
	{
		$sql = "insert into message (send_id, rv_id, subject, content,  regist_day) ";
		$sql .= "values('$send_id', '$rv_id', '$subject', '$content', '$regist_day')";
		_______($con, $sql);  // $sql 에 저장된 명령 실행
	} else {
		echo("
			<script>
			alert('수신 아이디가 잘못 되었습니다!');
			history.go(-1)
			</script>
			");
		exit;
	}

	mysqli_close($con);                // DB 연결 끊기
?>
더보기

htmlspecialchars

date

mysqli_connect

mysqli_num_rows

mysqli_query

<?php
    $send_id = $_GET["send_id"];

    $rv_id = $_POST['rv_id'];
    $subject = $_POST['subject'];
    $content = $_POST['content'];
	$content = htmlspecialchars($content, ENT_QUOTES);
	$regist_day = date("Y-m-d (H:i)");  // 현재의 '년-월-일-시-분'을 저장

	$con = mysqli_connect("localhost", "user1", "12345", "sample");
	$sql = "select * from members where id='$rv_id'";
	$result = mysqli_query($con, $sql);
	$num_record = mysqli_num_rows($result);

	if($num_record)
	{
		$sql = "insert into message (send_id, rv_id, subject, content,  regist_day) ";
		$sql .= "values('$send_id', '$rv_id', '$subject', '$content', '$regist_day')";
		mysqli_query($con, $sql);  // $sql 에 저장된 명령 실행
	} else {
		echo("
			<script>
			alert('수신 아이디가 잘못 되었습니다!');
			history.go(-1)
			</script>
			");
		exit;
	}

	mysqli_close($con);                // DB 연결 끊기
?>

2. 다음은 수신/송신 쪽지함에서 DB에 저장된 쪽지의 목록을 보여주는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
	$con = mysqli_connect("localhost", "user1", "12345", "sample");
	$result = mysqli_query($con, $sql);
	$total_record = __________($result); // 전체 글 수
	$scale = 10;

	// 전체 페이지 수($total_page) 계산 
	if ($total_record % __________ == 0)     
		$total_page = floor($total_record/$scale);      
	else
		$total_page = floor($total_record/$scale) + 1; 
 
	// 표시할 페이지($page)에 따라 $start 계산  
	$start = ($page - 1) * $scale;      

	$number = $total_record - $start;

   for ($i=$start; $i<$start+$scale && $i < $total_record; $i++)
   {
     __________ ($result, $i);
      // 가져올 레코드로 위치(포인터) 이동
      __________ = mysqli_fetch_array($result);
      // 하나의 레코드 가져오기
	  $num    = $row["num"];
	  $subject     = $row["subject"];
      $regist_day  = $row["regist_day"];

	  if ($mode=="send")
	  	$msg_id = $row["rv_id"];
	  else
	  	$msg_id = $row["send_id"];
	  
	  $result2 = __________($con, "select name from members where id='$msg_id'");
	  $record = mysqli_fetch_array($result2);
	  $msg_name     = $record["name"];	  

/*생략 */

   	   $number--;
   }
   mysqli_close($con);
?>
더보기

mysqli_num_rows
$scale
mysqli_data_seek
$row
mysqli_query

<?php
	$con = mysqli_connect("localhost", "user1", "12345", "sample");
	$result = mysqli_query($con, $sql);
	$total_record = mysqli_num_rows($result); // 전체 글 수
	$scale = 10;

	// 전체 페이지 수($total_page) 계산 
	if ($total_record % $scale == 0)     
		$total_page = floor($total_record/$scale);      
	else
		$total_page = floor($total_record/$scale) + 1; 
 
	// 표시할 페이지($page)에 따라 $start 계산  
	$start = ($page - 1) * $scale;      

	$number = $total_record - $start;

   for ($i=$start; $i<$start+$scale && $i < $total_record; $i++)
   {
      mysqli_data_seek($result, $i);
      // 가져올 레코드로 위치(포인터) 이동
      $row = mysqli_fetch_array($result);
      // 하나의 레코드 가져오기
	  $num    = $row["num"];
	  $subject     = $row["subject"];
      $regist_day  = $row["regist_day"];

	  if ($mode=="send")
	  	$msg_id = $row["rv_id"];
	  else
	  	$msg_id = $row["send_id"];
	  
	  $result2 = mysqli_query($con, "select name from members where id='$msg_id'");
	  $record = mysqli_fetch_array($result2);
	  $msg_name     = $record["name"];	  

/*생략 */

   	   $number--;
   }
   mysqli_close($con);
?>

3. 다음은 쪽지의 내용을 보여주는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

   	<div id="message_box">
	    <h3 class="title">
<?php
	$mode = $_GET["mode"];
	$num  = $_GET["num"];

	$con = _________("localhost", "user1", "12345", "sample");
	$sql = "_________ * from message where num=$num";
	$result = _________($con, $sql);

	$row = _________($result);
	$rv_id      = $row["rv_id"];
	$regist_day = $row["regist_day"];
	$subject    = $row["subject"];
	$content    = $row["content"];

	$content = _________(" ", "&nbsp;", $content);
	$content = _________("\n", "<br>", $content);

	if ($mode=="send")
		$result2 = mysqli_query($con, "select name from members where id='$rv_id'");
	else
		$result2 = mysqli_query($con, "select name from members where id='$send_id'");

	$record = ________($result2);
	$msg_name = $record["name"];

	if ($mode=="send")	    	
	    echo "송신 쪽지함 > 내용보기";
	else
		echo "수신 쪽지함 > 내용보기";
?>
		</h3>
	    <ul id="view_content">
			<li>
				<span class="col1"><b>제목 :</b> <?=$subject?></span>
				<span class="col2"><?=$msg_name?> | <?=$regist_day?></span>
			</li>
			<li>
				<?=$content?>
			</li>		
	    </ul>
	</div>
더보기

mysqli_connect
select
mysqli_query
mysqli_fetch_array
str_replace
str_replace
mysqli_fetch_array

   	<div id="message_box">
	    <h3 class="title">
<?php
	$mode = $_GET["mode"];
	$num  = $_GET["num"];

	$con = mysqli_connect("localhost", "user1", "12345", "sample");
	$sql = "select * from message where num=$num";
	$result = mysqli_query($con, $sql);

	$row = mysqli_fetch_array($result);
	$rv_id      = $row["rv_id"];
	$regist_day = $row["regist_day"];
	$subject    = $row["subject"];
	$content    = $row["content"];

	$content = str_replace(" ", "&nbsp;", $content);
	$content = str_replace("\n", "<br>", $content);

	if ($mode=="send")
		$result2 = mysqli_query($con, "select name from members where id='$rv_id'");
	else
		$result2 = mysqli_query($con, "select name from members where id='$send_id'");

	$record = mysqli_fetch_array($result2);
	$msg_name = $record["name"];

	if ($mode=="send")	    	
	    echo "송신 쪽지함 > 내용보기";
	else
		echo "수신 쪽지함 > 내용보기";
?>
		</h3>
	    <ul id="view_content">
			<li>
				<span class="col1"><b>제목 :</b> <?=$subject?></span>
				<span class="col2"><?=$msg_name?> | <?=$regist_day?></span>
			</li>
			<li>
				<?=$content?>
			</li>		
	    </ul>
	</div>

4. 쪽지 기능을 구현하는 데 사용되는 PHP 함수에 관한 물음에 답하시오.

① 문자열에 포함된 특수 문자를 HTML 특수 기호로 변환하는 함수는 무엇인가?

② 소수점 이하를 내림한 정수를 반환하는 함수는 무엇인가?

③ 레코드 집합 내로 포인터를 이동하는 함수로, 이 함수를 수행한 후 mysqli_fetch_array() 함수가 호출되면 포인터가 지시하는 레코드를 가져오는 것은 무엇인가?

더보기

① htmlspecialchars() 

② floor()

③ mysqli_data_seek()

 

728x90
LIST

+ Recent posts