728x90
SMALL

1. 다음은 세션을 이용하여 로그인을 처리하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
$id = $_POST["id"];
$pass = $_POST["pass"];
$con = mysqli_connect("localhost", "user1", "12345", "sample");
______ = "select * from members where id='$id'";
______ = mysqli_query($con, $sql);
______ = mysqli_num_rows($result);
if(!$num_match)
{
echo("
<script>
window.alert('등록되지 않은 아이디입니다!')
history.go(-1)
</script>
");
}
else
{
$row = _________($result);
$db_pass = $row["pass"];
mysqli_close($con);
if($pass != _________)
{
echo("
<script>
window.alert('비밀번호가 틀립니다!')
history.go(-1)
</script>
");
exit;
}
else
{
session_start();
$_SESSION["userid"] = $row["id"];
/* 생략 */
}
}
?>
정답보기

$sql

$result

$num_match

$mysqli_fetch_array

$db_pass

<?php
$id = $_POST["id"];
$pass = $_POST["pass"];
$con = mysqli_connect("localhost", "user1", "12345", "sample");
$sql = "select * from members where id='$id'";
$result = mysqli_query($con, $sql);
$num_match = mysqli_num_rows($result);
if(!$num_match)
{
echo("
<script>
window.alert('등록되지 않은 아이디입니다!')
history.go(-1)
</script>
");
}
else
{
$row = mysqli_fetch_array($result);
$db_pass = $row["pass"];
mysqli_close($con);
if($pass != $db_pass)
{
echo("
<script>
window.alert('비밀번호가 틀립니다!')
history.go(-1)
</script>
");
exit;
}
else
{
session_start();
$_SESSION["userid"] = $row["id"];
/* 생략 */
}
}
?>

2. 다음은 웹 페이지 상단 헤더의 프로그램 중 일부로, 세션을 이용하여 로그인 상태를 파악하는 부분이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
___________;
if (___________($_SESSION["userid"])) $userid = $_SESSION["userid"];
else $userid = "";
if (___________($_SESSION["username"])) $username = $_SESSION["username"];
else $username = "";
if (___________($_SESSION["userlevel"])) $userlevel = $_SESSION["userlevel"];
else $userlevel = "";
?>
<div id="top">
<h3>
<a href="index.php">PHP 프로그래밍 입문</a>
</h3>
<ul id="top_menu">
<?php
if(!___________) {
?>
<li><a href="member_form.php">회원 가입(11장)</a> </li>
<li> | </li>
<li><a href="login_form.php">로그인(12장)</a></li>
<?php
} ___________ {
$logged = $username."(".$userid.")님[Level:".$userlevel.", Point:".$userpoint."]";
?>
<li><?=$logged?> </li>
<li> | </li>
<li><a href="logout.php">로그아웃</a> </li>
<li> | </li>
<li><a href="member_modify_form.php">정보 수정</a></li>
<?php
}
?>
</ul>
</div>
정답보기

session_start()

isset

isset

isset

$userid

else

<?php
session_start();
if (isset($_SESSION["userid"])) $userid = $_SESSION["userid"];
else $userid = "";
if (isset($_SESSION["username"])) $username = $_SESSION["username"];
else $username = "";
if (isset($_SESSION["userlevel"])) $userlevel = $_SESSION["userlevel"];
else $userlevel = "";
?>
<div id="top">
<h3>
<a href="index.php">PHP 프로그래밍 입문</a>
</h3>
<ul id="top_menu">
<?php
if(!$userid) {
?>
<li><a href="member_form.php">회원 가입(11장)</a> </li>
<li> | </li>
<li><a href="login_form.php">로그인(12장)</a></li>
<?php
} else {
$logged = $username."(".$userid.")님[Level:".$userlevel.", Point:".$userpoint."]";
?>
<li><?=$logged?> </li>
<li> | </li>
<li><a href="logout.php">로그아웃</a> </li>
<li> | </li>
<li><a href="member_modify_form.php">정보 수정</a></li>
<?php
}
?>
</ul>
</div>

3. 다음은 사용자가 회원 정보 수정 폼 양식에서 정보를 수정한 후 완료 버튼을 클릭하면 수정된 데이터로 DB를 업데이트하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
$id = $_GET["id"];
________= $_POST["pass"];
$name = $_POST["name"];
$email1 = $_POST["email1"];
$email2 = $_POST["email2"];
________ = $email1."@".$email2;
$con = mysqli_connect("localhost", "user1", "12345", "sample");
$sql = "________ members set pass='$pass', name='$name' , email='$email'";
$sql .= " where id='$id'";
________($con, $sql);
mysqli_close($con);
/*생략 */
?>
정답보기

$pass

$email

$update

mysqli_query

<?php
$id = $_GET["id"];
$pass = $_POST["pass"];
$name = $_POST["name"];
$email1 = $_POST["email1"];
$email2 = $_POST["email2"];
$email = $email1."@".$email2;
$con = mysqli_connect("localhost", "user1", "12345", "sample");
$sql = "update members set pass='$pass', name='$name' , email='$email'";
$sql .= " where id='$id'";
mysqli_query($con, $sql);
mysqli_close($con);
/*생략 */
?>

4. 로그인과 회원 정보 수정에 사용되는 PHP 함수에 관한 물음에 답하시오.

① 변수 값을 검사하여 true 또는 false를 반환하는 함수는 무엇인가?

② 문자열을 분리하여 배열에 저장하는 함수는 무엇인가?

정답보기

① isset()

② explode()

 

728x90
LIST
728x90
SMALL

1. 다음은 회원 가입 양식에 사용자가 입력한 데이터를 members 테이블에 저장하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
$id = $_POST["id"];
$pass = $_POST["pass"];
$name = $_POST["name"];
$email1 = $_POST["email1"];
$email2 = $_POST["email2"];
$email = $email1."@".$email2;
$regist_day = __________("Y-m-d (H:i)"); // 현재의 '년-월-일-시-분'을 저장
$con = __________("localhost", "user1", "12345", "sample");
$sql = "__________ members(id, pass, name, email, regist_day, level, point) ";
$sql .= "values('$id', '$pass', '$name', '$email', '$regist_day', 9, 0)";
__________($con, $sql); // $sql 에 저장된 명령 실행
mysqli_close($con);
/*생략*/
?>
정답보기

date

mysqli_connect

insert into

mysqli_query

<?php
$id = $_POST["id"];
$pass = $_POST["pass"];
$name = $_POST["name"];
$email1 = $_POST["email1"];
$email2 = $_POST["email2"];
$email = $email1."@".$email2;
$regist_day = date("Y-m-d (H:i)"); // 현재의 '년-월-일-시-분'을 저장
$con = mysqli_connect("localhost", "user1", "12345", "sample");
$sql = "insert into members(id, pass, name, email, regist_day, level, point) ";
$sql .= "values('$id', '$pass', '$name', '$email', '$regist_day', 9, 0)";
mysqli_query($con, $sql); // $sql 에 저장된 명령 실행
mysqli_close($con);
/*생략*/
?>

2. 다음은 회원 가입 시 아이디의 중복을 확인하는 프로그램의 일부이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
$id = $_GET["id"];
if(!$id)
{
echo("<li>아이디를 입력해 주세요!</li>");
}
else
{
$con = _________("localhost", "user1", "12345", "sample");
$sql = "_________ * from members where id='$id'";
$result = mysqli_query($con, $sql);
_________ = mysqli_num_rows($result);
if ($num_record)
{
echo "<li>".$id." 아이디는 중복됩니다.</li>";
echo "<li>다른 아이디를 사용해 주세요!</li>";
}
else
{
echo "<li>".$id." 아이디는 사용 가능합니다.</li>";
}
mysqli_close($con);
}
?>
정답보기

mysqli_connect

select

$num_record

<?php
$id = $_GET["id"];
if(!$id)
{
echo("<li>아이디를 입력해 주세요!</li>");
}
else
{
$con = mysqli_connect("localhost", "user1", "12345", "sample");
$sql = "select * from members where id='$id'";
$result = mysqli_query($con, $sql);
$num_record = mysqli_num_rows($result);
if ($num_record)
{
echo "<li>".$id." 아이디는 중복됩니다.</li>";
echo "<li>다른 아이디를 사용해 주세요!</li>";
}
else
{
echo "<li>".$id." 아이디는 사용 가능합니다.</li>";
}
mysqli_close($con);
}
?>

3. MySQL 관련 PHP 함수에 관한 물음에 답하시오.

① PHP 프로그램 내에서 MySQL 서버에 연결하는 함수는 무엇인가?

② 설정된 MySQL 연결에서 MySQL 명령을 실행하는 함수는 무엇인가?

③ 설정된 MySQL 연결을 해제하는 함수는 무엇인가?

정답보기

① mysqli_connect

② mysqli_query

③ mysqli_close

728x90
LIST
728x90
SMALL

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


22년 1회

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

SELECT 이름 FROM 인사팀 WHERE 나이 BETWEENE 35 AND 49;

답 : (     ) 명 이상, (     )명 이하

정답보기

11, 17


22년 1회

18. 다음은 <Student> 테이블에서 학생 수가 5명 이상인 과목에 대해 중간고사 평균을 조회하는 <SQL문>이다. 괄호에 알맞은 답을 적어 <SQL문>을 완성하시오.

SELECT sub_Code As 과목코드, ( 가 ) (mid) AS 중간평균
FROM Students
GROUP BY sub_Code
HAVING ( 나 ) ( * ) >=5;
정답보기

가 : AVG

나 : COUNT


22년 2회

3. 다음 테이블(salaries)에서 사원번호(emp_num)가 2073인 사원의 급여(salary)를 2500으로 갱신하는 SQL문을 작성하시오. (단, 문장 마지막의 세미콜론(;)의 여부는 채점에 영향을 주지 않는다)

emp_num name salary
2071 White 2400
2072 Red 2315
2073 Brown 2478
2074 Green 3100
2075 PurPle 4200
정답보기

UPDATE salaries SET salary =2500 WHERE emp_num=2073;


22년 2회

18. 다음 관계 대수식을 해석하여 SQL문으로 작성하시오.

정답보기

SELECT FNAME, LNAME,SALARY FROM EMP WHERE DNO=1005;


22년 3회

18. SQL에 대한 다음 설명에서 괄호에 들어갈 알맞은 명령어를 쓰시오.

SQL의 하나인 DDL은 DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어로, 다음 3가지 명령어를 사용하여 표현한다.
(  가  ) : 스키마, 도메인, 테이블 등의 개체를 정의하는 데 사용하는 명령어
(  나  ) : 개체에 대한 정의를 변경하는 데 사용하는 명령어
(  다  ) : 스키마, 도메인, 테이블 등의 개체를 삭제하는 데 사용하는 명령어
정답보기

(가) : CREATE

(나) : ALTER

(다) : DROP


23년 1회

19. 다음은 Company 테이블을 생성하는 SQL문이다. company 테이블의 TITLE 속성에는 Intern, Staff, Manager, Director, President 값만 허용할 수 있도록 <SQL문> (가) 와 (나)에 적합한 단어를 쓰시오

CREATE TABLE COMPANY(
ID INT NOT NULL,
NAME VARCHAR(20) NOT NULL,
AGE INT NOT NULL,
TITLE VARCHAR(20) (가) (TITLE(나) ('Intern','Staff','Manager','Director','President'))
);
정답보기

(가) CHECK

(나) IN


23년 2회

6. 아래 처리조건을 보고 SQL문을 작성하시오.

<처리조건>
-학생 테이블에서 학년이 3학년 이상이 수강하는 과목을 검색한다
-검색 결과 중복을 제거한다
정답보기

SELECT DISTINCT 과목 FROM 학생 WHERE 학년 >= 3;


23년 2회

19. SQL문에서 특정 속성의 값을 제한하기 위해 사용하는 문법으로 도메인이 가질 수 있는 값의 범위를 제약할 때 사용하는 제약조건을 쓰시오.


23년 3회

3. 아래 처리조건을 보고 SQL문을 작성하시오.

<처리조건>
-customer 테이블에서 학년(GRADE) 속성을 중복 없이 검색한다
정답보기

SELECT DISTINCT GRADE FROM CUSTOMER;


24년 1회

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


24년 1회

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


24년 1회

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

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

(가) SET

(나 ) WHERE


24년 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


24년 2회

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

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

(1) INTO

(2) VALUES

(3) SET


24년 2회

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


24년 3회

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

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

(가) USING


24년 3회

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


24년 3회

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

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

(1) UNIQUE

(2) INDEX


24년 3회

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

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

(가) 11

(나) 17

 

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

728x90
LIST
728x90
SMALL

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


22년 1회

11. 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

x=10
y= 'test'
print(type(x))
print(type(y))

22년 3회

5. 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. 

def f(n) :
return lambda a:a*n
k=f(3)
print(k(10))

22년 3회

10. 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

def af(a,b):
return a+b
def sf(a,b):
return a-b
print(sf(af(4,5),6))

23년 1회

20. 다음 (가)에 무엇이 들어갈지 쓰시오

wallet=['credit','id']
card=True
if('cash'in wallet):
print('택시')
(가)(card):
print('버스')
else:
print('도보')
지갑안에 신용카드(credit)와 신분증(id)이 있고 카드(card)를 가지고 있다.
대중교통을 이용하는데
지갑 안에 현급(cash)이 있다면 택시를 이용하고
현금이 없는 경우 카드가 있는지 확인하고
카드가 있다면 버스를 이용한다
만약 현금과 카드 둘다 없다면 도보를 이용한다

23년 2회

11. 다음 보기에서 Python 언어의 특징을 모두 고르시오

<보기>
ㄱ. 변수 선언 시 자료형 작성은 필수
ㄴ. 세미콜론을 사용하지 않아도 된다
ㄷ. 변수에 연속하여 값을 저장하는 것이 가능하다
ㄹ. 같은 수준의 코드는 반드시 동일한 여백을 가져야 한다
ㅁ. gcc를 이용해 컴파일하기 때문에 인터프리터 언어가 아니다
정답보기

ㄴ, ㄷ, ㄹ


24년 1회

15. 출력결과

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

49
100
91


24년 2회

16. Python 실행결과

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

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

728x90
LIST
728x90
SMALL

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


22년 1회

19. 다음 Java로 구현된 프로그램을 분석하여 그 실행결과를 쓰시오.

public class Test {
public static void main(String args[]) {
int a=0, ss=0;
while(true) {
if(ss>100) break;
++a;
ss+=a;
}
System.out.print(a+ss);
}
}

22년 1회

20. 다음 Java로 구현된 프로그램을 분석하여 그 실행결과를 쓰시오. 

public class Test {
public static void main(String args[]) {
int x=1, T_x=0, t_x=0;
T_x= (x>=0) ? x:-x;
if(x>=0)
t_x=x;
else
t_x=-x;
System.out.println(T_x + " " + t_x);
}
}

22년 2회

10. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

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

22년 2회

16. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

class Test {
public static void main(String args[]) {
int a=26;
int b=91;
int g=0;
int c=a<b?a:b;
for(int i=1; i<c;i++){
if(a%i==0 && b%i==0)
g=i;
}
System.out.print(g);
}
}

22년 3회

3. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

class Main {
public static void main(String args[]) {
int[] a=new int[8];
int i=0;
int n=11;
while(n>0){
a[i++]=n%2;
n/=2;
}
for(i=7;i>=0;i--)
System.out.print("%d",a[i]);
}
}
정답보기

00001011


22년 3회

15. 다음 JAVA로 구현된 프로그램을 분석하여 그 실행결과를 쓰시오.

class Main {
public static void main(String args[]) {
int a[][]=new int [3][3];
init(a);
data(a);
prnt(a);
}
static void init(int a[][]){
for(int i=0; i<3;i++)
for(int j=0; j<3;j++)
a[i][j]=0;
}
static void data(int a[][]){
int v=1;
for(int i=0; i<3;i++)
for(int j=i; j<3;j++)
a[i][j]=v++;
}
static void prnt (int a[][]){
for(int i=0; i<3;i++){
for(int j=0; j<3;j++){
if(a[i][j]==0)
System.out.printf(" ");
else
System.out.printf("%d", a[i][j]);
}
System.out.println();
}
}
}
정답보기

123

  45

    6


23년 1회

12. 다음 코드의 출력결과를 쓰시오

public class Main {
public static void main(String[] args) { // true, false
int x = 1;
System.out.println(!(x>0));
System.out.println((x!=0) || (x>0));
System.out.println(x << 2);
System.out.println(x & 2);
System.out.println(x %= 3);
}
}
정답보기

false
true
4
0
1


23년 2회

15. 출력결과

class Main {
public static void main(String[] args) {
int[] a = {4, 7, 1, 2};
for(int i=0; i<3; i++) {
for(int j=i+1; j<4; j++) {
if(a[i] > a[j]) {
int temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
for(int i=0; i<4; i++) {
System.out.print(a[i] + "a");
}
}
}
정답보기

1a2a4a7a


23년 3회

10. 출력결과

class Berry {
String Str;
void meth() {
func();
}
void func() {
System.out.println(Str);
}
}
class Apple extends Berry {
String Str;
void func() {
Str = "Apple";
super.Str = "Berry";
super.func();
System.out.println(Str);
}
}
public class Main {
public static void main(String[] args) {
Berry A = new Apple();
A.meth();
}
}
정답보기

Berry
Apple


23년 3회

15. 출력결과

public class Main {
static int a = 0;
static int func(int t) {
a = a+t;
return a;
}
public static void main(String[] args) {
for(int i=0; i<5; i++) {
func(i);
}
System.out.print(a);
}
}

23년 3회

17. 출력결과

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

24년 1회

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);
}
}

24년 1회

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


24년 2회

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));
}
}

