Знайомство з BASIC-256
У цьому розділі ви познайомитеся із середовищем BASIC-256, на прикладі операторів print і say.
Ви побачите різницю між командами, які ви віддаєте комп'ютеру, а також різницю між текстовими рядками й числами, які будуть використані програмою. Ми також досліджуємо просту математику для того, щоб показати, наскільки розумний ваш комп’ютер. Нарешті, ви дізнаєтеся, що таке синтаксична помилка і як її можна виправити.
1.1. Вікно BASIC-256
Вікно BASIC-256 розділене на 5 секцій: рядок меню, панель інструментів, область тексту програми, вікно введення-виведення тексту, вікно виведення графіки (див. рис. 1.1).
1.1.1. Верхнє меню
Верхнє меню містить кілька різних розкривних меню. Вона включає
в себе: Файл, Правка, Вид, Старт, Справка.
Меню Файл дозволить вам зберігати і завантажувати збережені раніше програми, друкувати і виходити з BASIC-256.
Меню Правка дозволяє вирізати, копіювати, вставляти текст і зображення з програми, текстового і графічного вікна.
Меню Вид дозволить переглянути або приховати різні вікна BASIC-256.
Меню Старт дозволить виконувати і налагоджувати вашу програму.
Меню Справка покаже вікно з інформацією про BASIC-256, також яку
версію ви зараз використовуєте.
1.1.2. Панель інструментів
Більшість пунктів меню, які ви будете використовувати, доступні на панелі інструмент.
Новий – почати нову програму.
Відкрити – завантажити збережену програму.
Зберегти – зберігає програму на диск або USB пристрій.
1.1.3. Вікно тексту програми
Текст програми складається з інструкцій, які вказують комп'ютеру, що і як потрібно робити. Ви будете набирати текст програм, змінювати і виправляти їх код саме в цьому вікні, а також завантажувати сюди збережені раніше програми.
1.1.4. Вікно введення-виведення текст
Ця вікно буде відображати висновок тексту з ваших програм. Це можуть бути і слова і числа. Якщо програма захоче поставити вам питання, то питання (а також і те, що ви надрукуєте в відповідь) теж з'явиться тут.
1.1.5. Вікно виведення графіки
BASIC-256 – це мова, яка вміє керувати графікою (надалі ви це побачите).
Картинки, форми і образи, створені вами, будуть відображатися в цьому вікні.
|
| Рис. 1.1. Екран BASIC-256 |

