본문 바로가기
자격증/정보처리기사 실기

시나공 정보처리기사 실기 요약 10장 프로그래밍 언어 활용

by 리드민 2021. 9. 30.
반응형

SECTION 149 데이터 입/출력

(2) C 문제

예제) 다음은 키보드로 6과 4를 입력받아 두 수의 덧셈 결과를 출력하는 프로그램이다. 출력 결과를 확인하시오.

#include <stdio.h>
main()
{
int i, j, k;
scanf("%d %d", &i, &j);
k = i + j;
printf("%d\n", k);
}

(3) Java 문제

예제) 다음은 입력받은 정수를 가지고 여러 연산을 수행한 후 출력하는 프로그램이다. 4가 입력되었다고 가정했을 때 출력 결과를 확인하시오.

import java.util.Scanner;
public class Test
{
public static void main(String[ ] args)
{
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
System.out.printf("a * 3 = %d\n", a * 3);
System.out.println("a / 2 = " + (a / 2));
System.out.print(" a - 1 - " + (a - 1));
scan.close();
}
}

() 헝가리안 표기법(Hungarian Notation)

헝가리안 표기법이란 변수명 작성 시 변수의 자료형을 알 수 있도록 자료형을 의미하는 문자를 포함하여 작성하는 방법이다.

 

SECTION 150 제어문

(2) C 문제

예제) 다음 C언어로 구현된 프로그램의 실행 결과를 확인하시오.

#include <stdio.h>
main( ) {
int score[ ] = {86, 53, 95, 76, 61};
char grade;
char str[ ] = "Rank";
for (int i = 0; i < 5; i++) {
switch (score[i] / 10) {
case 10:
case 9:
grade = 'A';
break;
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
default: grade = 'F';
}
if (grade != 'F')
printf("%d is %c %s\n" i+1, grade, str);
}
}

(3) Java 문제

예제 다음 Java로 구현된 프로그램의 실행 결과를 확인하시오.

public class Test {
public static void main(String[ ] args) {
String str = "agile";
int x[ ] = { 1, 2, 3, 4, 5 };
char y[ ] = new char[5];
int i = 0;
while (i < str.length()) {
y[i] = str.charAt(i);
i++;
}
for (int p : x) {
i--;
System.out.print(y[i]);
System.out.print(p + " ");
}
}
}

 

SECTION 151 포인터

(2) C 문제

#include <stdio.h>
main ( ) {
int a = 50;
int *b = &a;
*b = *b + 20;
printf("%d, %d\n", a, *b);
char *s;
s = "gilbut";
for (int i = 0; i < 6; i += 2) {
printf("%c, ", s[i]);
printf("%c, ", *(s + i));
printf("%s\n", s + i);
}
}

 

SECTION 152 사용자 정의 함수

(2) C 문제

예제) 다음은 재귀 함수를 이용해 팩토리얼(Factorial) 연산을 수행하는 C 프로그램이다. 그 실행 결과를 확인하시오.

#include <stdio.h>
int factorial (int n);
main( ) {
int (*pf) (int);
pf = factorial;
printf("%d", pf(3));
}

int factorial (int n) {
if (n <= 1)
return 1;
else
return n * factorial(n - 1);
}

 

SECTION 153 Java의 클래스

(2) Java 문제 1

다음은 Java에서 클래스를 만들고 객체를 생성해서 사용하는 간단한 프로그램이다. 어떤 일을 수행하는지 확인하시오.

class ClassA {
int a = 10;
int funcAdd(int x, int y) {
return x + y + a;
}
}
public class Test {
public static void main(String[ ] args) {
int x = 3, y = 6, r;
ClassA cal = new ClassA();
r = cal.funcAdd(x, y);
System.out.print(r);
}
}

(3) Java 문제2

ex) 다음 Java 프로그램의 실행 결과를 확인하시오.

class ClassA {
ClassA() {
System.out.print('A');
this.prn();
}
void prn() {
System.out.print('B');
}
}
class ClassB extends ClassA {
ClassB() {
super();
System.out.print('D');
}
void prn() {
System.out.print('E');
}
void prn(int x) {
System.out.print(x);
}
}
public class Test {
public static void main(String[ ] args) {
int x = 7;
ClassB cal = new ClassB( );
cal.prn(x);
}
}

 

SECTION 155 Python의 활용

(2) Python 문제 1

예제) 다음 Python으로 구현된 프로그램에 "xyz321"을 입력했을 때 그 실행 결과를 확인하시오.