24년 3회

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);
}
}

24년 3회

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);
}
}
}

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

728x90
LIST
728x90
SMALL

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


22년 1회

6. 다음 C언어로 구현된 프로그램을 실행하여 7을 입력했을 때, 그 실행결과를 쓰시오

#include <stdio.h>
main() {
int n, count=0;
scanf("%d", &n);
for(int i=2; i<=n/2;i++)
if(i%1==0)
count++;
printf("%d",count);
}

22년 1회

9. 다음 C언어로 구현된 프로그램을 분석하여 그 실행결과를 쓰시오.

#include <stdio.h>
main() {
int n=3, r=0;
for(int i=1; i<10;i=i+2)
r=r+n*i;
printf("%d", r);
}

22년 1회

14. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
main() {
int n1=15, n2=22;
n1 ^=n2;
n2 ^=n1;
n1 ^=n2;
printf("%d %d", n1, n2);
}

22년 1회

17. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
main() {
int num=35, evencnt=0, oddcnt=0;
for(int i=1; i<=num; i++){
if(i%2==0)
evencnt++;
else
oddcnt++;
}
printf("%d %d", evencnt, oddcnt);
}

22년 2회

1. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
main() {
int a=27, b=12;
int l, g;
for(int i=b; i>0; i--){
if(a%i==0&&b%i==0){
g=i;
break;
}
}
l=a*b/g;
printf("%d",g+l);
}

