Читаем High Arsen Gonian Academy полностью

Принято в каждом определении нового слова после названия писать комментарий, обозначающий что слово берет со стека в качестве параметров и что оставляет на нем. Перепишем первое наше Форт-Слово:

: Hello_World ( -> ) ." Hello, World!" ; Hello_World

Так как Hello_World оставляет стек неизменным (не трогает его), то до и после стрелки пусто. Комментарий – это содержимое скобок.

Также существует второй способ комментирования кода до конца строки. Это символ – «\».

: Hello_World ( -> ) ." Hello, World!" ; Hello_World \ это программа, выводящая сообщение «Hello, World!»

Программирование самому не составляет особой сложности даже для совсем начинающих. Это вам не язык программирования С или С++. Все довольно наглядно и просто. Можно практиковать программирование онлайн или офлайн. Для первого варианта существует скрипт транслятор языка форт. Мы же будем ориентироваться на конкретный диалект – SP-Forth. Он существует для всех популярных систем (Windows, Linux).

Обычно вторая задача при обучении программированию – это написание калькулятора. В Форте калькулятор писать не нужно, так как он поддерживает основные операции изначально, правда несколько в необычном формате, которая называется обратная польская запись или постфиксная. В математике вы привыкли писать формулы в инфиксной форме типа (1+2)*5(4-5), где знак бинарной операции пишется между числами, к примеру в Лиспе сначала идёт операция, а затем операнд или операнды, а в форте наоборот, сперва мы отправляем на стек операнды, затем операция выполняет действия над ними, оставляя результат там же. Стек это просто место в памяти, поддерживаемое на аппаратном уровне, следовательно, все операции над ними выполняются очень быстро, где будет хранится наши промежуточные данные.

Так будет выглядеть работа с нашим калькулятором:

Операнд1 Операнд2 Операция. То есть вместо 1+2 в Форте мы должны написать «1 2 +».

1 2 +

Ok ( 3 )                   \ 1+2=3 в скобках – это содержимое стека

1 2 *

Ok ( 3 2 )                   \ 1*2=2 очередной результат на вершине стека

1 2 -

Ok ( 3 2 4294967295(-1) )      \ 1-2=-1 4294967295 – это без знаковый вариант числа -1

1 2 /

Ok ( 3 2 4294967295(-1) 0 )      \ 1/2=0 – это целочисленное деление, потому результат нуль

1 2 MOD

Ok ( 3 2 4294967295(-1) 0 1 )      \ остаток от деления 1/2

1 2 /MOD

Ok ( [7].. 4294967295(-1) 0 1 1 0 )      \ остаток от деления 1/2 и целая часть 1/2

Вы можете сказать программирование на питоне – гораздо богаче, возможностями и будете правы. Но Форт быстрее и в качестве первого языка программирования гораздо проще и легче его усвоить, а самое главное понятнее. Учить программирование на паскале, на мой взгляд уже не актуально. Хотя он и хорош для изучения различных алгоритмов, но это уже не современный язык программирования, со множеством избыточных конструкций и синтаксиса.

Приведем примеры программирования на SP-Forth.

: ^2 ( A -> A^2 ) DUP * . ;            \ возведение числа в квадрат

: ^3 ( A -> A^3 ) DUP DUP * * . ;            \ возведение числа в куб

: ^4 ( A -> A^4 ) DUP * DUP * . ;            \ возведение числа в четвертую степень

DUP – это слово которое просто дублирует число на вершине стека.

Возведём 5 в квадрат, для этого наберём на клавиатуре:

5 ^2

25 Ok

Получаем правильный ответ. Копировать код нужно аккуратно, так при копировании первого слова, возведения в квадрат, получаем сообщение об ошибке

: ^2 ( A -> A^2 ) DUP * . ;\ возведение числа в квадрат

^ -2003 WORD OR FILE NOT FOUND

При «Копи пасте» куда-то делись символы табуляции между «;» и комментарием, вследствие видим сообщение об ошибке, из-за нарушения синтаксиса. Наверное, это особенность системы.

Также, вместо ^2, можно слово назвать **2, в стиле python:

: **2 ( A -> A^2 ) DUP * . ;            \ возведение числа в квадрат

5 **2

25 Ok

В итоге получаем тот же ответ, но стилистика программы изменилась.

Для начала этого достаточно. Далее при решении конкретных задач, в среде программирования SP-Forth, процесс станет более понятным и осознанным.


BEGIN 1-10

Начать нашу практику программирования мы будем с задач из книги М. Э. Абрамян "1000 задач по программированию Часть I Скалярные типы данных, управляющие операторы, процедуры и функции" 2004. Автор пишет, что получить задачник можно по e-mail: mabr@math.rsu.ru или за подробностями обращайтесь к веб ресурсу ptaskbook.com. Текст задач я приводить не буду, дабы исключить плагиат. Думаю, пояснения к коду с описанием слов (функций-программ) должно быть достаточно, в противном случае обращайтесь к первоисточнику за текстом задач.

Пример 1. Итак, начнем, (для простоты вначале мы будем рассматривать все входные параметры как целые числа, далее мы перепишем код для вещественных аргументов, где об этом указано в условии задачи). Вот и решение первой задачи:

: B1 ( A -> P ) 4 * ; \ P=4*A

Перейти на страницу:

Похожие книги

Информатика: аппаратные средства персонального компьютера
Информатика: аппаратные средства персонального компьютера

Рассмотрены основы информатики и описаны современные аппаратные средства персонального компьютера. Сформулированы подходы к определению основных понятий в области информатики и раскрыто их содержание. Дана классификация современных аппаратных средств персонального компьютера и приведены их основные характеристики. Все основные положения иллюстрированы примерами, в которых при решении конкретных задач используются соответствующие программные средства.Рекомендуется для подготовки по дисциплине «Информатика». Для студентов, аспирантов, преподавателей вузов и всех интересующихся вопросами современных информационных технологий.

Владимир Николаевич Яшин

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Стив Джобс. Уроки лидерства
Стив Джобс. Уроки лидерства

Эта книга – редкая возможность увидеть Стива Джобса таким, каким его видели лишь его самые близкие сотрудники, и разгадать загадку этого легендарного человека. Это возможность понять и освоить оригинальный стиль лидерства Джобса, благодаря которому Apple стала одной из величайших компаний и смогла выпускать продукты, изменившие нашу жизнь. Автор книги, Джей Эллиот, бывший старший вице-президент компании Apple, долгое время работал бок о бок со Стивом Джобсом и сформулировал главные уроки «iЛидерства», которые помогут совершить прорыв компании любого размера и из любой отрасли. Интуитивный и творческий подход Джобса, о котором рассказывается в этой книге, позволит вам преобразить свой бизнес и свою жизнь.Для широкого круга читателей – для всех, кто хочет воспользоваться уроками выдающегося бизнес-лидера.

Виктория Шилкина , Вильям Л Саймон , Вильям Л. Саймон , Джей Эллиот

Деловая литература / Биографии и Мемуары / Публицистика / Прочая компьютерная литература / Управление, подбор персонала / Документальное / Финансы и бизнес / Книги по IT