javascript

javascriptTest06 학원에서 시험 봤어요 !

grovy 2023. 4. 21. 12:02
728x90

오답풀이를 해볼게요 ! 

자바스크립트 문제 

01. 다음의 결괏값을 작성하시오.

{
    let i = 0;
    let sum = 0;
    
    while(i < 10){
        i = i+1;
        if( i % 3 == 0) sum -= i;
        if( i % 3 == 1) sum += i;
        if( i % 3 == 2) sum *= i 
    }

    console.log(sum) 
}

2
-1
3
15
9
16
128
119
129

답은 129 나와요 마지막에 안더해줘서 틀림 ㅜㅠ


02. 다음의 결괏값을 작성하시오.

{
    let num = [10, 20, 30, 40, 50];
    let i, max, min;
    max = min = num[0];

    for(i=0; i<5; i++){
        if(num[i] > max) max = num[i];
        if(num[i] < min) min = num[i];
    }

    console.log(max, min);
}

답은 50, 10나와요


03. 다음의 결괏값을 작성하시오.

{
    function func(begin, diff, n){
        cnt = 1;
        ret = begin;
        while(true){
            cnt += 1;
            ret *= diff;
            if(cnt == n) return ret;
        }
    }

    console.log(func(1, 3, 4));
}

27


04. 다음의 결괏값을 작성하시오.

{
    let i = 0;
    let sum = 0;
    while(i < 10){
        i = i + 1;
        if(i % 2 == 0){
            continue
        }
        sum += i;
    }

    console.log(sum)
}

25


05. 다음의 결괏값을 작성하시오.

{
    let num = [56, 4, 3, 65, 78];
    let temp;

    for(let i=0; i<1; i++){
        for(let j=0; j<num.length-i-1; j++){
            if(num[j]>num[j+1]){
                temp = num[j];
                num[j] = num[j+1];
                num[j+1] = temp;
            }
        }
    }

    console.log(num)
}

[4,3,56,65,78]


06. 다음의 결괏값을 작성하시오.

{
    let num = [56, 4, 3, 65, 78];
    let min = 9999;

    for(let i=0; i<10; i++){
        if(min > num[i]){
            min = num[i];
        }
    }

    console.log(min)
}

3


07. 다음의 결괏값을 작성하시오.

{
    let num = [3, 4, 5, 7, 8];
    let temp;

    for(let i=0; i<=3; i++){
        for(let j=i+1; j<=4; j++){
            if(num[i] < num[j]){
                temp = num[i];
                num[i] = num[j];
                num[j] = temp;
            }
        }
    }

    console.log(num);
}

[8,7,5,4,3]

대괄호 안적어서 틀림 ㅜ


08. 다음의 결괏값을 작성하시오.

{
    let num = [1,2,3,4,5];
    let sum = 1;
    
    function func(arr){
        for(let i=0; i<arr.length; i++) {
            sum += arr[i];
        }

        for(let i=0; i<arr.length; i++){
            if(arr[i] % 2 == 0) sum -= arr[i];
        }
        return sum;            
    }

    console.log(func(num));
}

10


09. 다음의 결괏값을 작성하시오.

{
    let num = ["0","1","2","3","4","5","6","7","8","9"];
    let sum = 100;

    for(let i=0; i<num.length; i++){
        num[i] = i+1;
    }
    for(let i=0; i<num.length; i++){
        if(i % 3 == 1){
            sum -= num[i];
        }
    }
    console.log(sum)
}

 

sum 값이 실해될때 3으로 나눈값이 1인값을 -연산 해주므로 

100
98
93
85

이렇게 값이 계산되요 


10. 다음의 결괏값을 작성하시오.

{
    let arr = [1,2,3,4,5];
    let temp = [1,2,4,6,8];
    let idx = 0;
    let flag = true;

    for(let i=0; i<arr.length; i++){
        flag = false;
        if(arr[i] == temp[i]){
            flag = true;
        }
        if(!flag){
            temp[idx++] = arr[i];
            console.log(temp[idx]);
        }
    }
}

2

4

6

변경된 값만 적었어야 했는뎅 배열 전체를 적어버림  


11. 다음은 최솟값을 출력하는 예제이다. 밑줄에 적합한 표현을 작성하시오.

{
    let num = [30,40,24,80,99];
    let min = 9999;

    for(let i=0; i<5; i++){
        if(min > num[i]){
            min = ________;
        }
    }

    console.log("최소값 : ", min);
}

num[i]


12. 다음의 결괏값을 작성하시오.

