728x90
SMALL

[정보처리기사/예상문제] - 2024 정보처리기사 실기 예상 문제 모음

 

1. 인터넷에서 멀티캐스트를 위하여 사용되는 프로토콜

더보기

IGMP


2. 원격 컴퓨터에 안전하게 액세스하기 위한 유닉스 기반의 명령 인터페이스 및 프로토콜로, 기본적으로 22번 포트를 사용하고, 클라이언트/서버 연결의 양단은 전자 서명을 사용하여 인증되며, 패스워드는 암호화하여 보호되는 것

더보기

SSH

 

SSH는 Secure Shell의 약자


3. TLS를 통해 Application 계층 데이터를 암호화하여 보호해 주고 기본포트가 443으로 지정된 프로토콜

더보기

HTTPS


4. 물리적 하드웨어 주소를 IP Address로 매핑시키는 프로토콜

더보기

RARP


5. UDP 계열 프로토콜로, 원격 관리에 필요한 정보와 서버상태를 관리하는 것

더보기

SNMP


6. 동적 라우팅 프로토콜 중에 링크 상태(Link State) 라우팅 프로토콜

더보기

OSPF (Open Shortest Path First)


7. 연결 없는 IP 기반의 프로토콜로 최소한의 오버헤드를 갖고 재송신 처리를 실행하지 못하기 때문에 신뢰성이 떨어지며 한 번에 많은 양의 데이터를 송신할 때 사용하는 프로토콜


8.  RAID 시스템 중 한 드라이브에 기록되는 모든 데이터를 다른 드라이브에 복사해 놓는 방법으로 복구 능력을 제공하며, ′Mirroring′으로 불리는 것

더보기

RAID 1


9. 내부 통신에는 사설 IP 주소를 사용하고 외부와의 통신에는 공인 IP 주소를 사용할 수 있도록 하는 기술


10. 하이퍼바이저를 사용하거나 게스트 운영체제도 설치하지 않고 서버 운영에 필요한 프로그램과 라이브러리만 이미지로 만들어 프로세스처럼 동작시키는 경량화된 가상화 방식이며 실행되는 이미지는 컨테이너라고 부르며, 가상화 레이어가 존재하지 않고 운영체제도 존재하지 않기 때문에 파일 시스템,네트워크 속도가 상당히 빠르다

설명에 해당하는 용어

더보기

Docker 


11. 네트워킹에 필요한 모든 유형의 자원을 추상화하고, 소프트웨어 기반이며 자동으로 관리와 제어가 가능케 하는 가상화 기술

더보기

NFV (Network Functions Virtualization)


12. 한 대의 스위치에서 네트워크를 나누어 마치 여러 대의 스위치처럼 사용할 수 있게 하고, 하나의 포트에 여러 개의 네트워크 정보를 전송할 수 있게 해주는 기능

더보기

가상 랜(Virtual LAN)


13. 링크 상태 알고리즘을 적용한 대표적인 프로토콜로, 링크에서의 전송 시간을 링크 비용(거리)으로 사용하며 각 목적지 별 최단 경로를 다익스트라 알고리즘을 통해 알아내는 프로토콜

더보기

OSPF


14. 패킷 전송의 최적 경로를 위해 다른 라우터들로부터 정보를 수집하는데, 최대 홉이 15를 넘지 못하는 프로토콜


15. OSI 7 layer 참조 모델에서 사용되는 Protocols 중 TCP와 UDP port를 함께 사용하는 프로토콜


16. VPN의 터널링 프로토콜로 OSI 7계층 중 3계층 프로토콜로서 전송 모드와 터널 모드 2가지를 사용한다. 전송 모드는 IP 페이로드를 암호화하여 IP 헤더로 캡슐화하지만, 터널 모드는 IP 패킷을 모두 암호화하여 인터넷으로 전송한다

해당하는 용어

더보기

IPSec


17. Link State 알고리즘을 이용해 서로에게 자신의 현재 상태를 알려주며 네트워크 내 통신을 위해 사용하는 프로토콜

더보기

OSPF


18. TCP/IP 프로토콜 중에서 IP 계층의 한 부분으로 에러 메시지와 같은 상태 정보를 알려주는 프로토콜

더보기

ICMP(Internet Control Message Protocol)


19. 단말이 네트워크에 접근하기 전 보안정책 준수여부를 검사하고 IP 및 MAC address의 인가 여부를 검사하여 네트워크 자원의 이용을 허용하는 방식


20. 서로 연결된 네트워크에서 사용자간 파일을 전송할 수 있도록 해주는 기능을 제공하며, 파일 전송시 2개의 포트를 연결하여 데이터를 전송한다. 이 때 21포트는 데이터 전송을 담당하고 21포트는 제어를 담당하는 프로토콜

더보기

FTP(File Transfer Protocol)


21. 다음은 잘 알려진 포트번호이다. 해당하는 용어를 쓰시오.

포트  이름
21
22
23
25
53
80
110
143
194
443
더보기

ㄱ : FTP

ㄴ : SSH(원격 제어, 보안 기능)

ㄷ : telnet(원격 제어)

ㄹ : SMTP(이메일 전송)

ㅁ : DNS

ㅂ : HTTP(웹)

ㅅ : POP3(이메일 수신)

