WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Вызов функции по определению.

(Семинар №7 29.03.2006)

А. П. Немытых1, *

1 Институт программных систем РАН

Кроме вызова функции по имени, то есть через указание имени

данного определения функции, а не самого определения, синтаксис РЕФАЛа

позволяет определить функцию непосредственно в точке её вызова, если

обращение к такой функции в программе происходит лишь один раз. Начиная с этого места нашего изложения мы выходим за рамки базисного РЕФАЛа.

1. БЛОКИ Вызов функции по определению иногда бывает удобен с точки зрения прозрачности исходного текста программы. Напомним, что в базисном РЕФАЛе определение функции имеет вид последовательности предложений, заключённой в фигурные скобки;

а имя функции ставится перед её определением:

FunctionName { sentence1 ;

.........

sentencen ;

}, где левая и правая части предложений разделены знаком равенства. Таким образом, определение само по себе (без имени) есть:

{ sentence1 ;

.........

sentencen ;

} * Electronic address: [email protected] Если мы хотим определить функцию непосредственно в точке её вызова, то вместо имени функции (его у нас теперь нет) мы пишем сам текст определения, а аргументы этого вызова пишем перед фигурной скобкой, открывающей данное имя, отделив их от скобки знаком двоеточия :. Непосредственно за вызовом функции по определению всегда ставится точка с запятой ;. Например, вызов ’abcd’ (e.x) : { e.y (e.y) = True;

e.y (e.z) = False;

};

определяет совпадает ли значение переменной e.x со строкой ’abcd’, а вызов (e.x) : { e.y (e.y) = True;

e.y (e.z) = False;

};

определяет совпадает ли значение результата вызова (по имени) функции F со значением переменной e.x.

Теперь мы расширим понятие РЕФАЛ предложения: кроме предложений допускаемых базисным РЕФАЛом, введём предложения, в которых левая часть отделяется от правой части запятой (а не знаком равенства, как в базисном, РЕФАЛе). Мы потребуем, чтобы в этом случае в правой части предложения (после запятой) обязательно стоял один вызов функции по определению, и только он.

Естественно, мы допускаем вызовы по определению внутри любого определения – поименованного или непоименованного.

Пример №1: Следующая функция S-Type определяет какого типа символ подан ей в качестве аргумента и сообщает об ошибке, если аргумент не является РЕФАЛсимволом. Мы предварительно, используя встроенную функцию Lower, преобразуем все прописные буквы имени данного символа в строчные.

S-Type { s.x, : { True = Letter;

False = Other;

};

e.y = "Wrong argument: " e.y;

} BelongsTo { s.x (e.y s.x e.z) = True;

s.x (e.y) = False;

} Letters { = ’abcdefghijklmnopqrstuvwxyz’ ’абвгдеёжзийклмнопрстуфхцчшщъыьэюя’;

} Заметим, что =. Причина сего в том, что ’f’ есть символбуква, а f есть символ-слово, имя которого состоит из одной буквы.

Рассмотрим общий вид РЕФАЛ предложения с вызовом функции по определению:

