Download presentation
Presentation is loading. Please wait.
1
리스트(List)를 이용한 자료 관리 이점숙 / alleya@hanmail.net
여러개의 자료 다루기 리스트(List)를 이용한 자료 관리 이점숙 /
2
함수 개념 사용하기 철수의 성적 문제 추가블럭으로 다시 구현 p. 231 국어점수 총점 총점 국어+영어+수학 영어점수
평균 총점 / 3 영어점수 평균 수학점수
3
함수 개념 사용하기 p. 231 스크립트
4
여러 데이터 다루기 100명의 성적을 저장 관리하려면 어떻게 해야 하나? 해결책 => 리스트(List)
5
여러 데이터 다루기 리스트란? 같은 이름과 순번을 이용하여 여러 개의 데이터를 저장하는 방식으로 동일한 형식의 자료들을 담을 수 있는 저장 구조 리스트를 사용하게 되면 리스트 하나만으로 다수의 데이터를 저장할 수 있어 매우 간단하고 편리하게 프로그래밍 할 수 있음 리스트에서 특정 항목을 가리키기 위해서는 리스트 이름과 순번을 사용함
6
여러 데이터 다루기 과목 리스트 만들기
7
고양이가 리스트 속의 책 중에서 임의의 책을 추천해 주는 프로그램
도서리스트로 기능 익히기 Booklist를 생성하라 3개의 항목을 추가하라 2번째 항목을 삭제하라 1번째에 항목을 삽입하라 3번째 항목을 바꾸어라 어떤 항목이 있는가 확인하라 리스트의 항목수를 알아보라 리스트 보이기와 숨기기 버튼을 클리하면 고양이가 리스트 속의 책 중에서 임의의 책을 추천해 주는 프로그램
8
성적 관리하기 학생들의 이름과 성적을 입력받아 리스트에 저장해 두었다가 한꺼번에 학생들의 이름과 성적을 출력하는 프로젝트이다.
저장할 정보와 리스트` 3명의 학생 이름 -> 이름 리스트 각 학생의 성적 -> 성적 리스트 각 학생의 이름과 성적의 결합 -> 결과 리스트
9
성적 관리하기 데이터 저장 구조 관련 정보
10
성적 관리하기 초기화 및 이름 입력 점수 입력 이름과 점수를 결과 리스트에 저장
11
데이터 삽입 및 삭제하기 p. 191 스택(stack)은 데이터를 쌓는 구조라고 볼 수 있다. (예, 동전 쌓기)
나중에 들어간 데이터를 먼저 꺼내어 쓰는 구조이다. ( LIFO : Last In First Out ) 데이터의 삽입과 삭제가 한쪽 방향에서만 일어나는 구조이다.
12
데이터 삽입 및 삭제하기 p. 191 스택 구조를 이용하여 데이터를 삽입하고 삭제하는 자료 관리 프로젝트이다.
13
데이터 삽입 및 삭제하기 고양이의 스크립트
14
* 앞의 프로그램을 큐 구조로 동작하도록 수정해 보라
데이터 삽입 및 삭제하기 큐(queue)는 순서 대로 대기하는 구조라고 볼 수 있다. (예, 버스 탑승 줄서기) 먼저 들어간 데이터를 먼저 꺼내어 쓰는 구조이다. (FIFO : First In First Out) 한쪽 끝에서는 데이터의 삽입이 다른 한쪽 끝에서는 삭제가 일어나는 구조이다. * 앞의 프로그램을 큐 구조로 동작하도록 수정해 보라
15
리스트에서 최대값과 최소값 찾기 1~100까지의 난수 10개를 발생시켜 그 중에최대값을 찾는 프로그램을 작성해 보자.
p. 236 1~100까지의 난수 10개를 발생시켜 그 중에최대값을 찾는 프로그램을 작성해 보자.
16
리스트에서 최대값과 최소값 찾기
17
리스트에서 최대값과 최소값 찾기 리스트를 사용하지 않은 경우
18
선형 검색 (순차 검색) 주어진 데이터 집합에서 원하는 데이터를 처음부터 순차적으로 비교하며 찾는 방법
정렬되어 있지 않은 데이터를 검색하거나 검색 대상 데이터 목록의 개수가 적은 경우 사용 선형 검색(순차 검색) : p262 이진 검색 : p269
19
선형 검색 (순차 검색) 리스트에서 제공하는 검색 리스트에 자료가 있는지 없는지 그 여부만 알 수 있다
20
선형 검색 (순차 검색) 인원수를 입력 받고, 이름과 성적을 입력 받아 리스트에 저장 후 찾고자 하는 학생을 입력 받아 해당 이름을 선형 검색으로 찾아서 이름 : 점수’의 결과를 보여주는 프로그램을 만들어 보자.
21
선형 검색 (순차 검색) 1. 필요한 변수와 리스트를 정의 2. Insert와 Search 버튼 의 스크립트 작성하기
변수 key (찾을 이름을 저장하는데 사용) 리스트 이름 리스트 성적 2. Insert와 Search 버튼 의 스크립트 작성하기
22
선형 검색 (순차 검색) 3. 고양이 스프라이트의 ‘입력’ 기능 ‘자료입력’ 메시지를 받으면 리스트의 데이터 초기화
입력할 자료수 묻기 자료수를 1로 정하기 입력할 자료수 만큼 다음을 반복하기 이름 입력 받기 이름 리스트에 추가하기 성적 입력받기 성적 리스트에 추가하기 자료수 1증가 시키기
23
선형 검색 (순차 검색) 3. 고양이 스프라이트의 ‘입력’ 스크립트
24
선형 검색 (순차 검색) 4. 고양이 스프라이트의 ‘검색’ 기능 ‘자료검색’ 메시지를 받으면 찾을 이름 입력 받기
찾을 이름 입력 받기 Key 변수에 찾을 학생의 이름 저장하기 변수 a를 1로 정하기 변수 a가 리스트 항목수보다 클때까지 반복 - a번째 이름이 찾고자 하는 key 값과 같은지 검사 - 같으면‘이름 : 성적’을 말하고 모두 멈추고 - 그렇지 않으면 a를 1만큼 바꾸기 모든 자료에서 못 찾았을 경우 ‘이름:없음’을 말하기
25
선형 검색 (순차 검색) 4. 고양이 스프라이트의 ‘검색’ 스크립트 그렇지 않으면 으로 수정 요!!
Similar presentations