프로그래머가 보는 수학 - 정수의 사칙연산, 수직선, 절댓값, 부등호, 교환법칙, 결합법칙, 분배법칙, 우선순위

2022. 6. 6. 14:48카테고리 없음

728x90

사전지식 : https://aaaag.tistory.com/19

 

프로그래머가 보는 수학 - 거듭제곱

거듭제곱 : 같은 수나 문자를 반복해서 곱하는 것 더보기 3² == 3 * 3 3의 제곱이라 읽는다 지수는 작게 써져있는 숫자를 지수라 한다(2) 밑은 크게 써져있는 숫자를 밑이라 한다(3) 더보기 5⁴ == 5 *

aaaag.tistory.com


정수 : 양수, 0, 음수 세 가지를 포함하는 영역을 정수라 함


예 없음

프로그래밍 구현없음

 


수직선 : 직선에 점을 찍어 숫자와 대응시킨 선


[예]

원점(0)을 기준으로 오른쪽(+)으로 갈수록 크고 원점(0)을 기준으로 왼쪽(-)으로 갈수록 작다


프로그래밍 구현 없음


절댓값

  • 원점을 기준으로 얼마나 떨어져 있는지(거리) 나타내는 값
  • 거리는 음수라는 개념이 없기 때문에 절댓값으로 음수는 존재하지 않는다.
  • 기호 : |{+ 또는 -] 숫자|로 표현

[예]

예) 원점으로 부터 |8| == 절대값 8
예) 원점으로부터 |-9| == 절대값 9

 

-100, -5, 4, 0, -10, 20, 10 수들 중 절댓값이 가장 작은 것부터 큰 순서로 나열하라

정답 : 0, 4, -5, ±10, 20, -100


프로그래밍 구현

tempList = []
resultList = []
while len(resultList) != 5:
    value = int(input())
    temp = value
    if value < 0:
        temp = -value

    count = 0
    for tempValue in tempList:
        if tempValue > temp:
            break

        count = count + 1

    tempList.insert(count, temp)
    resultList.insert(count, value)

print(f"resultList = {resultList}")

정수의 대소 관계(크기 비교)

  • 양의 정수는 절댓값이 클수록 큰 수
  • 음의 정수는 절댓값이 클수록 작은 수

[예]

-100, -5, 4, 0, -10, 20, 10 정수들을 크기가 작은 순부터 큰 수로 나열하라

정답 : -100, -10, -5, 0, 4, 10, 20


프로그래밍 구현

resultList = []
while len(resultList) != 5:
    value = int(input())
    resultList.append(value)

resultList.sort()
print(f"resultList = {resultList}")

부등호

수학 프로그래밍 설명 요약
> > ~보다 크다 초과 x > 5
< < ~보다 작다 미만 x < 5
>= ~보다 크거나 같다
~보다 작지 않다
이상 x >= 5
<= ~보다 작거나 같다
~보다 크지 않다
이하 x <= 5

예 없음

프로그램 구현없음


덧셈의 교환 법칙

  • A + B + C + D == A + C + D +B
  • (A + B) + (C + D) == (C + D) + (A + B)

자리(위치)를 바꿔도 결과는 동일하다

 

덧셈의 결합 법칙

  • (A + B) + (C + D) == (A + C) + (B + D)

묶은 수를 다르게 묶어도 결과는 동일하다

 

정수의 뺄셈

  • A - B == (+A) - (+B) == (+A) + (-B)

가운데 연산자를 - 에서 + 로 바꾸고 그다음 수의 연산기호를 반대로 한다

뺄셈은 교환 법칙, 결합 법칙이 성립되지 않는다.

 

정수의 덧셈 뺄셈 혼합

    1. 괄호가 있을 때
      1. (+2) + (-3) + (+7) + (-4)
      2. (+2) + (+7) + (-3) + (-4)
      3. (+9) + (-7)
      4. (+2)

같은 기호들끼리 덧셈의 교환 법칙 후 계산

    1.  괄호가 없을 때
      1. 2 - 3 + 7 - 4
      2. (+2) - (+3) + (+7) - (+4)
      3. (+2) + (-3) + (+7) + (-4)
      4. (+2) + (+7) + (-3) + (-4)
      5. (+9) + (-7)
      6. (+2)

괄호로 묶은 다음 가운데 연산자를 - 에서 +로 바꾸고 그다음 수의 연산기호를 반대로 만들고 덧셈의 교환 법칙을 한다


예 없음

프로그래밍 구현없음


정수의 곱셈

  • 부호가 같은 두 정수를 곱 할 경우 결과는 (+)
    • (+) * (+) == (+)
    • (-) * (-) == (+)
  • 부호가 다른 두 정수를 곱할경우 결과는 (-)
    • (-) * (+) == (-)
    • (+) * (-) == (-)

곱셈의 교환 법칙

  • A * B * C * D == A * C * D * B
  • (A * B) * (C * D) == (C * D) * (A * B)

자리(위치)를 바꿔도 결과는 동일하다

 

곱셈의 결합 법칙

  • (A * B) * (C * D) == (A * C) * (B * D)

묶은 수를 다르게 묶어도 결과는 동일하다

 

정수의 거듭제곱

  • 음수일 경우 홀수번 곱하면 결과는 음수
    • (-2) * (-2) * (-2) == (-8)
  • 음수일 경우 짝수번 곱하면 결과는 양수
    • (-2) * (-2) == (+4)
  • 양수일 경우 홀수/짝수번 곱해도 결과는 양수
    • (+3) * (+3)... == (+)

예 없음

프로그래밍 구현없음


정수의 나눗셈

  • 부호가 같은 두 정수를 나눌경우 결과는 (+)
    • (+) % (+) == (+)
    • (-) % (-) == (+)
  • 부호가 다른 두 정수를 나눌경우 결과는 (-)
    • (-) % (+) == (-)
    • (+) % (-) == (-)

나눗셈은 교환 법칙, 결합 법칙이 성립하지 않는다.


예 없음

프로그래밍 구현없음


사칙연산 우선순위

우선순위 수학 프로그래밍
1. 괄호 () -> {} -> [] ()
2. 거듭제곱 5², 6³, ... 없음
3. X, % x * y, x % y x * y, x / y, x % y
4. +, - x + y, x - y x + y, x - y

분배 법칙

  • (a * c) + (b * c) == (a + b) * c
  • (a % c) + (b % c) == (a + b) % c

[예]
  • (2 * 3) + (4 * 3) = 18
  • (2 + 4) * 3 = 18
  • (2 * 3) + (4 * 3) == (2 + 4) * 3

프로그래밍 구현

# -*- coding: utf-8 -*-
import sys

#분배법칙
#(A * C) + (B * C) == (A + B) * C
print(f"A : ", end='')
AValue = int(input())

print(f"B : ", end='')
BValue = int(input())

print(f"C : ", end='')
CValue = int(input())

print()
result = (AValue * CValue) + (BValue * CValue)
print(f"1. (A * C) + (B * C) = {result}")
print(f"({AValue} * {CValue}) + ({BValue} * {CValue}) = {result}")
print()
result = (AValue + BValue) *CValue
print(f"2. (A + B) * C = {result}")
print(f"({AValue} + {BValue}) * {CValue} = {result}")