ㅇ : IMAP(이메인 수신, 보관 기능

ㅈ : IRC

ㅊ:  HTTPS

 

 

[정보처리기사/예상문제] - 2024 정보처리기사 실기 예상 문제 모음

728x90
LIST
728x90
SMALL

1. 다음은 쿠키와 세션에 관한 설명이다. 맞으면 o, 틀리면 x 표시를 하시오. 

① 쿠키는 웹 페이지에 접속할 때 웹 서버가 사용자의 컴퓨터에 저장하는 데이터이다. (   )

② 쿠키를 사용하면 사용자의 컴퓨터에서 아이디와 비밀번호를 기억할 수 있다. (   )

③ 세션은 쿠키보다 사용법이 간단하지만 보안성이 더 취약하다. (   )

④ 세션은 쿠키와 달리 사용자의 컴퓨터와 웹 서버에 세션 정보를 저장한다. (   )

⑤ 세션은 쿠키보다 보안성이 더 강하다 (   )

더보기

① o

② o

③ x

④ o

⑤ o


2. 쿠키와 세션에 관한 물음에 답하시오.

① 쿠키를 생성할 때 사용하는 함수는 무엇인가?

② 세션을 초기화하는 데 사용하는 함수는 무엇인가?

③ 세션을 삭제하는 데 사용하는 함수는 무엇인가?

더보기

① setcookie()

② session_start()

③ unset()


3. 생성된 쿠키인 userid를 불러오는 데 사용하는 변수는 무엇인가?

① $_COOKIE["userid"]

$_POST["userid"]

$_GET["userid"]

$_SERVER["userid"]

더보기

① $_COOKIE["userid"]


4. 등록된 세션인 userid를 불러오는 데 사용하는 변수는 무엇인가?

① $_COOKIE["userid"]

② $_POST["userid"]

③ $_SESSION["userid"]

④ $_SERVER["userid"]


5. 다음은 setcookie()에 의해 등록된 userid, username 쿠키를 사용하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
  if(isset($_COOKIE["userid"]) && isset($_COOKIE["username"]) )
  {
    $userid=(가)["userid"];
    $username=(나)["username"];

    echo "userid 쿠키 : " . (다)."<br>";
    echo "username 쿠키 : " . (라)."<br>";
  }
  else
  {
    echo "쿠키가 생성되지 않았다!";
  }

?>
더보기

(가) $_COOKIE
(나) $_COOKIE
(다) $userid
(라) $username

<?php
  if(isset($_COOKIE["userid"]) && isset($_COOKIE["username"]) )
  {
    $userid=$_COOKIE["userid"];
    $username=$_COOKIE["username"];

    echo "userid 쿠키 : " . $userid."<br>";
    echo "username 쿠키 : " . $username."<br>";
  }
  else
  {
    echo "쿠키가 생성되지 않았다!";
  }

?>

6. 다음은 세션을 시작하여 세션 변수를 등록하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
   session_start();
   echo "세션 시작!!!<br>";

   (가)['userid']="ocella";
   (나)['username']="박영준";
   echo '세션 등록 완료!!!<br>';

   echo $_SESSION['userid']."<br>";
   echo $_SESSION['usename']."<br>";
?>
더보기

(가) $_SESSION
(나) $_SESSION

<?php
   session_start();
   echo "세션 시작!!!<br>";

   $_SESSION['userid']="ocella";
   $_SESSION['username']="박영준";
   echo '세션 등록 완료!!!<br>';

   echo $_SESSION['userid']."<br>";
   echo $_SESSION['usename']."<br>";
?>

7. 다음은 등록된 세션을 웹 페이지에서 사용하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
  (가);
   $userid=(나)["userid"];
   $username=(다)["username"];
?>

<html>
  <head>
    <meta charset="utf-8"
  </head>
    <body>
      <h3>등록된 세션의 사용</h3>
      <ul>
        <li>등록된 세션(userid) : <?= (라)?></li>
        <li>등록된 세션(username) : <?=(마)?></li>
      </ul>
    </body>
</html>
더보기

(가)  session_start()
(나) $_SESSION
(다) $_SESSION
(라) $userId
(마) $username

<?php
  session_start();
   $userid=$_SESSION["userid"];
   $username=$_SESSION["username"];
?>

<html>
  <head>
    <meta charset="utf-8"
  </head>
    <body>
      <h3>등록된 세션의 사용</h3>
      <ul>
        <li>등록된 세션(userid) : <?= $userId?></li>
        <li>등록된 세션(username) : <?= $username?></li>
      </ul>
    </body>
</html>
728x90
LIST
728x90
SMALL

1. 다음은 웹 페이지에서 아이디와 비밀번호를 입력하는 폼 양식의 소스코드이다.

<body>
  <form name="form1" method="post" action="view2.php">
    <ul>
      <li>아 &nbsp;이 &nbsp;디 : <input type="text" name="id"></li>
      <li>비밀번호 : <input type="text" name="pass"></li>
      <li><input type="submit" value="확인"></li>  <!--구간A-->
    </ul>
  </form>
</body>

구간 A의 <확인> 버튼을 눌렀을 때 사용자가 입력한 데이터를 처리하는 view2.php 파일의 소스코드는 다음과 같다. 빈칸을 채워 프로그램을 완성하시오.

<body>
<?php
   $id=(가)["id"];
   $pass=$_POST["(나)"];
?>
    <ul>
       <li>아 &nbsp;이 &nbsp;디 : <?= $id?></li>
       <li>비밀번호 : <?=(다) ?></li>
       
    </ul>
</body>
더보기

(가) $_POST
(나) pass
(다) $pass

<body>
<?php
   $id=$_POST["id"];
   $pass=$_POST["pass"];
?>
    <ul>
       <li>아 &nbsp;이 &nbsp;디 : <?= $id?></li>
       <li>비밀번호 : <?=$pass ?></li>
       
    </ul>
</body>

2. 다음은 웹 페이지에서 체크박스 폼 양식으로 사용자가 취미를 선택하게 하는 프로그램의 소스코드이다.

<body>
  <form name="form1" method="post" action="view5.php">
    <h3>당신의 취미는?</h3>
    <ul>
      <li>영화감상<input type="checkbox" name=" hobby[]" value="영화감상"></li>
      <li>맛집탐방<input type="checkbox" name=" hobby[]" value="맛집탐방"></li>
      <li>독서<input type="checkbox" name=" hobby[]" value="독서"></li>
      <li>요가<input type="checkbox" name=" hobby[]" value="요가"></li>
      <li>축구<input type="checkbox" name=" hobby[]" value="축구"></li>
      <li><input type="submit" value="확인"></li> <!--이 구간 A-->
    </ul>
  </form>

</body>

구간 A의 <확인> 버튼을 눌렀을 때 사용자가 체크박스에서 선택한 항목을 화면에 출력하는 파일의 소스코드는 다음과 같다. 빈칸을 채워 프로그램을 완성하시오.

<body>
    <ul>
       <li> 나의 취미 : 
         <?php
           $num= count((가)["hobby"]);

            for($i=0;$i<$num;$i++){
              echo $_POST["(나)"][(다)];
              if($i != $num -1)
                echo ", ";
            }
          ?>

       </li>
       
    </ul>
</body>
더보기

(가) $_POST
(나) hobby
(다) $i

<body>
    <ul>
       <li> 나의 취미 : 
         <?php
           $num= count($_POST["hobby"]);

            for($i=0;$i<$num;$i++){
              echo $_POST["hobby"][$i];
              if($i != $num -1)
                echo ", ";
            }
          ?>

       </li>
       
    </ul>
</body>

3. 다음은 웹 페이지에서 라디오 버튼 폼 양식으로 사용자가 이메일 수신 여부를 선택하게 하는 프로그램의 소스코드이다. 

<body>
  <form name="form1" method="post" action="view4.php">
    <h3>당신의 취미는?</h3>
    <ul>
       <li>성별 : 남성<input type="radio" name="gender" value="남" checked>
                여성<input type="radio" name="gender" value="여">
      </li>
      <li>이메일 : 수신<input type="radio" name="email_ok" value="예">
               비수신<input type="radio" name="email_ok" value="아니오" checked>
      </li>
      <li><input type="submit" value="확인"></li>  <!--이 구간 A-->
    </ul>
  </form>

</body>

A구간의 <확인> 버튼을 눌렀을 때 사용자가 라디오 버튼에서 선택한 항목을 화면에 출력하는 파일의 소스코드는 다음과 같다. 빈칸을 채워 프로그램을 완성하시오.

<body>
<?php
   (가)=$_POST["gender"];
   $email_ok=$_POST["email_ok"];
   if((나)== "예")
      $email = "수신";
   else
     $email="비수신";
?>

  <ul>
    <li>성별 : <?= $gender?></li>
     <li>이메일 : <?= (다)?></li>
  </ul>
</body>
더보기

(가) $gender
(나) $email_ok
(다) $email

<body>
<?php
   $gender=$_POST["gender"];
   $email_ok=$_POST["email_ok"];
   if($email_ok== "예")
      $email = "수신";
   else
     $email="비수신";
?>

  <ul>
    <li>성별 : <?= $gender?></li>
     <li>이메일 : <?= $email?></li>
  </ul>
</body>

4. 업로드 파일의 name 속성을 "upload"로 설정했을 때 업로드된 파일을 처리하는 쪽에서 사용하는 다음 변수의 의미를 간단히 설명하시오.

① $_FILES["upload"]["name"] 
② $_FILES["upload"]["type"] 
③ $_FILES["upload"]["size"]
④ $_FILES["upload"]["tmp_name"]

⑤$_FILES["upload"]["error"]

더보기

① $_FILES["upload"]["name"]            // 업로드된 파일명
② $_FILES["upload"]["type"]             // 업로드된 파일의 데이터형
③ $_FILES["upload"]["size"]             // 업로드된 파일의 크기(바이트)
④ $_FILES["upload"]["tmp_name"]  // 서버에 저장된 파일명

⑤$_FILES["upload"]["error"]            // 업로드 시 발생한 오류 코드


5. 게시판의 목록 보기 페이지(board_list.php)를 브라우저 화면에 가져오기 위해 사용하는 URL주소가 다음과 같을 때, board_view.php 소스코드의 빈칸을 채워 프로그램을 완성하시오.

http://localhost/board_list.php?table=free
<body>
<?php
  $table=(가)["table"];
if((나)=="free")
  $board_title="자유게시판";
else
  $board_title="공지사항";
?>
<h1><?= (다) ?></h1>
</body>
더보기


(가) $_GET
(나) $table
(다) $board_title

<body>
<?php
  $table=$_GET["table"];
if($table=="free")
  $board_title="자유게시판";
else
  $board_title="공지사항";
?>
<h1><?= $board_title ?></h1>
</body>
728x90
LIST
728x90
SMALL

1. 다음은 함수를 이용하여 두 수의 최대공약수를 구하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력 포맷

###와 ###의 최대 공약수 : ###
<?php
	function (가)($x, $y) { 
		if ($x > $y) 
			$small = $y; 
		else 
			$small = (나);

		for ($i=1; $i<=$small; $i++) { 
			if($x%$i == 0 and $y%$i == 0) 
				(다) = $i; 
				
		}
		return $result; 
	}

	$num1 = 9;
	$num2 = 33; 

	$max_gong = computeMaxGong($num1, $num2); 

	echo "{$num1}와 {$num2}의 최대공약수 : (라)"; 
?>
더보기

(가) computeMaxGong
(나) $x
(다) $result
(라) $max_gong

<?php
	function computeMaxGong($x, $y) { 
		if ($x > $y) 
			$small = $y; 
		else 
			$small = $x;

		for ($i=1; $i<=$small; $i++) { 
			if($x%$i == 0 and $y%$i == 0) 
				$result = $i; 
				
		}
		return $result; 
	}

	$num1 = 9;
	$num2 = 33; 

	$max_gong = computeMaxGong($num1, $num2); 

	echo "{$num1}와 {$num2}의 최대공약수 : $max_gong"; 
?>

 


2. 다음은 함수를 이용하여 3개의 수 중에서 가장 큰 수를 찾는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력포맷

###, ###, ### 중 가장 큰 수 : ###
<?php
	function maxTwo($i, $j) {
		if($i > $j) return $i; 
		else return (가); 
	}

	function maxThree($x, $y, (나)) { 

		return maxTwo((다)($x, $y), maxTwo($y, $z));

	}

	$a = 10;
	$b = 5;
	$c = 7; 

	(라) = maxThree($a, $b, $c); 

	echo "$a, $b, $c 중 가장 큰 수 : $max_num"; 
?>
더보기

(가) $j
(나) $z
(다) maxTwo
(라) $max_num

<?php
	function maxTwo($i, $j) {
		if($i > $j) return $i; 
		else return $j; 
	}

	function maxThree($x, $y, $z) { 

		return maxTwo(maxTwo($x, $y), maxTwo($y, $z));

	}

	$a = 10;
	$b = 5;
	$c = 7; 

	$max_num = maxThree($a, $b, $c); 

	echo "$a, $b, $c 중 가장 큰 수 : $max_num"; 
?>

3. 다음은 놀이공원 입장객의 나이와 입장권의 종류에 따라 요금을 계산하여 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오. 입장권의 종류별 요금은 다음과 같다.

구분 어른 청소년 어린이 비고
입장권 18,000원 15,000원 13,000원 놀이공원 기본 입장
자유
이용권
주간 32,000원 28,000원 25,000원 입장+놀이기구 무제한 이용
야간 29,000원 25,000원 22,000원
빅5 이용권 29,000원 25,000원 22,000원 입장+놀이기구  5종 이용

※입장객의 나이에 따른 구분(만 나이 기준) : 0~3세는 무료, 어린이는 4~10세, 청소년은 11~17세, 성인은 18세이상

 

출력포맷

입장권 종류 : ####

입장객 나이 : ## 세

입장료 : ###### 원
<?php
	function (가)($cat){
		if ($cat == "입장권") $price = 13000;
		elseif ($cat == "자유 이용권 주간") $price = 25000;
		elseif ($cat == "자유 이용권 야간") $price = 22000;
		else $price = 22000;

		return (나);
	}
	function (다)($cat){ 
		if ($cat == "입장권") $price = 15000;
		elseif ($cat == "자유 이용권 주간") $price = 28000;
		elseif ($cat == "자유 이용권 야간") $price = 25000;
		(라) $price = 25000;

		(마) $price;
	}
	function (바)($cat){ 
		(사) ($cat == "입장권") $price = 18000;
		elseif ($cat == "자유 이용권 주간") $price = 32000;
		elseif ($cat == "자유 이용권 야간") $price = 29000;
		else $price = 29000;

		return $price;
	}

	$age = 2;
	$category = "자유 이용권 야간";


	
	if($age >= 0 && $age <= 3) $fee = 0;
	elseif($age >= 4 && $age <= 10) $fee = child_rate($category);
	elseif($age >= 11 && $age <= 17) $fee = youth_rate($category);
	else $fee = adult_rate($category);

	
	echo "입장권 종류 : (아)<br>";
	echo "입장객 나이 : {(자)}세<br>";
	echo "입장료 : {(차)}원";
?>
더보기

(가) child_rate
(나) $price
(다) youth_rate
(라) else
(마) return
(바) adult_rate
(사) if
(아) $category
(자) $age
(차) $fee

<?php
	function child_rate($cat){
		if ($cat == "입장권") $price = 13000;
		elseif ($cat == "자유 이용권 주간") $price = 25000;
		elseif ($cat == "자유 이용권 야간") $price = 22000;
		else $price = 22000;

		return $price;
	}
	function youth_rate($cat){ 
		if ($cat == "입장권") $price = 15000;
		elseif ($cat == "자유 이용권 주간") $price = 28000;
		elseif ($cat == "자유 이용권 야간") $price = 25000;
		else $price = 25000;

		return $price;
	}
	function adult_rate($cat){ 
		if ($cat == "입장권") $price = 18000;
		elseif ($cat == "자유 이용권 주간") $price = 32000;
		elseif ($cat == "자유 이용권 야간") $price = 29000;
		else $price = 29000;

		return $price;
	}

	$age = 2;
	$category = "자유 이용권 야간";


	
	if($age >= 0 && $age <= 3) $fee = 0;
	elseif($age >= 4 && $age <= 10) $fee = child_rate($category);
	elseif($age >= 11 && $age <= 17) $fee = youth_rate($category);
	else $fee = adult_rate($category);

	
	echo "입장권 종류 : $category<br>";
	echo "입장객 나이 : {$age}세<br>";
	echo "입장료 : {$fee}원";
?>
728x90
LIST
728x90
SMALL

1. 다음은 배열을 이용하여 어떤 과목에 대한 학생 10명의 점수 합계와 평균을 구하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력 포맷

입력된 점수 : 87 76 98 87 87 93 79 85 88 63

합계 : 843, 평균 : 84.3
<?php
	$score = (가)(87, 76, 98, 87, 87, 93, 79, 85, 88, 63); 
	$sum = 0; 
	for($i=0; (나); $i++) 
		$sum = (다) + $score[(라)]; 

	$avg = (마)/10; 
	echo "입력된 점수 : "; 

	for($i=0; $i<10; $i++) 
		echo (바)." "; 

	echo "<br>";
	echo("합계 : $sum, 평균 : $avg"); 
?>
더보기

(가) array
(나) $i<10
(다) $sum
(라) $i
(마) $sum
(바) $score[$i]

<?php
	$score = array(87, 76, 98, 87, 87, 93, 79, 85, 88, 63); 
	$sum = 0; 
	for($i=0; $i<10; $i++) 
		$sum = $sum + $score[$i]; 

	$avg = $sum/10; 
	echo "입력된 점수 : "; 

	for($i=0; $i<10; $i++) 
		echo $score[$i]." "; 

	echo "<br>";
	echo("합계 : $sum, 평균 : $avg"); 
?>

2. 다음은 배열을 이용하여 학생 10명(김**, 이**, 정**, 장**, 황**, 이**, 최**, 함**, 도**, 강**)의 5개 과목(파이썬, PHP, 자바스크립트, 사진, 영화감상)별 성적 합계와 평균을 구하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력포맷


파이썬의 합계 : 888, 평균 : 88.8

PHP의 합계 : 809, 평균 : 80.9



영화감상의 합계 : 840, 평균 : 84
<?php
	
	$subject = array("파이썬", "PHP", "자바스크립트", "사진", "영화감상");
	$name = array("김**", "이**", "정**", "장**", "황**", "이**", "최**", "함**", "도**", "강**");

	$score = array(array(80, 79, 90, 89, 100, 87, 85, 83, 96, 99),
					array(70, 88, 70, 85, 60, 95, 77, 89, 82, 93),
					array(80, 79, 90, 89, 100, 87, 85, 83, 96, 99),
					array(70, 88, 70, 85, 60, 95, 77, 89, 82, 93),
					array(85, 66, 80, 88, 90, 86, 85, 93, 88, 79));

	for($i=0; $i<=4; $i++) { 
		(가) = 0; 
		for($j=0; $j<=9; $j++) 
			$sum = $sum + (나)[$i][$j];

		$avg = $sum/10;
		echo "{(다)}의 합계 : $sum, 평균 : (라) <br>"; 
	}
?>
더보기

(가) $sum
(나) $score
(다) $subject
(라) $avg

<?php
	
	$subject = array("파이썬", "PHP", "자바스크립트", "사진", "영화감상");
	$name = array("김**", "이**", "정**", "장**", "황**", "이**", "최**", "함**", "도**", "강**");

	$score = array(array(80, 79, 90, 89, 100, 87, 85, 83, 96, 99),
					array(70, 88, 70, 85, 60, 95, 77, 89, 82, 93),
					array(80, 79, 90, 89, 100, 87, 85, 83, 96, 99),
					array(70, 88, 70, 85, 60, 95, 77, 89, 82, 93),
					array(85, 66, 80, 88, 90, 86, 85, 93, 88, 79));

	for($i=0; $i<=4; $i++) { 
		$sum = 0; 
		for($j=0; $j<=9; $j++) 
			$sum = $sum + $score[$i][$j];

		$avg = $sum/10;
		echo "{$subject[$i]}의 합계 : $sum, 평균 : $avg <br>"; 
	}
?>

3. 2번 문제의 학생별로 5개 과목의 성적 합계와 평균을 구하는 프로그램을 작성하시오.

 

출력포맷

김** 학생의 합계 : 385, 평균 : 77

이** 학생의 합계 : 400, 평균 : 80



강** 학생의 합계 : 463, 평균 : 92.6
더보기
<?php
	
	$subject = array("파이썬", "PHP", "자바스크립트", "사진", "영화감상");
	$name = array("김**", "이**", "정**", "장**", "황**", "이**", "최**", "함**", "도**", "강**");

	$score = array(array(80, 79, 90, 89, 100, 87, 85, 83, 96, 99),
					array(70, 88, 70, 85, 60, 95, 77, 89, 82, 93),
					array(80, 79, 90, 89, 100, 87, 85, 83, 96, 99),
					array(70, 88, 70, 85, 60, 95, 77, 89, 82, 93),
					array(85, 66, 80, 88, 90, 86, 85, 93, 88, 79));

	for($i=0; $i<=9; $i++) { 
		$sum = 0;
		for($j=0; $j<=4; $j++)
			$sum = $sum + $score[$j][$i]; 
		
		$avg = $sum/5; 
		echo "{$name[$i]} 학생의 합계 : $sum, 평균 : $avg <br>";
	}
?>

4. 다음은 HTML의 <table> 태그와 배열을 이용하여 구구단 표를 만드는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력 포맷

2단 3단 4단 5단 6단 7단 8단 9단
2×1=2 3×1=3 4×1=4 5×1=5 6×1=6 7×1=7 8×1=8 9×1=9
2×2=4 3×2=6 4×2=8 5×2=10 6×2=12 7×2=14 8×2=16 9×2=18
2×3=6 3×3=9 4×3=12 5×3=15 6×3=18 7×3=21 8×3=24 9×3=27
2×4=8 3×4=12 4×4=16 5×4=20 6×4=24 7×4=28 8×4=32 9×4=36
2×5=10 3×5=15 4×5=20 5×5=25 6×5=30 7×5=35 8×5=40 9×5=45
2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 7×6=42 8×6=48 9×6=54
2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 8×7=56 9×7=63
2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64 9×8=72
2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81
<?php
	echo "<table border=1>";
	echo "<tr align=center>";
	echo "<th width=100>2단</th>";
	echo "<th width=100>3단</th>";
	echo "<th width=100>4단</th>";
	echo "<th width=100>5단</th>";
	echo "<th width=100>6단</th>";
	echo "<th width=100>7단</th>";
	echo "<th width=100>8단</th>";
	echo "<th width=100>9단</th>";
	echo "</tr>";


	for($i=0; $i<=(가); $i++)
		for($j=0; $j<=(나); $j++) 
			$result[$i][$j] = ($i+2) * ($j+1);
			
	
	for($j=0; $j<=8; $j++) {
		echo "<tr align=center>"; 
		for($i=0; $i<=7; $i++) { 
			$a = $i + 2; 
			$b = $j + 1;
			$c = (다)[$i][$j];
			echo "<td>$a x $b = $c</td>";
		}
		echo "</tr>";
	}
	echo "</table>";
?>
더보기

(가) 7
(나) 8
(다) $result

<?php
	echo "<table border=1>";
	echo "<tr align=center>";
	echo "<th width=100>2단</th>";
	echo "<th width=100>3단</th>";
	echo "<th width=100>4단</th>";
	echo "<th width=100>5단</th>";
	echo "<th width=100>6단</th>";
	echo "<th width=100>7단</th>";
	echo "<th width=100>8단</th>";
	echo "<th width=100>9단</th>";
	echo "</tr>";


	for($i=0; $i<=7; $i++)
		for($j=0; $j<=8; $j++) 
			$result[$i][$j] = ($i+2) * ($j+1);
			
	
	for($j=0; $j<=8; $j++) {
		echo "<tr align=center>"; 
		for($i=0; $i<=7; $i++) { 
			$a = $i + 2; 
			$b = $j + 1;
			$c = $result[$i][$j];
			echo "<td>$a x $b = $c</td>";
		}
		echo "</tr>";
	}
	echo "</table>";
?>
728x90
LIST
728x90
SMALL

1. 다음은 while 문을 사용하여 정수 1~1000 중 짝수를 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
	(가) = 1; 

	while($num<=1000) { 
		if((나)==0) 
			echo "$num "; 

			(다); 
	}
?>
더보기

(가) $num 

(나) $num%2

(다) $num++

<?php
	$num = 1; 

	while($num<=1000) { 
		if($num%2==0) 
			echo "$num "; 

			$num++; 
	}
?>

2. 다음은 for문을 사용하여 정수 100~500 중 짝수를 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력포맷


100 102

104 106

108 110



496 498

500
<?php
	$count = 0; 

	for($num=100; (가); $num++) 
	{ 
		if ($num%2 == 0) { 
			(나) "$num "; 
			$count++; 
		}
		if ((다) == 0) { 
			echo "<br>"; 
		}
	}
?>
더보기

(가) : $num<=500

(나) : echo

(다) : $count%2

<?php
	$count = 0; 

	for($num=100; $num<=500; $num++) 
	{ 
		if ($num%2 == 0) { 
			echo "$num "; 
			$count++; 
		}
		if ($count%2 == 0) { 
			echo "<br>"; 
		}
	}
?>

3. 다음은 while문을 사용하여 정수 300~3000 중 홀수의 합계를 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력 포맷

300~3000 중 홀수의 합 : ###
<?php
	(가) = 300;
	(나) = 0; 

	while ($num <= 3000) {
		if ($num%2 == (다)) 
			$sum = $sum + (라); 
			

		$num++; 
	}
	echo "300~3000 홀수의 합 : (마)"; 
?>
더보기

(가) $num
(나) $sum
(다) 1
(라) $num
(마) $sum

<?php
	$num = 300;
	$sum = 0; 

	while ($num <= 3000) {
		if ($num%2 == 1) 
			$sum = $sum + $num; 
			

		$num++; 
	}
	echo "300~3000 홀수의 합 : $sum"; 
?>

4. 다음은 for문을 사용하여 정수 100~900 중 3의 배수가 아닌 수의 합계를 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력 포맷

100까지의 합 : 100

101까지의 합 : 201

103까지의 합 : 304



899까지의 합 : ###
<?php
	$sum = 0; 

	for($num=100; $num<=900; (가))
	{ 
		if($num%3 (나) 0) { 
			$sum = $sum + $num; 
			echo "{(다)}까지의 합 : $sum<br>";
		}
	}
?>
더보기

(가) $num++
(나) !=
(다) $num

<?php
	$sum = 0; 

	for($num=100; $num<=900; $num++)
	{ 
		if($num%3 !=0) { 
			$sum = $sum + $num; 
			echo "{$num}까지의 합 : $sum<br>";
		}
	}
?>

5. for문을 사용하여 10!(1*2*3*…*10)을 구하는 프로그램을 작성하시오.

 

출력포맷


1! = 1

2! = 2

3! = 6



10! = 3628800
더보기
<?php
	$factorial = 1; 
	for($num=1; $num<=10; $num++) {
		
		$factorial *= $num; // num! 
		echo "{$num}! = $factorial<br>"; 
	}
?>

6. 다음은 정수 1~500 중 5의 배수를 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

출력 포맷

5 10 15 20 25 30 35 40 45 50

55 60 65 70 75 80 85 90 95 100



455 460 465 470 475 480 485 490 495 500
<?php
	$count = 0; 

	for((가); $num<=500; $num++)
	{ 
		if((나) ==0) { 
			echo "$num "; 
			$count++; 
			if((다) == 0) 
			
			echo "<br>";
		}
	}
?>
더보기

(가) $num=1
(나) $num%5
(다) $count%10

<?php
	$count = 0; 

	for($num=1; $num<=500; $num++)
	{ 
		if($num%5 ==0) { 
			echo "$num "; 
			$count++; 
			if($count%10 == 0) 
			
			echo "<br>";
		}
	}
?>

7. 다음은 길이의 단위인 야드를 미터로 변환하는 프로그램이다(10~300야드, 10씩 증가). 빈칸을 채워 프로그램을 완성하시오.

미터 = 야드×0.9144

출력 포맷

-------------------

야드 미터

-------------------

10 9.144

20 18.288

30 27.432



300 274.32

-------------------
<?php
	echo "-------------------<br>";
	echo "야드 미터<br>";
	echo "-------------------<br>";

	for($yard = (가); $yard <= 300; $yard=(나)) {	
		(다) = $yard * 0.9144; 
		echo "$yard $meter<br>"; 
	}
	echo "-------------------<br>";	
?>
더보기

(가) 10
(나) $yard+10
(다) $meter

<?php
	echo "-------------------<br>";
	echo "야드 미터<br>";
	echo "-------------------<br>";

	for($yard = 10; $yard <= 300; $yard=$yard+10) {	
		$meter = $yard * 0.9144; 
		echo "$yard $meter<br>";
	}
	echo "-------------------<br>";	
?>

8. 다음은 HTML의 <table> 태그를 이용하여 7번 문제의 출력 결과를 표로 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력 포맷

야드 미터
10 9.144
20 18.288
30 27.432
... ...
300 274.32
<?php
	echo "<table border=1>";
	echo "<tr align=center><td width=150>야드</td><td width=150>미터</td></tr>"; 


	for($yard=10; (가); $yard=$yard+10) {
		$meter = (나) * 0.9144; 
		echo "<tr align=center>"; 
		echo "<td>$yard</td><td>(다)</td>"; 
		echo "</tr>";
	}	
	echo "</table>";
?>
더보기

(가) $yard<=300
(나) $yard
(다) $meter

<?php
	echo "<table border=1>";
	echo "<tr align=center><td width=150>야드</td><td width=150>미터</td></tr>"; 


	for($yard=10; $yard<=300; $yard=$yard+10) {
		$meter = $yard * 0.9144; 
		echo "<tr align=center>"; 
		echo "<td>$yard</td><td>$meter</td>"; 
		echo "</tr>";
	}	
	echo "</table>";
?>

9. 넓이의 단위인 제곱미터를 평으로 변환하는 프로그램을 작성하되 출력 포맷은 7번 문제를 참고하시오(10~200제곱미터, 10씩 증가).

평 = 제곱미터×0.3025
더보기
<?php
	echo "-------------------<br>";
	echo "평 제곱미터<br>";
	echo "-------------------<br>";

	for($pyeong = 10; $pyeong <= 200; $pyeong=$pyeong+10) {
		
		$square_meter = $pyeong * 0.3025;
		echo "$pyeong $square_meter<br>"; 
	}
	echo "-------------------<br>";	
?>
728x90
LIST
728x90
SMALL

1. 다음은 주간 또는 야간 근무 시간에 따라 아르바이트 급여를 계산하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

 

출력 포맷

시간당 급여
- 주간 근무 : 9,500원
- 야간 근무 : 주간 시급 * 1.5
<?php
	
	echo "시간당 급여<br>";
	echo "- 주간 근무 : 9,500원<br>";
	echo "- 야간 근무 : 주간 시급 * 1.5<br><br>";

	$hour_rate = 9500; 

	(가) = "주간";
	$work_time = 8; 

	if ($day_night == "주간") { 
		$pay = $hour_rate * $work_time;
	} (나) { 
		$pay = $hour_rate * $work_time * 1.5; 
	}
	
	
	echo "$work_time 시간 동안 일한 (다) 급여는 $pay 원입니다.";
?>
더보기

(가) $day_night

(나) else

(다) $day_night 

<?php
	echo "시간당 급여<br>";
	echo "- 주간 근무 : 9,500원<br>";
	echo "- 야간 근무 : 주간 시급 * 1.5<br><br>";

	$hour_rate = 9500; 

	$day_night = "주간"; 
	$work_time = 8; 

	if ($day_night == "주간") { 
		$pay = $hour_rate * $work_time; 
	} else { 
		$pay = $hour_rate * $work_time * 1.5;
	}
	

	echo "$work_time 시간 동안 일한 $day_night 급여는 $pay 원입니다.";
?>

2. 다음은 숫자로 된 월에 해당되는 계절 이름을 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
	$month = 12; 

	if($month >= 3 (가) $month <= 5) { 
		$season = '봄'; 
		echo "{$month}월은 {$season}입니다."; 
	}
	(나) ($month >=6 && $month <= 8) { 
		$season = '여름'; 
		echo "{$month}월은 {$season}입니다."; 
	}
	(다) ($month >=9 && $month <= 11) { 
		$season = '가을'; 
		echo "{$month}월은 {$season}입니다."; 
	}
	elseif($month == 12 (라) $month == 1 || $month == 2) {

		$season = '겨울'; 
		echo "{$month}월은 {$season}입니다.";
	}
	else { 
		echo "잘못 입력되었습니다!"; 
	}
?>
더보기

(가) &&

(나) elseif

(다) elseif

(라) ||

<?php
	$month = 12; 

	if($month >= 3 && $month <= 5) { 
		$season = '봄'; 
		echo "{$month}월은 {$season}입니다."; 
	}
	elseif($month >=6 && $month <= 8) { 
		$season = '여름'; 
		echo "{$month}월은 {$season}입니다."; 
	}
	elseif($month >=9 && $month <= 11) { 
		$season = '가을'; 
		echo "{$month}월은 {$season}입니다."; 
	}
	elseif($month == 12 || $month == 1 || $month == 2) {
	
		$season = '겨울'; 
		echo "{$month}월은 {$season}입니다.";
	}
	else { 
		echo "잘못 입력되었습니다!"; 
	}
?>

3. 다음은 시험 점수가 90~100점이면 수, 80~90점이면 우, 70~79점이면 미, 60~69점이면 양, 0~59점이면 가, 그 외 점수가 입력되면 ‘점수를 잘못 입력하셨습니다!’라는 메세지를 출력하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

<?php
	(가) = 90; 
	echo "시험 점수 : {$score}점<br>"; 

	if($score >= 90 (나) $score <= 100)
		echo "등급 : 수";
	elseif($score >= 80 && $score <= 89) 
		echo "등급 : 우"; 
	elseif($score >= 70 && $score <= 79)
		echo "등급 : 미"; 
	(다)($score >= 60 && $score <= 69) 
		echo "등급 : 양";
	elseif($score >= 0 && $score <= 59) 
		echo "등급 : 가";
	(라)
		echo "점수를 잘못 입력하셨습니다!"; 
?>
더보기

(가) $score

(나) &&

(다) elseif

(라) else

<?php
	$score = 90;
	echo "시험 점수 : {$score}점<br>"; 

	if($score >= 90 && $score <= 100)
		echo "등급 : 수"; 
	elseif($score >= 80 && $score <= 89) 
		echo "등급 : 우";
	elseif($score >= 70 && $score <= 79)
		echo "등급 : 미"; 
	elseif($score >= 60 && $score <= 69) 
		echo "등급 : 양"; 
	elseif($score >= 0 && $score <= 59) 
		echo "등급 : 가"; 
	else 
		echo "점수를 잘못 입력하셨습니다!"; 
?>

4. 다음은 물건 구매액의 할인율에 따라 지불액을 계산하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

물건 구매액의 할인율

- 10,000원 이상 50,000원 미만: 5%

- 50,000원 이상 300,000원 미만: 7.5%

- 300,000원 이상: 10%
<?php
	$buy = 80000; 

	(가)($buy >= 10000 && $buy < 50000) 
		$rate = 5.0; 
	elseif($buy >= 50000 && $buy < 300000) 
		$rate = 7.5;
	(나) ($buy >= 300000) 
		$rate = 10.0;
	else 
		$rate = 0; 

	(다) = $buy * $rate / 100; 
	$pay = $buy - $discount; 


	echo "구매액 : {$buy}원<br>";
	echo "할인율 : {(라)}원<br>";
	echo "할인금액 : {$discount}원<br>";
	echo "지불액 : {(마)}원";
?>
더보기

(가) if

(나) elseif

(다) $discount

(라) $rate

(마) $pay

<?php
	$buy = 80000; 

	if($buy >= 10000 && $buy < 50000) 
		$rate = 5.0; 
	elseif($buy >= 50000 && $buy < 300000) 
		$rate = 7.5;
	elseif($buy >= 300000) 
		$rate = 10.0;
	else 
		$rate = 0; 

	$discount = $buy * $rate / 100; 
	$pay = $buy - $discount; 


	echo "구매액 : {$buy}원<br>";
	echo "할인율 : {$rate}원<br>";
	echo "할인금액 : {$discount}원<br>";
	echo "지불액 : {$pay}원";
?>

5. 다음은 음식점에서 고객의 서비스 만족도에 따라 팁을 계산하는 프로그램이다. 빈칸을 채워 프로그램을 완성하시오.

서비스 만족도에 따른 팁

- 매우 만족 : 음식 값의 20%

- 만족 : 음식 값의 10%

- 불만족 : 음식 값의 5%
<?php
	$price = 30000; 
	$service = "매우 만족"; 
	echo "서비스 만족도 : (가)<br>";
	
	
	if($service == "매우 만족")
		(나) = $price * 0.2; 
	elseif ($service == "만족") 
		$tip = $price * 0.1; 
	(다) 
		$tip = $price * 0.05; 

	echo "팁 : {$tip}원";
?>
더보기

(가) $service

(나) $tip

(다) else

<?php
	$price = 30000; 
	$service = "매우 만족"; 
	echo "서비스 만족도 : $service";
	
	
	if($service == "매우 만족")
		$tip = $price * 0.2; 
	elseif ($service == "만족") 
		$tip = $price * 0.1; 
	else 
		$tip = $price * 0.05; 

	echo "팁 : {$tip}원";
?>
728x90
LIST
728x90
SMALL

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

기출과 동일한 문제가 9문제나 출제됨

 

1. 출력결과

class Static{
  public int a=20;
  static int b=0;
}


public class Main {
  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.println(st.a);
  }
}

 

