index , prev , next

Введение

Коммерческие программисты рассматривают рекурсию в целом как забавную безделушку, в то время как специалисты по искусственному интеллекту, если можно так выразиться, живут и дышат рекурсивно. Б.Шнейдерман "Психология программирования", 1984.

Машинно-независимый алгоритмический язык рефал - РЕкурсивных Функций АЛгоритмический язык [1,2] - ориентирован на работу с символьными данными. Возможности языка рефал позволяют использовать его в таких областях, в которых использование традиционных языков программирования (Basic, Pascal, ФОРТРАН, АЛГОЛ, ПЛ-I) затруднительно,а именно:

- для произвольной обработки текстов, в частности для создания трансляторов с одних языков на другие,

- для вычислений с произвольной точностью,

- для обработки предложений на естественном языке (создание диалектов).

Простота и естественность внутренней структуры языка рефал позволяют студентам изучить этот язык и основные приемы программирования буквально за несколько занятий. Поскольку на рефале легко программируются такие задачи, как дифференцирование произвольных функций, вычисления в конечных полях и в линейных группах, то представляется заманчивым использование языка рефал при написании курсовых и дипломных работ. Примером может служить создание студентами системы КОЛИБРИ, осуществляющей вычисления в линейных группах небольших степеней.

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

Целью данного пособия является восполнение существующего пробела в учебной литературе, а также помощь в организации самостоятельной работы студентов по изучению основных элементов программирования на языке рефал.

Мы не стремились изложить язык рефал в полном объеме описания языка, которое поставляется вместе с реализацией. Дается описание того подмножества языка рефал, которое называется рефал-5 .

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

Язык рефал является машинно-независимым языком программирования, поэтому лишь в некоторых случаях упоминается реализация языка . Все примеры и упражнения даются на входном языке трансляторов рефала, в том виде, в котором они вводятся в компьютер.

index , prev , next