Dorothy_YANG
With Dorothy
Dorothy_YANG
전체 방문자
오늘
어제
  • 분류 전체보기 (279)
    • Hi, I'm Dorothy 🕵️‍♂️ (21)
      • Slowly but Surely (18)
      • IT certifications (3)
    • 🤯TIL (80)
      • HTML & CSS (2)
      • Javascript & jQuery (13)
      • React (13)
      • C언어 (1)
      • JAVA (22)
      • Python (2)
      • Oracle SQL (10)
      • My SQL (5)
      • Spring (12)
    • 💻Programmers (17)
    • 🏫 Open API_JAVA (101)
    • 🌎 Project (10)
      • Shopping (10)
    • 💥 Error (24)
    • ⚙ Setting (23)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • sql기간
  • CSS
  • 기간설정
  • 콜라보레이토리
  • 이것이자바다
  • Javascript
  • 비쥬얼스튜디오코드
  • Database
  • SQL
  • 기간쿼리
  • SQLD합격
  • 노마드코더
  • googlecolaboratory
  • 연습문제
  • spring
  • 백준
  • 오류해결
  • HTML
  • oracle
  • java
  • 창초기화
  • 코딩앙마
  • colaboratory
  • 서버등록
  • 파이썬온라인
  • 독학후기
  • SQLD합격후기
  • 시작일종료일
  • AllArgsConstructor
  • Eclipse

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dorothy_YANG

With Dorothy

[12일차] for 응용 / function 응용 / Debugger
🏫 Open API_JAVA

[12일차] for 응용 / function 응용 / Debugger

2022. 8. 5. 11:25
728x90

20220804(목)

  • 목차
    - 시험 리뷰
    - for 응용
    - function 응용
    - Debugger

< for 와 res.push 사용해서 배열 합계, 평균 구하기 >

 

1. for 사용해서 국어 성적 합계 및 평균 구하기

// [국어, 영어, 수학] * 6 구조로 배열을 만든다.
        const score = [[80, 90, 74],
                       [84, 94, 80],
                       [80, 90, 88],
                       [82, 86, 90],
                       [92, 80, 80],
                       [70, 80, 88]];
 
 // 국어 성적
        let kor_sum = 0;
        let kor_avg = 0;

        for (let i = 0; i < score.length; i++)
        {
            kor_sum = kor_sum + score[i][0]; // 영어, 수학은 score[i][1], score[i][2]로 구하면 된다.
        }

        kor_avg = kor_sum / score.length;

 

2. outStr 사용해서 list 출력하기

       let outStr = '';

        outStr += '<ul>';
        outStr += '<li> 국어 총점 : ' + kor_sum + '점, 평균 : ' + kor_avg.toFixed(2) + '점</li>';
        outStr += '<li> 영어 총점 : ' + eng_sum + '점, 평균 : ' + eng_avg.toFixed(2) + '점</li>';
        outStr += '<li> 수학 총점 : ' + mth_sum + '점, 평균 : ' + mth_avg.toFixed(2) + '점</li>';
        outStr += `</ul>`;

 

3. 학기별 성적 총합과 평균 구하기

.push : 뒤에 넣어버린다.

let res = [] // result 배열 넣을거야~ 알리기

// 학기별 성적
        let sum = 0;
        let avg = 0;
        let res = []; // result 배열

// 1학년 1학기 성적
        sum = score[0][0] + score[0][1] + score[0][2]; // 1학년 2학기 = score[1]의 [0, 1, 2], ...
        avg = sum / 3;
        res.push(sum);
        res.push(avg.toFixed(2));

 

4. outStr 사용해서 list 출력하기

        outStr += '<ul>';
        outStr += `<li> 1학년 1학기 총점 : ${res[0]} 점, 평균 : ${res[1]} 점</li>`;
        outStr += `<li> 1학년 2학기 총점 : ${res[2]} 점, 평균 : ${res[3]} 점</li>`;
        outStr += `<li> 2학년 1학기 총점 : ${res[4]} 점, 평균 : ${res[5]} 점</li>`;
        outStr += `<li> 2학년 2학기 총점 : ${res[6]} 점, 평균 : ${res[7]} 점</li>`;
        outStr += `<li> 3학년 1학기 총점 : ${res[8]} 점, 평균 : ${res[9]} 점</li>`;
        outStr += `<li> 3학년 2학기 총점 : ${res[10]} 점, 평균 : ${res[11]} 점</li>`;
        outStr += `</ul>`;

        document.body.innerHTML += outStr;

 


< function 으로 배열 합계와 평균 구하기 >