22년 2회

7. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

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

22년 2회

14. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
main() {
int arr[6];
int max=0, min=99;
int sum=0;
for(int i=0; i<6;i++){
arr[i]=i*i;
sum+=arr[i];
}
for(int i=0;i<6;i++){
if (max<arr[i])
max=arr[i];
if (min>arr[i])
min=arr[i];
}
printf("%.2f",(sum-max-min)/4.0);
}

22년 2회

15. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
#include <math.h>
main() {
int arr[5];
for(int i=0; i<5;i++){
arr[i]=(i+2)+(i*2);
}
for(int i=0;i<5;i++){
printf("%d",check(arr[i]));
}
}
int check(int a){
int n=(int)sqrt(a);
int i=2;
while(i<=n){
if(a%i==0) return 0;
i++;
}
return 1;
}

22년 2회

19. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
main() {
char a[3][5]={"KOR","HUM","RES"};
char*pa[]={a[0],a[1],a[2]};
int n=sizeof(pa)/sizeof(pa[0]);
for(int i=0; i<n;i++)
printf("%c", pa[i][i]);
}

22년 3회

6. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
main() {
int a[3][5]={{27,13,21,41,12},{11,20,17,35,15},{21,15,32,14,10}};
int sum, ssum=0;
for(int i=0;i<3; i++){
sum=0;
for(int j=0; j<5;j++)
sum+=a[i][j];
ssum+=sum;
}
printf("%d",ssum);
}