pattern, argument : { sentence1 ;

.........

Множество переменных, входящих в образец pattern, может пересекаться с множеством переменных входящих в некоторое предложение sentencei. Например, t.x e.y, : { Здесь первые два предложения (функции, вызванной по определению) содержат в левых частях переменные из образца t.x e.y основного предложения (вызывающего функцию по определению), а третье предложение содержит в правой части переменные из того же образца. Как понимать такую ситуацию? Какой смысл приписать подобному синтаксису? Семантика подобного синтаксиса в РЕФАЛе следующая: значения всех переменных, которые определились до запятой, РЕФАЛ машина подставляет и в аргумент, и в само определение вызова функции по определению; и только после этого вычисляет указанный вызов (естественно, предварительно вычислив его аргументы).

Следовательно, в третьем предложении нет синтаксической ошибки, ибо в момент вызова оно превратится в, где e.y0 и t.x0 конкретные данные (константы) – значения переменных e.y и t.x.

Пример №2: Следующая функция a-z { e.1 ’a’ e.2, e.2: { выделяет первое вхождение в данном тексте строки, начинающейся на ’a’ и кончающейся на ’z’. В последнем предложении мы экранировали две одинарные кавычки символом \, так как они заключены в другую пару одинарных кавычек.

Задача 1 Рассмотрим другое определение функции из примера №2:

a-z-1 { e.1 ’a’ e.2 ’z’ e.3 = (e.1) ’a’ e.2 ’z’ (e.3);

Объясните, почему определение a-z более эффективно, чем определение a-z-1 (то есть РЕФАЛ данное d0 такое, что время вычисления вызова будет значительно меньше времени вычисления вызова )?

Вызов функции по определению в РЕФАЛе принято называть блоком. Присутствие блока в определении функции F приводит к неопределённости понятия шага РЕФАЛ машины при исполнении F: шаг функции F ещё не завершился, а уже внутри него начинают вычисляться вызовы функции, готовящие аргументы – входные данные для блока, да и сам блок вычисляется до окончания рассматриваемого шага функции F.

Задача 2 Провести пошаговый просмотр выполнения программы из примера № посредством отладчика. Понять и объяснить какое действие РЕФАЛ машины отладчик воспринимает за шаг РЕФАЛ-5 машины. Изучить поведение отладчика на последовательность команд p act; com res;.

Задача 3 Глубину пустого выражения положим равной нулю. Глубина Depth РЕФАЛ-символа также, по определению, равна нулю. Depth((e.d)) = 1+Depth(e.d).

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

Задача 4 В данном РЕФАЛ-выражении (со скобками) уничтожить первое вхождение символа ’a’, если таковое существует.

Задача 5 Даны две конечные неубывающие последовательности макроцифр.

Построить неубывающую последовательность, элементами которой являются все элементы (включая их кратные вхождения) двух данных последовательностей.

Задача 6 Нарисовать ёлочку на экране компьютера средствами псевдографики.

Высота ёлочки должна быть равна высоте экрана.

Задача 7 Дана конечная последовательность макроцифр x1 = 1, xn+1 = 1 + xn.

Построить все различные перестановки данной последовательности.

Задача 8 Дана симметрическая группа перестановок Sn. Придумать представление элементов этой группы во множестве данных РЕФАЛа и реализовать групповые операции умножения и построения элемента обратного к данному элементу.

Задача 9 Рассмотрим полугруппу по умножению квадратных матриц размера nn, состоящих из целых чисел. Придумать представление элементов этой полугруппы как данных РЕФАЛа и реализовать операцию умножения двух матриц.



Похожие работы:

«Некоммерческая организация Ассоциация московских вузов ФГОУ ВПО Московский государственный агроинженерный университет им. В.П.Горячкина Факультет Энергетический Кафедра Электротехнологии в с.х. производстве (ЭТСХП) Утверждаю: Декан факультета В.И. Загинайлов 2010 г. Научно-образовательный материал Специализированная образовательная программа по повышению квалификации специалистов промышленных предприятий города, учреждений социальной сферы (колледжей и техникумов) и методическое обеспечение...»

«РАЗРАБОТАНА УТВЕРЖДЕНА Ученым советом Аграрного Кафедрой Агроинженерии, факультета мелиорации и агроэкологии 10.02.2014, протокол №5 13.03.2014, протокол №6 ПРОГРАММА ВСТУПИТЕЛЬНОГО ИСПЫТАНИЯ для поступающих на обучение по программам подготовки научнопедагогических кадров в аспирантуре в 2014 году Направление подготовки 35.06.01 Сельское хозяйство Профиль подготовки 06.01.02 Мелиорация, рекультивация и охрана земель Астрахань – 2014 г. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА В данной программе представлены...»

«Программы для развития ключевых управленческих компетенций сентябрь 2011 — август 2012 Главное — авторский состав. Обучайтесь у лучших. Мы положили в основу нашего подхода простую идею: Обучайтесь у лучших Мы находим таланты, общепризнанных экспертов по каждой теме. Да, они стоят дорого, их трудно привезти, на их программах вам придется реально вкладываться и работать. Но, поверьте нашему опыту, результат того стоит! >100 Известных бизнес-тренеров, консультантов, экспертов Урала, России и...»

«Деловая программа 17 Московского международного Салона изобретений и инновационных технологий Архимед-2014 Международный Университет Изобретателя Число, время и место проведения Название мероприятия Организаторы мероприятия 31 марта 2014г. Дирекция Салона Регистрация участников, завоз экспонатов на выставку 9:00 - 18:00 КВЦ Сокольники Павильон №4 КВЦ Сокольники 1 апреля 2014г. Дирекция Салона Регистрация участников, гостей Салона и 9:00-10: представителей СМИ Бюро информации Пав. № КВЦ...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования учреждение высшего профессионального образования РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТУРИЗМА И СЕРВИСА Ереванский филиал Кафедры туризма и сервиса БАКАЛАВРСКАЯ РАБОТА на тему: Разработка механизмов оптимизации работы служб гостиницы Алик г. Цахкадзор по направлению подготовки:100200.62 Туризм Студентка Тамара Мгеровна Абраамян...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФГБОУ ВПО Кемеровский государственный университет Новокузнецкий институт (филиал) Факультет информационных технологий РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ ЕН.Ф.5 Теория систем и системный анализ для специальности 080801.65 Прикладная информатика (в экономике) Новокузнецк 2013 г. Сведения о разработке и утверждении рабочей программы дисциплины Рабочая программа дисциплины ЕН.Ф.5 Теория систем и системный анализ федерального компонента цикла ЕН...»

«Приложение 1 к приказу № _ от Государственное образовательное учреждение высшего профессионального образования Российский университет дружбы народов УТВЕРЖДАЮ Проректор РУДН А.Н.Кирсанов. 2011г. УЧЕБНАЯ ПРОГРАММА Основные направления международной деятельности ВУЗа на современном этапе (наименование программы) Цель: повышение квалификации. Категория слушателей: сотрудники международных служб образовательных учреждений, административно-управленческий персонал, профессорскопреподавательский...»

«ОПОП-270802-51-О-Н-2013 ОПОП-270802-51-О-Н-2013 МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Краснокутский зооветеринарный техникум - филиал Федерального государственного бюджетного образовательного учреждения высшего профессионального образования Саратовский государственный аграрный университет имени Н.И. Вавилова УТВЕРЖДАЮ Введено в действие с 20_г. Директор Краснокутского зооветеринарного техникума – филиала ФГБОУ ВПО Саратовский ГАУ _П.И. Осипов _ _ 2013 г. Номер внутривузовской...»

«Федеральное государственное образовательное учреждение высшего профессионального образования МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМЕНИ М.В. ЛОМОНОСОВА Филологический факультет М.Ю. Сидорова, Н.В. Николенкова РУССКИЙ ЯЗЫК И КУЛЬТУРА РЕЧИ Программы дисциплины Учебно-методический комплекс Москва Издательство Доброе слово 2014 УДК =161.1 С 34 Сидорова М.Ю., Николенкова Н.В. Русский язык и культура речи. Программы дисциплины. Учебно-методический комплекс. — М.: Издательство Доброе слово, 2014. —...»

«Институт экранных искусств Факультет творческих Санкт-Петербургский государственный экранных профессий университет кино и телевидения Отделение дополнительного образования Учебный киновидеоцентр СДЕЛАЙТЕ ПРАВИЛЬНЫЙ ВЫБОР! ИНСТИТУТ ЭКРАННЫХ ИСКУССТВ СЕГОДНЯ Подготовка бакалавров и специалистов по программам высшего профессионального образования осуществляется на факультете творческих экранных профессий (ФТЭП). Факультет довольно молод. Двадцать лет назад началась подготовка будущих...»

«Педагогико-психологические и медико-биологические проблемы физической культуры и спорта, №2(19) 2011 ISSN 2070 4798 УДК 615.825.1: 371.72 ОПТИМИЗАЦИЯ ФУНКЦИОНАЛЬНОГО СОСТОЯНИЯ УЧАЩИХСЯ СПЕЦИАЛЬНЫХ МЕДИЦИНСКИХ ГРУПП С ВЕГЕТОСОСУДИСТОЙ ДИСТОНИЕЙ СРЕДСТВАМИ ФИЗИЧЕСКОЙ КУЛЬТУРЫ С.В. Титов – аспирант Поволжская государственная академия физической культуры, спорта и туризма Набережные Челны OPTIMIZATION OF THE FUNCTIONAL CONDITION OF SPECIAL MEDICAL GROUPS’ PUPILS WITH VEGETATIVE VASCULAR DYSTONIA BY...»

«Приложение №1 к Постановлению Администрации Таштагольского городского поселения от 05.10.2010г. № 34-п Муниципальная целевая программа Поддержка малого и среднего предпринимательства в Таштагольском городском поселении на 2010-2012 годы ПАСПОРТ муниципальной целевой программы Поддержка малого и среднего предпринимательства в Таштагольском городском поселении на 2010-2012 годы Наименование Муниципальная целевая программа Поддержка программы малого и среднего предпринимательства в Таштагольском...»

«Майя Ревия РУССкИЙ ЯЗЫк IX класс книга для учителя Майя Ревия РУССкИЙ ЯЗЫк IX класс книга для учителя rekomendebulia erovnuli saswavlo gegmebisa da Sefasebis centris mier. Редакторы Лали Бакрадзе Татьяна Чеишвили-Москаленко Дизайн и вёрстка Нино Гурули © Издательство Диогене, 2008 Все права защищены ISBN 978-9941-11-026-9 Издательство Диогене, Тбилиси, ул. кекелидзе, 6. Тел.: 95 63 94, тел./факс 96 79 71. www. diogene.ge 3 ОглавленИе Вступление...»

«Стандарты второго поколения Государственное бюджетное образовательное учреждение центр образования № 1637 Утверждена решением Утверждено Педагогического совета приказом от 26.06.2013 г. №104 Протокол № 6 от 30.05.2013 г ПРОГРАММА ОРГАНИЗАЦИИ ВНЕУРОЧНОЙ ДЕЯТЕЛЬНОСТИ ШКОЛЬНИКОВ 5-6х классов, реализующих стандарты второго поколения. ГБОУ центра образования № 1637 Основная школа Москва 2013 год Введение Данная программа представляет собой вариант программы организации внеучебной деятельности...»

«Рабочая программа профессионального модуля Проведение лабораторных общеклинических исследований (ПМ.01) разработана на основе Федерального государственного образовательного стандарта (ФГОС) среднего профессионального образования по специальности 060604 Лабораторная диагностика Организация-разработчик: ГАОУ СПО АО АМК Разработчик: Письменная С.В., преподаватель высшей квалификационной категории ГАОУ СПО АО АМК Рассмотрена и рекомендована к утверждению методическим Советом Архангельского...»

«ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУЧНЫЙ ЦЕНТР НЕВРОЛОГИИ РОССИЙСКОЙ АКАДЕМИИ МЕДИЦИНСКИХ НАУК ПРОГРАММА ДЛЯ ПОСТУПАЮЩИХ В КЛИНИЧЕСКУЮ ОРДИНАТУРУ ПО СПЕЦИАЛЬНОСТИ НЕВРОЛОГИЯ Москва 2014 г. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Вступительные испытания ориентированы на поступающих из числа выпускников учреждений ВПО медицинских специальностей. Вступительные экзамены проводятся в соответствии с разработанной программой по Неврологии и включают в себя письменное тестирование и устное собеседование....»

«Программа комплексного социально-экономического развития Лебяжьевского района на 2014 год и среднесрочную перспективу до 2016 года р. п. Лебяжье 2013 год Содержание комплексной программы социально-экономического развития Лебяжьевского района Курганской области на 2013 год и среднесрочную перспективу до 2015 года № Наименование страница Паспорт программы комплексного социально-экономического развития 4 Лебяжьевского района на 2014 год и среднесрочную перспективу до 2016 года Введение l. 1....»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Саратовский государственный аграрный университет имени Н.И. Вавилова РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ (МОДУЛЯ) РАЗРАБОТКА УПРАВЛЕНЧЕСКИХ Дисциплина РЕШЕНИЙ Направление подготовки 080200.62 Менеджмент Производственный менеджмент Профиль подготовки / (агропромышленного комплекса) Квалификация (степень) Бакалавр выпускника Нормативный срок 4 года...»

«стр. 1. ПАСПОРТ ПРОГРАММЫ ПРОФЕССИОНАЛЬНОЙ ПОДГОТОВКИ 4 2.. СТРУКТУРА И СОДЕРЖАНИЕ ПРОГРАММЫ ПРОФЕССИОНАЛЬНОЙ ПОДГОТОВКИ 6 3. УСЛОВИЯ РЕАЛИЗАЦИИ ПРОГРАММЫ ПРОФЕССИОНАЛЬНОЙ ПОДГОТОВКИ 13 4. КОНТРОЛЬ И ОЦЕНКА РЕЗУЛЬТАТОВ ОСВОЕНИЯ ПРОГРАММЫ (ВИДА ПРОФЕССИОНАЛЬНОЙ 27 ДЕЯТЕЛЬНОСТИ) 3 Паспорт программы профессиональной подготовки 1.Область применения 1.1. Категория слушателей, на обучение которых рассчитана программа профессиональной подготовки: младшая медицинская сестра по уходу за больными...»

«гой и партнером лаборатории – профессором Дитером Файге. Они представляют собой урезанные версии профессионального логистического программного обеспечения института имени Фраунхофера (г. Нюрнберг). Учебные программы в отличие от профессиональных программ не содержат элементов Географической информационной системы (GIS) и они ограничены в величине обрабатываемых проблем. Учебный пакет программного обеспечения охватывает: – транспортные проблемы, – проблемы сетевого потока, – планирование...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.