일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 표준 입출력
- 안드로이드 앱 개발
- 표준 라이브러리 함수
- 원격 제어 프로그램
- 실습으로 다지는 c#
- 소켓 통신
- 유튜브 동영상 강의
- 언제나휴일
- 알고리즘
- 실습
- 강의
- 캡슐화
- c언어
- 소스 코드
- C++
- Windows Forms
- 동영상
- c#
- 네트워크 프로그래밍
- 졸업 작품 소재
- 무료 동영상 강의
- 충남 천안
- 추천
- 파이썬
- 산책하기 좋은 곳
- 졸업 작품
- 프로젝트
- 언제나 휴일
- 클래스 다이어그램
- 동영상 강의
- Today
- Total
목록언제나 휴일 (15)
프로그래밍 언어 및 기술 [언제나휴일]
[실습으로 다지는 C#] 직접 연관 관계(Direct Association) 실습 – 계산기, 사각형 이번 강의는 직접 연관 관계(Direct Association) 실습입니다. 직접 연관 관계는 명령을 내리는 형식과 명령을 수행하는 형식 사이의 관계로 가장 흔한 관계입니다. 이번 실습은 계산기와 사각형을 소재로 실습해 봅시다. 계산기에서는 사각형 개체를 입력받아 면적을 계산하는 기능을 제공합니다. 사각형은 너비와 높이를 멤버 필드로 갖고 이들 값을 가져오기 속성을 제공합니다. 이를 클래스 다이이어그램으로 표시하면 계산기에서 사각형으로 실선 화살표로 표현할 수 있어요.namespace 직접_연관_관계_실습{ class Rectangle { public int Height ..
[실습으로 다지는 C#] 집합(Aggregation) 관계 실습 – 쇼핑 센터, 상품 이번 강의는 집합(Aggregation) 관계를 코드로 표현하는 실습입니다. 실습 소재는 쇼핑 센터와 상품입니다. 집합 관계는 이처럼 컬렉션과 원소 사이의 관계입니다. 상품은 상품 이름, 가격, 회사 이름, 일련 번호를 갖습니다. 일련 번호는 순차적으로 자동 부여하며 상품은 쇼핑 센터에 입고할 수 있게 표현해 봅시다. 먼저 클래스 다이어그램을 작성해 보세요. 이를 코드로 작성합시다. namespace 집합_관계{ public class Product { public string Name { get; private set; } ..
[실습으로 다지는 C#] 일반화 관계(Generalization) 실습 – 포유류, 호랑이, 사자 이번 강의에서는 일반화 관계(Generalization)를 코드로 표현하는 실습입니다. 일반화 관계는 “A는 B이다.”로 표현할 수 있는 형식 사이의 관계라고 했어요. 이번 실습에서는 “호랑이는 포유류이다.”, “사자는 포유류이다.”를 표현할 거예요. 포유류는 공통적으로 새끼에게 젖을 물리는 행위를 합니다. 그리고 울기도 합니다. 물론, 호랑이와 사자는 울음 소리가 다르죠. 이러한 내용을 실습해 볼 거예요. 먼저 클래스 다이어그램을 작성하면 다음처럼 작성할 수 있어요.여러분께서 실습할 내용과 클래스 다이어그램을 토대로 구현을 해 보세요. 그리고 비교해 보시기 바랍니다.기반 형식 포유류(Mammal)에는..
[실습으로 다지는 C#] 클래스 간의 관계 이번 강의에서는 클래스 간의 관계를 알아볼 거예요. 클래스 다이어그램으로 관계를 나타낼 때 7가지의 관계가 있어요.일반화 관계(Generalization)집합 관계(Aggregation)구성 관계(Composition)직접 연관 관계(Direct Associtaion)연관 관계 (Association)의존 관계 (Dependency)실현 관계 (Realization)일반화 관계(Generalization)는 기반 형식과 파생 형식 사이의 관계입니다. “피아니스트는 음악가이다.” 처럼 “이다.”로 표현할 수 있는 형식 사이의 관계입니다. 음악가 종류에는 피아니스트, 드러머, 기타리스트 등이 있죠. 이 때 음악가를 기반 형식이라고 말하고 피아니스트를 파생 형식이라..
[실습으로 다지는 C#] 캡슐화 실습 – 학생 클래스 정의하기이번 강의에서는 캡슐화 실습을 해 봅시다. 캡슐화는 여러 개의 멤버를 하나의 형식으로 묶는 과정을 말합니다. 이번 실습에서는 학생 클래스를 정의하는 실습을 해 보기로 할게요. 실습할 학생 클래스의 멤버는 다음과 같아요.학생 클래스 멤버 필드 아이큐 매력 번호 - 읽기 전용, 순차 부여 이름 가장 최근에 부여한 번호 - 정적 멤버 멤버 메서드 생성자(이름) 공부하다(횟수) 춤추다(횟수) 노래하다(횟수) ToString 재정의 멤버 속성 get은 public, set privateOOP 프로그래..
[실습으로 다지는 C#] 랜덤 값 맞추기 이번 강의에서는 컴퓨터가 생각한 랜덤 값(0~99)을 사용자가 10번 시도 내에 맞추는 프로그램을 만들어 봅시다. 먼저 문제를 해결하기 위한 논리를 생각하고 의사 코드(pseudo code)로 표현해 보세요. 여러분께서 먼저 작성한 후에 비교해 보세요.rnum := 랜덤 값반복(tcnt:1->10) guess := 추측값 입력 조건(guess is equals rnum) 반복문 탈출 조건(guess>rnum) 더 작다고 알려준다. 아니면 더 크다고 알려준다.조건(시도 횟수가 10보다 작거나 같..
[실습으로 다지는 C#] 암스트롱의 수 이번 실습에서는 암스트롱의 수를 판별하는 메서드를 만들어 봅시다. 암스트롱의 수는 ABC = AXAXA + BXBXB + CXCXC인 정수를 말합니다. 예를 들어 153 = 1 = 125 + 27 입니다. 이러한 수를 암스트롱의 수라고 말합니다. 이러한 암스트롱의 수를 판별하는 메서드를 만들기 전에 먼저 메서드 이름과 입력 매개 변수와 리턴 형식을 결정합니다. 언제나 알고리즘은 입력 인자와 수행 결과가 어떠한 것이 올 수 있는지를 판단할 수 있어야 합니다. 메서드 이름은 IsAmstrong으로 정할게요. 그리고 입력 인자는 판별할 정수가 필요하므로 정수형 변수 num으로 결정하고 반환은 판별 결과이므로 bool로 결정합시다.bool IsAmstrong(int num..
[실습으로 다지는 C#] 두 개의 정수 사이의 합계 구하기 이번 강의에서는 두 개의 정수를 입력 받은 후에 두 개의 정수 사이의 합계를 구하는 실습을 해 봅시다. 먼저 어떻게 해야 문제를 해결할 수 있을지 생각한 후에 의사 코드(pseudo code) 형태로 작성해 보세요. 작성한 후에 비교해 보시기 바랍니다.input := 정수를 입력 받는다. 조건(정수로 변환(input,out num1)이 실패) 오류를 출력 후 알고리즘 종료 input := 정수를 입력 받는다. 조건(정수로 변환(input,out num2)이 실패) 오류를 출력 후 알고리즘 종료 조건(num1두 수를 교환(ref num1, ref num2) temp:= num1 num1:= num2 num2:= ..
[실습으로 다지는 C#] 두 개의 정수를 입력받아 작은 수가 큰 수의 약수인지 판별이번 강의에서는 두 개의 정수를 입력받아 작은 수가 큰 수의 약수인지 판별하는 실습을 할 거예요. 이를 위해 먼저 어떠한 알고리즘으로 수행해야 하는지 고민해 보세요. 그리고 난 후에 의사 코드(pseudo code)를 작성해 봅시다. 여러분께서 먼저 작성하고 난 후에 비교해 보세요. input := 정수를 입력 받는다.조건(정수로 변환(input,out num1)이 실패) 오류를 출력 후 알고리즘 종료input := 정수를 입력 받는다.조건(정수로 변환(input,out num2)이 실패) 오류를 출력 후 알고리즘 종료큰 수를 num1에 작은 수를 num2로 설정조건(num1을 num2로 나누었을 때 몫이 0..
[실습으로 다지는 C#] 두 개의 정수를 입력받아 큰 수를 출력 이번 강의부터 제어문에 관한 실습을 진행할 거예요. 제어문 중에서도 이번 실습에서는 조건문 if else에 관한 실습입니다. 그리고 첫 번째 주제는 두 개의 정수를 입력받아 큰 수를 출력하는 실습입니다. 프로그래밍을 할 때 해야 할 작업을 바로 코드로 작성하는 것은 초반에 조급함을 달래줄 수는 있을 거예요. 하지만 실제 작업을 완료하려면 많은 시행 착오로 비용이 많이 들어갈 수 있어요. 가급적이면 해야 할 작업을 의사코드(psuedo code)나 다이어그램 등을 이용하여 논리를 전개해 본 후에 타당하다면 코드로 옮기는 습관을 가져보세요. 이와 같이 작업하면 초반에 작업이 더딘 느낌이 들 거예요. 하지만 실제 작업을 완료하기 위해 들어가는..
[실습으로 다지는 C#] 문자열 출력 포멧프로그래밍 언어를 배울 때 출력문은 언제나 제일 먼저 만납니다Console.WriteLine("Hello, World");이번 실습에서는 문자열 출력 포멧에 관한 사항입니다.문자열 출력 포멧은 Console.WriteLine 메서드는 string.Format 메서드에서 같은 방식으로 표현할 수 있습니다. 이는 둘 다 문자열을 첫 번째 인자로 받기 때문입니다.using System;namespace Demo{ class Program { static void Main(string[] args) { string str = string.Format("Hello, World"); Console.W..
C언어 - 비트 연산자, 쉬프트 연산자 00:19 비트 연산자 01:22 [실습] 비트 연산자 02:44 xor 연산을 이용한 대칭형 암호화 03:28 [실습] xor 연산을 이용한 대칭형 암호화 05:46 쉬프트 연산자 07:00 [실습] 쉬프트 연산 32. 비트 연산자 & | ^ ~ C언어에서는 비트 단위로 논리 연산을 수행하는 비트 연산을 제공하고 있어요. 비트 연산의 피연산자는 정수 형식이 올 수 있어요. 이항 연산자 &는 비트 단위로 논리곱 연산을 수행하죠. 예를 들어 6&5를 하면 6은 이진수로 110이고 5는 이진수로 101이므로 6&5의 연산 결과는 이진수 100이고 10진수 4예요. 이항 연산자 | 는 비트 단위로 논리합 연산을 수행하죠. 예를 들어 6|5의 연산 결과는 이진수 111 이..
Part 4. 부호 있는 정수 표현 방법 12. 부호 있는 정수 표현 - 부호 비트 필드 C언어 부호있는 정수 표현, 부호 비트 필드, 1진 보수, 2진 보수 메모리에 부호있는 정수를 표현하는 방법은 여러가지 방법이 있어요. 그 중에 대표적인 방법이 부호비트 필드 방식, 1진 보수 방식, 2진 보수 방식이 있죠.(C언어의 정수 형식은 2진 보수 방식을 사용하고 있어요.) 이제 이 세가지 방법을 알아봅시다. 먼저 부호 비트를 이용하는 방법을 알아볼게요. 부호비트 필드 방식에서는 첫 번째 비트를 부호비트로 사용하는 방식이예요. 첫 번째 비트가 1이면 부호있는 정수이고 0이면 부호없는 정수인 것이죠. 그리고 나머지 비트는 크기를 나타내요. 예를 들어 8비트의 메모리에 10010001 값이 들어있다면 첫번째 비..
1. 유튜브 동영상 강의 1.1 삽입 정렬 알고리즘 삽입 정렬 알고리즘 1.2 삽입 정렬 알고리즘 구현 삽입 정렬 알고리즘 구현 2. 삽입 정렬 알고리즘 이번에는 반복 알고리즘 중에 삽입 정렬 알고리즘을 알아봅시다. 삽입 정렬 알고리즘은 점진적으로 정렬 범위를 넓혀 나가는 방식으로 정렬하는 알고리즘입니다. 이를 위해 새로운 범위에 포함하는 마지막 원소를 앞으로 이동하면서 자신보다 작은 요소를 찾을 때까지 이동하면서 자리를 교환합니다. 삽입 정렬(base:컬렉션, n:원소 개수, compare:비교 논리) 반복(i:=1; i0 ; j:=j-1) 조건(compare (base [j-1], base [j]) < 0) temp: = base [j-1] base[j-1] = base [j] base[j] = te..
1. 유튜브 동영상 강의 1.1 선택 정렬 알고리즘 선택 정렬 알고리즘 동영상 강의 1.2 선택 정렬 알고리즘 구현 선택 정렬 알고리즘 구현 동영상 강의 2. 알고리즘 이번에는 반복 알고리즘일 이용하는 선택 정렬 알고리즘을 알아봅시다. 선택 정렬 알고리즘은 제일 큰 값을 찾아 맨 뒤의 요소와 교체하는 방법을 반복하여 전체를 정렬하는 알고리즘입니다. 물론 제일 작은 값을 찾아 맨 앞의 요소와 교체하는 방법을 반복할 수도 있습니다. 선택 정렬 알고리즘을 의사코드(pseudo code: 논리적인 수행 흐름을 이해할 수 있게 작성한 코드)는 다음과 같습니다. 선택 정렬(base:컬렉션,n:원소 개수,compare:비교 논리) 반복(i:=n; i>1 ; i:= i-1) 반복(max=0,j:=1; j1; i--)/..