22년 3회

8. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>
main() {
int i=1, n=0;
while(i<=50){
if(i%7==0)
n+=i;
i++;
}
printf("%d", n);
}

22년 3회

16. 다음 C언어로 구현된 프로그램에서 화면에 5를 입력한 후 나타나는 결과를 쓰시오.

#include <stdio.h>
main() {
int n, sum=0;
printf("정수를 입력하시오 : ");
scanf("%d",&n);
for (int i=1; i<=n;i++)
sum=sum+i;
printf("%d", sum);
}

23년 1회

4. 다음 코드에서 (가)에 들어갈 것을 쓰시오.

#include<stdio.h>
#define LEN 10
void swap(int arr[], int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
int partition(int arr[], int left, int right) {
int pivot = arr[(left + right) / (가)];
while(left <= right) {
while(arr[left] < pivot)
left++;
while(arr[right] > pivot)
right--;
if(left <= right) {
swap(arr, left, right);
left++;
right--;
}
}
return left;
}
void sort(int arr[], int left, int right) {
if(left >= right)
return;
int center = partition(arr, left, right);
sort(arr, left, center-1);
sort(arr, center, right);
}
void quick_sort(int arr[]) {
sort(arr, 0, LEN-1);
}
int main(void) {
int data[LEN] = {5, 8, 3, 12, 9, 25, 15, 21, 1, 19};
quick_sort(data);
for(int i=0;i<LEN;i++){
printf("%d\n", data[i]);
}
}
정답보기

2

 

퀵 정렬 문제


23년 1회

5. 다음 코드에서 (가)에 들어갈 것을 쓰시오.

#include<stdio.h>
int SumNTo1(int n) {
if(n <= 1)
return 1;
else
return n + (가);
}
int main() {
int result = SumNTo1(100);
printf("%d", result);
}
정답보기

 SumNTo1(n-1)


23년 1회

16. 다음 코드에서 (가)에 들어갈 것을 쓰시오.

#include<stdio.h>
int recursive(int n) {
if(n <= 1)
return 1;
else
return n*n+recursive((가));
}
int main() {
int i;
scanf("%d", &i);
printf("%d ", recursive(i));
}

23년 2회

3. 출력 결과

#include<stdio.h>
int main() {
int d = 55;
int n = 4;
int r = 0, q = 0;
r = d;
while(r >= 4) {
r = r - n;
q++;
}
printf("%d 그리고 ", q);
printf("%d", r);
}
정답보기

13 그리고 3


23년 2회

16. 코드 아래에 있는 것이 출력결과인데 출력결과의 파란색 빈칸에 들어갈 출력값을 적으시오

#include<stdio.h>
void Sort(int a[][6]) {
for(int i=0; i<=4; i++) {
for(int j=5; j>=0; j--) {
if(i==0 | i==4 | j==0 | j==5) {
printf("%3d", a[i][j]);
}
else {
printf(" "); // 공백 3칸
}
}
printf("\n");
}
}
int main() {
int a[5][6] = {{0, 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}};
Sort(a);
}

정답보기

17                           12

23                           18


23년 2회

17. 출력결과

#include<stdio.h>
int main() {
char s1[5] = "abcd";
char s2[5];
for(int i=0; i<4; i++) {
s2[i] = s1[3-i];
}
s2[5] = '\0';
printf("%s", s2);
}

23년 2회

18. 출력결과

#include<stdio.h>
int main() {
// A = 65, a = 97
int a = 10;
char b = 'a';
printf("%d \n", a);
printf("%d \n", b);
printf("%c", b);
}

23년 2회

20. 출력결과

#include<stdio.h>
int main() {
int result=1, i;
for(i=1; i<=5; i++) {
result *= i;
}
printf("%d", result);
}

23년 3회

2. 출력결과

#include<stdio.h>
#define MAX 4
int prin(int a);
int main() {
prin(MAX);
}
int prin(int a) {
if(a > 1) prin(a-1);
printf("%d", a);
}

23년 3회

5. 빈칸(가)의 답을 쓰시오

#include <stdio.h>
#define SIZE 5
int p[4][2] = { {0, 1}, {1, 0}, {0, -1}, {-1, 0} };
int snail(int a[SIZE][SIZE]) {
int i = 0, j = 0, v = 1, c = 0;
a[i][j] = v;
v += 1;
while (v <= SIZE * SIZE) {
int ni = i + p[c][0];
int nj = j + p[c][1];
if (0 <= ni && ni < SIZE && 0 <= nj && nj < SIZE && a[ni][nj] == 0) {
i = ni;
j = nj;
a[i][j] = v;
v += 1;
}
else {
c = (c + 1) % ( 가 );
}
}
}
int main() {
int a[SIZE][SIZE] = { 0 };
snail(a);
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
printf("%3d", a[i][j]);
}
printf("\n");
}
}

