СПО в российских школах

Команда ALT Linux рассказывает о внедрении свободного программного обеспечения в школах России
Апрель 18, 2011

Программирование в Gambas. Урок 1

Методические материалы
Автор: Владимир Черный

Недавно мы закончили публикацию книги по BASIC-256. К сожалению, аналогичных материалов по Gambas 2 нет, точнее есть одна хорошая книга, но на испанском… Кто бы перевел!? Сегодня мы начинаем публиковать несколько уроков по Gambas, подготовленных Олегом Чебан из г. Киселевск Кемеровской области. Олег уже опубликовал 3 урока на своем сайте, но из-за конструкции сайта не могу дать точную ссылку.
Если кто-то имеет опыт по работе с Gambas и хочет поделиться — пишите, присылайте свои статьи или ссылки на свои странички.

Олег Чебан, г. Киселевск, Кемеровской обл.

Урок 1. Переменные в Gambas.

Тип урока: Занятие по овладению новыми знаниями. Демонстрация.
Цель урока:

  1. Приобрести навыки именования переменных по венгерской системе.
  2. Познакомить учащихся с основными типами данных.
  3. Управляющие конструкции языка Gambas.
  4. Определить область действия переменных.

Ход урока:
1. Венгерская система именования переменных.
Имена переменных рекомендуют использовать составные, во избежания пересечений с зарезервированными константами (cos, sin, len, file..). Первое слово прописью (преимущественно указывается тип данных), второе с заглавной буквы. Такую систему именования переменных называют еще — венгерской1.

Пример 1.1. Именование переменных:

  • intX — переменная X типа integer;
  • strNameFile — переменная строкового типа (String);
  • fltY — переменная действительного (вещественного) типа (Float);
  • vntRezultat — переопределяемый тип по ходу выполнения программы (Variant);
  • blnLog — логическая переменная, тип boolean и т.д.2

Пример 1.2. Именование элементов меню:

  • mnuHelp — Содержание;
  • mnuExit — Выход их программы;
  • mnuAbout — О программе и т.д..

2. Типы данных в Gambas.
Табл. 1. Основные типы данных Gambas

Тип Диапазон Описание Колич. байт
1 Byte от 0 до 255 Хранение натуральных чисел 1
2 Short от –32768 до 32767 Хранение целых чисел 2
3 Integer от –2147483648 до 2147483643 —//— 4
4 Float Экспоненциальное представление числа: 1.23 Е +02, или 1.23*10^2 Хранение действительных чисел с точностью до 13 знаков 8
5 Variant —//— Переопределяемый тип по ходу выполнения программы: текстовый в числовой и обратно. 8
6 Boolean True и False Хранение переменных логического типа 2
7 Date Dim
dtmD, dtmT as date
dtmD=date(now)
dtmT=time(now)
Хранение даты и времени 8
8 String Хранение символов По 2 байта на символ

Пример 2. Переменные целого типа.

Dim A AS byte ‘определить А как переменную типа BYTE.
DIM B[8] AS integer ‘определить переменную B как массив из 8 элементов целого типа.
        ‘Нумерация начинается с нуля.

В Gambas конструирование графического интерфейса и программирование основано на использовании программных объектов (содержащих свойства и методы), и действий пользователя — событий.

2.1. Объект это существительное. То, что мы видим на экране это объекты.

Пример 2.1. Объекты:

  • Form1 — Форма, на которой устанавливаются другие объекты.
  • Label1 — Надпись – окно для вывода текста.
  • Textbox1 — Окно для ввода текста.
  • Button1 — Кнопка для запуска событийных процедур.
  • Listbox1 — Окно для вывода списка строк.
  • Picturebox1 — Окно для вывода картинок. Форматы файлов JPEG, PNG, BMP, GIF, XPM. Рисовать в этом окне нельзя!
  • Drawingarea1 — Область для рисования.
  • Timer1 — Счетчик времени. Служит для запуска процедур через определенный интервал времени.

2.2. Свойства – это прилагательные.
Они характеризуют объект. Каждый класс объектов обладает определенным набором свойств. Их значения уже установлены автоматически при установке объекта на форму. Но Вы их можете менять.

Пример 2.2.
Свойства:

  • NAME — Имя объекта.
  • Text — Значение надписи на объекте.
  • Backcolor — Цвет фона окошка.
  • Font — Шрифт. Имеет дополнительное меню свойств ( шрифт, начертание, размер букв).
  • Size – Размер.
  • Backcolor — Цвет фона объекта.
  • Text – Текст.

Для каждого свойства нужно указать объект, к которому оно относится. Например, Label1.Backcolor = 65280, или label1.Backcolor=green ‘зеленый цвет

2.3. Методы это глаголы. Компьютер может выполнять различные действия над объектами.