Старт – виконує поточну програму.
Отладка – починає порядкове виконання програми.
Шаг – при налагодженні? перейти на новий рядок.
Стоп – припиняє виконання поточну програму.
Отмена – скасовує остання зміна в програмі.
Повтор – повертає останнім скасоване зміна.
Вырезать – переносить виділений текст в буфер обміну.
Копировать – поміщає копію виділеного тексту в буфер обміну.
Вставить – вставляє текст з буфера обміну в потрібне місце.
1.2. Ваша перша програма – оператор say
Давайте створимо комп'ютерну програму і подивимося, привітає чи нас BASIC-256. У вікні тексту програми надрукуйте наступну команду в один рядок:
say "Hello! Hello, legendary students!"
Програма 1. Скажи Hello! Hello, legendary students!
Після того, як ви наберете цю команду, клацніть мишею по кнопці Старт на панелі інструментів. BASIC-256 привітається з вами через динаміки комп'ютера.
Нове поняття:
say вираз
Оператор say використовується для того, щоб BASIC-256 прочитав вираз вголос, в комп'ютерні динаміки. "Hello! Hello, legendary students!"
BASIC-256 розглядає літери, цифри і розділові знаки, які перебувають всередині подвійних лапок, як єдиний блок. Цей блок називається рядком.
Старт на панелі інструментів або Старт в меню.
Ви повинні сказати BASIC-256, коли ви хочете приступити до виконання програми. автоматично він не дізнається, що ви закінчили вводити код програми. Запустіть програму на виконання можна або натиснувши на кнопку Старт на панелі інструментів, або вибравши пункт Старт в меню.
Для того, щоб повністю видалити програму, в якій ви працюєте і почати нову, ми використовуємо кнопку Новий на панелі інструментів. Натискання цієї кнопки викличе появу наступного діалогового вікна (Ви хочете видалити цю програму і почати іншу? Натисніть ТАК або НІ ).
Оператор say також може називати числа. Спробуйте наступну програму:
Програма 2.
say "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
Таблиця 1.1. Основні математичні операції
| Оператор | Операція |
| + | Додавання вираження1 + вираженіе2 |
| - | Віднімання вираження1- вираженіе2 |
| * | Множення вираження1 * вираженіе2 |
| / | Ділення вираження1 / вираженіе2 |
| ^ | Зведення в ступінь 2^10 |
| ( ) | Дужки 2*(3+5) |
BASIC-256 дозволяє вводити числа в десятковій формі.
Не використовуйте коми при введенні чисел. Якщо вам потрібно число менше нуля, поставте перед ним знак мінус.
Наприклад: 1.56, 23456, -6.45 і 5.
Програма 3.
say 1*4+10
say 12 * (2 + 10)
say 5 / 2
say 2.5
say 2^10
1.3. Інше використання + (конкатенація)
Оператор + також з'єднує рядки. Ця операція називається конкатенація. Конкатенація додає рядок до рядка, як вагони в складі поїзда, щоб зробити її довшою. Давайте спробуємо: say "hello " + "batman’s"
1.4. Вікно введення-виведення тексту - оператор print
Програми, що використовують say, можуть бути дуже корисними і розважальними, але часто буває необхідно написати інформацію (слова і числа) на екрані так, щоб їх можна було прочитати. Це завдання виконує оператор print.
У вікні для введення тексту програми наберіть програму з двох рядків:
print "Привіт"
print "всім"
|
Після того, як ви наберете текст цієї програми, клацніть мишкою по кнопці Старт на панелі інструментів. У вікні для вводу-виводу тексту з'являться слова: "Привіт" на першому рядку і "всім" – на другий (рис. 1.2).
Рис. 1.2. Результат роботи програми «Привіт»
Нове поняття: print вираз або print вираз;
Оператор print використовується, щоб відображати текст і числа в вікні вводу-виводу тексту BASIC-256, надрукувавши щось, print переходить на новий рядок, але можна надрукувати кілька знаків в одному й тому ж рядку, використовуючи «;» (крапку з комою) в кінці виразу.
Оператор print за замовчуванням діє так, що наступний текст з’являється на новому рядку. Якщо ви використовуєте «;» (крапку з комою) в кінці виведеного виразу, то наступні виведені знаки залишаться на цьому ж рядку.
Програма 8. Кілька print виводять в один рядок (рис. 1.3).
Cls
print "Привіт ";
print "вам, ";
print "мої друзі."
|
Рис. 1.3. Кілька print виводять в один рядок.
Нове поняття: сls
Оператор cls стирає всю інформацію у вікні введення-виведення тексту.
Кожен раз, при запуску програми для виконання, вікно введення-виведення тексту очищається автоматично. (Прим. розробника)
Спробуйте різні програми, використовуючи оператор print. Використовуйте слова, числа, математику і конкатенацію.
Завдання. Напишіть програми:
1. Для обчислення за формулою 
2. Знаходження площі трикутника за формулою Герона.
3. Знаходження коренів квадратного рівняння, якщо дискримінант більше нуля.
4. Знаходження площі многокутника, як суму площ трикутників.
5. Знаходження об‘єму корабля космічних піратів, що має форму шару.
1.5. Що таке "Помилка синтаксису"?
Програмісти - звичайні люди і іноді роблять помилки. "Помилка синтаксису" – один з видів помилок, з якими ми можемо зіткнутися. Така помилка виникає, коли BASIC-256 не розуміє програму, яку ви набрали. Зазвичай синтаксичні помилки викликані неправильним написанням операторів (команд), пропущеними комами, непотрібними пробілами, незакритими лапками, непарними дужками.
BASIC-256 повідомить вам, в якому рядку знаходиться помилка і навіть спробує сказати, в якій позиції рядки її можна знайти.
Розділ 2. Малюємо основні фігури
У цьому розділі ми почнемо працювати з графікою. Ви навчитеся малювати прямокутники, окружності, лінії і точки різних кольорів. Програми будуть ставати все більш складними, тому ви також дізнаєтесь як зберігати програми і як завантажувати їх знову запустити на виконання і відредагувати.
2.1. Малюємо прямокутники та кола
Давайте почнемо з написання графічної програми для нашої улюбленої спортивної команди "Сірі цятки". Її кольори - блакитний і сірий.
Програма 9. "Сірі цятки" (рис. 2.1).
1 # c2_ greyspots .kbs
2 # програма для нашої команди – "Сірі цятки"
3 clg
4 print "Сірі цятки"
5 color blue
6 rect 0, 0, 300, 300
7 color grey
8 circle 149, 149, 100
9 say " Gray spots, forward!"
|
Попередження: з цього моменту листинги програм йтимуть з пронумерованими рядками. Не друкуйте ці номери рядків, коли будете вводити програму.
Давайте вивчимо кожен рядок наведеної вище програми. Перший рядок називається ремарка або оператор коментаря. Коментар - це місце, де програміст залишає свої позначки в комп'ютером коді, ігноровані системою. Такі позначки гарні для того, щоб описати що робить той чи інший фрагмент коду, назва програми, чому ми написали програму, або хто програміст.
Нове поняття:
# або Rem
Оператор # або rem називається коментарем. Він дозволяє програмісту залишати свої замітки (навіщо, як і що працює) в тексті програми. Коли комп'ютер (компілятор) бачить # або rem, він ігнорує весь текст в рядку.
У другому рядку ви бачите оператор clg. Він дуже схожий на оператор СLS з першого розділу, за винятком того, що clg очищає вікно, куди виводиться графіка.
У п‘ятому рядку ми бачимо оператор color. Він повідомляє BASIC-256 який колір потрібно використовувати для наступного дії малювання. Ви можете встановлювати колір, вказавши одне з 18 стандартних назв (див. Таблицю 2.1), або визначивши один з 16 мільйонів варіантів, змішуючи основні кольори (червоний (Red), зелений (Green) і синій (Blue)) різної інтенсивності.
Якщо ви використовуєте цифровий спосіб визначення кольору, врахуйте, що числа мають бути в діапазоні від 0 до 255. Нуль (0) говорить про відсутність яскравості у обраного кольору, а 255 означає максимальну яскравість. Яскраво-білий колір представлений числами 255,255,255 (всі кольори максимальної яскравості), чорний - як 0,0,0 (нульова яскравість всіх кольорів). Таке числове уявлення відомо як "RGB-триплет". Таблиця 2.1 показує імена деяких квітів і їх числові значення.
color ім'я кольору
color червоний, зелений, блакитний
color RGB число
Замість color можна також використовувати colour
Оператор color дозволяє встановити колір, яким ви будете малювати далі. Ви можете використовувати color c ім'ям кольору (black, white, red, darkred, green, darkgreen, blue, darkblue, cyan, darkcyan, purple, darkpurple, yellow, darkyellow, orange, darkorange, grey / gray, darkgrey / darkgray), з трьома цифрами (0-255), що описують інтенсивність червоного, зеленого і блакитного кольорів (R, G, B) або одним значенням, отриманим в результаті обчислення виразу: червоний × +2562 + зелений × 256 + блакитний.
Таблиця 2.1: Числові значення кольорів
| Код | Назва кольору |
| black (0,0,0) white (248,248,248) red (255,0,0) darkred (128,0,0) green (0,255,0) darkgreen (0,128,0) blue (0,0,255) darkblue (0,0,128) cyan (0,255,255) darkcyan (0,128,128) purple (255,0,255) darkpurple (128,0,128) yellow (255,255,0) darkyellow (128,128,0) orange (255,102,0) | чорний білий червоний темно червоний зелений темно-зелений синій темно синій блакитний темно-блакитний пурпурний темно-пурпурний жовтий темно-жовтий помаранчевий |
| darkorange (170,51,0) gray или grey (164,164,164) darkgray или darkgrey (128,128,128) clear (-1) | темно-помаранчевий сірий темно-сірий прозорий |
За замовчуванням вікно для виведення графіки має розмір 300 пікселів в ширину (х) і 300 пікселів у висоту (y).
Піксель - це найменша точка, яка може бути зображена на моніторі вашого комп'ютера. Координати верхнього лівого кута - (0,0), а правого нижнього - (299,299).
|
Кожен піксель може бути представлений двома числами, перше (x) показує зміщення вправо, друге (y) - зміщення вниз. Такий спосіб маркування точок відомий в математиці як Декартова прямокутна система координат.
Мал. 2.2. Декартова система координат вікна виведення графіки
Наступний оператор (рядок 6) - rect. Він дозволяє малювати прямокутники.
Rect використовує чотири цифри, розділені комами: (1) координата верхнього лівого кута прямокутника по осі x, (2) координата цього кута по осі y, (3) ширина, (4) висота. Всі чотири цифри задаються в пікселях (розмір найменшої точки, яка може бути зображена на екрані).
Ви можете бачити, що прямокутник в програмі починається у верхньому лівому кутку і далі заповнюється у вікні виводу графіки.
rect x, y, ширина, висота
Оператор rect використовує поточний колір і малює прямокутник у вікні вивода графіки. Верхній лівий кут прямокутника заданий двома першими числами, а ширина і висота – двома іншими.
Рядок 8 містить оператор circle, який малює окружність. Він використовує три числових аргументу, перші два – це декартові координати центру кола, а третій – Її радіус (в пікселях).
|
Рис. 2.4. Окружність
circle x, y, радіус
Оператор circle використовує поточний колір і малює заповнену цим кольором окружність з центром в точці (x, y) і заданим радіусом.
w Чи можете ви, використовуючи color, rect і circle, створити емблему для вашої школи або улюбленої спортивної команди?
Програма 10. Обличчя, складене з прямокутників (рис. 2.5)
1 # C2_ rectangle_smile.kbs
2
3 # очищаємо екран
4 clg
5
6 # малюємо обличчя
7 color yellow
8 rect 0, 0, 299, 299
9
10 # малюємо рот
11 color black
12 rect 100, 200, 100, 25
13
14 # малюємо очі
15 color black
16 rect 75, 75, 50, 50
17 rect 175, 75, 50, 50
18 # Як ваше здоров'я?
19 say "How are you?"
Рис. 2.5. Програма 10. Обличчя, складене з прямокутників
Програма 11. Усміхнене обличчя, складене з окружностей (рис. 2.6).
|
1 # c2_ circle_smile.kbs
2
3 # очищаємо екран
4 clg
5 color white
6 rect 0, 0, 300, 300
7
8 # малюємо обличчя
9 color yellow
10 circle 150, 150, 150
11
12 # малюємо рот
13 color black
14 circle 150, 200, 70
15 color yellow
16 circle 150, 150, 70
17
18 # малюємо очі
19 color black
20 circle 100, 100, 30
21 circle 200, 100, 30
|
Рис. 2.6. Програма 11. Усміхнене обличчя, складене з окружностей
2.2. Збереження вашої програми і її пере завантаження
Тепер, коли програми стають все більш складними, ви, мабуть, захочете зберегти їх для того, щоб в майбутньому завантажити знову.
Ви можете зберегти програму, натиснувши кнопку Зберегти на панелі інструментів або вибравши пункт Зберегти в випадаючому меню Файл. З'явиться діалогове вікно із запитом імені файлу, якщо мова йде про нову програму, або ж вікно, в якому вас попросять підтвердити запис зроблених змін (перезаписати старий файл).
Якщо ви не хочете видалити стару версію програми, використовуйте пункт Зберегти как… меню Файл, щоб записати копію під іншим ім'ям.
Щоб відкрити раніше збережену програму, використовуйте кнопку Відкрити на панелі інструментів, або пункт Відкрити в випадаючому меню Файл.
2.3. Малюємо лінії
Наступний оператор малювання – це line. Він малює лінію шириною один піксель від однієї точки до іншої, використовуючи поточний колір. Програма 12 показує приклад використання оператора line.
line старт x, старт y, фініш x, фініш y
Малює лінію шириною один піксель від стартової точки до кінцевої, використовуючи поточний колір.
Програма 12. Малюємо трикутник (рис. 2.7).
1 # c2_ triangle .kbs - малюємо трикутник
2
3 clg
4 color black
5
6 line 150, 100, 100, 200
7 line 100, 200, 200, 200
8 line 200, 200, 150, 100
|
Рис. 2.7. Програма 12. Малюємо трикутник
Завдання:
|
Використовуйте лист з альбому для креслення, щоб зобразити інші фігури, а потім напишіть програму для їх малювання. Спробуйте намалювати
прямокутний трикутник, п'ятикутник, зірку і інші фігури.
Наступна програма – приклад, що ви можете зробити, використовуючи тільки одні лінії. Вона малює куб.
Програма 13. Малюємо куб (рис. 2.8).
1 # c2_ cube .kbs - малюємо куб
2
3 clg
4 color black
5
6 # малюємо задню частину
7 line 150, 150, 150, 250
8 line 150, 250, 250, 250
9 line 250, 250, 250, 150
10 line 250, 150, 150, 150
11
12 # малюємо передню частину
13 line 100, 100, 100, 200
14 line 100, 200, 200, 200
15 line 200, 200, 200, 100
16 line 200, 100, 100, 100
17
18 # з'єднуємо кути
19 line 100, 100, 150, 150
20 line 100, 200, 150, 250
21 line 200, 200, 250, 250
|
22 line 200, 100, 250, 150
Рис. 2.8. Програма 13. Малюємо куб
2.4. Малюємо окремі точки на екрані
Останній графічний оператор, що розглядається в цьому розділі – plot. Оператор plot зафарбовує поточним кольором одну точку (піксель) на екрані. Для більшості з нас ці точки настільки малі, що їх важко побачити. Пізніше ми напишемо програми, які будуть малювати групи точок для того, щоб створити дуже детальне зображення.
plot x, y
Зафарбовує один піксель (точку на екрані) поточним кольором.
Програма 14. Використовуємо plot для малювання точок.
1 # c2_ plot-1.kbs - використовуємо plot для малювання точок
2
3 clg
4 color white
rect 0, 0, 300, 300
5 color red
6 plot 99, 100
7 plot 100, 99
8 plot 100, 100
9 plot 100, 101
10 plot 101, 100
11
12 color darkgreen
13 plot 200, 200
В кінці кожного розділу ви знайдете одну або кілька "Великих програм", для того, щоб ви могли поглянути на них, набрати текст і проекспериментувати з ними. Ці програми будуть містити тільки те, що ви вивчили досі в цій книзі.
Наведена нижче програма зображує обличчя і робить його «говорить». Перед тим, як програма скаже чергове слово, нижня частина обличчя буде міняти форму рота, перемальовуючи його. Це створює ефект примітивної анімації і робить обличчя більш забавним.
Програма 15. Велика програма – обличчя, що розмовляє (рис. 2.9).
1 # c2_ talking face .kbs
2 # малює обличчя з очима
3 color yellow
4 rect 0, 0, 300, 300
5 color black
6 rect 75, 75, 50, 50
7 rect 175, 75, 50, 50
8
9 # стирає старий рот
10 color yellow
11 rect 0, 150, 300, 150
12 # малює новий рот
13 color black
14 rect 125, 175, 50, 100
15 # говорить слово
16 say "я"
17
18 color yellow
19 rect 0, 150, 300, 150
20 color black
21 rect 100, 200, 100, 50
22 say "дуже"
23
24 color yellow
25 rect 0, 150, 300, 150
26 color black
27 rect 125, 175, 50, 100
28 say "радий"
29
30 color yellow
31 rect 0, 150, 300, 150
32 color black
33 rect 125, 200, 50, 50
34 say "що"
35
36 color yellow
37 rect 0, 150, 300, 150
38 color black
39 rect 100, 200, 100, 50
40 say "ти"
41
42 color yellow
43 rect 0, 150, 300, 150
44 color black
45 rect 125, 200, 50, 50
46 say "мій"
47
48 # малює нове обличчя з круглою посмішкою
49 color yellow
50 rect 0, 0, 300, 300
51 color black
52 circle 150, 175, 100
53 color yellow
54 circle 150, 150, 100
55 color black
56 rect 75, 75, 50, 50
57 rect 175, 75, 50, 50
58 say "друг"
|
Рис. 2.9. Програма 15. Велика програма – обличчя, що розмовляє
«Я дуже радий, що ти мій друг» – "I am very glad that you're my friend"
2.5. Числові змінні
Комп'ютери дійсно добре запам'ятовують різні речі, в той час як у нас, людей, з цим бувають проблеми. Мова BASIC-256 дозволяє нам давати назви областям комп'ютерної пам'яті, а потім зберігати в них інформацію.
Ці іменовані області називаються змінними.
Є чотири типи змінних: числові змінні, строкові, числові масиви і масиви рядків. У цьому розділі ви дізнаєтеся, як використовувати числові змінні, а інші – в інших розділах.
Числова змінна
Числова змінна дозволяє присвоїти ім'я блоку осередків в оперативній
пам'яті комп'ютера. Ви можете зберігати та видавати цифрові (цілі або десяткові) значення з числової змінної в вашій програмі.
Ім'я числовий змінної повинно починатися з літери, воно може містити латинські букви і числа і чутливе до регістру.
Забороняється використовувати слова, що належать мові BASIC-256 при найменуванні змінних.
Приклади правильних імен змінних:
a, b6, reader, x і zoo.
Імена змінних чутливі до регістру. Це означає що ім'я змінної, записане літерами у верхньому регістрі і таке ж ім'я, але записане в нижньому регістрі, представляють різні області пам'яті комп'ютера
Наступна програма – це приклад програми, що використовує числові змінні.
Програма 16. Прості числові змінні
1 # c3_numericvariables. kbs
2 numerator = 30
3 denominator = 5
4 result = numerator / denominator
5 print result
Програма використовує три змінні.
У рядку 2 значення 30 зберігається в змінної під назвою "numerator".
У рядку 3 значення 5 зберігається в змінну "denominator".
У рядку 4 значення з "numerator" ділиться на значення з змінної "denominator" і зберігає результат у змінній з ім'ям "result".
Тепер, коли ми побачили змінні в дії, ми можемо переписати програму "Атака!" використовуючи змінні і формулу для розрахунку тривалості (Формула 1).
Програма 17. «Атака!» зі змінними
1 # c3_ charge 2. kbs
2 # граємо сигнал атаки, використовуючи змінні
3 beats = 120
4 dottedeighth = 1000 * 60 / beats * .75
5 eighth = 1000 * 60 / beats * .5
6 sound {392, dottedeighth, 523, dottedeighth, 659, dottedeighth, 784,
eighth, 659, eighth, 784, eighth}
7 say "Атака!"
Розділ 3. Математика з числами
У цьому розділі ми розглянемо деякі додаткові математичні оператори й функції. Розділ розбитий на чотири частини: 1) нові оператори 2) нові цілі функції 3) нові функції для роботи з числами з плаваючою точкою (дійсні числа), і 4) тригонометричні функції.
3.1. Нові оператори
На додаток до базових математичних операцій, які ми використовували з першого розділу книги, є ще три оператора в BASIC-256. Операції, аналогічні цим є в більшості мов програмування. Це операція ділення по модулю, цілочисельного ділення і піднесення до степеня.
| Операція | Оператор | Опис |
| Ділення по модулю | % | Повертає залишок від ділення на ціле число |
| Цілочисельне ділення | \ | Повертає (ціле) частка від ділення одного цілого на інше |
| Ступінь | ^ | Підносить одне (ціле) число в ступінь іншого (цілого) |
3.2. Ділення по модулю
Операція ділення по модулю повертає залишок від ділення без остачі. Коли ви ділите два цілих числа куточком, залишок, отриманий в результаті і є модуль.
Програма 18. Ділення по модулю.
1 # c12_ mod. kbs
2 input "Введіть ціле число", n
3 if n% 2 = 0 then print "ділиться на 2"
4 if n% 3 = 0 then print "ділиться на 3"
5 if n% 5 = 0 then print "ділиться на 5"
6 if n% 7 = 0 then print "ділиться на 7"
7 end
Приклад виведення програми:
Введіть ціле число 10
ділиться на 2
ділиться на 5
вираження1% вираження2
Оператор ділення по модулю (%) повертає залишок від ділення числа Вираження1 на число вираження2.
Якщо одне або обидва вирази не цілі, то спочатку вони округлюються до цілого відкиданням дробової частини (як це робить функція int ()) до того, як операція буде проведена.
Ви може і не замислювалися, але операція ділення по модулю використовується програмістами досить часто. Основні два застосування це:
1. перевірити чи ділиться одне число на інше (програма 18)
2. отримати числа з обмеженого діапазону (програма 19)
Програма 19. Рухаємо м'яч з використанням ділення по модулю.
1 # moveballmod .kbs
2 # Переписана програма move ball.kbs з використанням оператора
3 # ділення по модулю для обмеження руху м'яча екраном
4
5 print "клавіша i - вгору, j - вліво, k - вправо, m - вниз, q –
закінчити"
6
7 fastgraphics
8 clg
9 ballradius = 20
10
11 # позиція м'яча
12 # починаємо з центру екрана
13 x = graphwidth / 2
14 y = graphheight / 2
15
16 # малюємо м'яч в початковому положенні на екрані
17 gosub drawball
18
19 # цикл очікування введення користувачем натискань на клавіші
20 while true
21 k = key
22 if k = asc ( "I") then
23 # y може стати негативним, + graphheight робить це число
позитивним
24 y = (y - ballradius + graphheight)% graphheight
25 gosub drawball
26 end if
27 if k = asc ( "J") then
28 x = (x - ballradius + graphwidth)% graphwidth
29 gosub drawball
30 end if
31 if k = asc ( "K") then
32 x = (x + ballradius)% graphwidth
33 gosub drawball
34 end if
35 if k = asc ( "M") then
36 y = (y + ballradius)% graphheight
37 gosub drawball ль
38 end if
39 if k = asc ( "Q") then end
40 end while
41
42 drawball:
43 color white
44 rect 0, 0, graphwidth, graphheight
45 color red
46 circle x, y, ballradius
47 refresh
48 return
3.3. Целочисленное розподіл
Операція цілочисельного ділення (\) робить традиційне ділення, але працює тільки з цілими числами і повертає ціле число. Наприклад 13 розділити на 4 буде 3 і в залишку 1. Результатом операції цілочисельного ділення буде 3.
Програма 20. Перевір, як ти ділиш куточком.
1 # c12_ integerdivision .kbs
2 input "Подільне", dividend
3 input "Дільник", divisor
4 print dividend + "/" + divisor + "= частка ";
5 print dividend \ divisor;
6 print "і залишок (r)";
7 print dividend% divisor;
Приклад виведення програми 20. Перевір, як ти ділиш куточком.
ділене 43
дільник 6
43/6 = частка 7 і залишок (r) 1
3.4. Нові цілочисельні функції
Три нові функції цієї глави пов'язані з перетворенням рядків і чисел з плаваючою точкою (дійсних чисел) в цілі числа. Всі три ці функції по різному обробляють десяткову частину числа.
Функція int() просто відкидає десяткову частину числа, що рівносильно вирахуванню дробової частини від (позитивного) числа або додавання десяткової частини до негативного числа. Це може привести до проблем, якщо ми намагаємося округлити числа менші нуля (0).
Функції ceil() і floor() за своїм вирішують проблему int(). Функція ceil() доповнює дробове число до найближчого цілого, більшого, ніж вихідне число, в той час як floor () завжди зменшує число до найближчого цілого, меншого даного числа.
Всіх нас вчили округляти, додаючи 0.5 і відкидати дробову частину. Якщо ми використовуємо int(), то вона працює з позитивними числами і не працює з негативні ми. У BASIC-256 для округлення ("як звично") слід використовувати формулу типу a = floor(b + 0.5).
3.5. Нові функції для дробових чисел
Математичні функції, до котрих занурила нас ця глава можуть стати в нагоді при написанні деяких спеціальних програм. У переважній більшості програм вони не потрібні.
| Функція | Опис |
| float (вираз) | Перетворює вираз (рядок, ціле або десяткову дріб) в дробове число. Зазвичай використовується для перетворення рядків у числа. Якщо рядок не містить числа повертається нуль. |
| abs(вираз) | Повертає беззнакове значення виразу (абсолютне значення) |
| log(вираз) | Повертає натуральний логарифм числа (логарифм за основою e) |
| log10(вираз) | Повертає десятковий логарифм числа (логарифм за основою 10) |
3.6. Тригонометричні функції
Тригонометрія – наука про вимірювання кутів і сторін (і їх співвідношень) в трикутнику. BASIC-256 підтримує основні тригонометричні функції. Кути вимірюються в радіанах (0 - 2π). Якщо ви хочете використовувати градуси (0◦ - 360◦) в своїй програмі, то необхідно значення в градусах попередньо перетворити в радіани, а потім використовувати в тригонометричних функціях.
| Функція | Опис |
| cos(вираз) | Повертає значення косинуса кута |
| sin(вираз) | Повертає значення синуса кута |
| tan(вираз) | Повертає значення тангенса кута |
| degrees(вираз) | Перетворює число з радіан (0 - 2π) в градуси (0◦ - 360◦) |
| radians(вираз) | Перетворює число градусів (0◦-360◦) в радіани (0 - 2π) |
| acos(вираз) | Функція, зворотна косинусу (арккосинус) |
| asin (вираз) | Функція, зворотна синусу (арксинус) |
| atan(вираз) | Функція, зворотна тангенсу (арктангенс) |
Розділ 4. Мислити як програміст
Одна з найважчих речей – навчитися думати як програміст. Програмістом не станеш, просто читаючи книги або відвідуючи заняття, потрібно докласти власних зусиль.
Щоб бути хорошим програмістом, необхідно відчувати пристрасть до технологій, самонавчання, логічного мислення, а також прагнення творити і досліджувати.
Ви подібні великим дослідникам: Христофору Колумбу (відкрив Америку), Нейлу Армстронгу (який зробив перший крок на Місяці) і Юрію Гагаріну (першому космонавтові). Перед вами – укладена в комп'ютері нескінченна всесвіт для дослідження і творчості, де обмежити вас можуть лише ваші власні творчі здібності і готовність пізнавати нове.
Програма для розробки гри або якесь цікаве додаток часто містить понад тисячу рядків програмного коду. Це може швидко вимотати навіть самого досвідченого програміста. Зазвичай програмісти, розбираючись зі складним завданням, використовують систему "трьох кроків", щось на кшталт:
1. Поміркувати над завданням.
2. Розбити завдання на частини і формально описати кожну з них.
3. Перетворити ці частини в код на мові програмування, який ви використовуєте.
Псевдокод
Псевдокод – химерне слово, яке використовується для опису, крок за кроком того, що повинна робити ваша програма.
Слово псевдокод походить від грецької приставки "псевдонім" (pseudo), що в перекладі означає "підробка" і слова "код" (code), що позначає фактичні оператори програми. Псевдокод створюється не для комп'ютера, а для того, щоб допомогти вам усвідомити складність завдання і розбити її на смислові частини.
Ні "найкращого" способу написання псевдокоду. Існують десятки стандартів і кожен з них підходить для певного типу завдань. У цьому вступі ми використовуємо прості команди російською мовою для опису рішення нашої задачі.
Давайте напишемо просту програму, що малює шкільний автобус (як на малюнку 4.1).
Розіб'ємо цю задачу на дві частини:
• намалювати колеса;
• намалювати корпус.
Тепер розіб'ємо ці частини на більш дрібні і напишемо наш псевдокод:
Щоб наша програма запрацювала, все, що залишилося зробити – це записати її:
|
Рис. 4.1. Шкільний автобус
4.2. Блок-схеми
Інший метод, який використовують програмісти, щоб зрозуміти завдання, називається блок-схема. Слідуючи старій приказці краще один раз побачити, ніж сто разів почути, програмісти часом креслять діаграму, що представляє логіку роботи програми. Блок-схема є одним з найстаріших і широко використовуваних методів зображення такої логіки.
Це короткий вступ в блок-схеми охопить тільки невелику частину того, що можна з ними робити, проте вже з кількома простими елементами і з'єднаннями ви зможете моделювати дуже складні процеси. Ця технологія може добре послужити не тільки в програмуванні, але і у вирішенні багатьох інших завдань, з якими ви зіткнетеся. Ось кілька основних елементів: Кращий спосіб навчитися блок-схемами – це поглянути на приклади і спробувати зобразити щось своїми руками.
|
Блок-схема, приклад
Мал. 4.2. Сніданок – блок-схема
Розділ 5. Програма задає вам питання
Цей розділ представляє новий тип змінних (рядкові змінні) і розповідає про те, як отримувати числові і текстові відповіді від користувачів.
5.1. Новий тип змінної – строкова змінна
У розділі 3 ви познайомилися з числовими змінними, які можуть зберігати лише цілі або десяткові числа. Іноді вам може знадобитися зберегти комп'ютерної пам'яті рядок, – текст, укладений в подвійні лапки "". Для цього ми будемо використовувати новий тип змінної, який називається строкова змінна.
Строкова змінна позначається додаванням знака долара $ в кінці її імені.
Ви можете зберігати і витягувати значення з строкової змінної так само, як і при використанні числових змінних. Пам'ятайте, правила призначення імен, чутливий до регістру і правила зарезервованих слів однакові як для строкових, так і для числових змінних.
Програма 23. Мені подобається Сергій
1 # ilikejim .kbs
2 name$ = "Сергій"
3 firstmessage$ = name$ + " мій друг."
4 secondmessage$ = "Мені подобається " + name$ + "."
5 print firstmessage$
6 say firstmessage$
7 print secondmessage$
8 say secondmessage$
Вивід програми:
Сергій мій друг.
Мені подобається Сергій.
Строкові змінні
Строкова змінна дозволяє дати назву області в оперативній пам'яті комп'ютера. Ви можете зберігати та видавати текст і символьні значення з строкової змінної у вашій програмі. Ім'я строкової змінної має починатися з літери, може містити букви і цифри, чутливе до регістру, має закінчуватися знаком долара $.
Ви також не можете використовувати зарезервовані BASIC-256 слова. Приклади правильних імен строкових змінних: d$, c7$, book$, X$ і barnYard$.
L Не можна зберігати число в строкову змінну і рядок в числову змінну. Якщо ви це зробите, то отримаєте повідомлення про синтаксичну
помилку.
5.2. Input – отримання тексту або чисел від користувача
До сих пір в коді самої програми містилася вся необхідна інформація для її виконання. А тепер представляємо наступний оператор – input. Він запам'ятовує рядок або число, яке користувач набирає у вікні введення-виведення тексту і зберігає це значення в змінній.
Давайте звернемося до програми 23 і змінимо її таким чином, що вона спочатку запитає ваше ім'я, а потім скаже, що ви її друг і подобаєтеся їй.
Програма 24. Мені подобається – хто?
1 # i like input .kbs2 input "What is your name?", Name$
3 firstmessage$ = name$ + " my friend."
4 secondmessage$ = "I like " + name$ + "."
5 print firstmessage$
6 say firstmessage$
7 print secondmessage$
8 say secondmessage$
Вивід програми:
What is your name? Volodya
Volodya, my friend.
I like Volodya.
input "підказка", ім'я строкової змінної$
input "підказка", імя_чісловой змінної
input імя_строковой_переменной$
input імя_чісловой_переменной
Оператор input отримує рядок або число, яке користувач вводить у вікні введення-виведення тексту. Результат зберігається в змінної (Імя_строковой_переменной $ або імя_чісловой_переменной), яка потім може бути використана в програмі. Підказка, якщо вона вказана, буде відображатися у вікні перегляду тексту, а курсор стоятиме безпосередньо після неї. Якщо потрібно отримати число (в операторі вказано ім'я числової змінної), а користувач вводить рядок, тобто символи, які не можуть бути перетворені в число, input встановлює значення змінної рівне нулю (0).
Програма "Чарівна математика" показує як використовувати оператор input з числовими змінними.
Програма 25. Чарівна математика
1 # mathwiz .kbs
2 input "a?", A
3 input "b?", B
4 print a + "+" + b + "=" + (a + b)
5 print a + "-" + b + "=" + (a-b)
6 print b + "-" + a + "=" + (b-a)
7 print a + "*" + b + "=" + (a * b)
8 print a + "/" + b + "=" + (a / b)
9 print b + "/" + a + "=" + (b / a)
Приклад виведення програми 25. Чарівна математика
a? 7
b? 56
7 + 56 = 63
7 - 56 = -49
56 - 7 = 49
7 * 56 = 392
7/56 = 0.125
56/7 = 8
Перша – химерна програма, яка називає ваше ім'я і повідомляє, яким буде ваш вік через 8 років, а друга являє собою генератор дурних історій.
Програма 26. Примха – назви ім'я
1 # sayname .kbs
2 input "Як вас звуть?", name$
3 input "Скільки вам років?", age
4 greeting$ = "Радий познайомитися, " + name$ + "."
5 print greeting$
6 say greeting$
7 greeting$ = "Через 8 років вам буде" + (age +8) + ". Однак, чимало!"
8 print greeting$
9 say greeting$
Приклад виведення програми 26. Примха– назви ім'я:
Як вас звати? Оля
Скільки вам років? 13
Радий познайомитися, Оля.
Через 8 років вам буде 21. Проте, чимало!
Програма 27. Генератор дурних історій
1 # silly story .kbs
2
3 print "Дурна історія."
4
5 input "Іменник?", Noun1$
6 input "Дієслово?", Verb1$
7 input "Назва кімнати в будинку?", Room1$
8 input "Дієслово?", Verb2$
9 input "Іменник?", Noun2$
10 input "Прикметник?", Adj1$
11 input "Дієслово?", Verb3$
12 input "Іменник?", Noun3$
13 input "Як вас звуть?", Name$
14
15 sentence$ = "Дурна історія, автор" + Name$ + "."
16 print sentence$
17 say sentence$
18
19 sentence$ = "Якось, зовсім недавно, я побачив, що"
+ Noun1$ + "збирається" + Verb1$ + "вниз по сходах."
20 print sentence$
21 say sentence$
22
23 sentence$ = "Я подумав, що" + Room1$
+ "Стане мені укриттям, щоб" + Verb2$
+ "Там, поки не вийде" + Noun2$ + "."
24 print sentence$
25 say sentence$
26
27 sentence$ = " Раптом " + Noun1$ + "став" + Adj1$
+ ", Через те, що я почав" + Verb3$ + "в"
+ Noun3$ + "."
28 print sentence$
29 say sentence$
30
31 sentence$ = "Кінець."
32 print sentence$
33 say sentence$
Приклад виведення програми 27. Генератор дурних історій
Дурна історія.
Іменник? Кіт
Дієслово? йти
Назва кімнати в будинку? кухня
Дієслово? малювати
Іменник? ковбаса
Прикметник? Зелений
Дієслово? грати
Іменник? олівець
Як вас звати? Сергій
Дурна історія, автор Сергій.
Якось, зовсім недавно, я побачив,
що кіт збирається йти вниз по сходах.
Я зрозумів, що його метою стала моя кухня,
щоб малювати там до тих пір, поки не
вийде ковбаса.
Раптом кіт став зелений, через те,
що я почав грати в олівець.
Кінець.
Розділ 6. Порівняння, порівняння, порівняння
Комп'ютер чудово порівнює вираження. У цьому розділі ми вивчимо як порівнювати два вирази, як працювати з комбінованими умовами і як виконувати ті чи інші оператори в залежності від результатів порівняння. Ми також навчимося генерувати випадкові числа.
6.1. Істина і брехня
Мова BASIC-256 має ще один спеціальний тип даних, який може зберігатися в числових змінних. Це булевий (логічний) тип. Результатом порівняння або логічних операцій є логічні значення істина або брехня. Для полегшення роботи, в виразах можна використовувати дві логічні константи: true (істина) і false (брехня).
True і false
Дві булеві (логічні) константи true і false можуть бути використані в
будь-якому числовому або логічному вираженні, але, як правило, є результатом порівняння або логічних операцій. Насправді, константа true зберігається у вигляді числа один (1), а false – у вигляді числа нуль (0).
6.2. Оператори порівняння
Раніше ми обговорили основні арифметичні операції, а зараз настав час поглянути на деякі додаткові оператори. Нам часто потрібно порівняти два значення в програмі, щоб вирішити що робити далі. Оператор порівняння працює з двома значеннями і повертає істину або брехня в залежності від результату порівняння (див. Таблицю 6.1).
Таблиця 6.1: Оператори порівняння
| Оператор | Операція |
| < | Менше вираження1 < вираженіе2 Повертає істину, якщо вираження1 менше вираженія2 і брехня в протилежному випадку |
| <= | Менше або дорівнює вираження1 <= вираженіе2 Повертає істину, якщо вираження1 менше або дорівнює вираженію2 і брехня в іншому випадку |
| > | Більше вираження1> вираженіе2 Повертає істину, якщо вираз більше вирази 2 і брехня в іншому випадку |
| >= | Більше або дорівнює вираження1> = вираженіе2 Повертає істину, якщо вираз більше або дорівнює вираженію2 і брехня в іншому випадку |
| = | Так само вираження1 = вираженіе2 Повертає істину, якщо вираз дорівнює висловом 2 і брехня в іншому випадку |
| <> | Не дорівнює вираження1 <> вираженіе2 Повертає істину, якщо вираз не дорівнює вираженію2 і брехня в інакше |
< <= > > = = <>
Шість операцій порівняння, це: менше (<), менше або дорівнює (<=), більше (>), Більше або дорівнює (> =), так само (=), не дорівнює (<>). Вони використовуються для порівняння чисел і рядків. Рядки порівнюються за алфавітом зліва направо. Ви також можете використовувати дужки для угруповання операцій.
6.3. Простий вибір - оператор if
|
Оператор if (якщо) може використовувати результат порівняння для вибіркового виконання оператора або блоку операторів. Перша програма цієї глави (програма 28) використовує три оператора if, щоб показати ми знали що ви старше, мають однаковий вік або молодше свого друга (див. Блок-схему на малюнку 6.1).
Мал. 6.1. Порівняємо два віку - блок-схема
іf умова then оператор
Якщо умова істинно, то виконується оператор, що знаходиться за словом then.
6.4. Випадкові числа
Коли ми розробляємо гри та симулятори, може виникнути необхідність імітувати гральні кістки, роботу рулетки в казино і інші випадкові події. BASIC-256 має вбудований генератор випадкових чисел, який зробить це для нас.
rand
Оператор rand повертає випадкове число, яке можна використовувати в вираженні. Отримане число буде в діапазоні від нуля до одиниці, але ніколи не буде рівним одиниці (0 ≤ n <1).
Якщо ви хочете генерувати випадкові цілі числа від 1 до r, використовуйте такий вираз: n = int (rand * r) + 1.
Програма 29. Кидаємо монетку.
1 # coin flip .kbs - кидаємо монету
2 coin = rand
3 if coin <.5 then print "Орел."
4 if coin> = .5 then print " Решка."
Приклад виведення програми 29. Кидаємо монетку.
Решка.
У програмі 29 у вас, можливо, була спокуса використовувати rand двічі, всередині кожного if. Це створило б то, що називають "логічна помилка". Запам'ятайте, що кожен раз, коли виконується rand, він повертає різні випадкові числа.
6.5 Логічні оператори
Іноді необхідно з'єднати разом кілька простих умов. Це може бути зроблено за допомогою чотирьох логічних операторів: and (і), or (або), xor (який виключає або) і not (заперечення). Логічні оператори діють подібно спілкам в природній мові, тільки or (або) використовується в значенні "одна подія, або інше, або обидва разом" (див. Таблицю 6.2. Логічні оператори).
Таблиця 6.2: Логічні оператори
| Оператор | Операція |
| AND | логічне І вираження1 AND вираженіе2 Якщо обидва вирази істинні, тоді і результат буде істинним, в іншому випадку він буде хибним |
| OR | логічне Або вираження1 OR вираженіе2 Якщо вираз 1 або вираз 2 правдиві, то результат буде істинним, якщо обидва хибні – хибним. |
| XOR | 0+0=0, 0+1=1, 1+0=1, 1+1=0. Додавання за модулем 2. |
| NOT | логічне заперечення NOT вираз Повертає протилежне значення. якщо вираз істинно, результат буде брехня, якщо помилково – істина. |
and, or, xor, not
Чотири логічних оператора: логічні і (and), логічне або (or), додавання за модулем 2 або (xor) і логічне заперечення (not) дозволяють з'єднувати або змінювати вирази порівняння.
Ви також можете використовувати дужки для угруповання операцій.
6.6. Оператор вибору в більш складній формі – If / End If
Коли ми пишемо програми, іноді виникає необхідність виконати декілька операторів, якщо умова істинна. Це можна зробити, використовуючи альтернативний формат оператора if. В цьому випадку ви не розміщуєте оператори на одному рядку з if. . . then, а ставите їх нижче – наступного, один або кілька (по одному в кожному рядку), закриваючи блок конструкцією end if.
if умова then
оператор (и) # виконується, якщо умова істинна
End if
Оператор if /end if дозволяє створити блок програмного коду, який виконується, якщо умова істинна. Як правило, оператори всередині такого блоку пишуться з деяким відступом, щоб було зручніше читати код.
Програма 30. Кидаємо (гральні) кістки.
1 # dice. kbs - кидаємо (гральні) кістки
2 die 1 = int (rand * 6) + 1
3 die 2 = int (rand * 6) + 1
4 total = die 1 + die 2
5
6 print "кістка 1 =" + die1
7 print "кістка 2 =" + die2
8 print "у вас випало" + total
9 say "у вас випало" + total
10
11 if total = 2 then
12 print "очі змії!"
13 say "очі змії!"
14 end if
15 if total = 12 then
16 print "опівночі!"
17 say "опівночі!"
18 end if
19 if die1 = die 2 then
20 print "дубль - кидай знову!"
21 say "дубль - кидай знову!"
22 end if
Приклад виведення програми 30. Кидаємо (гральні) кістки.
кістка 1 = 6
кістка 2 = 6
у вас випало 12
опівночі!
дубль - кидай знову!
Правка" → "Гарний код" в меню
Пункт "Гарний код" в меню "Правка" відформатує вашу програму, зробивши її більш зручною для читання. Будуть видалені прогалини на початку і кінці рядків і зроблені відступи для блоків коду (як в операторі if / end if).
Програма 30. Кидаємо (гральні) кістки після виконання команди Гарний вигляд меню Правка.
# dice. kbs - кидаємо (гральні) кістки
die1 = int (rand * 6) + 1
die2 = int (rand * 6) + 1
total = die1 + die2
print "кістка 1 =" + die1
print "кістка 2 =" + die2
print "у вас випало" + total
say "у вас випало" + total
if total = 2 then
print "очі змії!"
say "очі змії!"
end if
if total = 12 then
print "опівночі!"
say "опівночі!"
end if
if die1 = die2 then
print "дубль - кидай знову!"
say "дубль - кидай знову!"
end if
end
6.7. Оператор вибору в повній формі – If / Else / End If
Третя і остання форма оператора if – це if / else / end if. Ця повна форма, яка дозволяє створити один блок коду, який буде виконаний, якщо умова істинна, і інший блок коду, який буде виконаний, якщо умова помилкова.
if умова then
оператор (и) # виконуємо, якщо умова істинна
else
оператор (и) # виконуємо, якщо умова помилкова
end if
Оператори If, else і end if дозволяють визначити два блоку програмного коду. Перший блок, після слова then, виконується, якщо умова істинна, а другий блок, після слова else, виконується, якщо умова помилкова.
Оператори If, else і endif дозволяють визначити два блоку програмного коду. Перший блок, після слова then, виконується, якщо умова істинна, а другий блок, після слова else, виконується, якщо умова помилкова. Програма 31 – переписана програма 29 з використанням else.
Програма 31. Кидаємо монетку з використанням else.
1 # coin flip 2 - кидаємо монетку, використовуючи else
2 coin = rand
3 if coin <.5 then
4 print "Орел."
5 say "Орел."
6 else
7 print "Решка."
8 say "Решка."
9 end if
6.8. Вкладені оператори вибору
І останнє. Оператори if / end if і if / else / end if можна вкладати один в одного. Можливо, звучить важкувато, але в наступних розділах ви побачите як це відбувається.
Програма 32. Вкладений оператор IF ..end
# Три фомули
input "Х=", X
Print "X=" + X
If X<0 Then
Y=Sin(X)
else
If X>5 then
Y=Cos(X)
else
Y=X^2
endif
endif
end
Розділ 7. Цикли і лічильники
До сих пір наші програми після старту виконували крок за кроком інструкції та завершували свою роботу. Поки це добре працювало для простих програм, однак здебільшого при програмуванні виникають завдання, що вимагають повторень або роботи з лічильником, або і те й інше разом. У цьому розділі ми розглянемо три види оператора циклу, освоїмо режим швидкої графіки, і навчимося уповільнювати виконання програми.
Цикл For
Найбільш поширений вид оператора циклу – це for. Цикл for повторює блок операторів вказане число раз, відстежуючи значення лічильника. Лічильник циклу може починатися з будь-якого значення і завершуватися будь-яким значенням, крок збільшення лічильника також може бути будь-яким.
Програма 33 – простий приклад використання циклу for, друкує і промовляє цифри від 1 до 10 (включно). Програма 34 вважає за 2, починаючи з нуля і закінчуючи 10.
Програма 33.
# for .kbs
for t = 1 to 10
print t;
say t
next t
Робота програми 33: 12345678910
Програма 34. Друкує і промовляє цифри 0, 2, 4, 6, 8, 10.
# forstep2 .kbs
for t = 0 to 10 step 2
print t;
say t
next t
Робота програми 34: 0246810
for лічильник = вираз1 to вираз2 [step вираз 3]
оператор (и)
next лічильник
Виконує певний блок коду вказане число раз. Змінна лічильник починає зі значення вираження1. Після кожного виконання блоку операторів лічильник збільшується на значення вираз3 (або на одиницю, якщо крок – так перекладається англійське слово step – невідомий). Цикл припиняється, коли значення лічильника перевищить значення вираз2.
Використовуючи цикл, можна легко малювати дуже цікаві картинки. Програма 35 малює муаровий узор1. Це дійсно цікаве зображення виникає тому, що комп'ютер не в змозі намалювати абсолютно пряму лінію2. Оскільки малювання відбувається по точках (пікселям), лінія під нахилом виглядає як драбинка. І якщо ви уважно подивитеся на лінії, які ми намалювали, то побачите, що вони на самому справі зубчасті.
Програма 35. Муаровий візерунок.
1 # moire . kbs
2 clg
3 color black
4 for t = 1 to 300 step 3
5 line 0, 0, 300, t
6 line 0, 0, t, 300
7 next t
Дата добавления: 2016-03-10; просмотров: 1051;
