Програмиране за деца (Little Wizard)

Програмиране за деца (Little Wizzard)

## Запознаване с интерфейса

Пуснете приложението Little Wizard.

Веднага след това ще видите приложението в изгледа му Програма:

В горната част на прозореца, под лената с менютата, ще видите лента с инструменти, на в която е натиснат бутонът Програма .

Отдолу ще видите панел с подпрозорци с много икони.

Под него е програмното поле, където ще създадете програмата си.

Натиснете бутона Свят за да видите приложението в този изглед:

Натиснете бутона Смесено за да видите този изглед:

С помощта на тези три режима ще можете да разглеждате и променяте света, програмата или и двете едновременно.

## Елементи на програмата

Натиснете бутона Програма, за да се върнете към програмния изглед. В този момент е избрана подстраницата Магьосник. Цъкнете на на останалите подстраници: Математика, Променливи, Условия и цикли и Друго за да видите всички икони на елементите от изгледа Програми.

## Добавяне на икони към програмата

Цъкнете и завлачето прозволна икона в намиращата се отдолу мрежа за програмиране. Повторете това с различни икони като ги разполагате около вече намиращите се на мрежата икони. По този начин вие добавяте нови елементи към програмата си.

## Премахване на икони от програмата

Цъкнете на някоя от иконите, които по-рано поставихте на мрежата за програмиране и чрез влачене я върнете върху лентата с останалите икони. Иконата ще бъде премахната от мрежата. Повторете това докато на мрежата не останат никакви икони.

## Изпълнение на програмата

Натиснете бутона Изпълняване . Ще се отвори нов прозорец с Малкия магьосник в себе си.

В заглавието на прозореца ще пише "Програмата е завършена", защото Магьосника не е имало какво да свърши. Натиснете бутона за затваряне за да затворите прозореца за изпълнение. Това ще прекъсне програмата.

## Промяна на света

Натиснете бутона Свят на лентата с инструменти и завлечете парче от къщата върши празната мрежа по-долу. Добавете още парчета. За да ги премахнете от мрежата, завлечете ги обратно върху лентата с икони на света. По същия начин можете да боравите и с елементите от Черна дъска, Цифри, Азбука и Магьосник.

В Света трябва да има един Магьосник. Поради това е невъзможно да го премахнете, а може да го му задавате нова позиция и да го завъртате.

Натиснете бутона Мрежа за да покажете линиите на мрежата в на Света. Това прави поставянето на нови икони малко по-лесно:

Цъкнете на бутона за с лупа за приближаване или отдалечаване от мрежата. Цъкнете на бутоните със стрелки за добавяне или премахване на редове и колони към мрежата.

## Създаване на програма

Програмата може да бъде разположена на един или повече редове. Изпълнението и върви винаги в посока от ляво на дясно и надолу.

Цъкнете бутона Програма.

Сега опитайте да залечете програмен елемент от полето с икони на мрежата за програмиране, за да кажете на Магьосника какво да прави.

Новата икона може да бъде поставяна преди която и да е друга, в края или в началото на нов ред.

Символът за връщане може да се използва за да се прекъсват дългите линии.

### Накарайте магьосника да се поразходи

Цъкнете и завлечете икони от полето върху първия ред на мрежата за програмиране, докато не заприлича на картинката по-долу. Ще трябва да цъкнете на подстраницата Математика за да намерите цифрите и да цъкнете на Магьосник за да намерите останалите икони.

Натиснете бутона Изпълнение за да видите какво ще се случи.

Първо, Магьосникът започва да върви в посоката, в която гледа - надясно. Той изминава две квадратчета, защото сме сложили цифрата две след иконата за вървеж. След това Магьосникът завива надясно и отново върви, този път надолу. Тогава той завива надясно и изминава три квадратчета.

Затворете прозореца за изпълнение.