더보기

10

11

10

20


2. 출력결과

#include <stdio.h>

int main(void) {
  char a[]="Art";
  char*p=NULL;
  p=a;
  printf("%s\n",a);
  printf("%c\n",*p);
  printf("%c\n",*a);
  printf("%s\n",a);

  for(int i=0;a[i]!='\0';i++){
    printf("%c",a[i]);
  }
}
더보기

Art

A

A

Art

Art


3. 네트워크에 관련된 다음 설명에서 괄호에 들어갈 알맞은 용어를 쓰시오(21년 2회차 기출문제와 거의 동일)

(1) : 연결형 통신에서 주로 사용되는 방식으로, 출발지와 목적지와 전송 경로를 미리 연결하여 논리적으로 고정한 후 통신하는 방식
(2) : 비연결형 통신에서 주로 사용되는 방식으로, 사전에 접속 절차를 수행하지 않고 헤더에 출발지에서 목적지까지의 경로 지정을 위한 충분한 정보를 붙여서 개별적으로 전달하는 방식
ㄱ : 데이터 그램
ㄴ : 패킷
ㄷ : 프레임
ㄹ : 가상회선

(가 ) : 

(나 ) : 

더보기

(가 )  : ㄹ

(나 ) : ㄱ


4. 클라이언트와 서버 간 자바스크립트 및 XML을 비동기 방식으로 처리하며 전체 페이지를 새로고치지 않고도 웹페이지 일부 영역만을 업데이트할 수 있도록 하는 기술을 의미하는 용어를 쓰시오(20년 2회차 기출문제와 거의 동일)