// [심화] 함수로 더 해볼까? 배열을 집어넣어서 합계와 평균을 던져줘!
 
        const calcScore = function(ar)
        {
            let total = 0;
            let resAr =[]; // 합, 평균이 들어갈 배열

            for (let i = 0; i < ar.length; i++)
            {
                total = total + ar[i];
            }
           
            resAr[0] = total;
            resAr[1] = total / ar.length;
           
            return resAr;
            
        }


        // --------------------------------------------------------------------------
// [국어, 영어, 수학] * 6 구조로 배열을 만든다.
        const score = [[80, 90, 74],
                       [84, 94, 80],
                       [80, 90, 88],
                       [82, 86, 90],
                       [92, 80, 80],
                       [70, 80, 88]];

        let aa = calcScore(score[0]);
        console.log(aa[0]);
        console.log(aa[1]);

 


< JS 메모리 맵 _ Heap Area>

[data]
(1) 기본 데이터 타입이 아닌 data
(2) 실행될 때가 되어야 알 수 있는 data
[운영방식]
(1) 변수명으로 접근하는 것이 아닌 레퍼런스 값을 통해 접근한다.
      레퍼런스 값 : 생성 여부도 불투명하다. 큰 데이터 값은 관리할 수 있겠지만 이중관리 힘들어~
(2) 레퍼런스 값을 스택이나 Global 영역의 변수에 저장하여 간접적으로 접근하는 것

 

http://www.tcpschool.com/c/c_memory_structure

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com


< 디버거 debugger >

  • 의미
    V8엔진에게서 제어권을 내가 뺏어오는 것!
    제어권을 Debugger로 이관
  • 특징
    버그를 잡는 프로그램
    CPU나 V8엔진과 직접 통신한다.
  • 사용 이유
    1. 프로그램의 상태 파악
    2. 문제점을 개선하기 위해서 사용

  • break-point
     - 제어수행 
                      step-over  : 제어권을 나에게 주니 누를 때 마다 f10 하나씩 돌아간다.
                      resume(다음 브레이크 포인터까지 쭉 돌린다.)

       - 상태보기
                       break-point : f10 눌러서 브레이크 포인트를 걸어! v9엔진이 제어권을 나에게 준다.

                       watch : 감시 표현식에 궁금한 것들(식 입력 가능) 입력해서 확인 가능

                       call stack : 어디서 뭘 호출하고 있는지 화살표로 표시됨


[연습문제] 띠 판단 함수 만들기

// 사용자에게 태어난 년도를 입력받는다.
// 무슨 띠인지 판단하는 함수 작성
// 귀하는 xx띠 입니다. 출력 alert 코드 작성

        const getYearSymbol = function(birth)
        {
            let getYearSymbol = '';
            const val = birth % 12;

            switch(val)
            {
                case 0 : yearSymbol = '원숭이' ; break;
                case 1  : yearSymbol = '닭' ; break;
                case 2 : yearSymbol = '개' ; break;
                case 3 : yearSymbol = '돼지' ; break;
                case 4 : yearSymbol = '쥐' ; break;
                case 5 : yearSymbol = '소' ; break;
                case 6 : yearSymbol = '호랑이' ; break;
                case 7 : yearSymbol = '토끼' ; break;
                case 8 : yearSymbol = '용' ; break;
                case 9 : yearSymbol = '뱀' ; break;
                case 10 : yearSymbol = '말' ; break;
                case 11 : yearSymbol = '양' ; break;

                default : yearSymbol = '알수없음' ; break; // else와는 달라! 전혀 내가 생각할 수 없는 상황!
            }

            return yearSymbol;
           
        }
 
        const input = prompt('출생년도를 입력하세요', '1997');
        const birth = Number(input);

        const sym = getYearSymbol(birth);

        alert(`귀하의 띠는 ${sym}띠 입니다`);
728x90
저작자표시 비영리 변경금지 (새창열림)

'🏫 Open API_JAVA' 카테고리의 다른 글

[14일차] 콜백함수 (forEach / map / filter) / arrow / time  (0) 2022.08.09
[13일차] JS 함수 호출방식 / 가변 파라미터 / 디폴트 파라미터 / 콜백  (0) 2022.08.05
[11일차] 함수 / 임시변수  (0) 2022.08.03
[10일차] 반복문 for / while / 제어 break 와 continue  (0) 2022.08.02
[9일차] JavaScript Switch / Array  (0) 2022.08.01
    '🏫 Open API_JAVA' 카테고리의 다른 글
    • [14일차] 콜백함수 (forEach / map / filter) / arrow / time
    • [13일차] JS 함수 호출방식 / 가변 파라미터 / 디폴트 파라미터 / 콜백
    • [11일차] 함수 / 임시변수
    • [10일차] 반복문 for / while / 제어 break 와 continue
    Dorothy_YANG
    Dorothy_YANG
    Slowly but Surely, 비전공 문과생의 개발공부

    티스토리툴바