adfun.ru
 
BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо С: руководство пользователя. Часть 2
Автор ""
Размер 800673 Байт
Страница 25 из 56
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

     }                                                                          
                                                                                
          И с х о д н ы й  ф а й л Турбо Си: FACTRL.C                           
                                                                                
     void factorial_0(int top, double *result) /* Вычисляет                     
                                                      факториал */              
     {                                                                          
         double x;                                                              
         int i;                                                                 
         if (top<1) {                                                           
            *result = 0.0;                                                      
            return;                                                             
         }                                                                      
         *result = 1.0;                                                         
         x = 2.0;                                                               
         while (top-- >1)                                                       
         {                                                                      
           *result = *result*x;                                                 
           x++;                                                                 
         }                                                                      
     }                                                                          
     /* Конец функции factorial_0 */                                            
                                                                                
               Компиляция CSUM1.C и FACTRL.C в .OBJ                             
     -----------------------------------------------------------------          
                                                                                
          Как и в первом примере, вы должны откомпилировать два модуля          
     на  Турбо  Си  в  объектный модуль (.OBJ ) перед компоновкой их с          
     другими модулями и с главной программой Турбо Пролога.  Вы можете          
     выбрать и сохранить опции для компиляции средствами главного меню          
     Турбо Си,  а затем выбрать команду  Compile  (компилировать)  для          
     каждого  из  .С исходных файлов.  Или вы можете указать опцию для          
     компиляции обоих исходных файлов .С в  командной  строке,  как  в          
     стандартном Си,  используя для этого команду tcc. В обоих вариан-          
     тах вы должны указать по крайней мере следующие опции компиляции:          
                                                                                
      Options/Compiler/Model/Large (-ml)     (большая модель памяти)            
      Options/Compiler/Optimization/Jump Optimizanion...On (-O)                 
                                                       (оптимизация)            
      Options/Compiler/Code Generation/Generate Underbars...Off (-u-)           
                          (генерация нижнего подчеркивания отключена)           
      Options/Compiler/Optimization/Use Register Variables...Off (-r-)          
                     (использование регистровых переменных запрещено)           
                                                                                
                                                                                

                         - 203,204 -
                                                                                
          И с х о д н ы й  ф а й л Турбо Пролога: FACTSUM.PRO                   
     -----------------------------------------------------------------          
                                                                                
          FACTSUM.PRO - главная программа на  Турбо  Прологе,  которая          
     создает  два  окна:  одно для отображения выходных данных модулей          
     Турбо Си, другое для отображения выходных данных программы, напи-          
     санной  на Турбо Прологе.  Ниже приводится работа модулей и прог-          
     раммы в диалоге:                                                           
                                                                                
          1. Турбо Пролог программа FACTSUM.PRO приглашает пользовате-          
     ля ввести целое Int, которое она передаст модулю FACTRL.C .                
                                                                                
          2. Функция факториал (factorial) Турбо Си в FACTRL.C возвра-          
     щает Result, который является факториалом Int, в FACTSUM.PRO.              
                                                                                
          3. FACTSUM.PRO записывает Result в окно и  снова  приглашает          
     пользователя ввести число (на этот раз - действительное).                  
                                                                                
          4. FACTSOM.PRO передает введеное во второй раз число (Real),          
     и ранее вычисленный факториал (Result) в модуль CSUM1.C.                   
                                                                                
          5. Функция суммирования (sum),  в CSUM1.C, складывает Real и          
                                                                                
     Result и возвращает результат Sum в FACTSUM.PRO.                           
                                                                                
          6. FACTSUM.PRO  записывает  Sum в окно и программа завершает          
     свою работу.                                                               
                                                                                
          Ниже представлена программа на Турбо Прологе FACTSUM.PRO:             
     /*                                                                         
     Описание модулей на Турбо Си должно находиться  за  определениями          
     доменов  и  баз данных Турбо Пролога (если таковые имеются).  Все          
     глобальные модули вызываются из Турбо Пролога как глобальные пре-          
     дикаты, за которыми при их описании должны следовать шаблон аргу-          
     ментов и спецификация языка.                                               
     */                                                                         
                                                                                
     global predicates                                                          
        sum(real,real,real) - (i,i,o) language c                                
        factorial(integer,real) - (i,o) language c                              
     /*                                                                         
     Это очень  простой  пример,  поскольку  использует только внешние          
     правила (модули Турбо Си),  поэтому требуется наличие только раз-          
     дела  goal .  Тем не менее,  в других прикладных программах может          
     быть также необходим раздел clause. */                                     

                         - 205,206 -
                                                                                
     goal                                                                       





makewindow(1,49,31, "Окно взаимодействия Турбо Пролога с программами Турбо Си", 0,0,15,80), makewindow(2,47,3, "Окно Турбо Пролога для Турбо Пролог программы", 15,0,10,80), /* Приглашение пользователя к первому вводу */ write("Введите целое число; Турбо Си вычислит факториал."), readint(Int), nl, shiftwindow(1), /* Переадресация окна вывода в окно Турбо Си */ /* Вызов модуля Турбо Си factrl и вычисление факториала */ factorial(Int, Result), shiftwindow(2), /* Переадресация окна вывода в окно Турбо Пролога */ /* Приглашение пользователя ко второму вводу */ write("Введите действительное число для сложения с факториалом"), readreal(Real),nl, shiftwindow(1), /* Переадресация окна вывода в окно Турбо Си */ /* Вызов модуля Турбо Си сsum1 и вычисление суммы */ sum(Result,Real,Sum), shiftwindow(2), /* Переадресация вывода в окно Турбо Пролога */ /* Запись результата первого вычисления в окно */ write("Значение факториала числа ",Int," равно ",Result),nl, /* Запись результата второго вычисления в окно */ write("Результат ", Result, " + ",Real," = ",Sum),nl. - 207,208 - Компиляция FACTSUM.PRO в FACTSUM.OBJ ----------------------------------------------------------------- Также как и в первом примере вы должны откомпилировать файл с исходным текстом на Турбо Прологе в обьектный файл (.OBJ) перед компоновкой его с другими модулями. Перед тем как выполнить ком- пиляцию, выберите из главного меню Турбо Пролога Оptions/Obj. Компоновка СSUM1.OBJ, FACTRL.OBJ и FACTSUM.OBJ ----------------------------------------------------------------- В команде на компоновку, используемой в этом примере, - объектными модулями Турбо Пролога являются модули INIT.OBJ и FACTSUM.OBJ; - объектными модулями Турбо Си являются модули CSUM1.OBJ и FACTRL.OBJ; - именами выходных файлов являются FACTSUM.SYM (таблица идентификаторов) и SUM.EXE (выполняемый файл); - необходимыми библиотеками являются PROLOG.LIB, EMU.LIB, MATHL.LIB и CL.LIB. Приведенная ниже команда компонует модули: tlink init factsum factrl csum1 factsum.sym,sum,,prolog +emu+mathl+cl Замечание: команда должна быть набрана в одной строке. - 209,210 - Пример 3: Шаблоны аргументов и распределение памяти. ----------------------------------------------------------------- Следующая программа представляет код по созданию на Турбо Прологе функтора (functor) и списка (list) в Турбо Си, а также возвращению этих новых структур в Турбо Пролог. Этот пример также демонстрирует возможное распределение памяти в глобальном стеке Турбо Пролога. Списки представляют собой рекурсивные структуры из


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [25] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.