더보기

AJAX


5. 해당하는 용어를 골라 쓰시오.

(가) 독립적으로 실행되는 악의적인 소프트웨어로, 스스로를 복제하고 다른 컴퓨터로 확산된다.

(나) 자가 복제는 하지 못하지만 사용자가 원하는 무언가로 위장해 자신을 활성화하도록 유도하는 방식으로 피해를 입히고 확산된다.

(다) 다른 독립적 프로그램의 코드 내에 스스로를 주입한 다음, 그 프로그램이 악성 행동을 하고 스스로 확산되도록 강제하는 컴퓨터 코드
ㄱ. 바이러스
ㄴ. 웜
ㄷ. 트로이목마
더보기

웜/트/바

(가) : ㄴ

(나) : ㄷ

(다) : ㄱ

 


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

원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜, 기본 포트는 22번

7. (가), (나), (다) 설명에 해당하는 기호를 쓰시오.

(가)  : 릴레이션에서 행을 나타내는 말이며 파일의 레코드(record)에 대응하는 개념
(나)  : 어느 한 시점에 릴레이션에 존재하는 투플들의 집합이며 릴레이션 인스턴스는 간단히 릴레이션이라고 부르기도 하고 릴레이션 외연(relation extension)이라고도 부른다.
(다) : 하나의 릴레이션에서 투플의 전체 개수
ㄱ : 릴레이션 인스턴스  
ㄴ : 
ㄷ : 튜플
ㄹ : 차수
ㅁ : 도메인
ㅂ : 카디널리티

