BASIC-256 Глава 1
Методические материалыАвтор: Владимир Черный
Предлагаем вашему вниманию перевод книги по BASIC-256. Недавно в репозиториях появилась новая версия с новыми возможностями. Поддержку пакета в репозитории ALT Linux ведет Сергей Ирюпин. Он же переводчик книги. Перевод планируется печатать по главам. Это первая.
От переводчика
BASIC-256 – это версия классического языка BASIC, созданная для обучения детей основам программирования. Использует традиционные управляющие структуры, такие как gosub, for/next и if и т.п., что помогает детям легче понять, как происходит управление выполнением программы. Имеет встроенный редактор текста программ, пошаговый отладчик, специальные окна для текстового и графического вывода.
Начал разрабатываться в 2006 году как свободная кроссплатформенная альтернатива коммерческим реализациям BASIC. Долгое время развивался слабо. В ПСПО была включена версия 0.9.2 с весьма ограниченными возможностями. C 2008 года новый разработчик, Джеймс Рено (James М. Reneau), преподаватель и программист, стал активно развивать BASIC-256. В 2010 году к разработке и переводу подключился российский программист Сергей Ирюпин (lamp@), одновременно став майнтейнером пакета BASIC-256 в ALT Linux. В мае 2010 года среди пакетов ALT Linux стала доступна версия 0.9.5. Весной 2010 года Джеймс начал писать книгу — руководство по BASIC-256, которую фактически закончил к концу июля. Затем он начал активно добавлять новые возможности — работу с базами данных, портами ввода-вывода, сетевые функции, одновременно создавая соответствующие новые главы в книге.
Вашему вниманию представляется перевод книги Джеймса Рено, описывающий работу в BASIC-256 версии 0.9.6w. Именно такая версия доступна сейчас в пакетной базе ALT Linux. Она имеет некоторые отличия от текущей версии, 0.9.6.48 (после буквы z, автор перешел на цифровое обозначение релизов), бинарную версию которой можно загрузить только для Windows. В частности, версия 0.9.6w для ALT Linux снабжена оффлайновой справкой на русском языке (начиная с 0.9.6g автор сделал справку онлайновой — в окне открывается вики раздел сайта basicbook.org). В книге много примеров, которые у автора собраны на одной странице
Глава 1: Знакомство с BASIC-256 – cкажи «Привет»1.
В этой главе вы познакомитесь со средой BASIC-256, на примере операторов print и say. Вы увидите разницу между командами, которые вы отдаете компьютеру, а также разницу между текстовыми строками и числами, которые будут использованы программой. Мы также исследуем простую математику для того, чтобы показать, насколько умен ваш компьютер. Наконец, вы узнаете, что такое синтаксическая ошибка и как ее можно исправить.
Окно BASIC-256
Окно BASIC-256 разделено на 5 секций: строка меню, панель инструментов, область текста программы, окно ввода-вывода текста, окно вывода графики (см. рис. 1).
Рисунок 1. Экран BASIC-256
Верхнее меню
Верхнее меню содержит несколько различных раскрывающихся меню. Она включает в себя: «Файл», «Правка», «Просмотр», «Старт», «Справка». Меню «Файл» позволит вам сохранять и загружать сохраненные ранее программы, печатать и выходить из BASIC-256. Меню «Правка» позволяет вырезать, копировать, вставлять текст и изображения из программы, текстового и графического окна. Меню «Просмотр» позволит просмотреть или скрыть различные окна BASIC-256. Меню «Старт» позволит выполнять и отлаживать вашу программу. Меню «Справка» покажет окно с информацией о BASIC-256, также какую версию вы сейчас используете.
Панель инструментов
Большинство пунктов меню, которые вы будете использовать, доступны на панели инструментов.
Новый – начать новую программу. | |
Открыть – загрузить сохраненную программу. | |
Сохранить – сохраняет программу на диск или USB устройство. | |
Старт – выполняет текущую программу. | |
Отладка – начинает построчное выполнение программы. | |
Шаг – при отладке – перейти на новую строку. | |
Стоп – прекращает выполнение текущую программу. | |
Отмена – отменяет последнее изменение в программе. | |
Повтор – возвращает последнее отмененное изменение. | |
Вырезать – переносит выделенный текст в буфер обмена. | |
Копировать – помещает копию выделенного текста в буфер обмена. | |
Вставить – вставляет текст из буфера обмена в необходимое место. |
Окно текста программы
Текст программы состоит из инструкций, которые указывают компьютеру, что и как нужно делать. Вы будете набирать текст программ, изменять и исправлять их код именно в этом окне, а также загружать сюда сохраненные ранее программы.
Окно ввода-вывода текста
Эта окно будет отображать вывод текста из ваших программ. Это могут быть и слова и числа. Если программа захочет задать вам вопрос, то вопрос (а также и то, что вы напечатаете в ответ) тоже появится здесь.
Окно вывода графики
BASIC-256 – это язык, умеющий управлять графикой (в дальнейшем вы это увидите). Картинки, формы и образы, созданные вами, будут отображаться в этом окне.
Ваша первая программа – оператор say
Давайте создадим компьютерную программу и посмотрим, поприветствует ли нас BASIC-256. В окне текста программы напечатайте следующую команду в одну строку:
say "Hello! Привет!"
Программа 1: Скажи привет
После того, как вы наберете эту команду, щелкните мышью по кнопке «Старт» на панели инструментов. BASIC-256 поздоровался с вами через динамики компьютера?2
Новое понятие |
say выражение Оператор say используется для того, чтобы BASIC-256 прочитал выражение вслух, в компьютерные динамики. |
Новое понятие |
«Hello! Привет!» BASIC-256 рассматривает буквы, цифры и знаки препинания, которые находятся внутри двойных кавычек, как единый блок. Этот блок называется строкой. |
Новое понятие |
«Старт» на панели инструментов или «Старт» в меню Вы должны сказать BASIC-256, когда вы хотите приступить к выполнению программы. Автоматически он не узнает, что вы закончили вводить код программы. Запустить программу на выполнение можно либо нажав на кнопку «Старт» на панели инструментов, либо выбрав пункт «Старт» в выпадающем меню. |
Для того, чтобы полностью удалить программу, в которой вы работаете и начать новую, мы используем кнопку «Новый» на панели инструментов. Нажатие этой кнопки вызовет появление следующего диалогового окна:
Рисунок 2. BASIC-256 – окно начала новой программы
Если вы действительно хотите удалить программу, нажмите кнопку «Yes». Если вы случайно нажали «Новый» и не хотите начинать другую программу, нажмите кнопку «No».
Новое понятие |
«Новый» на панели инструментов или «Файл» → «Новый» в меню Команда «Новый» сообщает BASIC-256 о том, что вы хотите удалить текущую программу и начать новую. Если вы не сохранили программу (Глава 2), то все изменения, сделанные в программе, не будут сохранены. |
Эксперимент |
Попробуйте несколько разных программ, используя оператор say. Поприветствуйте своего лучшего друга, попросите компьютер назвать ваш любимый цвет, в общем — развлекитесь. |
Оператор say также может называть числа. Попробуйте следующую программу:
say 123456789
Программа 2: Назови число
После того, как вы наберете эту команду, щелкните мышью по кнопке «Старт» на панели инструментов. Сказал ли BASIC-256 то, что вы хотели?3
Новое понятие |
числа BASIC-256 позволяет вводить числа в десятичной форме. Не используйте запятые при вводе больших чисел. Если вам нужно число меньше нуля, поставьте перед ним знак минус. Например: 1.56, 23456, -6.45 и 5. |
BASIC-256 действительно хорошо работает с числами – простая арифметика
Мозг компьютера (который называется Центральным Процессором или кратко – ЦП) работает только с числами. Все, что он делает, начиная с графики, звука и заканчивая все остальным, делается при помощи умелого обращения с числами.
Четыре основные действия: сложение, вычитание, умножение и деление приводятся в исполнение, используя операторы, показанные в Табл. 1.
Оператор | Операция |
---|---|
+ | Сложение выражение1+выражение2 |
— | Вычитание выражение1-выражение2 |
* | Умножение выражение1*выражение2 |
/ | Деление выражение1/выражение2 |
Таблица 1. Основные математические операции
Попробуйте эту программу и послушайте разговаривающий супер-калькулятор.
say 12 * (2 + 10)
Программа 3: Скажи ответ
Компьютер должен сказать вам: «144»
say 5 / 2
Программа 4: Скажи другой ответ
Сказал ли компьютер «2.5»?
Новое понятие |
+ — * / ( ) Четыре основных математических оператора: сложение (+), вычитание (-), деление (/) и умножение (*) работают с числами для выполнения вычислений. Числа должны быть по обе стороны этих операторов. Вы также можете использовать круглые скобки» (» и «)» для группировки операций. |
Эксперимент |
Попробуйте написать несколько коротких программ, используя оператор say, а также четыре основные математические операции. Обязательно используйте все четыре операции. |
Другое использование + (конкатенация)
Оператор + также соединяет строки. Эта операция называется конкатенация. Конкатенация добавляет строку к строке, как вагоны в составе поезда, чтобы сделать её длиннее.
Давайте попробуем:
say "Привет " + "Сергей."
Программа 5: Скажи «Привет, Сергей»
Компьютер должен поприветствовать Сергея.
Попробуем другую программу.
say 2 + " жды два - четыре"
Программа 6: Сказать «Дважды два — четыре»
Оператор + в последнем примере был использован для объединения, потому что второй операнд является строкой и компьютер не знает
как выполнить математическое действие со строкой (поэтому — «конкатенация»).
Новое понятие |
+ (конкатенация) Другое применение знака плюс (+), — сказать компьютеру выполнить конкатенацию (объединение) строк. Если одно или оба операнда — строки, будет выполнена конкатенация; если оба операнда — числа, произойдет их сложение. |
Эксперимент |
Попробуйте несколько разных программ, используя команду say и оператор + (конкатенации). Соединяйте строки и числа вместе с другими строками и числами. |
Окно ввода-вывода текста — оператор print
Программы, использующие say, могут быть очень полезными и развлекающими, но часто бывает необходимо написать информацию (слова и числа) на экране так, чтобы их можно было прочесть. Эту задачу выполняет оператор print. В окне для ввода текста программы наберите программу из двух строк:
print "привет"
print "всем"
Программа 7: напечатать «привет», «всем»
После того, как вы наберете текст этой программы, щелкните мышкой по кнопке «Старт» на панели инструментов. В окне для ввода-вывода текста появятся слова: «привет» на первой строке и «всем» — на второй.
Новое понятие |
print выражение print выражение; Оператор print используется, чтобы отображать текст и числа в окне ввода-вывода текста BASIC-256. Напечатав что-либо, print переходит на новую строку, но можно напечатать несколько знаков в одной и той же строке, используя ; (точку с запятой) в конце выражения. |
Оператор print по умолчанию действует так, что последующий текст оказывается на новой строке. Если вы используете ; (точку с запятой) в конце выводимого выражения, то последующие выводимые знаки останутся на этой же строке.
cls
print "Привет ";
print "вам, ";
print "мои друзья."
Программа 8: Несколько print выводят в одну строку
Новое понятие |
cls Оператор cls стирает всю информацию в окне ввода-вывода текста.4 |
Эксперимент |
Попробуйте разные программы, используя оператор print. Используйте слова, числа, математику и конкатенацию. |
Что такое «Ошибка синтаксиса»?
Программисты – обычные люди и иногда совершают ошибки. «Ошибка синтаксиса» – один из видов ошибок, с которыми мы можем столкнуться. Такая ошибка возникает, когда BASIC-256 не понимает программу, которую вы набрали. Обычно синтаксические ошибки вызваны неправильным написанием операторов (команд), пропущенными запятыми, ненужными пробелами, незакрытыми кавычками, непарными скобками. BASIC-256 сообщит вам, в какой строке находится ошибка и даже попытается сказать, в какой позиции строки её можно найти.
—————————
1В оригинале «say Hello». Во всех учебниках программирования принято начинать изучение языка с вывода на экран фразы «Hello World», автор обыгрывает этот момент в заголовке. (прим. переводчика)
2Оператор say появился в версии 0.9.4. Если вы используете BASIC-256 в ALT Linux, для работы say необходимо установить пакет espeak (консольной командой от root: apt-get install espeak или с помощью Synaptic). В противном случае вы ничего не услышите. При работе в Windows английские слова будут проговариваться без необходимости установки дополнительных программ, русские — нет. (прим. разработчика)
3Если вы работаете в ALT Linux и пакет espeak установлен, вы услышите: «сто двадцать три миллиона четыреста пятьдесят шесть тысяч семьсот восемьдесят девять», — на русском языке. При работе с Windows (без установки дополнительных программ) цифры будут называться только на английском языке. (прим. разработчика)
4Каждый раз, при запуске программы для исполнения, окно ввода-вывода текста очищается автоматически. (прим. разработчика)
Ноябрь 12, 2010, 5:10 пп
Здравствуйте, курс для начального знакомства со средой хороший, спасибо. Подскажите, где можно взять Basic 256?
Ноябрь 12, 2010, 5:35 пп
Он входит в ПСПО (4.0), в Альт Линукс 5.0 Школьный. Просто обновите. Если вдруг не установлен, подключите нужный репозиторий и установите через synaptic пакет basic256 (basic256-0.9.6-alt1.rpm)
Какой у Вас дистрибутив установлен?
Ноябрь 12, 2010, 8:17 пп
При использовании оператора say хорошо произносится английский текст и цифры, а русский текст не звучит. Как устранить этот недотаток?
Ноябрь 13, 2010, 10:19 дп
Татьяна, вы читали второе примечание?
«Оператор say появился в версии 0.9.4. Если вы используете BASIC-256 в ALT Linux, для работы say необходимо установить пакет espeak (консольной командой от root: apt-get install espeak или с помощью Synaptic). В противном случае вы ничего не услышите. При работе в Windows английские слова будут проговариваться без необходимости установки дополнительных программ, русские — нет. (прим. разработчика)»
У вас проблема в произнесении русского текста в линукс? Под какой ОС?
Ноябрь 14, 2010, 7:45 дп
Татьяне: Видимо, у вас linux-версия 0.9.5. К сожалению, она также не способна проговаривать русский текст. Обновитесь до версии 0.9.6.
Ноябрь 16, 2010, 10:00 дп
Добрый день. В Мастере 5 после набора 2-3 команд программа зависает. Пробовали Win-вариант через WINE. То же самое. Скачали архив basic256_n.n.nx.tgz версии 0.9.5. Не раскрывается. Обновление через Сизиф приведёт к непредсказуемому сносу части приложений. Что делать? Как всё-таки с этой программой работать (что желательно, далеко не везде используются визуалы»)?
Ноябрь 16, 2010, 10:30 дп
Выграненко: какие конкретно команды набирали? Мастер 5 — какой? с KDE, GNOME или XCFE? Какую версию BASIC-256 использовали?
Ноябрь 16, 2010, 6:50 пп
Операционная система Windows. версия BASIC-256 — 0.9.5. Спасибо за предоставленную возможность познакомиться подробнее с работой в среде BASIC-256 , ждём следующих материалов, так как в интернете по BASIC-256 мало информации. Мы нашли разработку уроков только на сайте Алгоритмы и исполнители, а нам, учителям, перегруженным разными нововведениями, нужна поддержка и методическая помощь.
Ноябрь 17, 2010, 8:36 дп
Сергею Ирюпину: Команды любые, иногда достаточно input. Мастер 5 тот, что в коробке, с KDE, конечно. BASIC тот, что встроен в этот дистр. Про загрузку Win-exe в WINE я написал ошибочно. Такой финт работает нормально, этим и пользуемся пока.
Ноябрь 17, 2010, 8:38 дп
Татьяне: посмотрите практику по алгоритмизации в нашем учебнике, она вся через BASIC-256, http://www.iiikt.narod.ru
Ноябрь 17, 2010, 10:34 дп
Выграненко: вариант с wine — неудачное решение. Виндовая версия не имеет встроенной русскоязычной справки, не может «проговаривать» русские слова. Скачайте по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/p5/branch/files/i586/RPMS/basic256-0.9.6-alt0.M50P.1.i586.rpm обновленный пакет BASIC-256 для Вашего дистрибутива и установите его командой (от рута): rpm -Uhv basic256-0.9.6-alt0.M50P.1.i586.rpm
Татьяне: разумеется, я рекомендую Вам использовать BASIC-256 под ALT Linux. А уж если пытаетесь работать с его виндовым вариантом, скачайте самую последнюю версию с сайта basic256.org. Версия 0.9.5 уже не актуальна и не все примеры из книги будут в ней работать.
Ноябрь 17, 2010, 10:44 дп
Выграненко: установил у себя (на свой тестовый ноутбук) Мастер 5, скачал и установил обновленный пакет BASIC-256 — работает без всяких зависаний. Дерзайте!
Ноябрь 18, 2010, 6:50 пп
Вот, вот об этом электронном учебнике и речь. Удобен,экономит время — это находка для учителя. Многие практические берём из этого учебника. Обязательно будем использовать эти уроки по алгоритмизации. У нас в школе установлен терминал. Операционная система Windows,linux программист не смог установить. BASIC-256 пока не устанавливали в школе, пробую дома,нравится, начиная от дизайна и т. д.. Будет ли он работать в терминальной версии компьютерного класса?
Ноябрь 19, 2010, 6:14 дп
Татьяне: linux не смог установить? плохой у вас программист, значит. Ну да ладно. В терминальной версии, конечно будет работать. Если, разумеется, ваш «программист» осилит его установку 😉 Самую свежую версию с сайта http://www.basic256.org/ скачали?
Ноябрь 19, 2010, 3:14 пп
Свежую версию скачала, русский текст не проговаривается. А устанавливать linux пробовали трое программистов. Эпопея с установкой длилась с июля по середину сентября. Что только не пробовали. На сервер установка шла, а на остальные компьютеры нет. Теперь два компьютерных класса. В одном используется linux, а в другом — терминальном Windows. Но дети, наши золотые, дорогие, всё воспринимают легко. Им, по-моему, интересно всё новое.
Ноябрь 19, 2010, 11:59 пп
Русский текст в win-версии BASIC-256 не проговаривается и вряд ли будет проговариваться, поскольку, если не ошибаюсь, в Windows отсутствует «русский голос» для соответствующего синтезатора речи. А вот в Linux такой голос — есть. По поводу установки Linux — за этот год мы с нашей командой проставили ALT Linux более чем в 2х десятках школ Ростова-на-Дону. И каждый раз с неизменным успехом. Так что уж не знаю, что у вас там за «программисты»…
Декабрь 7, 2010, 2:16 пп
Скажите, а как установить Basic 256 в Mandriva 2010?
Декабрь 7, 2010, 2:37 пп
Влад, мандрива это rpm-based дистрибутив, так что самый последний совет в разделе «как установить» (см главы 4 и 5 http://freeschool.altlinux.ru/?p=3569) — для вас, но лучше поищите бэйсик в репозитории мандривы.
Январь 8, 2011, 2:41 пп
Владимир, я пытался установить Basic 256 через rpm пакет, но пишет, что некоторые пакеты Basic не могут быть установлены из-за неудовлетворенности libQtCore.so.4(CXX3)). Данный пакет и Basic в репозиториях Мандривы отсутствует. Что еще посоветуете? Не менять же на всех компах мандриву на убунту.
Январь 8, 2011, 8:43 пп
Влад, выход один: попросить собрать пакет для Mandriva на форуме edumandriva.ru.
Январь 9, 2011, 1:29 дп
Влад, возьмите бейсик из репозитория автора там есть скомпилированная версия… Но перевода у вас скорее всего не будет.
Февраль 24, 2011, 3:54 пп
жаль колонок нет на рабочих местах…
попробовала вспомнить «хорошо забытое старое»
сгорела на input & data
хорошо класс разумный, пошли сразу в циклы
с заполнением по формуле от индекса
массивы и матрицы понятней всего на нём
хорошо, что Вы есть, спасибо!
Февраль 4, 2013, 4:18 дп
русский текст не проговаривается. linux 12.04. basic256 версия 0.9.6.66-1