{
    let s1 = "Remember november";
    let s2 = s1.slice(0, 3) + s1.slice(12, 16);
    let s3 = "r AND you";

    console.log(s2 + s3)
}

Remember AND you


13. 다음의 결괏값을 작성하시오.

{
    let x = 1;

    console.log( !(x>0) );
    console.log( x>0 || x<4 );
    console.log( x<<2 );
    console.log( x&2 );
    console.log( x&3 );
}

false

true

4  << 1000 을 4로 적어 틀림 ㅜ 답은 8 

0

1


14. 다음의 결괏값을 작성하시오.

{
    let num = 0;
    let i = 1;

    while(i<=50){
        if(i%7 == 0){
            num += i;
        }
        i++;
    }
    console.log(num)
}

196


15. 다음의 결괏값을 작성하시오.

{
    let result = 0;
    for(let i=1; i<999; i++){
        if(i%3==0 && i%2 !=0){
            result = i;
        }
    }
    console.log(result);
}

3과 나눌때 0 & 2로 나누면 1이 나오는 수중 999보다 작은수들중 가장 큰수를 구하는 문제 

999라고 적어서 틀림 ... 

993 이 답 ! 


16. 다음의 결괏값을 작성하시오.

{
    function func(num){
        if(num <= 1){
            return 1;
        } else {
            return num + func(num - 2);
        }
    }
    function main(){
        let num = 5;
        console.log(func(num))
    }
    main();
}

9


17. 다음의 결괏값을 작성하시오.

{
    let a=1, b=1, num;

    for(let i=0; i<6; i++){
        num = a + b;
        a = b;
        b = num;
    }
    console.log(num)
}

21


18. 다음의 결괏값을 작성하시오.

{
    function func(num1, num2){
        let res = 1;
        for(let i=0; i<num2; i++){
            res *= num1;
        }
        return res;
    }
    let res = func(2, 10);

    console.log(res)
}

1024


19. 다음의 결괏값을 작성하시오.

{
    let a = func(4);

    for(let i=0; i<a.length; i++){
        console.log(a[i]);
    }

    function func(n){
        let num = [];
        for(let i=0; i<n; i++){
            num[i] = i;
        }
        return num;
    }
}

0

1

2

3


20. 다음의 결괏값을 작성하시오.

{
    let a = 3, b = 4, c = 3, d = 5;

    if( (a == 2 | a == c) & !(c > d) & (1 == b ^ c != d) ){
        a = b + c;
        if( 7 == b ^ c != a ){
            console.log(a);
        } else {
            console.log(b);
        }
    } else {
        console.log(a + b)
    }
}

7


SQL & 정보처리기능사 문제

다음의 스크립트를 보고 결과 값을 작성하거나 빈칸을 채우시오.


01. SQL문의 빈칸을 완성하시오.

[학생] 테이블에서 전화번호가 NULL 값이 아닌 학생명을 모두 검색하기 위한 SQL문의 작성하시오.

SELECT 학생명 FROM 학생 WHERE 전화번호 _____;

IS NOT NULL

02. SQL문의 빈칸을 완성하시오.

사용자 "HWANG"에게 테이블을 생성할 수 있는 권한을 부여하기 위한 SQL문을 작성하시오.

_____ CREATE TABLE _____ HWANG

GRANT TO 

03. SQL문의 빈칸을 완성하시오.

[성적] 테이블에서 점수가 90점 이상 95점 이하인 '컴퓨터공학과' 학생의 정보를 검색한 SQL문을 작성하시오.

SELECT * FROM 성적 WHERE (점수 _____ 90 _____ 95) AND 학과 = '컴퓨터공학과';

BETWEEN AND

04. SQL문의 빈칸을 완성하시오.

[성적] 테이블에서 점수가 높은 학생 순으로 이름(Name)과 점수(Score)가 출력되도록 SQL문을 작성하시오.

SELECT Name, Score FROM 성적 _____ BY Score _____

ORDER  DESC

05. SQL문의 빈칸을 완성하시오.

[학생] 테이블에서 '안중근' 학생의 점수를 95점으로 갱신하는 SQL문을 작성하시오.

_____ 학생 _____ 점수 = 95 WHERE 이름 = "안중근";

UPDATE SET 

06. SQL문의 빈칸을 완성하시오.

[학생] 테이블에서 '주소' 속성을 추가하는 SQL문을 작성하시오.

_____ TABLE 학생 _____ 주소 VARCHAR(20)

ALTER ADD

07. SQL문의 빈칸을 완성하시오.