(가) :

(나) :

(다) :

더보기

(가) : ㄷ

(나 ) : ㄱ

(다) : ㅂ


8.  출력결과를 쓰시오

#include <stdio.h>

int main(void) {
  char *a = "qwer";
  char *b = "qwtety";
  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]);
    }
  }
}

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

마이크로소프트의 PPTP와 시스코의 L2F(Layer 2 Forwarding) 프로토콜을 합친 형태
더보기

L2TP


10. (가)는 연산자이고 (나)는 정수인데 빈칸을 알맞게 쓰시오.

#include <stdio.h>

int main(void) {
int input = 101110;
int di = 1;
int sum = 0;

while (input > 0) {
sum = sum + (input (가)(나) * di);
di = di * 2;
input = input / 10;
}

printf("%d", sum);

return 0;
}
더보기

(가 ) : %

(나) : 10 또는 2


11. 다음에 해당하는 디자인패턴을 골라서 쓰시오.

대리자, 대변인의 의미를 갖고 있으며 어떤 객체를 사용하고자 할때, 객체를 직접적으로 참조하는 것이 아닌 해당 객체를 대항하는 객체를 통해 대상 객체에 접근하는 방식을 사용하면 해당 객체가 메모리에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있고, 실제 객체의 기능이 필요한 시점까지 객체의 생성을 미룰 수 있다.
디자인 패턴 이름이 보기에 다 적혀있음
더보기

