본문 바로가기

컴퓨터9

모두를 위한 컴퓨터 과학 - 4주차 [알고리즘] https://www.boostcourse.org/cs112/lecture/119019 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 알고리즘 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열 나열 방법에 따라 알고리즘의 종류가 달라짐 정확성과 효율성이 중요함!! 선형 검색 O(n) 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 검색 정확하지만 아주 효율적이지 못한 방법 자료가 정렬되어 있지 않거나 그 어떤 정보도 없어 하나씩 찾아야 하는 경우에 유용 이진 검색 O(log n) 만약 배열이 정렬되어 있다면, 배열 중간 인덱스부터 시작하여 찾고자 하는 값과 비교하며 그보다 작은(작은 값.. 2021. 1. 28.
모두를 위한 컴퓨터 과학 - 3주차 [배열] 📙과제 ✔︎ 문제 1. 학점을 계산해보자! 더보기 1. 미션 제목 학점을 계산해보자! 2. 지시문 - 학생의 점수로 학점을 구하는 프로그램을 작성하시오. - 키보드에서 입력받은 성적 (0 ~ 100 점) 의 유효성을 체크 - 학점은 배열을 이용하여 초기화 (아래 “학점 테이블” 참조) - 학점은 “학점” 과 같이 계산하는데, 반드시 “학점 테이블”을 사용하여 계산하고 학점도 “학점 테이블”의 내용을 출력 - 성적을 입력하여 계속 학점을 구하며 특별한 문자인 “999” 를 입력하면 프로그램을 종료 Table 1 - 학점 Table 2 - 학점 테이블 유효성 체크: 0 1차 코딩, 결과 -> 개선할 사항 -> 최종 코드 -> 결론 식으로 작성하기 ✔︎ 문제 2. 누가 빠졌는지 찾아보자! 더보기 1. 미션 제목 누가.. 2021. 1. 26.
'상수' 표현 법 데이터 종류 표현 방법 예시 printf () 변환 문자 정수 0~9, +, - 기호 사용 10, -10, +10, 0 %d 실수 0~9, +, - , 소수점 기호 사용 3.14, -1.4, 10.0 %lf 문자 하나의 문자를 ' ' 로 묶음 'A', 'B' %c 문자열 하나 이상 문자를 " " 로 묶음 "banana", "good" %s * 실수의 경우 소수점 이하 6자리까지 출력되며, 소수점의 자릿수를 바꾸려면 % 와 lf 사이에 소수점을 찍고 자리수를 지정함 Ex) %.2lf 는 소수점 2자리까지 출력됨 상수 C 언어에서 데이터 (정수, 실수, 문자, 문자열)를 다룰때, 값이 바뀌지 않는 데이터 * 실수 상수 표현법 - 실수는 '소수점 형태'와 '지수 형태'로 표현 가능 ( e는 밑수 10을 의미함.. 2021. 1. 25.
제어 문자 제어문자란? 문자는 아니지만, 출력 방식에 영향을 주는 문자 " "안에 포함시키면 그 기능에 따라 출력 형태를 바꿈 \n : 개행(다음줄로 이동) \t : 탭(다음 탭 위치로 이동) \b : 백스페이스(한 칸 왼쪽으로 이동) \r : 캐리지 리턴(맨 앞으로 이동하고 그 문자만큼 대체함) 즉, cow\rc 를 출력하면 wow가 된다. \a : 벨소리 사용 \\ : 백 슬래시 \" : "을 출력 \' : '을 출력 2021. 1. 25.
모두를 위한 컴퓨터 과학 - 3주차 [배열] www.boostcourse.org/cs112/lecture/118997 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 컴파일 소스코드 -> 오브젝트 코드 변환시키는 과정 왜 기계어로 하지 않나요? = 가독성이 떨어지고, 기계어를 사용하기 어려움 * 컴파일 과정 1) 전처리(Precompile) #시작되는 C 소스 코드의 명령을 받아 실질적인 컴파일이 이루어지기전에 #~~을 실행한다. ex) #include는 전처리기에 다른 파일의 내용을 포함시키라고 알려준다. 2)컴파일(Compile) C코드를 어셈블리 코드라는 저수준 프로그래밍언어로 컴파일함 3)어셈블(Assemble) 어셈블러라는 프로그램으로 어셈블리 코드를 오브젝트 코드로 변환 연속된 0과.. 2021. 1. 25.
모두를 위한 컴퓨터 과학 - 2주차 [C언어] 📚과제 문제 해설 강의 우수 미션 모음 ✔︎ 문제 1 여러분은 기존 오프라인에서 리테일 사업으로 유명한 신선식품 업체에 입사한 개발자 입니다. 최근 디지털 트랜스포메이션 이슈에 따라 기존 오프라인으로 운영하던 리테일 사업을 온라인으로 전환하게 되었습니다. 여러분에게는 기존 오프라인에서 일어나던 일들을 온라인 쇼핑몰로 전환하는 임무를 진행하게 됩니다. 성공적으로 첫 임무를 완수하여 팀장님의 신임을 얻고 성취감도 느껴보세요! 이제 입사한지 얼마 되지 않았기 때문에 간단한 재고 관리 프로그램 개발의 일부를 맡게 되었습니다. 주문이 들어왔을 때 재고량을 적절하게 관리하지 못 하면 재고가 없는 물품의 주문이 추가로 일어날 수 있습니다. 그러면 고객의 불만이 발생할 수 있기 때문에 재고량을 관리가 필요합니다. 또 이렇게 .. 2021. 1. 18.
모두를 위한 컴퓨터 과학- 1주차 [컴퓨팅 사고] 📚과제 📙 개인미션 1. 아래 준비물이 준비되어있다는 가정 하에, 3살짜리 아이라도 이해하고 실행할 수 있도록 라면 끓이는 방법을 의사코드(Pseudo code)로 표현해봅시다. 자신만의 라면끓이는 노하우가 있다면 꼭 공유해주세요! 더보기 * 준비물 : 라면, 건더기스프, 양념스프, 수도꼭지, 라면냄비, 가스레인지, 젓가락, 달걀, 기타 자신만의 노하우가 담긴 재료 혹은 도구 1. 라면을 끌이기 위한 준비물을 준비한다. 2. 수도꼭지를 연다. 3. 냄비에 물을 받는다. 4. 냄비를 가스 레인지 위에 올린다. 5. 가스 밸브들 열고 불을 킨다. 6. 물이 끓었는지 확인한다. 7. 만약 물이 끓지 않았으면, 8. 1분동안 대기한다. 9. 6번부터 다시 실행한다. 10. 만약 물이 끓었으면, 11. 라면과 스프를 뜯.. 2021. 1. 11.
모두를 위한 컴퓨터 과학- 2주차 [C 언어] https://www.boostcourse.org/cs112/lecture/118997 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org C 언어 프로그램을 작성하는데 사용되는 순수 텍스트 기반의 언어 #include int main(void) { printf(“hello, world\n”); } - #include 는 ------.h 라는 이름의 파일을 찾아서 그안에 포함된 함수에 접근할 수 있도록 한다는 뜻 - int main(void) { } -> 프로그램을 시작점을 정의함 - printf("--") 문자열을 화면에 출력하는 함수 (스크레치의 say 함수) - 글자나 단어, 문장을 적을 때는 언제나 텍스트에 " " 쌍따옴표로 감싸 - 문장의 끝에.. 2021. 1. 4.
모두를 위한 컴퓨터 과학- 1주차 [컴퓨팅 사고] www.boostcourse.org/cs112/lecture/118997 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 컴퓨터 과학 문제 해결에 대한 과정 그 중간에 있는 것이 컴퓨터 과학 input -> 컴퓨터 과학 -> output 입출력 표현을 위해 정한 약속(표준)이 있음 입력(input) 2진법 0과 1로만 숫자표현 각 자리수는 2의 거듭제곱 ex) 3 -> 011 (2¹x1 + 1x1 = 3) 트랜지스터(스위치)로 on/off 상태를 통해 0과 1을 표현함 비트(bit) 이진 숫자라는 뜻을 가진 “binary digit”의 줄임말이며, 0과 1, 두 가지 값만 가질 수 있는 측정 단위 바이트(byte) 여덟 개의 비트가 모여 만들어진 것.. 2020. 12. 30.