Примеры команд КОНЦЕПТ
Дата: 23.05.2014
Раздел 1. Обработка строк
1) Нумерация символов в строке начинается с 1.
2) Если попытаться извлечь из строки символ/подстроку из позиции за пределами строки, то будет возвращено значение <???>.
3) Чтобы в качестве параметра команды указать пустую строку, нужно указать ''.
4) Чтобы в качестве параметра команды правильно указать терминальную строку, содержащую символ пробел
или начинающуюся с символа [,( или ", то ее нужно заключить в одиночные кавычки ''.
Например: 'строка с пробелом'.
5) Чтобы в качестве параметра команды правильно указать терминальную строку, содержащую символ ',
ее можно заключитить в двойные кавычки. При этом, внутри нельзя использовать символы [ и ].
Например: "Гостиница 'Москва'".
6) Нужно соблюдать осторожность при обработке строк, содержащих коды, начинающиеся с символа #.
Пример 1. Преобразование символов к верхнему регистру (прописные буквы)
Программа:
строка прописные а 'аБвГд'
>[а]
Результат:
АБВГД
Пример 2. Преобразование символов к нижнему регистру (строчные буквы)
Программа:
строка строчные а 'аБвГд'
>[а]
Результат:
абвгд
Пример 3. Преобразование строки символов к имени собственному (начинается с прописной буквы)
Программа:
присвоить исходная_строка 'аБвГд'
строка прописные первая_буква (строка копировать $результат [исходная_строка] 1 1 )
строка строчные последующие_буквы (строка удалить $результат [исходная_строка] 1 1 )
строка сцепить а [первая_буква] [последующие_буквы]
>[а]
Результат:
Абвгд
Пример 4. Сцепление (конкатенация) строк
Программа:
строка сцепить а Париж ' - ' 'столица Франции' .
>[а]
Результат:
Париж - столица Франции.
Пример 5. Выделение подстроки символов из строки
Программа:
строка копировать а 'Париж - столица Франции.' 9 7
>[а]
Результат:
столица
Пример 6. Удаление подстроки символов из строки
Программа:
строка удалить а 'Париж - столица Франции.' 16 8
>[а]
Результат:
Париж - столица.
Пример 7. Вставка подстроки символов в строку (с раздвижкой исходной строки)
Программа:
строка вставить а 'Париж - столица Франции.' 8 ' это'
>[а]
Результат:
Париж - это столица Франции.
Пример 8. Поиск подстроки символов в строке
Программа:
* Если подстрока не найдена, то результат 0
строка найти а 'Париж - столица Франции.' столица
>[а]
Результат:
9
Пример 9. Замена подстроки символов в строке
Программа:
* Замена слова 'столица' на слово 'город'
присвоить исходная_строка 'Париж - столица Франции.'
строка найти позиция [исходная_строка] столица
если [позиция] > 0
строка удалить а [исходная_строка] [позиция] (строка размер $результат столица )
строка вставить а $ [позиция] город
конец
>[а]
Результат:
Париж - город Франции.
Пример 10. Определение длины (размера) строки символов
Программа:
строка размер а 'Париж - столица Франции.'
>[а]
Результат:
24
Пример 11. Выделение символа в заданной позиции строки
Программа:
строка взять а 'Париж - столица Франции.' 5
>[а]
Результат:
ж
Пример 12. Вставка подстроки в заданную позицию с заменой символов в строке
Программа:
строка присвоить а 'Париж - столица Франции.' 9 ГОРОД
>[а]
Результат:
Париж - ГОРОДца Франции.
Пример 13. Выделение последнего символа строки
Программа:
строка последний а 'Париж - столица Франции.'
>[а]
Результат:
.
Пример 14. Поиск первого вхождения любого символа из подстроки, начиная с позиции начала исходной строки
Программа:
строка найтиСимволы а 'Париж - столица Франции.' 'ФфЦц' 1
>[а]
Результат:
14, т.к. это первое вхождение какого-либо символа из подстроки 'ФфЦц' в исходную строку
Пример 15. Пропуск в строке всех символов из подстроки, начиная с позиции начала исходной строки
Программа:
* Находит первое вхождение Ф
строка пропуститьСимволы а 'Париж - столица Франции.' '- Париж' 1
>[а]
Результат:
9, т.к. в этой позиции исходной строки впервые появляется символ, который не содержится в подстроке '- Париж'
Пример 16. Замена в исходной строке всех символов из одной строки на соответствующие символы из другой строки
Программа:
* Все гласные в строке будут заглавными буквами
строка заменитьСимволы а 'Париж - столица Франции.' 'ПФаио' 'пфАИО'
>[а]
Результат:
пАрИж - стОлИцА фрАнцИИ.
Пример 17. Удаление в строке всех заданных символов
Программа:
* Удаление всех гласных букв из строки
строка заменитьСимволы а 'Париж - столица Франции.' 'аио' ''
>[а]
Результат:
Прж - стлц Фрнц.
Пример 18. Замена в исходной строке всех вхождений заданной подстроки
Программа:
строка заменитьПодстроку а 'Париж - столица Франции, а Берлин - столица Германии.' столица город
>[а]
Результат:
Париж - город Франции, а Берлин - город Германии.
Пример 19. Удаление обрамляющих пробелов
Программа:
строка отсечьПробелы а ' АБВ '
>[а]
Результат:
АБВ
Пример 20. Преобразование строки символов в строку кодов
Программа:
строка коды а АБВ123
>[а]
Результат:
&?1040&?1041&?1042&?0049&?0050&?0051
Пример 21. Замена в исходной строке всех кодов на символы
Программа:
* Код начинается с симовла &? за которым обязательно следует 4 цыфры
строка символы а 'А&?1041&?1042&?0049&?00503'
>[а]
Результат:
АБВ123
Пример 22. Преобразование строки к списку символов
Программа:
* !!! Внимание, если строка содержит символы ;{}, то может быть сформирован неправильный список !!!
строка кСписку а АБВ123
>[а]
Результат:
А;Б;В;1;2;3
Пример 23. Преобразование строки к списку слов (лексем)
Программа:
* !!! Внимание, если строка содержит символы ;{}, то может быть сформирован неправильный список !!!
строка кСпискуСлов а 'Париж - столица Франции.'
>[а]
Результат:
Париж;-;столица;Франции;.
Пример 24. Сопоставление строки с шаблоном (извлечение подстрок из строки по заданному шаблону)
Программа:
строка сопоставить успешно 'Париж - столица Франции.' "[?город]; - столица ;[?страна];."
>Успешно:[успешно] Город: [город] Страна: [страна]
Результат:
Успешно:1 Город: Париж Страна: Франции
Пример 25. Генерация строки, состоящей из повторения заданной строки
Программа:
строка реплицировать а 'АБВ123 ' 3
>[а]
Результат:
АБВ123 АБВ123 АБВ123
Пример 26. Разбиение строки
Программа:
строка разбить а 'Москва-Париж-Берлин' '-'
>[а]
Результат:
Москва;Париж;Берлин
Пример 27. Фильтрация символов в строке
Программа:
* Оставляем только заглавные буквы и дефис
строка фильтр а 'Москва-Париж-Берлин' 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЭЮЯ-'
>[а]
Результат:
М-П-Б
Пример 28. Инвертирование строки
Программа:
строка инвертировать а 12345
>[а]
Результат:
54321
Раздел 2. Вычисления
1) Дробную часть в числах можно отделять как точкой, так и запятой. Например: 1,25 или 1.25.
2) Значения 0, '' (пустая строка), {} (пустой список) и <???> (неопределенное значение)
интерпретируются как ЛОЖЬ, все остальные - как ИСТИНА.
Пример 1. Сложение чисел
Программа:
вычислить + а 1,05 2.05 3.05
>[а]
Результат:
6,15
Пример 2. Вычитание чисел (из первого числа)
Программа:
вычислить - а 7 1 2,3 3
>[а]
Результат:
0,7
Пример 3. Умножение чисел
Программа:
вычислить * а 1 2 3.5 4.5
>[а]
Результат:
31,5
Пример 4. Деление чисел (первое число делится на все последующие)
Программа:
вычислить / а 36 2 3 4
>[а]
Результат:
1,5
Пример 5. Целочисленное деление
Программа:
вычислить делитьЦелое а 15 7
>[а]
Результат:
2
Пример 6. Остаток от целочисленного деления
Программа:
вычислить остаток а 15 7
>[а]
Результат:
1
Пример 7. Логическое И
Программа:
вычислить и а 1 1 0
>[а]
Результат:
0
Пример 8. Логическое ИЛИ
Программа:
вычислить или а 1 1 0
>[а]
Результат:
1
Пример 9. Логическое НЕ
Программа:
вычислить не а 1
>[а]
Результат:
0
Пример 10. Проверка равенства чисел
Программа:
вычислить = а 2 2,0
>[а]
Результат:
1
Пример 11. Проверка неравенства чисел
Программа:
вычислить <> а 2 2,0
>[а]
Результат:
0
Пример 12. Проверка, что первое число больше второго
Программа:
вычислить > а 2 2
>[а]
Результат:
0
Пример 13. Проверка, что первое число больше или равно второму
Программа:
вычислить >= а 2 2
>[а]
Результат:
1
Пример 14. Проверка, что первое число меньше второго
Программа:
вычислить < а 2 2
>[а]
Результат:
0
Пример 15. Проверка, что первое число меньше или равно второму
Программа:
вычислить <= а 2 2
>[а]
Результат:
1
Пример 16. Проверка равенства строк
Программа:
вычислить == а 2 2,0
>[а]
Результат:
0
Пример 17. Проверка неравенства строк
Программа:
вычислить != а 2 2,0
>[а]
Результат:
1
Пример 18. Округление числа
Программа:
* Отрицательный параметр задает округление дробной части: -1 до десятых, -2 до сотых т.д.
вычислить округлить а 1111,2888 -2
>[а]
Результат:
1111,29
Пример 19. Округление числа
Программа:
* Положительный параметр задает округление целой части: 1 до десатков, 2 до сотен и т.д.
вычислить округлить а 1111,2888 2
>[а]
Результат:
1100
Пример 20. Проверка, что аргументом является целое положительное число или 0
Программа:
вычислить являетсяЧислом а 1.1
>[а]
Результат:
0
Пример 21. Проверка, что аргументом является целое положительное число или 0
Программа:
вычислить являетсяЧислом а 5
>[а]
Результат:
1
Пример 22. Синус угла (угол задается в радианах)
Программа:
вычислить синус а 1
>[а]
Результат:
0,841470984807897
Пример 23. Косинус угла (угол задается в радианах)
Программа:
вычислить косинус а 1
>[а]
Результат:
0,54030230586814
Раздел 3. Множества
1) Элементы множества разделяются ;. Например: А;Б;В;Г;Д
2) Пустое множество обозначается как {}
3) Отдельная строка символов является множеством из одного элемента. Например, строка 'Ваня и Таня' - множество из одного элемента
4) В множестве учитываются только уникальные элементы. Повторяющиеся элементы в множестве
учитываются как один. Например, следующие множества равны: Б;А;Б;А;В и В;Б;А;В;В
Пример 1. Пересечение 3-х множеств
Программа:
множество и а А;Б;В В;Г;Д В;Д
>[а]
Результат:
В
Пример 2. Объединение 3-х множеств
Программа:
множество или а А;Б;В В;Г;Д Е
>[а]
Результат:
А;Б;В;Г;Д;Е
Пример 3. Разность множеств
Программа:
множество разность а А;Б;В;Г;Д А;Б Г
>[а]
Результат:
В;Д
Пример 4. Исключающее ИЛИ множеств
Программа:
множество либо а А;Б;В А;Б;Г;Д
>[а]
Результат:
В;Г;Д
Пример 5. Проверка равенства множеств
Программа:
множество == а А;Б Б;Б;А;А
>[а]
Результат:
1
Пример 6. Проверка неравенства множеств
Программа:
множество != а А;Б Б;Б;А;А
>[а]
Результат:
0
Раздел 4. Время
1) Формат даты: ДД.ММ.ГГГГ
Пример 1. Вычисление даты через заданное количество дней от заданной
Программа:
* Можно задавать и отрицательное число в качестве последнего аргумента
время дата а 01.01.2012 7
>[а]
Результат:
08.01.2012
Пример 2. Определение количествв дней между заданными датами
Программа:
время разностьДат а 20.01.2012 15.01.2012
>[а]
Результат:
5
Пример 3. Проверка, что значение является датой
Программа:
время являетсяДатой а 20.01.2012
>[а]
Результат:
1
Пример 4. Проверка, что значение НЕ является датой
Программа:
время являетсяДатой а 20012012
>[а]
Результат:
0
Пример 5. Определение дня недели по дате
Программа:
время деньНедели а 07.01.2012
>[а]
Результат:
Суббота
Раздел 5. Работа со стеком
1) Стек реализует механизм обработки элементов в обратном порядке "первым поступил-последним обработан".
2) Количество элементов в стеке содержится в системной переменной $КоличествоВСтеке.
3) Значение элемента, находящегося на вершине стека, можно получить через системную переменную $ВершинаСтека.
Если стек пуст, то значение переменной $ВершинаСтека будет <???>.
Пример 1. Очистка стека
Программа:
стек поместить 1 2 3
стек очистить
>Количество элементов в стеке = [$КоличествоВСтеке]
Результат:
Количество элементов в стеке = 0
Пример 2. Помещение данных в стек
Программа:
стек поместить А Б В Г Д
>Количество элементов в стеке = [$КоличествоВСтеке], на вершине стека: [$ВершинаСтека]
Результат:
Количество элементов в стеке = 5, на вершине стека: Д
Пример 3. Извлечение данных из стека
Программа:
стек поместить 1 2 3 4 5
стек извлечь переменная1 переменная2 переменная3
>[переменная1] [переменная2] [переменная3]
Результат:
5 4 3
Пример 4. Печать данных из стека
Программа:
стек поместить 1 2 3 4 5
стек печать
Результат:
5
4
3
2
1
Раздел 6. Обработка списков
1) Элементы списка разделяются символом ;.
2) Пустой список обозначается как {}.
3) Нумерация элементов в списке начинается с 1.
4) Если попытаться извлечь из списка элемент из позиции за пределами списка, то будет возвращено значение <???>.
5) Списки могут быть вложенными. Вложенный список заключается в {}.
Например: 1;2;{А;Б};4;5, А;Б - вложенный список.
6) К списку могут быть применены любые команды обратки строк. При этом список интерепретируется как строка.
Например, команда строка строчные РЕЗУЛЬТАТ а;б;в, даст результат А;Б;В.
7) Если элементы списка содержат пробелы, то список нужно заключить в ''.
Например: 'а 1;б 2;в 3'.
8) Если терминальные элементы списка содержат символы ;{}, то их необходимо заменить на соответсвующие #-коды.
Например, список из двух элементов А;Б и {В} должен быть записан как А#0059Б;#0123В#0125.
Пример 1. Определение длины (размера, количества элементов) списка
Программа:
список размер а 1;2;3;{4;5;6}
>[а]
Результат:
4
Пример 2. Сцепление (конкатенация) списков
Программа:
список сцепить а 1;2 3;{4;5} {6;7};8
список размер размер_а [а]
>Результирующий список = "[а]", а его размер = [размер_а] элементов.
Результат:
Результирующий список = "1;2;3;{4;5};{6;7};8", а его размер = 6 элементов.
Пример 3. Добавление элемента в конец списка
Программа:
список присоединить а 1;2;3 4;5
>[а]
* Обратить внимание: так как добавляемый элемент является списком, то он заключается в {} в результирующем списке.
Результат:
1;2;3;{4;5}
Пример 4. Выделение "головы" (первого элемента) списка
Программа:
список голова а 5;4;3;2;1
>[а]
Результат:
5
Пример 5. Выделение "хвоста" спискаВыделение "хвоста" списка
Программа:
список хвост а 5;4;3;2;1
>[а]
Результат:
4;3;2;1
Пример 6. Выделение последнего элемента списка
Программа:
список последний а 5;4;3;2;1
>[а]
Результат:
1
Пример 7. Извлечение элемента списка по номеру
Программа:
список взять а 5;4;3;2;1 2
>[а]
Результат:
4
Пример 8. Установка значения элемента списка
Программа:
список присвоить а 5;4;3;2;1 2 'новый 2-ой элемент'
>[а]
Результат:
5;новый 2-ой элемент;3;2;1
Пример 9. Выдление подсписка из списка
Программа:
список копировать а А;Б;В;Г;Д 2 3
>[а]
Результат:
Б;В;Г
Пример 10. Вставка списка в исходный список
Программа:
список вставить а А;Б;В;Г;Д 3 э;ю;я
>[а]
Результат:
А;Б;э;ю;я;В;Г;Д
Пример 11. Удаление подсписка в исходном списке
Программа:
список удалить а А;Б;В;Г;Д 2 3
>[а]
Результат:
А;Д
Пример 12. Замена всех вхождений элемента в список
Программа:
список заменитьЭлементы а А;а;Б;б;В;в;А;а А ООО
>[а]
Результат:
ООО;а;Б;б;В;в;ООО;а
Пример 13. Удаление всех вхождений элемента в список
Программа:
список удалитьЭлементы а А;а;Б;б;В;в;А;а А
список удалитьЭлементы а [а] Б
>[а]
Результат:
а;б;В;в;а
Пример 14. Преобразование списка к множеству
Программа:
список кМножеству а В;В;А;Б;В;А;А;Б
>[а]
Результат:
А;Б;В
Пример 15. Формирование списка терминалов
Программа:
список терминальные а А;{А;Б;{В;В;Г}};Д;А
>[а]
Результат:
А;А;Б;В;В;Г;Д;А
Пример 16. Формирование множества элеменов, встречающихся в списке более одного раза
Программа:
список повторяющиеся а Е;А;А;Б;В;Г;Д;А;Е
>[а]
Результат:
А;Е
Пример 17. Формирование списка из декартова произведения строк списков
Программа:
список произведение а 3;2;1 А;Б
>[а]
Результат:
3А;3Б;2А;2Б;1А;1Б
Пример 18. Попарное сцепление строк списков
Программа:
список сцепитьПары а 3;2;1 А;Б;В;Г
>[а]
Результат:
3А;2Б;1В
Пример 19. Генерация множества целых чисел из заданного интервала
Программа:
список сгенерить а 1 12
>[а]
Результат:
1;2;3;4;5;6;7;8;9;10;11;12
Пример 20. Случайный выбор элемента из списка
Программа:
список выбратьСлучайный а 1;2;3;4;5;6;7;8;9;10
>Выбранный случайным образом элемент = [а]
Результат:
Выбранный случайным образом элемент = 7
Пример 21. Инвертирование списка
Программа:
список инвертировать а 1;2;3;4;5
>[а]
Результат:
5;4;3;2;1
Пример 22. Сортировка списка строк по алфавиту
Программа:
список упорядочить а яблоко;груша;апельсин;слива;ананас
>[а]
Результат:
ананас;апельсин;груша;слива;яблоко
Пример 23. Сортировка списка чисел по возрастанию
Программа:
список упорядочитьЧисла а 1;-1;3;3,5;3,3;-3
>[а]
Результат:
-3;-1;1;3;3,3;3,5
Пример 24. Сортировка списка дат по возрастанию
Программа:
список упорядочитьДаты а 11.1.2010;20/12/2009;1/1/2010
>[а]
Результат:
20/12/2009;1/1/2010;11.1.2010
Пример 25. Сортировка списка списков по заданной схеме.
Программа:
* Сначала упорядочивает по вторым элементам вложенных списков, затем по первым
список упорядочитьСписки а {Б;3};{А;11};{А;3};{Б;1};{Б;2} 1S;2N
>[а]
Результат:
{А;3};{А;11};{Б;1};{Б;2};{Б;3}
Пример 26. Сопоставление списка с шаблоном и присвоение переменным из шаблона значений
Программа:
список сопоставить успешно 1;2;{3;4};5;6 "1;[?второй_элемент];[?третий_элемент];5;[?]"
память печать
Результат:
второй_элемент="2"
третий_элемент="3;4"
успешно="1"
Пример 27. Генерация списка, состоящего из повторяющихся элементов
Программа:
строка реплицировать а столбец_ 5
>[а]
Результат:
столбец;столбец;столбец;столбец;столбец
Пример 28. Поиск позиции первого вхождения элемента в список
Программа:
список найти а а;А;б;Б А
>[а]
Результат:
2
Пример 29. Отображение элемента первого списка на второй список
Программа:
список отобразить а 3 1;2;3;4;5;6;7 понедельник;вторник;среда;четверг;пятница;суббота;воскресение "в неделе только 7 дней"
>[а]
Результат:
среда
Раздел 7. Работа с файлами
1) По умолчанию, команды > и печать выводят данные в окно результата интерпретатора КОНЦЕПТ.
Для перенаправления вывода данных в файл предназначены команды файл писать и файл добавить.
2) После окончания работы программы, файлы закрываются автоматически.
3) В каждый момент времени работы программы могут быть доступны только один файл для чтения и один файл для записи.
Т.е. нельзя одновременно читать данные из нескольких файлов или записывать данные параллельно в несколько файлов.
4) При задании имени файла необходимо указывать полный путь к нему.
Для этого можно использовать встроенные переменные [$ДомашнийКаталог] (путь, откуда запущен интерпретатор, т.е. файл concept.exe) и
[$ТекущийКаталог] (путь, откуда запущена на выполнение программа КОНЦЕПТ).
Пример 1. Подсчет количества строк в тексовом файле
Программа:
* Входной файл 1.txt содержит пять строк (по одному слову в каждой строке файла): яблоко груша апельсин помидор огурец
файл читать "[$ТекущийКаталог]1.txt"
присвоить КОЛИЧЕСТВО_СТРОК 0
файл читатьСтроку СТРОКА
пока [$строкаПрочитана]
увеличить КОЛИЧЕСТВО_СТРОК
файл читатьСтроку СТРОКА
цикл
показать сообщение [КОЛИЧЕСТВО_СТРОК]
Результат:
5
Пример 2. Преобразование всех строк входного файла к верхнему регистру
Программа:
* Входной файл 1.txt содержит пять строк (по одному слову в каждой строке файла): яблоко груша апельсин помидор огурец
файл читать "[$ТекущийКаталог]1.txt"
файл писать "[$ТекущийКаталог]2.txt"
файл читатьСтроку СТРОКА
пока [$строкаПрочитана]
строка прописные СТРОКА [СТРОКА]
>[СТРОКА]
файл читатьСтроку СТРОКА
цикл
файл конецЧтения
файл конецЗаписи
показать текст "[$ТекущийКаталог]2.txt"
Результат:
ЯБЛОКО
ГРУША
АПЕЛЬСИН
ПОМИДОР
ОГУРЕЦ
Пример 3. Добавление строк в существующий файл
Программа:
* Исходный файл 1.txt содержит пять строк (по одному слову в каждой строке файла): яблоко груша апельсин помидор огурец
файл присоединить "[$ТекущийКаталог]1.txt"
>АРБУЗ
>ДЫНЯ
файл конецЗаписи
показать текст "[$ТекущийКаталог]1.txt"
Результат:
яблоко
груша
апельсин
помидор
огурец
АРБУЗ
ДЫНЯ
Пример 4. Вставка строк файла в выходной поток
Программа:
* Файл 1.txt содержит пять строк (по одному слову в каждой строке файла): яблоко груша апельсин помидор огурец
>АРБУЗ
файл вставить "[$ТекущийКаталог]1.txt"
>ДЫНЯ
Результат:
АРБУЗ
яблоко
груша
апельсин
помидор
огурец
ДЫНЯ
Пример 5.Переименование файла (создание копии файла с другим имененм, затем удаление исходного файла)
Программа:
если (файл существует $результат "[$ТекущийКаталог]1.txt" )
файл переименовать "[$ТекущийКаталог]1.txt" "[$ТекущийКаталог]2.txt"
файл удалить "[$ТекущийКаталог]1.txt"
показать сообщение "Файл переименован."
иначе
показать сообщение "Файл не найден."
конец
Результат:
Файл переименован.
Раздел 8. Рабочая память
1) Именем переменной может являться любая последовательность символов (строка), кроме пустой.
2) При указнии имени переменной в качестве параметра команды,
если имя переменной содержит пробелы или начинается с [(,
то его нужно заключить в ''.
3) Переменная создается в рабочей памяти, если в момент
присвоения она еще не существует.
4) Для получения значения переменной, необходимо указать ее имя в квадратных скобках [].
5) Если в момент обращения к значению переменной эта переменная не существует,
то интерпретатор запросит значение переменной в диалоге у пользователя.
6) Значение ??> - указывает на неопределенное значение переменной.
7) Элементы структурной переменной разделяются ;.
Пример 1. Присвоение значений переменным рабочей памяти
Программа:
присвоить а 100 б 'Добрый день!'
память печать
Результат:
а="100"
б="Добрый день!"
Пример 2. Создание и инициализация элеменов массива
Программа:
для 1;2;3;4;5
присвоить "а([$ОбъектЦикла])" [$ОбъектЦикла]
следующий
память печать
Результат:
а(1)="1"
а(2)="2"
а(3)="3"
а(4)="4"
а(5)="5"
Пример 3. Создание и инициализация структурной переменной
Программа:
для коорд_х1;коорд_у1;коорд_х2;коорд_у2
присвоить "прямоугольник;[$ОбъектЦикла]" 0
следующий
память печать
Результат:
прямоугольник;коорд_у1="0"
прямоугольник;коорд_у2="0"
прямоугольник;коорд_х1="0"
прямоугольник;коорд_х2="0"
Пример 4. Очистка рабочей памяти (удаление всех переменных)
Программа:
присвоить а 100 б 'Добрый день!'
память очистить
* Здесь уже не существует ни одной переменный, в т.ч. переменных 'а' и 'б'.
присвоить новая_перем '23.12.2012'
память печать
Результат:
новая_перем="23.12.2012"
Пример 5. Выборочное удаление переменных. Для струткурной переменной удалаются все ее переменные-элементы.
Программа:
присвоить структ;поле1 1 структ;поле2 2 другая_структ;поле1 'а' другая_структ;поле2 'б'
присвоить пер_а 1 пер_б 2
память очистить структ пер_б
память печать
Результат:
другая_структ;поле1="а"
другая_структ;поле2="б"
пер_а="1"
Пример 6. Локальные переменные, т.е. определенные и 'живущие' внутри функции.
Программа:
присвоить а 1
>До вызова функции а=[а]
ТЕСТ
>После вызова функции а=[а]
функция ТЕСТ
память локальный а
присвоить а 'это значение локальной переменной'
>Внутри функции ТЕСТ а='[а]'
возврат
Результат:
До вызова функции а=1
Внутри функции ТЕСТ а='это значение локальной переменной'
После вызова функции а=1
Пример 7. Проверка существования переменной рабочей памяти
Программа:
присвоить а 100 б 'Добрый день!'
память очистить б
память существует сущ_а а
память существует сущ_б б
>переменная 'а' существует = [сущ_а]
>переменная 'б' существует = [сущ_б]
Результат:
переменная 'а' существует = 1
переменная 'б' существует = 0
Пример 8. Копирование переменных, в том числе структурных
Программа:
присвоить чел;имя Сергей чел;возраст 25 чел;рост 182 чел;вес 70 транспорт самолет
память копировать нов_чел чел
память копировать 'вид транспорта' транспорт
присвоить нов_чел;имя Александр
память печать
Результат:
вид транспорта="самолет"
нов_чел;вес="70"
нов_чел;возраст="25"
нов_чел;имя="Александр"
нов_чел;рост="182"
транспорт="самолет"
чел;вес="70"
чел;возраст="25"
чел;имя="Сергей"
чел;рост="182"
Пример 9. Формирование списка полей (имен атрибутов) структурной переменной
Программа:
присвоить чел;имя Сергей чел;возраст 25 чел;рост 182 чел;вес 70
память поля поля_чел чел
>[поля_чел]
Результат:
вес;возраст;имя;рост
Пример 10. Создание из структурной переменной понятия в БФ
Программа:
присвоить чел;имя Сергей чел;возраст 25 чел;рост 182 чел;вес 70
память добавитьПонятие чел человек_Сергей
данные показать
Результат:
p;человек_Сергей;вес;70
p;человек_Сергей;возраст;25
p;человек_Сергей;имя;Сергей
p;человек_Сергей;рост;182
Пример 11. Обновление из структурной переменной понятия в БФ
Программа:
факт добавить p;человек_Сергей;вес;70 p;человек_Сергей;возраст;25 \
p;человек_Сергей;имя;Сергей p;человек_Сергей;рост;182
понятие свойства чел человек_Сергей
присвоить чел;вес 72 'чел;место жительства' Москва
память обновитьПонятие чел человек_Сергей
данные показать
* Обратить внимание: факт со старым весом помечен как удаленный, а факт про место жительства добавлен
Результат:
-p;человек_Сергей;вес;70
p;человек_Сергей;возраст;25
p;человек_Сергей;имя;Сергей
p;человек_Сергей;рост;182
p;человек_Сергей;вес;72
p;человек_Сергей;место жительства;Москва
Пример 12. Установка значения по умолчанию (пустая строка) полям структурной переменной
Программа:
присвоить чел;имя Сергей чел;возраст 25 чел;рост 182 чел;вес 70
память поУмолчанию чел 'возраст;место жительства;место работы;должность'
память печать
Результат:
чел;вес="70"
чел;возраст="25"
чел;должность=""
чел;имя="Сергей"
чел;место жительства=""
чел;место работы=""
чел;рост="182"
Раздел 9. Наборы фактов (данные)
1) Одновременно может быть использовано от 1 до 10 областей данных для обработки фактов.
2) В одной области данных может осуществляться обработка фактов различной структуры.
3) По умолчанию используется область данных с номером 1.
Пример 1. Параллельное использование двух независимых баз фактов (областей данных)
Программа:
присвоить ИНФ_О_ГОРОДАХ 1 ИНФ_О_СТРАНАХ 2
данные использовать [ИНФ_О_ГОРОДАХ]
факт добавить i;Москва;город i;Париж;город i;Лондон;город
данные использовать [ИНФ_О_СТРАНАХ]
факт добавить i;Росия;страна i;Франция;страна i;Великобритания;страна
ввести меню1 выбор_пользователя 'Просмотр данных:' 'Показать города;Показать страны'
выбрать [выбор_пользователя]
вариант 'Показать города'
данные использовать [ИНФ_О_ГОРОДАХ]
показать данные
вариант 'Показать страны'
данные использовать [ИНФ_О_СТРАНАХ]
показать данные
конецВыбора
Результат:
Если выбрать 'Показать города', то будет показано:
i;Москва;город
i;Париж;город
i;Лондон;город
Если выбрать 'Показать страны', то будет показано:
i;Росия;страна
i;Франция;страна
i;Великобритания;страна
Пример 2. Очистка базы фактов
Программа:
факт добавить i;Москва;город i;Париж;город i;Лондон;город
данные новый "[$ТекущийКаталог]факты1.txt"
факт добавить i;яблоко;фрукт i;груша;фрукт
данные показать
Результат:
i;яблоко;фрукт
i;груша;фрукт
Пример 3. Пример работы с базами фактов(областями данных)
Программа:
данные использовать 2
данные загрузить "[$ТекущийКаталог]факты1.txt"
данные добавить "[$ТекущийКаталог]факты2.txt"
данные добавить "[$ТекущийКаталог]факты3.txt"
данные сжать
данные индексировать
данные сохранить "[$ТекущийКаталог]все_факты.txt"
Результат:
Из трех баз фактов создается одна и сохраняется на диск.
При этом удаляются все помеченные на удаление факты.
Раздел 10. Факты
1) Обработка фактов осуществляется в областях данных.
2) Нумерация фактов начинается с 1.
3) Факт является списком и строкой, то есть к факту применимы все команды для обработки списков и строк.
Пример 1. Добавление, изменение и поиск фактов
Программа:
* Добавление новых фактов
факт добавить \
r;столица;Париж;Франция \
r;столица;Москва;Русь \
r;столица;Киев;Украина
факт взять 2ой_факт 2
>Факт №2 до изменения = [2ой_факт]
* Изменение факта с определенным номером
факт присвоить 2 r;столица;Москва;Россия
факт взять 2ой_факт 2
>Факт №2 после изменения = [2ой_факт]
* Поиск (определение) номера факта
факт найти номер_факта_столица_Италии r;столица;Рим;Италия
>Номер факта со столицей Италии до его добавления = [номер_факта_столица_Италии] (факт отсутствует)
факт добавить r;столица;Рим;Италия
факт найти номер_факта_столица_Италии r;столица;Рим;Италия
>Номер факта со столицей Италии после его добавления = [номер_факта_столица_Италии]
Результат:
Факт №2 до изменения = r;столица;Москва;Русь
Факт №2 после изменения = r;столица;Москва;Россия
Номер факта со столицей Италии до его добавления = 0 (факт отсутствует)
Номер факта со столицей Италии после его добавления = 4
Пример 2. Проверка существования и удаление фактов
Программа:
факт добавить \
r;столица;Париж;Франция \
r;столица;Москва;Русь \
r;столица;Киев;Украина
факт существует наличие_факта 2
>Наличие факта после его добавления = [наличие_факта] (истина)
факт удалить r;столица;Москва;Русь
факт существует наличие_факта 2
>Наличие факта после его удаления = [наличие_факта] (ложь)
данные показать
Результат:
Наличие факта после его добавления = 1 (истина)
Наличие факта после его удаления = 0 (ложь)
Пример 3. Поиск (выборка) фактов, включая поиск по образцу
Программа:
факт добавить \
r;столица;Москва;Россия r;город;Санкт-Петербург;Россия r;город;Владивосток;Россия \
r;столица;Париж;Франция r;город;Леон;Франция r;город;Марсель;Франция \
r;столица;Киев;Украина r;город;Ялта;Украина
факт понятие факты_с_понятием_Франция Франция
факт подстрока факты_с_буквой_у у
факт подстрокаВЛюбомРегистре факты_с_буквой_У_или_у у
факт сопоставить факты_только_столицы "r;столица;[?];[?]"
факт сопоставитьМножество факты_все_города_и_столицы "r;[?];[?название_города];[?]"
факт сопоставитьМножество факты_все_страны "r;[?];[?];[?название_страны]"
факт сопоставитьСПервым первый_факт_для_Франции "r;[?];[?];Франция"
память печать
Результат:
первый_факт_для_Франции="4"
факты_все_города_и_столицы="Владивосток;Киев;Леон;Марсель;Москва;Париж;Санкт-Петербург;Ялта"
факты_все_страны="Россия;Украина;Франция"
факты_с_буквой_у="2"
факты_с_буквой_У_или_у="2;7;8"
факты_с_понятием_Франция="4;5;6"
факты_только_столицы="1;4;7"
Пример 4. Сохранение и последующее восстановление значений переменных с использованием базы фактов
Программа:
присвоить площадь_комнат {20;15;10}
факт установитьДанные площадь_комнат_сохраненная [площадь_комнат]
* Удаление всех переменных рабочей памяти
память очистить
* Восстановление значения переменной из базы фактов
факт получитьДанные площадь_комнат площадь_комнат_сохраненная
память печать
Результат:
площадь_комнат="{20;15;10}"
Пример 5. Использование схемы отношения
Программа:
факт добавить s;город;название_города;название_страны \
r;город;Москва;Россия r;город;Санкт-Петербург;Россия r;город;Владивосток;Россия
факт получитьСхему схема_описания_городов город
факт получитьОтношение все_факты_для_отношения_город город
факт домен все_названия_городов город название_города
факт домен все_названия_стран город название_страны
факт получитьАргумент название_города_для_факта_номер_3 3 название_города
память печать
Результат:
все_названия_городов="Владивосток;Москва;Санкт-Петербург"
все_названия_стран="Россия"
все_факты_для_отношения_город="2;3;4"
название_города_для_факта_номер_3="Санкт-Петербург"
схема_описания_городов="s;город;название_города;название_страны"
Пример 6. Преобразование факта к параметрам команды
Программа:
факт добавить r;графика;круг;10;10;200;200
факт взять факт 1
факт дляВызова параметры [факт]
выполнить "рисовать [параметры]"
>Параметры команды: [параметры]
Результат:
Будет нарисован круг в заданных координатах.
Параметры команды: круг 10 10 200 200
Раздел 11. Понятия
Пример 1. Представление иерархии и свойств понятий
Программа:
факт добавить \
'i;пассажирское ТС;транспортное средство (ТС)' \
'p;пассажирское ТС;назначение;перевозка людей' \
'i;грузовое ТС;транспортное средство (ТС)' \
'p;грузовое ТС;назначение;перевозка грузов' \
'i;автобус;пассажирское ТС' \
'p;автобус;посадочных мест;более 15' \
'i;легковой автомобиль;пассажирское ТС' \
'p;легковой автомобиль;посадочных мест;до 5' \
'p;легковой автомобиль;количество колес;4' \
'p;легковой автомобиль;масса;менее 3,5 тонн' \
'i;грузовик;грузовое ТС' \
'i;ВАЗ-2109;легковой автомобиль' \
'i;ВАЗ-2109;отечественного производства' \
'p;ВАЗ-2109;привод;передний' \
'p;отечественного производства;страна производитель;Россия' \
'i;Мерседес Е220;легковой автомобиль' \
'p;Мерседес Е220;страна производитель;Германия' \
'i;некоторый_ВАЗ;ВАЗ-2109' \
'i;Иванов;человек' \
'p;Иванов;владеет автомобилем;некоторый_ВАЗ'
понятие под '1.виды_транспортных_средств' 'транспортное средство (ТС)'
понятие всеПод '2.транспортные_средства_всевозможные' 'транспортное средство (ТС)'
понятие всеПод '3.легковые_автомобили_всевозможные' 'легковой автомобиль'
понятие над '4.надклассы_ВАЗ-2109_непосредственные' 'ВАЗ-2109'
понятие всеНад '5.надклассы_ВАЗ-2109_все' 'ВАЗ-2109'
понятие свойстваВСписок '6.свойства_ВАЗ-2109_непосредственные' 'ВАЗ-2109'
понятие всеСвойстваВСписок '7.свойства_ВАЗ-2109_все' 'ВАЗ-2109'
понятие контекст '8.контекст_понятия_ВАЗ-2109' 'ВАЗ-2109'
память печать
Результат:
1.виды_транспортных_средств="грузовое ТС;пассажирское ТС"
2.транспортные_средства_всевозможные="автобус;ВАЗ-2109;грузовик;грузовое ТС;легковой автомобиль;Мерседес Е220;некоторый_ВАЗ;пассажирское ТС"
3.легковые_автомобили_всевозможные="ВАЗ-2109;Мерседес Е220;некоторый_ВАЗ"
4.надклассы_ВАЗ-2109_непосредственные="легковой автомобиль;отечественного производства"
5.надклассы_ВАЗ-2109_все="легковой автомобиль;отечественного производства;пассажирское ТС;транспортное средство (ТС)"
6.свойства_ВАЗ-2109_непосредственные="{привод;передний}"
7.свойства_ВАЗ-2109_все="{количество колес;4};{масса;менее 3,5 тонн};{назначение;перевозка людей};{посадочных мест;до 5};{привод;передний};{страна производитель;Россия}"
8.контекст_понятия_ВАЗ-2109="легковой автомобиль;некоторый_ВАЗ;отечественного производства;передний;привод"
Пример 2. Чтение свойств понятия в структурную переменную рабочей памяти
Программа:
факт добавить \
'i;пассажирское ТС;транспортное средство (ТС)' \
'p;пассажирское ТС;назначение;перевозка людей' \
'p;грузовое ТС;назначение;перевозка грузов' \
'i;легковой автомобиль;пассажирское ТС' \
'p;легковой автомобиль;посадочных мест;до 5' \
'p;легковой автомобиль;количество колес;4' \
'p;легковой автомобиль;масса;менее 3,5 тонн' \
'i;ВАЗ-2109;легковой автомобиль' \
'i;ВАЗ-2109;отечественного производства' \
'p;ВАЗ-2109;привод;передний' \
'p;отечественного производства;страна производитель;Россия'
понятие свойства 'непосредственные_свойства_ВАЗ-2109' 'ВАЗ-2109'
понятие всеСвойства 'все_свойства_ВАЗ-2109' 'ВАЗ-2109'
память печать
Результат:
все_свойства_ВАЗ-2109;количество колес="4"
все_свойства_ВАЗ-2109;масса="менее 3,5 тонн"
все_свойства_ВАЗ-2109;назначение="перевозка людей"
все_свойства_ВАЗ-2109;посадочных мест="до 5"
все_свойства_ВАЗ-2109;привод="передний"
все_свойства_ВАЗ-2109;страна производитель="Россия"
непосредственные_свойства_ВАЗ-2109;привод="передний"
Пример 3. Действия над понятиями
Программа:
факт добавить \
'p;легковой автомобиль;посадочных мест;до 5' \
'p;легковой автомобиль;количество колес;4' \
'p;легковой автомобиль;масса;менее 3,5 тонн' \
'i;ВАЗ-2109;легковой автомобиль' \
'i;ВАЗ-2109;отечественного производства' \
'p;ВАЗ-2109;привод;передний' \
'p;отечественного производства;страна производитель;Россия'
понятие переименовать ВАЗ-2109 автомобиль
понятие копировать автомобиль ВАЗ-2108
понятие удалить 'автомобиль'
понятие установитьСвойство ВАЗ-2108 'количество дверей' 2
понятие всеСвойства ВАЗ-2108 ВАЗ-2108
память печать
Результат:
ВАЗ-2108;количество дверей="2"
ВАЗ-2108;количество колес="4"
ВАЗ-2108;масса="менее 3,5 тонн"
ВАЗ-2108;посадочных мест="до 5"
ВАЗ-2108;привод="передний"
ВАЗ-2108;страна производитель="Россия"
Раздел 12. Графика
Пример 1. Круг в квадрате
Программа:
присвоить черный 1 малиновый 2 зеленый 3 коричневый 4 темно-синий 5 фиолетовый 6 бирюзовый 7 темно-серый 8
присвоить светло-серый 9 красный 10 салатовый 11 желтый 12 синий 13 маджента 14 циан 15 белый 16
присвоить $ЦветКисти [красный]
рисовать прямоугольник 100 100 400 400
присвоить $ЦветКисти [синий]
рисовать круг 100 100 400 400
присвоить $ЦветТекста [желтый]
рисовать текстВПрямоугольнике 100 100 400 400 "Круг в квадрате"
Результат:
Будет нарисован синий круг, вписанный в красный квадрат.
Пример 2. Елка
Программа:
присвоить черный 1 зеленый 3
присвоить $ЦветКисти [зеленый]
рисовать треугольник 300 100 250 200 350 200
рисовать треугольник 300 200 250 300 350 300
рисовать треугольник 300 300 250 400 350 400
присвоить $ЦветКисти [черный]
рисовать прямоугольник 290 400 310 500
Результат:
Будет нарисована елка.
Пример 3. Желтый круг на синем фоне
Программа:
присвоить синий 5 желтый 12
рисовать прямоугольник 100 100 300 300
рисовать новый
присвоить $ЦветКисти [синий]
рисовать очистить
присвоить $ЦветКисти [желтый]
рисовать круг 100 100 300 300
показать сообщение 'Это желтый круг на синем фоне.'
рисовать конец
Результат:
Будет нарисован желтый круг на синем фоне.
Пример 4. График функции y=x
Программа:
присвоить синий 13
рисовать текст 20 20 'График y=x'
рисовать линия 20 300 580 300
рисовать линия 300 20 300 580
рисовать текст 320 20 y
рисовать текст 600 290 x
рисовать присвоить 300 300
присвоить $ЦветЛинии [синий]
для (список сгенерить $результат 0 280 )
рисовать точка [$ОбъектЦикла] "-[$ОбъектЦикла]"
следующий
Результат:
Будет нарисован график.
Пример 5. Рисование многоугольника
Программа:
рисовать многоугольник 0 200 100 0 300 0 400 200
рисовать текстВПрямоугольнике 0 0 400 200 'это трапеция'
Результат:
Будет нарисована трапеция с надписью внутри.
Пример 6. Дуги, хорды, сектора
Программа:
присвоить синий 13
присвоить $ТолщинаЛинии 3 $ЦветЛинии [синий]
рисовать присвоить 10 30
рисовать дуга 0 0 200 200 200 0 0 0
рисовать текстВПрямоугольнике 0 0 200 100 дуга
рисовать присвоить 220 30
рисовать хорда 0 0 200 200 200 0 0 0
рисовать текстВПрямоугольнике 0 0 200 100 хорда
рисовать присвоить 430 30
рисовать сектор 0 0 200 200 200 0 0 0
рисовать текстВПрямоугольнике 0 0 200 100 сектор
Результат:
Будут нарисованы дуга, хорда и сектор.
Пример 7. Использование сенсоров
Программа:
функция _$ВЫБОР
показать сообщение "Выбран: [_$ВЫБОР;ОБЪЕКТ]"
возврат
рисовать очиститьСенсоры
рисовать прямоугольник 0 0 400 30
рисовать текстВПрямоугольнике 0 0 400 30 'Вариант 1'
рисовать добавитьСенсор 0 0 400 30 'Вариант 1'
рисовать прямоугольник 0 31 400 60
рисовать текстВПрямоугольнике 0 31 400 60 'Вариант 2 (не будет реагировать)'
рисовать добавитьСенсор 0 31 400 60 'Вариант 2'
рисовать прямоугольник 0 61 400 90
рисовать текстВПрямоугольнике 0 61 400 90 'Вариант 3'
рисовать добавитьСенсор 0 61 400 90 'Вариант 3'
* Удаление сенсора для 2-го варианта
рисовать удалитьСенсор 'Вариант 2'
Результат:
Будет изображено меню из 3-х пунктов, реагирующих на нажатие мыши.
Пример 8. Округлый прямоугольник.
Программа:
рисовать округлыйПрямоугольник 100 100 400 300 40 40
рисовать текстВПрямоугольнике 100 100 400 300 'это округлый прямоугольник'
Результат:
Будет нарисован прямоугольник с закрюгленными углами и с надписью внутри.
Раздел 13. Показ информации
Пример 1. Показ строкового сообщения
Программа:
показать сообщение 'Сегодня чудесный день!'
Результат:
На экране будет показано стандартное диалоговое окно с соответствующим сообщением.
Пример 2. Показ содержимого базы фактов
Программа:
факт добавить \
"i;Москва;город" "p;Москва;население в млн.чел.;10" \
"i;Санкт-Петербург;город" "p;Санкт-Петербург;население в млн.чел.;4,5" \
"i;Омск;город" "p;Омск;население в млн.чел.;1"
показать данные
Результат:
i;Москва;город
p;Москва;население в млн.чел.;10
i;Санкт-Петербург;город
p;Санкт-Петербург;население в млн.чел.;4,5
i;Омск;город
p;Омск;население в млн.чел.;1
Пример 3. Показ индекса базы фактов
Программа:
факт добавить \
"i;Москва;город" "p;Москва;население в млн.чел.;10" \
"i;Санкт-Петербург;город" "p;Санкт-Петербург;население в млн.чел.;4,5" \
"i;Омск;город" "p;Омск;население в млн.чел.;1"
показать индексДанных
Результат:
1;6
10;2
4,5;4
город;1;3;5
Москва;1;2
население в млн.чел.;2;4;6
Омск;5;6
Санкт-Петербург;3;4
Пример 4. Показ текстового файла
Программа:
показать текст "[$ТекущийКаталог]1.txt"
Результат:
В диалоговом окне будет показано содержимое текстового файла "1.txt".
Пример 5. Показ страницы HTML
Программа:
показать html "[$ТекущийКаталог]1.htm"
Результат:
Будет запущено окно WEB браузера и в нем отобразится HTML страница из файла "1.htm"
Раздел 14. Ввод информации
Пример 1. Ввод ответа да/нет/не знаю
Программа:
ввести даНет Ответ 'Завершить работу с программой?'
Результат:
Переменная Ответ получит одно из значений: 1 (да), 0 (нет), <???> (не знаю).
Пример 2. Ввод значения переменной
Программа:
ввести переменная Возраст 'Сколько Вам полных лет?'
Результат:
Переменной Возраст будет присвоено введенное пользователем значение.
Пример 3. Выбор из меню единственного значения
Программа:
ввести меню1 МойВыбор 'Что Вы хотели бы сейчас съесть?' 'Яблоко;Груша;Апельсин;Огурец;Помидор;Конфетка'
если [$УспешныйВвод]
>[МойВыбор]
конец
Результат:
В окно результата будет выведено выбранное пользователем значение.
Пример 4. Выбор из меню одновременно нескольких значений
Программа:
ввести меню2 МойВыбор 'Выберите, что относится к овощам:' 'Яблоко;Груша;Апельсин;Огурец;Помидор;Конфетка'
если [$УспешныйВвод]
>[МойВыбор]
конец
Результат:
Огурец;Помидор
Пример 5. Ввод структурной переменной с использованием формы
Программа:
ввести форма ЧЕЛОВЕК 'Введите данные о персоне:' 'Фамилия;Имя;Отчетво;Пол;Дата рождения'
если [$УспешныйВвод]
>Новая персона: [ЧЕЛОВЕК;Фамилия] [ЧЕЛОВЕК;Имя] [ЧЕЛОВЕК;Фамилия]
если [ЧЕЛОВЕК;Пол] == м
>Он мужчина и родился [ЧЕЛОВЕК;Дата рождения]
иначе
>Она женщина и родилась [ЧЕЛОВЕК;Дата рождения]
конец
конец
Результат:
Например:
Новая персона: Иванов Иван Иванович
Он мужчина и родился 16.12.1964
Раздел 15. Импорт (загрузка из внешних источников) данных
Раздел 16. Оболочка
1) В каталог с concept.exe можно поместить файл _ConceptStart_.txt
с программой КОНЦЕПТ, которая должна выполняться сразу же после запуска интерпретатора.
Это позволяет, например, настроить пункт меню Выполнить при помощи команды оболочка меню1.
Пример 1. Немедленное завершение программы concept.exe
Программа:
показать сообщение 'Нажмите кнопку для завершения программы concept.exe'
оболочка стоп
Результат:
Программа concept.exe будет немедленно завершена.
Пример 2. Добавление пользовательского пункта меню в concept.exe
Программа:
оболочка меню1 "Запустить мою программу КОНЦЕПТ" "[$ТекущийКаталог]Приветствие.txt"
Результат:
В главном меню concept.exe появтся пункт меню "Выполнить=>Запустить мою программу КОНЦЕПТ".
Пример 3. Автоматическое выполнение программы КОНЦЕПТ через заданный интервал времени
Программа:
* Содержимое файла 'Покажи время.txt'
>Сейчас: [$время]
оболочка запускатьПоТаймеру "[$ТекущийКаталог]Покажи время.txt" 10
Результат:
После запуска программы в окне результата каждые 10 секунд будет обновляться текущее время.
Пример 4. Определение синонимов для ключевых слов
Программа:
оболочка синоним рисовать нарисуй
оболочка синоним прямоугольник рамку
нарисуй рамку 10 10 200 100
* равнозначно: рисовать прямоугольник 10 10 200 100
Результат:
Будет нарисован прямоугольник.