proxy


12. 다음 네트워크 관련 설명에서 괄호에 들어갈 알맞은 용어를 쓰시오(20년 3회 기출과 유사)

TCP/IP기반의 인터넷 통신 서비스에서 인터넷 프로토콜과 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 취급하는 무연결 전송용 프로토콜로, OSI기본 참조 모델의 네트워크 계층에 속한다
더보기

ICMP


13. 다음은 화이트박스 테스트의 프로그램 제어흐름이다. 다음의 순서도를 참고하여 분기 커버리지로 구성할 테스트 케이스를 작성하시오. (20년 3회 기출과 동일)

더보기

( 1 )->( 2 )->( 3 )->( 4 )->( 5 )->( 6 )->( 7 )

(1 )->( 2 )->( 4 )->( 5 )->( 6 )->( 1 )

 

또는

 

( 1 )->( 2 )->( 3 )->( 4 )->( 5 )->( 6 )->( 1 )

(1 )->( 2 )->( 4 )->( 5 )->( 6 )->( 7 )


14. (가) (나) 빈칸에 알맞은 변수를 쓰시오.

#include <stdio.h>

void swap(int* idx1, int* idx2) {
  
  int t = *idx1;
  *idx1 = *idx2;
  *( 가 ) = t;
}
void Usort(int a[], int len) {
  for (int i = 0; i < len - 1; i++) {
    for (int j = 0; j < len - i - 1; j++) {
      if (a[j] > a[j + 1])
        swap(&a[j], &a[j + 1]);
    }
  }

  for (int k = 0; k < 5; k++) {
    printf("%d ", a[k]);
  }
}

