[ 초보자를 위한 C# 200제 ] C#_002 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms; namespace Project_002{ /* Form1.cs 밑에 Form1.Desinger.cs가 있는데, 이 두가지는 실행될 때 자동으로 한 클래스가 된다. * 이를 "partical 클래스"라고 한다. * Form1은 윈도우 응용 프로그램의 기본을 제공하는 Form(폼)의 성질을 그대로 물려(상속)받는다. */ public partial ..
[ 초보자를 위한 C# 200제 ] C#_001 /* * 두 수를 입력받는다. * 두 수를 각각 int로 변환한다. */ using System; // System에 있는 콜솔을 사용한다. using System.Collections.Generic;using System.Linq;using System.Text; namespace Project_001{ class Program // Program라는 구역(클래스) 선언부 { static void Main(string[] args) // 모든 프로그램의 시작 부분 { Console.Write("\n덧셈을 하려고 합니다. 두 수를 입력하세요. \n"); Console.Write("첫 번째 수를 입력하세요: "); // 두수를 입력하라는..
4-1. 앨런 튜링과 에니그마 더 알아가기 앨런 튜링 1분만에 흝어보기 영국의 수학자, 논리학자. 계산기가 어디까지 논리적으로 작동할 수 있는가에 대하여 처음으로 지적인 실험을 시도한 학자로 유명하며, 제2차 세계대전에서 독일 나치의 암호체계, 에니그마를 풀어내 연합군을 승리에 큰 공헌을 이바지한 사람이다. 컴퓨터공학 및 정보공학의 이론적 토대를 마련해, 오늘 날에는 컴퓨터 공학의 아버지라고 불리는 천재 수학자이기도 하다. 튜링 기계라는 개념을 도입하고 알고리즘의 개념을 공식화하여 컴퓨터공학의 이론적 토대를 마련하였고, 튜링 봄베를 개발하여 훗날의 콜로서스라는 프로그래밍이 가능한 전자 컴퓨터의 기술적 토대를 만들었다. 튜링 테스트라고 불리는 ..
4. 앨런 튜링과 튜링 기계 2.1 기계적 계산의 정의: 튜링기계[ 책 p.31~34 ] 제2차 세계대전에서 독일 나치의 암호체계, 에니그마를 풀어내 연합군을 승리에 큰 공헌을 이바지한 사람이자, 컴퓨터 공학의 아버지라고 불리는 천재 수학자, 앨런 튜링은 괴델의 증명을 단도직입적으로 다시 증명했다. 그는 "기계적인 방식"이 뭔지를 정의내렸고, 그 방식만으로는 모든 사실을 만들 수 없음을 증명했다. 튜링은 다섯 종류의 단순한 기계 부품들을 정의하고 그 부품들로 만든 기계로 돌릴 수 있는 것만을 "기계적인 방식"이라고 정의했다. 그리고 이 방식으로는 절대 돌릴 수 없는 계산 문제를 하나 보여 기계적인 방식으로는 모든 참인 명제를 만들어낼 수 없다는 결론을 이끌어 냈다. 그는 우선 자신이 정의한 "기계적인 방..
3. 데이터, 값 형식과 참조 형식, 그리고 스택과 힙 1. 데이터 에니악 시절에 다루던 데이터는 수뿐이었다. 컴퓨터의 성능이 좋아지고 값이 싸지면서 다양한 곳에서 컴퓨터 활용되기 시작했고 그 용도도 다양해졌다. C#은 다양한 종류의 데이터 형식(Data Type) 제공한다. 데이터 형식은 기본 데이터 형식(Primitive Type)과 복합 데이터 형식(Complex Data Type)으로 나눠진다. 복합 데이터 형식의 종류에는 구조체, 클래스, 배열, 등이 있다. 또, 값 형식(Value Types)과 참조 형식(Reference Types)으로도 분류가 가능한데 이 두 형식은 기본 데이터 형식과 복합 데이터 형식, 모두에게 존재한다. 2. 값 형식과 참조 형식, 스택과 힙 값 형식(Value Typ..
2. 닷넷 프레임워크 & CLR 1. 닷넷 프레임워크(.NET Framework) 닷넷 프레임워크는 다양한 클라이언트(데스크탑, 모바일, 등)와 다양한 응용 프로그램(웹 서비스, 리모팅 서비스, 닷넷 응용 프로그램 등)에 대한 닷넷 환경을 통합적으로 제공한다. 또, 응용 프로그램이나 웹 서비스의 제작(build), 배포(deploy), 운영(develop)을 위해 제공된 환경이다. 닷넷 프레임워크는 CLR(Common Language Runtime Runtime), BCL(Base Class Libarry), Data and XML, Web/Window Form, CLS(Common Language Specification)으로 구성되어 있다. BCL, Data and XML, Web/Window For..
1. 기본 틀 이해하기 using System; namespace BrainCSharp { class Project { // 프로그램 실행이 시작하는 곳 static void Main(string[]args) { Console.WriteLine("Hello, World!"); } } } 1. using System { } using은 C#의 키워드 중 하나이고, System은 텍스트로 같은 데이터를 다룰 수 있는 기본적인 데이터 처리 클래스를 비롯한 C# 코드가 기본적으로 필요로 하는 클래스를 담고 있는 네임스페이스이다. 즉, using System은 System 네임스페이스 안에 있는 클래스를 사용하겠다고 컴파일러에 알리는 역할이다. 2. namespace BrainCSharp { } namespace..
3. 괴델의 불완전성 정리 1.5 괴델의 불완전성 정리와 튜링의 증명[ 책 p.27~31 ] 하지만 20세기 수학자들의 원대한 꿈은 1931년, 3년만에 쿠르트 괴델이라는 젊은 수학자에 좌절된다. 그는 다음과 같이 말했다. 진리임에도 증명될 수 없는 수학적 명제가 존재한다. 그는 기계적인 방식만으로는 참인지 거짓인지 판결할 수 없는 명제가 항상 존재한다고 말했다. 즉, 힐베르트가 주장한 "기계적인 방식으로 모든 명제를 만들어내는 것"은 불가능하다는 것이었다. 조금 수학적으로 들어간다면 다비트 힐베르트는 집합론의 공리를 제안했지만, 버트런드 러셀이 러셀의 역리를 발표하며 흔들리게 되고, 쿠르트 괴델에 의해 완전히 좌절되고 만다. 이는 수학들에게 수학기초론의 근본적인 인식에 동의하게 되는 계기를 마련해주어 ..
2. 수리명제 자동판결 문제 & 기계적 추론 1.3 컴퓨터의 탄생비화 1 - 수리명제 자동판결문제 1.4 컴퓨터의 탄생비화 2 - 자동판결/기계적추론이란 [ 책 p.25~29 ] 컴퓨터와 칼, 활, 자동차, 스탠드, 등이 다른 점은 무엇일까? 바로 컴퓨터는 만능이라는 것이다. 우리는 그것을 보편만능의 도구라고 부른다. 컴퓨터는 처음부터 계획하고 탄생된 것이 아니다. 20세기 수학자들의 원대한 꿈의 좌절을 재확인하는데 동원된 소품에서 구현되기 시작됐다. 20세기 정보혁명의 주인공이지만 시작은 정리 재확인의 부속품부터였던 것이다. 그럼 20세기 수학자들의 원대한 꿈은 무엇이었을까? 당시 수학계를 이끌던 다비트 힐베르트는 몇 개의 추론 규칙들만으로 세상의 모든 참인 명제들을 만들 수 있다고 생각했다. 여기서 ..
1. 들어가면서... 컴퓨터과학의 기본소양을 쌓는 책으로 전공자뿐만 아니라 비전공자들도 읽을 수 있는 책이다. 서울대학교 교과목 중 하나로 유튜브에 강의도 있고, 저자의 홈페이지(저자 이광근 홈페이지 컴퓨터과학이 여는 세계)를 통해 숙제나 과제 시험들을 다운받아 활용할 수 있어 그 누구나 배울 수 있다는 점이 큰 메리트이다. 이 책은 프로그래밍을 배우는 것 아니다. 컴퓨터과학의 시초와 그 원천 아이디어들을 알려주며 컴퓨터과학의 기초 베이스를 깔아주고 있다. 더 자세한 이야기는 차차 이야기할 예정이다. 나는 책을 먼저 한 번 흩고 다시 책과 유튜브 강의를 병행했는데 만약 비전공자라면 책보다는 유뷰트 강의를 먼저 들은 후 책을 읽기를 추천한다. 난이도는 비전공자들에게는 조금 어렵고, 전공자들에게는 무난하게 ..
- Total
- Today
- Yesterday
- c#
- 초보자를 위한 C# 200제
- 뇌를 자극하는 C# 5.0 프로그래밍
- 오버플로우
- 나눗셈
- 영화
- 동적
- 에니그마
- 이광근
- 유니티 기초
- 앨런 튜링
- 기계적 추론
- 비전공자
- 독서
- 컴퓨터과학이 여는 세계
- 프로그램
- 프로그래밍
- 기본개념
- 수리 명제 자동판결 문제
- 계산기
- 컴퓨터과학
- 튜링
- 정수
- 두 수 입력
- dynamic
- 서울대
- 컴퓨터의 시초
- 메서드
- c
- 초보
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |