본문 바로가기

프로그램7

프로그래밍 언어에서 Syntax와 Semantics의 차이는 무엇인가? 요약Syntax는 문장이 언어으 문법(grammar)에 따라 유효하진 혹은 타당한지 아닌지 확인하는 것과 관련있다.Semantics는 문장이 타당한 의미를 지니는지 아닌지를 판별하는 것과 관련있다. 조금 더 자세히Syntax는 언어의 문법 또는 구조에 관한 것이다. "내가 타당한 문장을 구성하였는가?"에 대한 답변과 관련 있다. Semantics는 문장의 의미와 관련있는 것이다. "이 문장이 타당한가", "이 문장의 의미는 무엇인가?"라는 질문에 대한 답이다. 참고로 몇 몇 Semantics는 compile-time에 결정될 수 없다.그러므로 run-time에 결정되어야 한다.예를 들어 ++ 연산자의 경우, x++; 와 같은 문장이 있다고 생각해보자.프로그램 실행중 x의 data type이 표현하는 최대.. 2018. 10. 19.
프로그래밍 언어 개론 실습 과제 및 보고서 모음 컴퓨터 공학과 수업인 프로그래밍 언어 개론의 실습 과제와 보고서를 모아 놓은 파일입니다.실습은 interepter를 구현하는 것입니다.python 코드로 되어있으며 간단한 인터프리터를 구현하는 것이 실습 보고서 내용입니다. 2018. 10. 16.
자바 알고리즘 또는 프로그램 시간 성능 측정하는 방법 시간 측정하는 방법 currentTimeMillis현재 시간을 반환해주는 메소드인 currentTimeMillis()를 사용하면 시간을 측정할 수 있다. 시간을 측정하면 프로그램의 성능을 알아볼 수 있다.프로그램이 시작될 때의 시간을 구하고, 끝 났을 때의 시간을 구해서 빼주면 된다. 그러면 프로그램이 동작한 시간을 구할 수 있다. 실제 사용 예 // time public class Tistory { public static void main(String[] args) { int i = 100000; long startTime = System.currentTimeMillis(); program(100000); long estimatedTime = System.currentTimeMillis() - sta.. 2018. 10. 16.
자바 큰 수 범위를 표현하기 (BigInteger 클래스를 사용하는 방법) 큰 수 표현하기프로그램을 짜다보면 아주 큰 수를 표현해야 할 때가 있다.피보나치 수열을 계산한다던지, 팩토리얼을 계산한다던지.곱셈을 계속 해나가다보면 표현할 수 있는 수의 범위를 넘어갈 때가 있다.데이터 타입 long 형은 약 10의 18승 범위까지 수를 표현한다. 이 범위를 넘어갈 때는 자바에서 제공하는 BigInteger 클래스를 이용하면 된다. BigInteger Class Immutable arbitrary-precision integers. All operations behave as if BigIntegers were represented in two's-complement notation (like Java's primitive integer types). BigInteger provides.. 2018. 10. 16.
자바로 된 자료구조 및 설계 실습 과제 보고서 모음 자료구조 및 설계 실습 과제 보고서 모음자바 2018. 10. 5.
시스템 프로그래밍 실습 보고서 리포트 모음 2018. 9. 7.
Python pip 업그레이드 오류를 해결하는 여러가지 방법 파이썬을 이용하면 cmd 창에서 pip 명령어를 이용하여 라이브러리를 다운로드 해야하는 경우가 생긴다. 아무런 오류없이 실행되면 좋으련만 언제나 그렇듯 문제가 발생한다.아래와 같이 노랑노랑 노랑색의 글씨로 pip version이 오래되었다고 말해준다. 그러면서 친절하게도 명령어를 알려준다.pip install --upgrade pip 를 입력하란다. 허나 왠일인가. 제대로 안된다. 뭐 늘 그렇다. 그러면 어김없이 구글 검색창에 검색을해서 해결방안을 모색하지만 또 안된다.좌절의 문턱에 왔을 때, 그제서야 된다. 참... 나 참... 시도해보았고, 검색을 통해 알아낸 여러 방안을 정리해두려 한다. - 해결 방안 - 여러 가지 명령어 써보기(1) 기본 방법. 일반적으로 아래 명령어를 입력하면 해결 가능하다.$.. 2018. 8. 24.