Главная страница

Приемы программирования КОНЦЕПТ

Все представленные ниже примеры проверены и являются работающими. Тексты примеров можно копировать в окно кода интерпретатора КОНЦЕПТ и выполнять. Для запуска интерпретатора нажмите здесь.

Значения, интерпретируемые как ложь

* В КОНЦЕПТ следующие четыре значения воспринимаются как ЛОЖЬ: пустая строка, {}, 0 и <???>.
* Все остальные значения воспринимаются как ИСТИНА. 
* В командах если, пока, когда в качестве условия можно указывать подстановку. 
присвоить а {}  
если [а]  
  печать истина  
иначе  
  печать ложь  
конец

Особенность записи условий

* В командах если, пока условие можно записывать в формате: <операнд><пробел><оператор><пробел><операнд>.
* Важно, что наличие пробела(ов) является обязательным. 
присвоить А 1 Б 2  
если [А] > [Б]  
  печать 'А больше Б'  
иначе  
  печать 'А не больше Б'  
конец  

Использование встроенных переменных цикла

* В любом цикле для определены три встроенные переменные $НомерИтерации,$ОбъектЦикла,$СписокЦикла
для яблоко;груша;апельсин;банан;мандарин  
  печать "[$НомерИтерации][$ОбъектЦикла], дальше будут: [$СписокЦикла]"  
следующий

Пробел перед закрывающей ) во вложенных вызовах команд

* Перед закрывающей ) во вложенных вызовах команд обязательно должен быть один или более пробелов.
* Выделение последнего символа строки 
присвоить исходная_строка 'Москва - город герой'  
строка взять последний_симовол [исходная_строка] (строка размер $результат [исходная_строка] )
 >[последний_симовол] 

Выделение дня, месяца и года из текущей даты

строка сопоставить успешно? [$Сегодня] "[?день];.;[?месяц];.;[?год]"  
печать "Сегодня: [$Сегодня]" "День: [день]" "Месяц: [месяц]" "Год: [год]"  

Генерация двухмерной матрицы и обращение к ее элементам

присвоить индексы1 1;2;3;4;5  
присвоить индексы2 1;2;3  

* Генерация матрицы 
для строка [индексы1]  
  для столбец [индексы2]  
    присвоить "матрица;[строка];[столбец]" "[строка][столбец]"  
  следующий  
следующий  

* Печать матрицы 
для строка [индексы1]  
  для столбец [индексы2]  
    >матрица;[строка];[столбец] = [матрица;[строка];[столбец]] 
  следующий  
следующий  

Переопределение ключевых слов

* Переопределение ключевых слов 

оболочка синоним для цикл_для  
оболочка синоним следующий конец_цикла  
оболочка синоним ОбъектЦикла параметр_цикла  

оболочка синоним рисовать нарисуй  
оболочка синоним линия линию  

* Пример программы с переопределенными ключевыми словами 

Цикл_для 100;200;300;400;500  
  Нарисуй линию 20 [$Параметр_цикла] 300 300  
Конец_цикла  

Работа с файлами

* Преобразование всех символов текстового файла к верхнему регистру 

файл читать "[$ТекущийКаталог]1.txt"  
файл писать "[$ТекущийКаталог]2.txt"  

присвоить КОЛИЧЕСТВО_СТРОК 0  
файл читатьСтроку СТРОКА  
пока [$СтрокаПрочитана]  
  увеличить КОЛИЧЕСТВО_СТРОК  
  строка прописные СТРОКА [СТРОКА]  
  >[СТРОКА] 

  файл читатьСтроку СТРОКА  
цикл  

показать сообщение "Обработано [КОЛИЧЕСТВО_СТРОК] строк."  

* файлы закрываются автоматически 

Программирование в стиле ЛИСП (LISP)

печать (+ ('*' 3 3 ) ('*' 4 4 ) )  

*** напечатано будет 25, т.к. 3*3+4*4=25 
*** т.к. символ '*' используется для обозначения комментария, 
*** то ее нужно заключить в аппострофы 

* Сумма двух чисел 
функция '+' число1 число2  
  вычислить + $результат [число1] [число2]  
возврат  

* Произведение двух чисел 
функция '*' число1 число2  
  вычислить * $результат [число1] [число2]  
возврат