x = input(' 입력 :')
a = [ 'abc123', 'def456', ghi789' ]
a.append(x)
a.remove('def456')
print(a[1][-3:], a[2]["-3], sep = ',')
for i in range(3, 6):
print(i, end = ' ')

(3) Python 문제 2

예제) 다음 Python 프로그램의 실행 결과를 확인하시오.

 a = {'apple', 'lemon', 'banana'}
a.update( {'kiwi', 'banana'} )
a.remove('lemon')
a.add('apple')
for i in a;
print(i)

 

SECTION 157 객체지향 프로그래밍 언어

언어 특징
JAVA 분산 네트워크 환경에 적용이 가능함
멀티스레드 기능을 제공하므로 여러 작업을 동시에 처리할 수 있음
운영체제 및 하드웨어에 독립적이며, 이식성이 강함
C++ C 언어에 객체지향 개념을 적용한 언어임
모든 문제를 객체로 모델링하여 표현함
Smalltalk 1세대 객체지향 프로그래밍 언어로, 순수한 객체지향 프로그래밍 언어임
최초로 GUI를 제공하였음

 

SECTION 158 스크립트 언어

(1) 스크립트 언어(Script Language)

스크립트 언어는 HTML 문서 안에 직접 프로그램이 언어를 삽입하여 사용하는 언어이다.

기계어로 컴파일 도지 않고 별도의 번역기가 소스를 분석하여 동작한다.

게시판 입력, 상품 검색, 회원 가입 등과 같은 데이터베이스 처리 작업을 수행하기 위해 주로 사용한다.

() 스크립트 언어의 분류

분류 내용
서버용 스크립트 언어 서버에서 해석되어 실행된 후 결과만 클라이언트로 보냄
종류 : ASP, JSP, PHP, 파이썬
클라이언트용 스크립트 언어 클라이언트의 웹 브라우저에서 해석되어 실행됨
종류 : 자바 스크립트(JAVA Script), VB 스크립트(Visual Basic Script)

(2) 스크립트 언어의 종류

언어 특징
ASP 서버 측에서 동적으로 수행되는 페이지를 만들기 위한 언어
마이크로소프트 사에서 제작하였음
Windows 계열에서만 수행 가능함
JSP(Java Server Page) JAVA로 만들어진 서버용 스크립트 언어
다양한 운영체제에서 사용 가능함
PHP Linux, Unix, Windows 운영체제에서 사용 가능한 서버용 스크립트 언어
파이썬 객체지향 기능을 지원하는 대화형 인터프리터 언어
플랫폼에 독립적이고 문법이 간단하여 배우기 쉬움

 

SECTION 159 선언형 언어

(3) 선언형 언어의 종류

언어 특징
XML 기존 HTM의 단점을 보완하여 웹에서 구조화된 폭넓고 다양한 문서들을 상호 교환할 수 있도록 설계된 언어
HTML에 사용자가 새로운 태그(Tag)를 정의할 수 있음
문서의 내용과 이를 표현하는 방식이 독립적임

 

SECTION 160 라이브러리

(2) C언어의 대표적인 표준 라이브러리

C언어는 라이브러리를 헤더 파일로 제공한다.

C언어에서 헤더 파일을 사용하려면 '#include <stdio.h>'와 같이 include문을 이용해 선언한 후 사용해야 한다.

헤더 파일 기능
stdio.h 데이터의 입/출력에 사용되는 기능들을 제공함
주요 함수 : printf, scanf, fprintf, fscanf, fclose, fopen 등
math.h 수학 함수들을 제공함
주요 함수 : sqrt, pow, abs 등
string.h 문자열 처리에 사용되는 기능들을 제공함
주요 함수 : strlen, strcpy, strcmp 등
stdlib.h 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공함
주요 함수 : atoi, atof, srand, rand, malloc, free 등

(3) Java의 대표적인 표준 라이브러리

패키지 기능
java.util 날짜 처리, 난수 발생, 복잡한 문자열 처리 등에 관련된 기능을 제공함
주요 클래스 : Data, Calender, Random, StringTokenizer 등

(4) Python의 대표적인 표준 라이브러리

random 무작위 선택을 위한 기능을 제공함
주요 메소드 : choice(), sample(), random(), randrange() 등

 

SECTION 예외 처리

(1) 예외 처리(Exception Handling)

예외 처리는 예외가 발생했을 때 프로그래머가 해당 문제에 대비해 작성해놓은 처리 루틴이 수행되도록 하는 것이다.

예외가 발생했을 때 일반적인 처리 루틴은 프로그램을 종료시키거나 로그(Log)를 남기는 것이다.

반응형