int main(void) {
  int arr[] = {64, 34, 25, 12, 40};
  int nx = 5;

  Usort(arr, (나));
  return 0;
}
더보기

(가) idx2

(나) nx


15. <학생> 테이블에서 '이름'이 "민수"인 튜플을 삭제하고자 한다. 다음 <처리 조건>을 참고하여 SQL문을 작성하시오.(20년 3회차 기출과 동일)

더보기

DELETE FROM 학생 WHERE 이름='민수';


16. 다음 <성적> 테이블에서 과목별 점수의 평균이 90점 이상인 '과목이름', '최소점수', '최대점수'를 검색하고자 한다. <처리 조건>을 참고하여 적합한 SQL문을 작성하시오. (20년 3회차 기출과 동일)

더보기

SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수 FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >=90;


17. 출력결과(20년 2회 기출문제와 동일)

a={'한국','중국','일본'}
a.add('베트남')
a.add('중국')
a.remove('일본')
a.update(['한국','홍콩','태국'])
print(a)
더보기

{'한국', '중국', '베트남', '홍콩', '태국'}


18.  출력 결과를 쓰시오.(20년 3회 기출과 동일)

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 Main {
	public static void main(String[] args){
    Vehicle obj = new Car("Spark");
    System.out.print(obj.getName());
    }
}
더보기

Vehicle name : Spark


19. 설명에 해당하는 것을 기호로 찾아쓰시오. (22년 2회차 산업기사 문제와 거의 동일)

스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것이다.
(    가    ) : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.
(    나   ) : 데이터베이스의 전체적인 논리적 구조이며, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재한다.
(    다   ) : 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다. 
ㄱ : 외부스키마
ㄴ : 개념스키마
ㄷ : 내부스키마

가 : 

나 : 

다 : 

더보기

가 : ㄱ

나 : ㄴ

다 : ㄷ


20. 출력 결과를 쓰시오.

class Parent {
int x = 100;

Parent() {
this(500);
}
Parent(int x) {
this.x = x;
}
int getX() {
return x;
}
}
class Child extends Parent {
int x = 4000;

Child() {
this(5000);
}

Child(int x) {
this.x = x;
}


}

public class Main {
public static void main(String[] args) {
Child obj = new Child();
System.out.println(obj.getX());
}
}

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

728x90
LIST

+ Recent posts