Реферат ІМБМ:Міжнародна економіка і менеджмент. Формування стратегії зовнішньоекономічної діяльності фірми (на прикладі СП "Ватра-Шредер") (магістерська)


СкачатиСкачать (DOC|ZIP):
ІМБМ:Міжнародна економіка і менеджмент. Формування стратегії

Реферат на тему:

Обpобка масивiв

В Лiспi є поняття списку, але немає поняття масиву. Масиви можна емулювати за допомогою спискiв. Для цього необхiдно написати функцiї конструювання масивiв, доступу до елемента масива, та змiни значення елемента масива. Розглянемо цю технiку на прикладi.


Задача. В масивах a:array [0..k] of integer та b:array [0..l] of integer зберiгаються коефiцiєнти двох многочленiв степеней k та l. Заповнити масив c:array[0..m] of integer коефiцiєнтами їх добутку. Числа k,l,m - натуральнi, m = k+l. Елемент масива з iндексом i мiстить коефiцiєнт при x в степенi i.


Розв'язок. Розв'язок цiєї задачi на Паскалi має наступний вигляд:

for i := 0 to m do c[i] := 0;

for i := 0 to k do

for j := 0 to l do

c[i+j] := c[i+j] + a[i] * b[j];

Масиви коефiцiєнтiв многочлена представлятимемо списком вiдповiдної довжини. Нехай lst1 та lst2 - списки коефiцiєнтiв заданих в умовi многочленiв. Нехай функцiя (MULTPOL lst1 lst2) повертає список коефiцiєнтiв добутку вихiдних многочленiв. Наприклад, вихiднi многочлени (x3+2x2+1) та (x2-4x-1) зададуться списками lst1 = (1 2 0 1), lst2 = (1 -4 -1). Результатом їх множення буде многочлен x^5 - 2*x^4 - 9*x^3 - x^2 - 4*x -1, який представиться списком lst3 = (1 -2 -9 -1 -4 -1). Спочатку нам необхiдно знайти значення k та l (якщо ми не передаємо їх як аргументи). Для цього необхiдно просто знайти довжину спискiв lst1 та lst2. Це зробить функцiя (LENGTH lst):

(DEFUN LENGTH (lst) (DEFUN GEN0 (n)

((NULL lst) 0) ((ZEROP n) NIL)

(+ 1 (LENGTH (CDR lst))) ) (CONS 0 (GEN0 (- n 1))) )

Знаючи довжини спискiв lst1 та lst2 (k та l вiдповiдно), ми знаємо довжину результуючого списку lst3 (m=k+l). Необхiдно згенерувати список lst3, який складається з m елементiв, кожний з яких дорiвнює 0. Це зробить функцiя (GEN0 n).


Функцiя (mas lst n) повертає n-ий елемент списку lst. Функцiя (CHANGE lst n value) повертає список lst, в якому n-ий елемент набув значення value.

(DEFUN MAS (lst n) (DEFUN CHANGE (lst n value)

((ZEROP n) (CAR lst)) ((ZEROP n) (POP lst) (PUSH value lst))

(MAS (CDR lst) (- n 1)) ) (CONS (CAR lst) (CHANGE (CDR lst) (- n 1) value))

Тодi функцiя MULTPOL, яка написана на Паскалi, на Лiспi набуває наступного вигляду:

(DEFUN MULTPOL (lst1 lst2)

(SETQ k (LENGTH lst1) l (LENGTH lst2) lst3 (GEN0 (+ k l)))

(SETQ i 0)

(POP lst3)

(LOOP

((= i k) lst3)

(SETQ j 0)

(LOOP

((= j l))

(SETQ lst3 (CHANGE lst3 (+ i j) (+ (MAS lst3 (+ i j)) (* (MAS lst1 i) (MAS lst2 j)))) )

(INCQ j) )

(INCQ i) ) )

Середовище muLisp має також вмонтовану функцiю MAKE-LIST, яку можна використовувати для створення спискiв заданого розмiру. Функцiя (MAKE-LIST n об'єкт список) утворює список з n елементiв, кожний з яких приймає значення об'єкту, приєднанi до списку. Якщо не задано перший аргумент, то по замовченню n = 0. Якщо другий аргумент не задано, то вважається об'єкт = NIL.

$ (MAKE-LIST 3 '(q w)) $ (MAKE-LIST 4) $ (MAKE-LIST 3 5 '(2 3))

((q w)(q w)(q w)) (NIL NIL NIL NIL) (5 5 5 2 3)

Наведену функцiю можна визначити наступним чином (iм'я змiнено на MAKE-LST):

(DEFUN MAKE-LST (N OBJ LST)

((AND (INTEGERP N) (PLUSP N))

(CONS OBJ (MAKE-LIST (SUB1 N) OBJ LST)) )

LST )

Функця (OBLIST) що не має аргументiв, утворює та повертає список активних на поточний момент символiв у системi. Символи розташованi в тому порядку, в якому вони прочитанi або згенерованi строковими функцiями: новi символi розташованi злiва вiд старих.


Задача 1. Дано неспадний список чисел x. Знайти кiлькiсть рiзних чисел серед елементiв цього масива. Hаписати функцiю (FIND_DIFF x)
Вказiвка: Шукане число на 1 бiльше за кiлькiсть тих чисел i из 1..n-1, для яких x[i] <> x[i+1].

(DEFUN find_diff (x)

((NULL (CDR x)) 1)

(IF (/= (CAR x) (CADR x)) (+ 1 (find_diff (CDR x))) (find_diff (CDR x)))


СкачатиСкачати:ІМБМ:Міжнародна економіка і менеджмент. Формування стратегії


Схожі реферати:
  • Модульна система навчання (реферат)
  • РЕФЕРАТ на тему: “Технологічний процес обробки риби” 1. Значення риби в харчуванні Риба — цінний продукт харчування. За
  • Пошукова робота: Управління фінансовими інвестиціями Зміст Інвестиційний проект і структура інвестиційного бізнес-плану Опис інвестиційного проекту Розробка б
  • Ринок фінансових ресурсів і цінних паперів Розвиток інвестицій в економіці постійно потребує мобілізації, розподілу і перерозподілу фінансових коштів. В е
  • “Біблія – як найдавніша писемна пам’ятка. Структура Біблії” Біблія, як відомо, є Святим Письмом найпоши
  • Лінійні диференціальні рівняння зі сталими коефіцієнтами Побудова загального розв язку лінійного однорідного рівняння. Розгл
  • Найзагальніші закони сучасної екології Базовими для екології і всіх сучасних природничих наук є закони збереження та перетворення енергії і маси
  • Він – критик.Він – письменник-парадокс.Він – Оскар Уальд(реферат)
  • Механізми розвитку особистості (реферат)
  • Потреба комерційного банку в ліквідних коштах(реферат)




  • Скористайтеся пошуком:
    Loading

    Пошук :

    0.037718