[학생] 테이블에서 '이'로 시작하는 학생들의 학번을 검색하여 학년이 높은 학생 순으로 출력하는 SQL문을 작성하시오.

SELECT 학번 FROM 학생 WHERE 이름 = "_____" ORDER BY 학년 _____

이% , DESC

08. SQL문의 빈칸을 완성하시오.

[학생정보] 테이블과 [학과정보] 테이블을 결합하여 학생명과 학과명을 출력하는 SQL문을 작성하시오.

SELECT A.이름, B.학과명 FROM 학생정보 A _____ 학과정보 B ON A.학과 = B.학과 

JOIN

09. SQL문의 빈칸을 완성하시오.

[Exam] 테이블의 모든 레코드를 지우기 위한 명령어 SQL문을 작성하시오.

_____ from Exam

DELETE 

조건없이 DELETE 하면 다 지워짐...

TRUNCATE TABLE Exam 인줄 알고 TRANCATE 적어서 틀림

 

10. SQL문의 빈칸을 완성하시오.

[Exam] 테이블의 구조를 변화시키며 삭제하기 위한 명령어 SQL문을 작성하시오.

_____ from Exam

DROP

안적어서 틀림 



01. 다음 빈칸의 내용을 작성하시오.

( ① ) : 물리(Physics) 계층에서 데이터 전송을 하기 위해 사용하는 데이터 단위
( ② ) : 네트워크(Network) 계층에서 데이터 전송을 하기 위해 사용하는 데이터 단위

(①) : 데이터그램(Datagram) / (②) : 패킷(Packet)

02. 다음이 설명하는 용어를 작성하시오.

릴레이션에서 하나의 속성이 취할 수 있는 동일한 타입의 원자값들의 집합을 의미하는 것을 무엇이라 하는지 쓰시오.

도메인(Domain)

03. 다음이 설명하는 용어를 작성하시오.

모든 창을 최소화하여 바탕화면을 보기 위한 윈도우 단축키는 무엇인지 작성하시오.

윈도우 D (Windows + D)

04. 다음이 설명하는 용어를 작성하시오.

한 릴레이션 내에 있는 후보키 중에 하나 이상의 속성들의 집합으로, 구성된 키의 모든 튜플에 대해 유일성(Unique)은 만족하지만, 최소성(Minimality)은 만족하지 못하는 것이 무엇인지 작성하시오.

슈퍼키(Super Key)

05. 다음이 설명하는 용어를 작성하시오.

데이터베이스에서 릴에이션 내의 각 행을 레코드라고 하며, 관련 테이블에서 행한 수치 이상으로 혼합된 자료 요소를 의미, 각 개체들의 각각의 정보를 표현하는 것이 무엇인지 작성하시오.

튜플(Tuple)

06. 다음이 설명하는 용어를 작성하시오.

CPU(중앙처리장치)와 입출력 장치 간의 속도 차이를 완화하기 위해 사용하는 시스템으로, 대표적으로 프린터에서 사용하는 기능은 무엇인지 쓰시오.

스풀링(Spooling)

07. 다음이 설명하는 용어를 작성하시오.

전기적인 연결, 물리적 설계, 데이터 전송 등에 이용되는 OSI 계층은 무엇인지 작성하시오.

물리계층(Physical Layer)

08. 다음이 설명하는 용어를 작성하시오.

릴레이션 내의 데이터를 변경하거나 삭제할 때, 다른 개체가 해당 개체를 참조하고 있을 경우 변경 및 삭제를 취소하는 명령어는 무엇인지 쓰시오.

RE(Referential Integrity) 제약 조건은 릴레이션 내의 데이터를 변경하거나 삭제할 때 다른 릴레이션에서 해당 데이터를 참조하고 있는 경우 변경 또는 삭제를 취소하는 제약 조건입니다. 이러한 경우에는 외래 키(Foreign Key)와 참조되는 기본 키(Primary Key) 간의 관계를 유지하기 위해 참조 무결성(Referential Integrity)을 지켜주어야 합니다.

09. 다음이 설명하는 용어를 작성하시오.

네트워크상에서 IP주소를 물리적 주소(MAC)로 대응시키기 위해 사용되는 프로토콜이다.
IP address를 LAN 카드의 물리적 주소인 MAC 주소로 변환한다.

ARP(Address Resolution Protocol)

10. 다음이 설명하는 용어를 작성하시오.

하나의 작업을 수행하기 위해 필요한 연산들의 집합이다.
데이터베이스에서 논리적인 작업의 단위를 의미한다.
원자성, 일관성, 독립성, 지속성 등의 특징을 있다.

트랜잭션(Transaction)