- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- C언어
- 자료구조
- sql
- 공유대학
- python
- 안드로이드 스튜디오
- 정렬
- Java
- 자바
- 연결리스트
- til
- 백준
- 코딩테스트
- 알고리즘
- 프로그래밍 입문
- firebase google
- Firebase
- 컴퓨터공학과
- 파이썬
- 비주얼 베이직
- android studio
- 동적할당
- 로그인
- C++
- oauth
- 프로그래머스
- 안드로이드
- 구글 로그인
- 배열
코딩하는 해달이
[프로그래밍 입문] 2주차 - 알고리즘 및 파이썬(2) 본문
알고리즘 개요
알고리즘의 개념
▶ 특정 업무를 수행하기 위한 절차 또는 명령어의 집합
▶ 주어진 문제를 해결하는 데 필요한 방법과 절차를 순서대로 기술한 것
▶ 즉, 우리가 평소 사용하는 컴퓨터 프로그램은 알고리즘을 프로그래밍 언어를 이용하여 코드로 변환한 것을 의미
알고리즘의 설계
▶ 알고리즘을 설계할 때는 제어 구조를 이용
▶ 제어 구조는 알고리즘에서 명령의 실행 순서를 결정하는 구조로 순차 구조, 선택 구조, 반복 구조가 있음
- 순차구조
- 문제를 해결하기 위해 가장 효율적인 방법을 찾아내는 과정
- 선택구조
- 특정 조건을 만족하는지 여부에 따라 다음 명령을 선택하여 실행
- 반복구조
- 어떤 문제를 해결하기 위해 같은 동작을 반복하여 실행
일상 생활 속 알고리즘
▶ 등교 알고리즘
- 알람 소리에 기상한다.
- 아침 식사는 간단한 빵 종류로 해결한다.
- 양치질과 세수를 한다.
- 날씨정보를 참고해서 옷을 고른다.
- 신발을 신고 자전거를 꺼낸다.
- 안전모를 착용하고 자전거 전용 도로를 이용해서 학교로 향한다.
- 학교에 도착하면 자전거를 자전거 거치대에 세운 후 학급으로 향한다.
수학 속 알고리즘
▶ 생년월일에 따른 만 나이 계산 알고리즘
- 기준년도에서 출생 연도 빼기
- 생일이 지났으면 추가 뺄셈을 하지 않고 지났으면 추가로 1을 뺌
▶ 1부터 100까지 정수의 합 구하기
- 규칙 발견하기
- 공식 만들기 - (1+마지막 정수)*(마지막 정수/2)
- 공식 적용하기 (1+100) * (100/2) = 101 * 50 = 5050
▶ 색칠한 부분의 넓이 구하기
▶ 거스름돈 계산하기
- 물건의 금액을 계산하여 동전의 개수를 가장 적게 거슬러주기
순서도와 의사코드
순서도란?
▶ 다양한 기호를 사용하여 알고리즘을 표현한 것
▶ 순서도 역시 명확하고 실현 가능한 흐름으로 작성해야 함
순서도 기호
의사코드란?
▶ 순서도와 마찬가지로 알고리즘을 기술하기 위한 방법 중 하나
▶ 우리가 사용하는 자연어를 이용하여 프로그래밍 언어와 비슷하게 만든 코드이나 실제 컴퓨터에서 실행되지는 않음
의사코드 예시
파이썬 개발환경
파이썬 이란?
▶ 네덜란드 개발자인 귀도 반 로섬이 1991년에 만든 프로그래밍 언어
▶ 구글은 자바와 함께 파이썬을 메인 언어로 채택하여 많은 서비스를 만들고 있음
파이썬의 특징
▶ 문법 구조가 쉬움
- 다른 언어에 비해 문법 구조가 쉬움
- 프로그램 개발, 수정, 실행 단계가 빠르고 프로그래밍 언어를 처음 배우는 사람도 쉽게 익힐 수 있음
▶ 무한 정수 처리 가능
- 컴퓨터의 메모리 용량만 넉넉하다면 무한 정수를 처리할 수 있음
- 따라서 다양한 산업과 과학 분야에서 복잡하고 어려운 계산도 잘 수행함
▶ 다양한 라이브러리 존재
- 라이브러리란 특정 기능을 위해 미리 만들어 놓은 프로그램을 의미
- 파이썬은 이미 개발자들이 만들어 놓은 많은 라이브러리 덕분에 우리는 좀 더 쉽고 빠르게 프로그래밍 가능
- 라이브러리는 대체로 무료이며, 누구든지 특정 기능의 라이브러리를 만들어 배포할 수 있음
▶ 이미지 처리에 능숙함
- 다른 언어에 비해서 상대적으로 이미지 처리를 쉽게 할 수 있음
- 따라서 이미지 처리를 해야하는 많은 산업분야에서 파이썬을 이용
아이들(IDLE)
▶ IDLE은 Intergrated Development Environment의 약자로 통합개발환경을 의미함
▶ 즉 프로그램 개발에 필요한 모든 기능을 하나로 모아놓은 소프트웨어를 의미함
▶ 파이썬 셸과 코드 편집기라는 두가지 IDLE이 있음
파이썬 셸(shell)
▶ 파이썬 IDLE을 실행했을 때 나타나는 기본 툴
▶ 윈도우의 [시작]-[Python 3.8]-[IDLE(Python 3.8 32-bit)]를 클릭하여 파이썬을 실행하면 나타남
▶ 셸 모드의 특징
- 컴퓨터와 내가 채팅하듯이 코딩하는 방식임
- 셸 모드는 화면에 코딩하고 결과를 바로 볼 수 있어 편리함
- 주로 간단한 코드를 실행할 때 사용함
- 셸 모드를 종료하려면 [File]-[Exit] 메뉴 또는 오른쪽 상단의 버튼을 클릭함
코드 편집기
▶ [File] - [New File]을 클릭하면 흰색의 또 다른 편집기가 나옴
▶ 코드 편집기는 셸 모드와 달리 코드를 파일 단위로 저장한 후 실행함
▶ 주로 긴 코드를 실행할 때 사용함
컴파일러와 인터프리터
▶ 우리가 작성한 프로그램의 소스 파일은 대부분 영어로 이루어져 있으나 컴퓨터는 0과 1로 된 기계어만 사용함
▶ 따라서 프로그램을 실행하려면 인간의 언어(영어)를 컴퓨터가 이해할 수 있는 기계어로 변환이 필요
▶ 주로 긴 코드를 실행할 때 사용함
//29:56
'USG 공유대학' 카테고리의 다른 글
[응용소프트웨어공학] 1-1 소프트웨어 개발 작업 (0) | 2023.09.04 |
---|---|
[응용소프트웨어공학] 1- 1소프트웨어란? (0) | 2023.09.04 |
[프로그래밍 입문] 2주차 - 컴퓨팅 사고의 개요(1) (0) | 2023.03.12 |
[자료구조 및 알고리즘] 2주차 - 재귀와 귀납적 사고(1) (0) | 2023.03.12 |
[프로그래밍 입문] 1주차 - 화상강의 (2) | 2023.03.06 |