23년 3회

7. 출력결과

#include<stdio.h>
int main() {
int data[] = {15, 12, 26, 23, 31, 36};
int temp = 0;
int cnt = sizeof(data)/sizeof(int);
for(int i=0; i < cnt-1; i++) {
for(int j=0; j < cnt - 1 - i; j++){
if(data[j] > data[j+1]) {
temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}
}
for(int i=1; i<cnt-1;i++){
printf("%d ", data[i]);
}
}
정답보기

15 23 26 31


23년 3회

9. 출력결과

#include<stdio.h>
int sub(int* a) {
printf("%d", *a);
printf("%d", a[2]);
}
int main() {
int a[10] = {1,2,3,4,5,6};
sub(a);
sub(a+2);
}

23년 3회

13. (가), (나)에 적절한 것을 쓰시오

#include<stdio.h>
int compare(int i, int j, int *ma, int *in) {
if(i>j) {
*ma = j;
*in = i;
}
else {
*ma = i;
*in = j;
}
}
int main() {
int max = 0;
int min = 0;
compare(3, 7, (가), (나));
printf("작은수:%d 큰수:%d", max, min);
}
정답보기

(가) &max

(나) &min


24년 1회

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);
}

24년 1회

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


24년 1회

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;
}

24년 2회

3. C언어 실행결과