Ако Магьосникът не прави това, което очаквате, върнете се и променете иконите на мрежата за програмиране така, че да са като на показаната картинка, след което отново натиснете бутона Изпълнение. Когато програмите не правят това, което се очаква от тях, казваме че имат бъг (програмна грешка. Изчистването на програмни грешки е познато под името дебъгване.

### Накарайте Магьосникът да промени света

Магоьосникът е състояние и да променя заобикалящато го среда. Той може да използва магическата пръчка или комадата създаване, за да създава различни обекти в света. Командата е последвана от една или повече икони, или цифра, които Магьосникът ще създаде докато върви напред.

Това е резултатът от горния код:

### Шапка невидимка

Той също така може и да изчезва и да се появява по команда. Обърнете внимание, че няма забавяне между първата стъпка и командата за изчезване след това. Ще изглежда, че Магосникът стои на първата клетка, изчезва и се появява две клетки по-нататък.

Можете ли да се досетите как може да направите да изглежда, че Магьосникът мига на едно и също място?

### Ускорете Магьосникът

Можете да променяте скоростта, с която Магьосникът върви 0 е най-бавната, а 9 е светкавична. Можете ли да видите къде ще се появи Х в тази програма

You can alter the speed with which the Wizard walks. 0 is the slowest speed and 9 is lightning fast. Can you see where the X will appear with this program? You won't see the wizard moving to write it, but just walking leisurely forward.

### Изследване на стената

Нека въведем командите "На заден план" и "На преден план" , които и двете ще кажат на Магьосника да мине зад или пред елементи от света. Ако не е изрично указано друго, той ще се скрие за всяко нещ в света.

В примера по-долу магьосникът създава стена, след което минава два пъти покрой нея от различни страни.

The remaining command in the Wizard tab is "Calculate" , which will be introduced shortly in the next session.

### Математика

Тези команди ви позволяват да правите основни пресмятания. Обичайните правила за предимство важат. Умножението и делението ще бъдат пресметнати преди добавяне и изваждане. 5+4*2 не е същото като 4+5*2. Ако се съмнявате винаги може да използавате кръгли скоби.

Относно деленето. Резултатът винаги е частно на изчислението, което значи, че всичко след десетичната точка ще бъде изхвърлено. Обратното, операцията остатък от деление ще доведе до остатъка.

Числата могат да бъда от използвани за създаване точно както и елементите на света.

Буквите могат да се обединяват с оператора "Обединяване (Concatenate)":

С шапката могат да се генерират произволни числа. В примера по-долу Магьосникът ще измине от нула до две стъпки напред.

### Променливи

На следващо място са променливите. Повечето от тах са общи променливи, които могат да съдържа елементи на света, числа и букви. Използването им е добра идей, въпреки че сами по себе си, без нищо друго, ще се третират като нула за повечето цели.

Тук част от стената е определена от променливата С чрез използване на иконата "Задаване". Този тип инструкция, който така не води до никакво действие на Магьосника, трябва да започва с командата "Изчисление", за да не се обърка той.

Променливите могат да се използват и за аритметични действия:

An advanced use for variables is as arrays. An index number, starting from one, can be set inside the brackets. Multiple brackets can be used to make multidimensional arrays. The details are left as an exercise, but let's introduce one special variable that uses them.

The world array represents the world. This program will read what is five cells to the right and one down.

Here the letter Q was inserted into the world before running the program, which the Wizard dutifully replicated in front of him.

Най-накрая нека измерим дължината на думата "LOVE":

"Length" function can be used also for finding size of array.

### Условия и цикли

Условията и циклите могат да се използват за да се контролира изпълнението на програма. Обикновено те са използвани съвместно с по-горе разгледаните логически операции.

Тук Магьосникът не напише "NO" (ще изпълни командата след иконата "Else"), защото условието не е вярно.

Логическите операции имат голям ефект при използване съвместно с условия. Тук условието "А е едно и B или С също е едно" е задоволено и Магьосникът ще продължи напред.

Инструкцията "While (Докато)" ще повтаря следващите инструкции докато условието е удовлетворено. Обърнете внимание, че нищо не ви пречи да създадете безкраен цикъл. Тук Магьосникът ще обикаля в кръг.

Инструкциите "Repeat (Повторение)" и "Докато не (Until)" винаги се използват в като двойка. Те са като цикъла "Докато", с тази разлика, че условието се проверява след всеки цикъл, а не преди него. Понякога това може да е по-естествен подход към циклите.

Since incrementing or decrementing a loop variable by one on each repetition is such a common case, there is a shorthand instruction for just that. This program here will increase L by two each time and will write it down.

It is possible to initialise the loop variable in the for instruction, too.

The twin of the for...to, for...downto will count to the opposite direction.

Continue operator jumps to the next loop iteration. Break operator quits from the loop.

There are two Boolean variables "True" and "False" , which can be used for loops' conditions.

### Overview of the Other tab

By setting abscissa and ordinate one can move the Wizard to the specific location in the world.

Also there are and commands to define the current location of the Wizard.

In the following example the Wizard is moved into the random place, then depending on the sum of its abscissa and ordinate he creates either blue (the sum is even) or red (the sum is odd) block:

In the last program the Wizard waits for user's input confirmed by Enter key, then hi moves entered number of steps forward, then the same number of steps forward or in requested by user direction (if user presses some arrow key) and at last hi waits pressing for some arrow key and moves one step according to it.

Code after icon "//" is named comment and it will never be executed, so it is used only for clarification.

Статията е по материали от "Линукс за човешки същества": http://skss.learnfree.eu
Текстовото съдържание е достъпно при условията на Лиценза за свободна документация на ГНУ, версия 1.2 или коя да е следваща, публикувана от Фондацията за свободен софтуер; без непроменяеми раздели, без предни и задни корици.