레슨 3 / 9·2개 토픽
함수와 리스트 블록
함수 정의 블록과 호출 블록
함수(Function) 블록은 반복되는 로직을 하나의 이름으로 묶어 재사용합니다. 함수 정의 블록에서 이름과 매개변수를 설정하고, 호출 블록으로 실행합니다. 결과를 돌려주는 반환(return) 블록도 사용할 수 있습니다.
javascript
// [함수 정의 블록] — 인사 함수
function greet(name) {
window.alert('안녕하세요, ' + name + '님!');
}
// [함수 호출 블록]
greet('철수');
greet('영희');
// [반환값이 있는 함수 블록]
function add(a, b) {
return a + b;
}
var result = add(3, 5);
window.alert('합계: ' + result); // 8리스트 생성 블록과 조작 블록
리스트(List) 블록은 여러 값을 순서대로 담는 목록을 만들고 조작합니다. 리스트 생성 블록에 원하는 수만큼 값 슬롯을 추가하고, 조작 블록으로 항목을 추가, 삭제, 검색할 수 있습니다.
javascript
// [리스트 생성 블록]
var fruits = ['사과', '바나나', '포도'];
// [리스트 길이 블록]
window.alert('개수: ' + fruits.length); // 3
// [리스트에 추가 블록]
fruits.push('딸기');
// [리스트에서 가져오기 블록] — 첫 번째 항목
var first = fruits[0];
window.alert('첫 번째: ' + first); // 사과
// [리스트 반복 블록] — 각 항목에 대해 실행
for (var i = 0; i < fruits.length; i++) {
window.alert(fruits[i]);
}- •리스트 생성 블록 — 빈 리스트 또는 초기값 설정
- •리스트 길이 블록 — 항목 개수 반환
- •리스트 추가/삽입 블록 — 끝에 추가 또는 특정 위치에 삽입
- •리스트 가져오기 블록 — 인덱스로 값 조회
- •리스트 반복 블록 — 각 항목에 대해 블록 실행
- •리스트 정렬 블록 — 오름차순/내림차순 정렬
javascript
// 함수 + 리스트 조합 예제
function sumList(numbers) {
var total = 0;
for (var i = 0; i < numbers.length; i++) {
total = total + numbers[i];
}
return total;
}
var scores = [90, 85, 92, 78, 95];
var sum = sumList(scores);
var average = sum / scores.length;
window.alert('합계: ' + sum); // 440
window.alert('평균: ' + average); // 88💡
Blockly의 함수 블록을 적극 활용하세요. 같은 로직이 두 번 이상 반복된다면 함수로 묶는 것이 좋습니다. 이 습관은 텍스트 코딩으로 넘어갔을 때도 큰 도움이 됩니다.