#include <stdio.h>
int main( ) {
int i = 3;
int j =5;
printf("%d", (i | j) - (i &j));
return 0;
}

24년 2회

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


24년 2회

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


24년 2회

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);
}

24년 2회

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 

24년 3회

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;
}

24년 3회

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;
}

24년 3회

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);
}

24년 3회

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;
}

24년 3회

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;
}

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

728x90
LIST
728x90
SMALL

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


1. 빈칸에 알맞은 말을 쓰시오.

Ipv6은 현재 사용하고 있는 IP 주소 체계인 Ipv4 주소 부족 문제를 해결하기 위해 개발되었고 총 (가) 비트로 구성되어 있고 기존 Ipv4에서 다소 미흡했던 (나) 서비스가 제공된다
(나)는 서비스의 질을 의미하는 것으로 네트워크에서 일정 기준ㅇ ㅣ하의 지연 시간이나 데이터 손실률 등을 보증하기 위한 서비스 규격이다.
정답보기

(가) 128

(나) QoS


2. C언어 출력결과

#include<stdio.h>
#define MAX 4
int prin(int a);
int main() {
prin(MAX);
}
int prin(int a) {
if(a > 1) prin(a-1);
printf("%d", a);
}

3. 아래 처리조건을 보고 SQL문을 작성하시오.

<처리조건>
-customer 테이블에서 학년(grade) 속성을 중복없이 검색한다
정답보기

SELECT DISTINCT grade from customer;


4. 해당하는 용어를 쓰시오.

IP 주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜

5. C언어 빈칸(가)의 답을 쓰시오

#include <stdio.h>
#define SIZE 5
int p[4][2] = { {0, 1}, {1, 0}, {0, -1}, {-1, 0} };
int snail(int a[SIZE][SIZE]) {
int i = 0, j = 0, v = 1, c = 0;
a[i][j] = v;
v += 1;
while (v <= SIZE * SIZE) {
int ni = i + p[c][0];
int nj = j + p[c][1];
if (0 <= ni && ni < SIZE && 0 <= nj && nj < SIZE && a[ni][nj] == 0) {
i = ni;
j = nj;
a[i][j] = v;
v += 1;
}
else {
c = (c + 1) % (  가  );
}
}
}
int main() {
int a[SIZE][SIZE] = { 0 };
snail(a);
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
printf("%3d", a[i][j]);
}
printf("\n");
}
}
정답보기

4

 

달팽이 배열


6. 해당하는 용어를 쓰시오

TCP/IP 기반의 인터넷 통신 서비스에서 인터넷 프로토콜과 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로의 변경 등을 위한 제어 메시지를 취급하는 프로토콜

7. C언어 출력결과

#include<stdio.h>
int main() {
    int data[] = {15, 12, 26, 23, 31, 36};
    int temp = 0;
    int cnt = sizeof(data)/sizeof(int);
    for(int i=0; i < cnt-1; i++) {
        for(int j=0; j < cnt - 1 - i; j++){
            if(data[j] > data[j+1]) {
                temp = data[j];
                data[j] = data[j+1];
                data[j+1] = temp;
            }
            }
        }
      
    for(int i=1; i<cnt-1;i++){
        printf("%d ", data[i]);
    }
}

 

정답보기

15 23 26 31


8. TCP 연결 해제 과정을 순서에 맞게 고르시오

ㄱ. 수신자가 송신자에게 ACK 세그먼트를 전송한다
ㄴ. 수신자가 송신자에게 FIN 세그먼트를 전송한다.
ㄷ. 송신자가 수신자에게 ACK 세그먼트를 전송한다
ㄹ. 송신자가 수신자에게 FIN 세그먼트를 전송한다.
정답보기

ㄹ,ㄱ,ㄴ,ㄷ


9. C언어 출력결과

#include<stdio.h>
int sub(int* a) {
printf("%d", *a);
printf("%d", a[2]);
}
int main() {
int a[10] = {1,2,3,4,5,6};
sub(a);
sub(a+2);
}

10. Java 출력결과

class Berry {
String Str;
void meth() {
func();
}
void func() {
System.out.println(Str);
}
}
class Apple extends Berry {
String Str;
void func() {
Str = "Apple";
super.Str = "Berry";
super.func();
System.out.println(Str);
}
}
public class Main {
public static void main(String[] args) {
Berry A = new Apple();
A.meth();
}
}
정답보기

Berry
Apple


11. 설명에 해당하는 것을 쓰시오(실제 문제는 보기 주고 고르는거)

(1) : 개발 단계의 산출물이 그 단계의 초기에 설정된 조건을 만족하는지 여부를 평가하는 프로세스를 의미한다
(2) : 사용자의 관점에서의 요구사항이 만족하는지를 평가하느 프로세스를 의미한다
정답보기

1. Verification

2. Validation


12. 해당하는 용어를 쓰시오(원래 문제는 보기 중에 고르는거)

