전체 글669 논리연산, 논리 게이트, 부울 대수, 대수적 간소화 1. 논리 연산 - 2진 디지털 시스템에서 입출력 관계를 표현하는 방법 - 그래프나 진리표로 표시 - 논리함수로 표시 논리연산과 논리 집합 논리집합 - 집합이 0(거짓)과 1(참)으로만 구성된 집합 {0,1} 논리연산(부울연산) - 두 개의 이산값에 적용되는 연산 논리집합{0,1}에 대한 세 가지 논리연산 - AND 연산 : 점(·)으로 표시, 생략 가능 - OR 연산 : 덧셈 기호(+)로 표시 - NOT 연산 : 변수 위에 줄(-)을 그어 표시 2. 논리 게이트 1) AND 게이트 2) OR 게이트 3) NOT 게이트 4) NAND 게이트 동그라미 기호로 not을 나타낸다. AND게이트의 반대되는 동작을 나타낸다. (0001과 반대되는 1110 출력) 5) NOR 게이트 OR 게이트 심볼에다가 o (N.. 2023. 6. 14. 디지털 시스템, 컴퓨터 구성, 집적회로, 수치 데이터, 디지털 코드 1. 디지털 시스템 검은 상자형 시스템 - 입력과 출력을 갖는 검은 상자로 표현 - 시스템의 입력과 출력에만 관심 구성요소 집합으로서의 시스템 - 검은 상자 내부에 관해 규정 - 시스템에 부여된 목적을 달성하기 위해 상호작용하는 구성요소들의 집합 데이터 표현 방법 - 아날로그 방식: 데이터를 연속적인 값으로 표현 - 아날로그 시스템: 입력과 출력이 아날로그 데이터임(전압의 변이 등이 표현된 계기 시스템) - 디지털 방식: 연속적인 값을 간사하여 이산적인 값으로 표현 - 디지털 시스템: 입력과 출력이 디지털 데이터인 시스템(디지털 시계, 디지털 온도계 등) 디지털 시스템의 장점 - 편리성 - 융통성 - 단순성 - 안정성 - 견고성 - 정확성 디지털 시스템의 설계 회로 설계 -> 논리 설계 -> 시스템 설계.. 2023. 6. 14. 자바 Gui 프로그래밍 - AWT 클래스 1. 윈도우 프로그램 만들기 그래픽 요소를 이용하여 사용자가 프로그램과 대화하는 방식의 인터페이스 -> 텍스트 기반 or 명령행 인터페이스 (CLI)와 비교됨 GUI 프로그래밍을 위해 필요한 거 - GUI 컴포넌트: 윈도우, 메뉴, 버튼, 레이블, 콤보박스, 체크박스, 텍스트 필드, 스크롤바, 대화상자 등 - 컨트롤, 이벤트 발생과 처리: 사용자와 상호작용 - 컨테이너와 배치 관리자 AWT - JFC(Java Foundation Class) GUI를 만들거나 그래픽 처리를 위한 클래스 라이브러리 AWT : 자바에서 처음 제공한 GUI용 API 주 패키지는 java.awt 운영체제의 윈도우 시스템을 사용함 -> 중량 컴포넌트로 외양이 운영체제마다 다름 package org.awt; import java.a.. 2023. 6. 13. 자바 멀티 스레드 프로그래밍 1. 프로세스와 스레드 스레드 - Java 프로그램은 하나의 프로세스로 만들어져 실행 - 프로세스는 실행중인 프로그램 - 스레스는 실행 중인 프로그램 내에 존재하는 소규모 실행 흐름 - 스레드는 경량 프로세스 멀티 스레드 - 하나의 프로세스 내부에서 여러 스레드가 만들어져 동시 실행 될 수 있음 - 자바 프로그램은 하나의 스레드(main)에서 시작함 - main 스레드에서 자식 스레드를 만들어 시작시킬 수 있음 - 그러면 여러 스레드가 동시에 독립적으로 실행되고 종료 프로세스 스레드 멀티스레드 실행 단위 하나의 프로그램 또는 작업 단위 프로세스 내부에서 실행되는 작은 실행 단위 하나의 프로세스 내에서 동시에 실행됨 자원 공유 운영체제에 의해 독립적인 자원 할당 프로세스 내부 자원 공유 프로세스 내부 자원.. 2023. 6. 12. 퀵 정렬 (Quick Sort) - 아이디어, 작동 원리, 성능 및 시간 복잡도, 특징, 자바 구현 코드 퀵 정렬 비교 기반 알고리즘 중 분할 정복 방식을 이용하며 평균적으로 좋은 성능을 보여 널리 사용되는 퀵 정렬에 대해 알아본다. 아이디어 이진 탐색과 같은 분할 정복 원리를 이용한다. -> 특정 원소를 기준으로 배열을 두 부분 배열로 분할한다. -> 각 부분배열에 대해 퀵 정렬을 순환적으로 적용한다. 이때 특정 원소, 즉 피벗을 정하는 것이 퀵 정렬의 핵심이다. 뒤에서 살피겠지만 피벗을 어떤 것으로 지정하느냐에 따라 성능 차이가 크게 나기 때문이다. 퀵 정렬에서는 결합은 별도로 필요 없다. 피벗을 기준으로 나눠진 두 부분 배열을 순환적으로 적용하되, 그 과정에서 정렬이 일어나므로 최종 분할이 끝나는 시점에는 모든 배열이 정렬되어 있다. 작동 원리 다음과 같은 데이터를 정렬하는 과정을 통해 실제 작동 원리.. 2023. 6. 11. 이전 1 ··· 63 64 65 66 67 68 69 ··· 134 다음