У каждого объекта свои допустимые методы обработки данных. Методы имеют аргументы, которые позволяют задавать параметры выполняемых действий. Параметры указывают в круглых скобках после имени метода. Пишем объект, ставим точку — появляется список методов и свойств данного объекта. Методы – зеленые, свойства – синие. Выбираете нужный метод. Ставите скобку ‘(‘ появляется подсказка – список параметров и их типы.

Пример 2.3. Методы.

  • Clear – Очистить. Например: Textbox1.clear()
  • Hide — Скрыть объект (сделать невидимым). Label1.hide()
  • Show – Показать. Label1.show()
  • Delete — Удалить
  • Refresh — Перерисовать.
  • Resize — Изменить размер
  • Setfocus — Установить фокус. (переместить курсор в это окно)
  • Move — Переместить в новое место.
  • Add — Добавить строку.
  • Lover — Переместить в самый нижний слой.
  • Raise — Переместить в самый верхний слой.

2.4. События — это действия пользователя при выполнении программы.
Если курсор находится над объектом, то пользователь может выбрать из 17 разных способов действий. А программист может написать 17 программ реакции на эти события, если объект допускает над собой эти события.

Пример 2.4. События.

  • Click – Одинарный щелчок по левой кнопки мыши.
  • DblClick — Двойной щелчок.

Табл. 2. Основные команды языка Gambas.


КомандаНазваниеПример

1

=

Оператор присвоения
A=3.14 ‘переменной A
присвоить значение Пи
2 IF <условие>
    THEN<действие 1>
    ELSE<действие 2>
ENDIF

Условный оператор
IF x<=0
THEN
    n=n+1
    k=k+1
ELSE n=n-1
ENDIF
‘В Gambas нет операторных скобок!
3 SELECT CASE <действие 1>
    CASE<действие 2>
    CASE<действие 3>
    CASE ELSE<действие 4>
END SELECT
Оператор выбора SELECT CASE x
    CASE 1,2
        n=1
    CASE 3
        n=3
    CASE ELSE
        n=0
END SELECT
4 FOR <начальное значение>
TO <конечное значение>
STEP <шаг>
NEXT
Цикл с параметром FOR i=0 TO 9 STEP 2
    s=s+i
NEXT
5 WHILE <условие>
WEND
Цикл с предусловием WHILE i<10
    s=s+i
    i=i+1
WEND
6 REPEAT<действие>
UNTIL <условие>
Цикл с постусловием REPEAT
    s=s+i
    i=i+1
UNTIL i<10
7 DO WHILE <условие>
LOOP

Аналогичен циклу с предусловием
DO WHILE i<10
    s=s+i
    i=i+1
LOOP

3. Область действия переменных.

Диапазон действий подразумевает видимость переменной, процедуры или объекта другим процедурам в программе.В Gambas возможны два диапазона:

  • глобальный — видим всем процедурам во всех модулях проекта;
  • локальный — переменная видна лишь содержащей ее процедуре.

Локальные переменные объявляются в теле процедуры, глобальные — в модуле.

———
1Венгерская система именования переменных очень удобна программисту, когда «с первого взгляда» понятен тип переменной. (Прим. редактора.)
2Мне как-то более привычно делать однобуквенные префиксы: i,s,f,v,b, впрочем, это дело вкуса. (Прим. редактора.)

Комментарии (13) к “Программирование в Gambas. Урок 1”

  1. На страницах сайте Любохонской школы (http://lybohna2005.narod.ru/Kopilka/gambas.htm) имеются решения четырёх задач по Gambas.

  2. Вот книгу на английском еще нашел: http://www.linuxinet.com/go/gambas_beginner_guide.pdf

  3. Сергей говорит:
    Апрель 19, 2011, 7:45 дп

    http://gambas-t.narod.ru
    На этом сайте есть все необходимое для разработки уроков в Gambas по УМК Угриновича (9 класс). Требуется минимальная доработка.

  4. Сергей говорит:
    Апрель 19, 2011, 8:12 дп
  5. Владимир Черный говорит:
    Апрель 19, 2011, 10:17 дп

    Петр! Это книжка по Gambas версии 1, а я говорю про версию 2, которая в дистрибутиве!

  6. Владимир, еще есть: Getting Started with Gambas Version 2: A Tutorial, 2006 год. Достаточно объемное руководство,к сожалению ссылку дать не могу. Не знаю, на сколько оно еще актуально..

  7. oleg говорит:
    Апрель 19, 2011, 5:36 пп

    Давным-давно (конец 90-х), в кемеровском институте усовершенствования учителей практиковали опыт коллективного издания, когда методист ИУУ выступал в роли редактора, а учителя в роли авторов. Так, например, был издан неплохой сборник задач по программированию, причем задачи разбирались на 4-х языках: Си, Паскаль, Бейсик и КуМир.
    Можно и нам попробовать? :)

  8. Что-то я испанского текста не нашел, по приведенной ссылке только обложки. Не там смотрел ?
    P.S. А pdf по BASIC 256 будет ?

  9. Владимир Черный говорит:
    Апрель 22, 2011, 9:56 дп

    Олег, замечательная идея! О ней давно всем известно, но очень сложно народ на это подвигнуть. У нас даже есть для этого ресурсы: altlinux.org и moodle.altlinux.ru.
    Короче, было бы желание, а я с удовольствием помогу с размещением, редактированием или, возможно подготовкой сборника.

  10. Владимир Черный говорит:
    Апрель 22, 2011, 9:58 дп

    Да, конечно, скоро будет pdf полной книги.

  11. Уточните ссылку на испанскую книжку о Gambas.

  12. http://ibone.org.ua/gambas — очень много очень полезной информации по Gambas.

  13. Владимир Черный говорит:
    Апрель 29, 2011, 10:04 дп

    2bsdlinux, Задали вы задачку про «испанскую» книжку.
    Делаем так:
    http://www.google.ru/search?q=Gambas+-+Programacion+Visual+Con+Software+Libre&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox

    После чего можно найти http://www.megaupload.com/?d=6WKZYFPB
    и http://www.mediafire.com/?3mnnqzonifm
    Дерзайте, ссылки пока живые

Оставьте комментарий