Member 14796573 Ответов: 1

Как записать этот алгоритм в псевдокод ?


int main(int argc, char **argv) {
    if (argc < 2) { 
      printTitle("Delly");
      displayUsage();
      return 0;
    }

    if ((std::string(argv[1]) == "version") || (std::string(argv[1]) == "--version") || (std::string(argv[1]) == "--version-only") || (std::string(argv[1]) == "-v")) {
      std::cout << "Delly version: v" << dellyVersionNumber << std::endl;
      std::cout << " using Boost: v" << BOOST_VERSION / 100000 << "." << BOOST_VERSION / 100 % 1000 << "." << BOOST_VERSION % 100 << std::endl;
      std::cout << " using HTSlib: v" << hts_version() << std::endl;
      return 0;
    }
    else if ((std::string(argv[1]) == "help") || (std::string(argv[1]) == "--help") || (std::string(argv[1]) == "-h") || (std::string(argv[1]) == "-?")) {
      printTitle("Delly");
      displayUsage();
      return 0;
    }
    else if ((std::string(argv[1]) == "warranty") || (std::string(argv[1]) == "--warranty") || (std::string(argv[1]) == "-w")) {
      displayWarranty();
      return 0;
    }
    else if ((std::string(argv[1]) == "license") || (std::string(argv[1]) == "--license") || (std::string(argv[1]) == "-l")) {
      bsd();
      return 0;
    }
    else if ((std::string(argv[1]) == "call")) {
      return delly(argc-1,argv+1);
    }
    else if ((std::string(argv[1]) == "lr")) {
      return tegua(argc-1,argv+1);
    }
    else if ((std::string(argv[1]) == "filter")) {
      return filter(argc-1,argv+1);
    }
    else if ((std::string(argv[1]) == "merge")) {
      return merge(argc-1,argv+1);
    }

    std::cerr << "Unrecognized command " << std::string(argv[1]) << std::endl;
    return 1;
}


Что я уже пробовал:

ввод целого числа и файл Чара, если чар меньше 2 печати Делли другие способы вернуть его

1 Ответов

Рейтинг:
4

Afzaal Ahmad Zeeshan

Цитата:
ввод целого числа и файл Чара, если чар меньше 2 печати Делли другие способы вернуть его
Я могу сказать, что вы почти там. При написании псевдокода просто начните читать код на простом английском языке, но с отступами. :смеяться:

Program starts:
    If argument count is more than 2,
        Call printTitle with parameter "Delly"
    ...
    ...
Вы можете заметить, что некоторые авторы используют дополнительные символы для обозначения if...else и блоки. Некоторые из этих символов напоминают языки программирования, такие как { }.

Вы не привязаны к какой-либо структуре, просто объясните код на простом английском языке.

Псевдокод - Википедия[^]


Member 14796573

хорошо, помогите мне, пожалуйста, если вы понимаете это, потому что мой язык очень потерян.

Rick York

Он просто сделал это. Прочтите статью в Википедии, обратитесь к его примеру и дайте ему попробовать.

Это зависит от вас, чтобы интерпретировать код, и Вам только что показали, как это сделать.

Member 14796573

посмотреть на это:

#Запуск программы:
# Если количество аргументов больше 2,
Вызовите печать заголовка с параметром "Delly"
# Если аргумент представляет собой версию или в печати Делли версия программы и номер версии
# если аргумент help или h возвращает Delly и список аргументов
# если аргумент-гарантия или гарантия возврата w
# если аргумент-лицензия или l возвращает bsd
# если аргумент является призыв вернуться Делли звоните
# если аргумент ЛР возвращению Делли ЛР
# если аргумент фильтр возвращению Делли фильтр
# если аргумент является слиянием возвращению Делли слияния

Afzaal Ahmad Zeeshan

Да, это имеет смысл.

Хотя вы можете добавить больше деталей в программу, добавив отступы и используя параметры и другие жестко закодированные значения. Такие как, Если вторым аргументом является версия или v, то выведите версию Delly Что-то вроде этого, чтобы пользователь мог знать, что происходит.

Member 14796573

спасибо, Пратер.
Я счастлив :)