Як вирішувати задачі лінійного програмування


 

Лінійним називається алгоритм, в якому не передбачені розгалуження. Його команди виконуються в прямій послідовності, яка не може бути змінена. Такі алгоритми можуть виконуватися навіть такими обчислювальними системами, в яких не передбачені команди переходів — як умовних, так і безумовних.


Інструкція

  1. Складіть список змінних, які ви бажаєте використовувати. Визначтеся з їх типами (цілочисельний, з плаваючою комою, символьний, рядковий тощо), а при наявності в мові програмування необхідності декларування змінних — помістіть в початок програми відповідний фрагмент. Наприклад, на мові «Паскаль» це може виглядати приблизно так:

    var
     delimoe, delitel, chastnoe: real;
     strokateksta: string;

    У деяких мовах програмування оголошувати змінні не потрібно — це відбувається автоматично при їх першому згадуванні. Тип змінної визначається її назвою, наприклад, в «Бейсіку» для цього використовуються спеціальні символи (# — целочисленная, $ — строкова, тощо)

  2. Якщо мова програмування вимагає оголошення початку програми, помістіть після опису змінних відповідний оператор. У «Паскалі» він називається begin. У «Бейсіку» він не потрібен.
  3. Деякі компілятори і інтерпретатори НЕ обнуляють змінні в момент запуску програми. У них записуються випадкові дані, які залишаються там до першого зміни значення змінної. Якщо ваш компілятор або інтерпретатор відноситься до цього типу, обнуліть ті з змінних, дані з яких будуть зчитуватися до внесення в них змін. Наприклад, в «Бейсіку»:

    50 A = 0; B = 0; C $ = «»

    і в «Паскалі»:

    first: = 0;
    second: = 0;
    third: =»;

  4. Визначившись зі змінними, а при необхідності — і обнуливши їх, помістіть нижче ті з операторів, послідовність яких буде визначати алгоритм, реалізований програмою. Оскільки алгоритм є лінійним, переходи, як умовні, так і безумовні, не застосовуйте. Наприклад:

    10 INPUT A
    20 INPUT B

    і так далі.

  5. В кінці програми помістіть оператор, що змушує програму завершитися. І в «Бейсіку», і в «Паскалі» він називається «end» (у другому випадку — з крапкою). Так, наприклад, виглядають на цих мовах програми, що запитують у користувача два числа, додають їх і виводять результат:

    10 INPUT A
    20 INPUT B
    30 C = A + B
    40 PRINT C
    50 END

    var
     a, b, c: real
    begin
     readln (a);
     readln (b);
     c: = a + b;
     writeln (c)
    end.