[Day1 알고리즘] 컴퓨팅 사고, 디버깅 표, 알고리즘 순서도
컴퓨팅사고
문제분석 - 자료수집표현-분해/추상화/패턴인식/알고리즘-평가-코딩
표준함수
ABS(X) | 부호 뺀 절대값 계산 | ABS(-12)->12 |
INT(X) | X이하인 정수 중 최대값 찾음 | INT(5.44)->5 INT(-10.22)->-11 |
SQRT(X) | 제곱근 값 계산 | SQRT(26)->6 |
MOD(X,Y) | X를 Y로 나눈 나머지, %와 동일 | MOD(10,3)->1 |
LEFT(X,Y) | 문자열X에 대해 왼쪽에서 Y개 만큼 문자 추출 | LEFT("ABCDEFG",3)->"ABC" |
RIGHT(X,Y) | 문자열X에 대해 오른쪽에서 Y개 만큼 문자 추출 | RIGHT("ABCDEFG",3"->"EFG" |
MID(X,Y,Z) | 문자열X에 대해 위치 Y에서부터 Z개많큼 문자 추출 | MID("ABCDEFG",4,3)->"DEF" |
VAL(X) | 문자열 X를 숫자로 변환 | VAL("419")->419 |
디버깅표
⊙ 용도
알고리즘 정확하게 작성되었는지 검증하는 표
컴퓨터의 반응 미리 예견가능
순서도 진행 흐름에 따라 새로운 값들 생성, 추적
⊙ 작성방법
열 : 값이 배정되는 변수 , 조건
행 : 시간흐름
*배열변수 제공시 값이 많아짐. 디버깅 표 앞부분에 별도로 표시
*반복처리가 나타나면 디버깅표 커짐-> 생략함...
⊙ 사례
시험 10개 과목 시험에 대한 총점과 평균을 구한후, 90점 이상 과목이 모두 몇개인가?
A(1) | A(2) | A(3) | A(4) | A(5) | A(6) | A(7) | A(8) | A(9) | A(10) |
70 | 95 | 100 | 85 | 65 | 90 | 80 | 95 | 75 | 100 |
열은 조건들
행은 시간순
가장마지막에 있는거 출력
순서도 구성 3대 기본 구조
- 직선구조 : 흐름에 따라 위에서 아래로 진행하는 구조
- 분기구조 : 조건기호에 대한 결과에 따라 진행할 다음 작업이 달라지는 구조
- 반복구조 : 선처리 후검사 : do~while
선검사 후처리 : while
1. 직선구조
2. 분기구조
3. 선처리 후검사
반복하는 변수 갱신하면서 조건 바뀜. 초기값은 반복하는 것의 앞쪽에 있어야 된다.
4. 선검사 후 처리
변수와 배정문
A = A+1 우변에 A랑 좌변의 A는 다름
우변에 A는 값이 저장되어있고 좌변은 변수(장소)A에 넣어라.
배열 변수 ; 같은 종류의 값들 이 연속적으로 보관하여 처리하기 위한 장소
일차원 배열 변수 ENG(100)
ENG : 1차원 배열 변수의 이름
100 : 배열 변수의 원소 개수
이차원 배열 변수 SCORE(2,100)
SCORE : 2차원 배열 변수 이름
2 : 세트수
100 : 세트당 원소수
∴ SCORE 배열 변수의 총 원수는 200개
▶ 중첩 반복
▶ 스위치 변수 : 값의 부호가 교대로 바뀌면서 등장하는 변수
알고리즘과 순서도
순서도 : 기호 그림을 사용하여 논리적 절차 흐름, 처리방법 등을 말한다.
좋은 알고리즘 : 출력 정확, 성능 좋아야 함.
성능 측정 : 시간, 공간으로 측정