문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,

Slides:



Advertisements
Similar presentations
2014 가을학기 계산 입문 연습 #4 지도교수 : 박성우 조교 : 이다훈. Python 을 설치합시다.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
자바네트워크 제2주 바이트 입출력 스트림, 필터 입출력 스트림 컴퓨터시뮬레이션학과 2014년 봄학기 담당교수 : 이형원
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
Part 11 문자열 ©우균, 창병모 ©우균, 창병모.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
컴퓨터 프로그래밍 기초 [Final] 기말고사
10장 함수.
C / C++ Programming in multi platform
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
10장. 예외처리.
C++프로그래 밍 컴퓨터정보과 / 이기희교수.
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
3D 프린팅 프로그래밍 05 – 반복패턴 만들기 강사: 김영준 목원대학교 겸임교수.
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
C언어 응용 제7주 실습 해보기 제6장.
자바 5.0 프로그래밍.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
Chapter 08. 함수.
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
강의 소개 컴퓨터시뮬레이션학과 2017년 봄학기 담당교수 : 이형원 E304호,
C언어 응용 제1주 실습 해보기.
Canary value 스택 가드(Stack Guard).
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
[ 단원 04 ] 반복과 배열.
2nd day Indexing and Slicing
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
제 15 강 문자와 코드 shcho.pe.kr.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
문자열 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
기초 C언어 제14주 실습 전처리 및 비트필드, 스트림과 파일 입출력, 동적메모리와 연결 리스트
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Flow Diagram IV While.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
함수, 모듈.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
Summary of Pointers and Arrays
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
김선균 컴퓨터 프로그래밍 기초 - 12th : 문자열 - 김선균
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
어서와 C언어는 처음이지 제21장.
6 객체.
제 10 강 문자 입출력.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호, hwlee@inje.ac.kr

한영 사전 프로그램을 작성하시오. 사용자가 입력한 한글 단어에 대한 영어단어를 출력하도록 하시오. 입력한 단어가 사전에 없으면 “없음”이라고 출력하도록 하시오. 사용자가 “종료”라는 단어를 입력할 때 까지 반복하도록 하시오. 사전의 크기를 나타내는 DIC_SIZE 라는 매크로를 작성하여 10으로 지정하여 사용하 시오. 사용자가 입력한 단어를 사전에서 찾아서 해당하는 단어의 위치(첨자)를 돌려 주는 함수 get_word() 라는 함수를 작성하여 사용하시오. 단어가 없는 경우는 -1 을 돌려 주도록 하시오.

사전의 구조 첨자 한글 단어 영어단어 학교 school 1 남자 man 2 거울 mirror 3 사랑 love 4 대학교 학교 school 1 남자 man 2 거울 mirror 3 사랑 love 4 대학교 university 5 도시 city 6 세계 world 7 축구 soccer 8 야구 baseball 한글 단어를 저장하는 배열 영어 단어를 저장하는 배열

알고리즘 : main 다음을 무한히 반복한다. 찾을 단어를 입력하라는 메시지를 출력한다. 표준출력 버퍼를 비운다. 사용자가 입력한 단어를 받아들인다. 표준 입력 버퍼를 비운다. 입력한 단어가 “종료”이면 반복을 종료 한다. 입력한 단어가 사전에 있으면 그 위치를 찾는다.(get_word) 돌려준 값이 -1 이면 “없음” 이라고 출력한다. 아니면 돌려준 첨자에 해당하는 영어단어를 출력한다. 표준 출력 버퍼를 비운다.

필요한 변수 : main 한글 단어를 저장한 문자형 포인터 배열(koreans) 영어 단어를 저장한 문자형 포인터 배열(english) 사용자가 입력한 단어를 저장할 문자배열 변수(word) 입력한 단어가 사전에 존재하는 위치를 저장한 정수 변수(index)

알고리즘 : get_word 매개변수 리턴 값 사용자가 입력한 문자배열(w[]) 정수( -1 : 사전에 단어가 없음, n : 단어의 사전에서의 위치)

알고리즘 : get_word i를 0부터 DIC_SIZE-1까지 1씩 증가 시키면서 다음을 반복한다. -1을 리턴한다. w 가 koreans[i] 와 일치하면 i를 리턴한다. -1을 리턴한다.

프로젝트 생성 프로젝트명 입력 : dictionary Empty Project 선택 Cygwin GCC 콤파일러 선택 생성된 빈 프로젝트

소스 작성(1) main 함수 소스파일명 입력 : dictionary.c dictionary.c

소스 작성(2) main 함수 소스수정 생성된 빈 소스 파일 실행프로그램이 되기 위한 최소 내용이 추가된 소스 파일 dictionary.c dictionary.c hangman.c 소스수정 생성된 빈 소스 파일 실행프로그램이 되기 위한 최소 내용이 추가된 소스 파일

소스작성(3) main 함수 사전의 크기를 지정하는 매크로 상수 DIC_SIZE 정의 한글 단어를 저장하는 포인터 배열 영어 단어를 저장하는 포인터 배열 main 함수에서 호출할 함수의 원형 선언 입력한 문자열을 저장하는 배열 변수 선언 단어의 사전에서의 위치를 저장하는 변수 선언 무한히 반복한다 단어를 입력하라는 메시지 출력 단어를 받아들여서 word에 저장한다. 문자열에서 끝에 있는 ‘\r’을 삭제한다. 문자열이 “종료”이면 반복을 종료한다. 입력한 단어가 사전에 있는지 확인한다. 있으면 찾은 단어를 출력한다. 없으면 없다는 메시지 출력한다.

소스작성(4) get_word 함수 찾아야할 문자배열 매개변수 반복문을 위한 지역 변수 선언 단어가 있으면 위치 값을 리턴한다. 사전에서 매개변수로 받은 문자열이 있는지를 판단하는 반복문 앞에서 작성한 main함수에 이어서 작성한 get_word 함수 이 함수는 문자열이 사전에 있는지를 확인한다.

Love gets(word) gets() 함수의 동작 strlen(word)  5 word strlen(word)-1 L o \0 gets(word) strlen(word)-1

소스작성(6) 전체 소스

실행 하기 소스 저장 프로젝트 빌드 프로그램 실행

프로그램 실행 예 이 곳을 클릭하여 커서를 이곳으로 옮긴 후에 단어를 입력할 것 실행시 주의 할 점 한글을 입력할 때에는 반드시 입력할 위치를 한번 클릭한 후에 한글 입력을 해야 한다. 그렇지 않을 경우에는 동작을 보장할 수 없다.