(1) 데이터베이스에 존재하는 자료의 구조 및 내용 그리고 이 자료들에 대한 논리적, 물리적 특성에 대한 정보들을 표현한다
(2) 데이터베이스를 구성하는 가장 작은 논리적 단위이며 개체의 특성을 기술한다
정답보기

1. 스키마

2. 속성


13. (가), (나)에 적절한 것을 쓰시오

#include<stdio.h>
int compare(int i, int j, int *ma, int *in) {
if(i>j) {
*ma = i;
*in = j;
}
else {
*ma = i;
*in = j;
}
}
int main() {
int max = 0;
int min = 0;
compare(3, 7, (가), (나));
printf("작은수:%d 큰수:%d", max, min);
}
정답보기

(가) &max

(나) &min


14. 네트워크 프로토콜 포트번호를 쓰시오

1. HTTPS
2. SSH
3. IMAP
정답보기

1. HTTPS: 443

2. SSH : 22

3. IMAP : 143


15. Java 출력결과

public class Main {
static int  a = 0;
static int func(int t) {
a = a+t;
return a;
}
public static void main(String[] args) {
for(int i=0; i<5; i++) {
func(i);
}
System.out.print(a);
}
}

16. 블랙박스 테스트 종류를 고르시오

ㄱ. Equivalence Partitioning Testing
ㄴ. Boundary Value Analysis Coverage
ㄷ. Data Flow Testing
ㄹ. Cause-Guessing Coverage Testing
ㅁ. Statement Coverage
ㅂ. Loop Testing
ㅅ. Basic Path Testing
ㅇ. Condition Testing.
정답보기

ㄱ.  Equivalence Partitioning Testing


17. Java  출력결과

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

18.아래 보기를 통해 알맞은 기호를 쓰시오

Unique Integrity  
Domain Integrity  
Referential Integrity  
Entity Integrity  
ㄱ. 튜플의 모든 속성 값이 각 속성의 도메인에 속한 값만을 가져야 한다는 제약조건
ㄴ. 특정 속성의 값은 중복 없이 유일해야 한다는 제약 조건
ㄷ. 기본키는 NULL값을 가져서는 안되며 릴레이션 내에 오직 하나의 값만 존재해야 한다는 제약 조건
ㄹ. 외래키 제약 조건으로 개체의 참조 관계를 선언하는 제약 조건
정답보기

1. Unique Interity : ㄴ

2. Domain Integrity : ㄱ

3. Referential Integrity : ㄹ

4. Entity Integrity : ㄷ


19.

학번 이름 학과 학점 도시
1 홍길동 간호 3.5 서울
2 김길동 전기 4.0 경기
3 상길동 기계 4.3 부산
정답보기

차수 : 5

카디널리티 : 3


20. 함수 종속이 아닌 다치 종속을 제거하면 만족하는 정규형이다

정답보기

제4정규형

 


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

728x90
LIST
728x90
SMALL

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


1. 다음은 트랜잭션의 4가지 특성에 대한 설명이다. 설명에 해당하는 것을 쓰시오(원래는 <보기>에서 고르는 문제)

1. 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다
2. 트랜잭션이 일단 완료되면 그 후에 어떤 형태로 시스템이 고장 나더라도 트랜잭션의 결과는 잃어버리지 않고 지속되어야 한다.
정답보기

1. 격리성

2. 지속성


2. 보기에 있는 것을 DDL, DML, DCL로 분류하시오.

<보기>
GRANT
DELETE
CREATE
ALTER
SELECT
REVOKE
INSERT
UPDATE
DROP
정답보기

DDL : CREATE, ALTER, DROP

 

DML: SELECT, DELETE, INSERT, UPDATE

 

DCL : REVOKE, GRANT


3. 출력 결과

#include<stdio.h>
int main() {
int d = 55;
int n = 4;
int r = 0, q = 0;
r = d;
while(r >= 4) {
r = r - n;
q++;
}
printf("%d 그리고 ", q);
printf("%d", r);
}
정답보기

13 그리고 3


4. 데이터링크 계층의 대표적인 프로토콜로 정보를 전송 제어 부호가 포함된 프레임이라는 단위로 분할하여 전송하며 프로토콜의 구조는 프레임의 끝, 주소부, 제어부, 데이터부, 오류검출부로 구분된다.

프레임은 I-Frame, S-Frame, U_Frame이 있다. 설명에 해당하는 프로토콜을 쓰시오


5. 아래 OSI계층 표의 PDU(데이터 단위)를 쓰시오.

(원래는 보기가 있는 문제)

물리 계층  
데이터링크 계층  
네트워크 계층  
정답보기
물리 계층 비트
데이터링크 계층 프레임
네트워크 계층 패킷

6. 아래 처리조건을 보고 SQL문을 작성하시오.

<처리조건>
-학생 테이블에서 학년이 3학년 이상이 수강하는 과목을 검색한다
-검색 결과 중복을 제거한다
정답보기

SELECT DISTINCT 과목 FROM 학생 WHERE 학년 >= 3;


7. <보기>를 V모델 순서대로 나열하시오

<보기>
ㄱ. 인수 테스트
ㄴ. 시스템 테스트
ㄷ. 통합 테스트
ㄹ. 단위 테스트
정답보기

ㄹ -> ㄷ -> ㄴ -> ㄱ

단위->통합->시스템->인수


8. 아래는 정규화 과정 중 일부에 대한 설명이다. 적절한 설명을 보기에서 고르시오

<보기>
ㄱ. 이행적 함수 종속 관계를 제거한다
ㄴ. 기본키에 속하지 않는 모든 속성이 기본키에 완전 함수 종속이 되도록 부분 함수 종속성을 제거한다.
ㄷ. 결정자가 후보키가 아닌 함수 종속성을 제거한다

1) 제 2정규화 : 

2) 제 3정규화 : 

3) BCNF : 

정답보기

1) 제 2정규화 : ㄴ

2) 제 3정규화 : ㄱ

3) BCNF : ㄷ


9. 아래 기호를 써서 HRN 스케줄링 기법에 우선 순위 공식을 쓰시오

P: 우선순위
S: 서비스 시간
W : 대기 시간
정답보기

P=(S+W)/ S 또는 (W+S)/S


10. 다음 설명에 해당하는 것을 보기에서 고르시오 

데이터 프레임을 연속적으로 전송하는 과정에서 NAK를 수신하게 되면, 오류가 발생한 프레임 이후에 전송된 모든 데이터 프레임을 재전송하는 방식이다
<보기>
ㄱ. Selective-Repeat ARQ
ㄴ. Stop-and-Wait ARQ
ㄷ. Non-Acknowledge ARQ
ㄹ. Go-Back N ARQ
ㅁ. Selective ARQ
ㅂ. Adaptive ARQ
ㅅ. Forward-Stop ARQ
ㅇ. Auto-Repeat ARQ
정답보기

Go-Back N ARQ


11. 다음 보기에서 Python 언어의 특징을 모두 고르시오

<보기>
ㄱ. 변수 선언 시 자료형 작성은 필수
ㄴ. 세미콜론을 사용하지 않아도 된다
ㄷ. 변수에 연속하여 값을 저장하는 것이 가능하다
ㄹ. 같은 수준의 코드는 반드시 동일한 여백을 가져야 한다
ㅁ. gcc를 이용해 컴파일하기 때문에 인터프리터 언어가 아니다
정답보기

ㄴ, ㄷ, ㄹ


12. 다음은 Java 관련 용어에 대한 설명이다. 설명에 해당하는 것을 쓰시오

Java에서 힙(heap)에 남아있으나변수가 가지고 있던 참조값을 잃거나 변수 자체가 없어짐으로써 더 이상 사용되지 않는 객체
정답보기

가비지(Garbage)


13. 다음 <보기>를 블랙박스와 화이트박스 테스트로 분류하시오

<보기>
ㄱ. 제품의 내부 요소들이 명세서에 따라 수행되고 충분히 실행되는 가를 보장하기 위한 검사이다
ㄴ. 각 기능별로 적절한 정보 영역을 정하여 적합한 입력에 대한 출력의 정확성을 점검한다
ㄷ. 프로그램의 구조에 의거하여 테스트 하는 것이다
ㄹ. 요구사항 명세서에 기술되어 있는 소프트웨어 기능을 토대로 실시하는 테스트이다

블랙 박스 테스트 : 

화이트박스 테스트 : 

정답보기

블랙 박스 테스트 : ㄴ, ㄹ

화이트박스 테스트 : ㄱ, ㄷ


14. 정보처리를 수행하는 응용 프로그램과의 인터페이스를 제공하며 전자우편이나 파일 전송 같은 사용자 서비스를 제공하는 OSI 계층을 쓰시오

정답보기

응용 계층


15. 출력결과

class Main {
public static void main(String[] args) {
int[] a = {4, 7, 1, 2};
for(int i=0; i<3; i++) {
for(int j=i+1; j<4; j++) {
if(a[i] > a[j]) {
int temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
for(int i=0; i<4; i++) {
System.out.print(a[i] + "a");
}
}
}
정답보기

1a2a4a7a


16. 코드 아래에 있는 것이 출력결과인데 출력결과의 파란색 빈칸에 들어갈 출력값을 적으시오

#include<stdio.h>
void Sort(int a[][6]) {
for(int i=0; i<=4; i++) {
for(int j=5; j>=0; j--) {
if(i==0 | i==4 | j==0 | j==5) {
printf("%3d", a[i][j]);
}
else {
printf(" "); // 공백 3칸
}
}
printf("\n");
}
}
int main() {
int a[5][6] = {{0, 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}};
Sort(a);
}

정답보기

17                           12

23                           18

 


17. 출력결과

#include<stdio.h>
int main() {
char s1[5] = "abcd";
char s2[5];
for(int i=0; i<4; i++) {
s2[i] = s1[3-i];
}
s2[5] = '\0';
printf("%s", s2);
}

18. 출력결과

#include<stdio.h>
int main() {
// A = 65, a = 97
int a = 10;
char b = 'a';
printf("%d \n", a);
printf("%d \n", b);
printf("%c", b);
}
정답보기

10
97
a


19. SQL문에서 특정 속성의 값을 제한하기 위해 사용하는 문법으로 도메인이 가질 수 있는 값의 범위를 제약할 때 사용하는 제약조건을 쓰시오.


20. 출력결과

#include<stdio.h>
int main() {
int result=1, i;
for(i=1; i<=5; i++) {
result *= i;
}
printf("%d", result);
}

 

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

728x90
LIST

+ Recent posts