패키지 의사 코드를 사용하는 LaTeX의 Switch 문

패키지 의사 코드를 사용하는 LaTeX의 Switch 문

\usepackage{pseudocode}의사 코드 작성을 위해 LaTeX를 사용하고 있습니다 .

작성 방법스위치이 패키지를 사용하는 성명은 무엇입니까?

패키지를 사용하여 90% 이상의 의사 코드를 작성합니다.의사코드. 유효성 검사 기능에서 쓰고 싶습니다스위치성명.

\PROCEDURE{Validate}{location1,location2}
l1 \GETS 0 \\
l2 \GETS 0 \\
validate \GETS true \\
\IF board[location1] \neq 0 \THEN
    \BEGIN 
    l1 \GETS board[location1]
    l2 \GETS board[location2]
    \IF l1 + l2 is odd and l2 \neq 0 \THEN
        validate \GETS false
    \ELSE
        \BEGIN
            %\SWITCH  here i want to write switch statement
                   %\BEGIN

            %\END
        \END
    \END

 \RETURN {validate}\\
 \ENDPROCEDURE

알고리듬x 및 알고리즘과 같은 다른 패키지를 사용하여 의사코드에서 스위치 추가 문을 찾을 수 있습니다. 다음을 사용하여 스위치 문을 추가하는 방법이 있습니다.의사코드 패키지?

답변1

이것이 당신이 추구하는 것인지 확실하지 않지만 첫 번째 시도입니다.

여기에 이미지 설명을 입력하세요

\documentclass{article}
\usepackage{amsmath,pseudocode}% http://ctan.org/pkg/{amsmath,pseudocode}
\newcommand{\algvar}[1]{\text{\ttfamily\upshape#1}}
\makeatletter
\newcommand{\SWITCH}{\mbox{\bfseries switch }}
\renewcommand{\CASE}{\mbox{ \bfseries case }}
\newcommand{\CASEELSE}{\mbox{ \bfseries else }}
\makeatother
\begin{document}
\begin{pseudocode}{Validate}{\algvar{location1}, \algvar{location2}}
    \PROCEDURE{Validate}{\algvar{location1}, \algvar{location2}}
    l_1 \GETS 0 \\
    l_2 \GETS 0 \\
    \algvar{validate} \GETS \TRUE \\
    \IF \algvar{board}[\algvar{location1}] \neq 0 \THEN
        \BEGIN 
        l_1 \GETS \algvar{board}[\algvar{location1}] \\
        l_2 \GETS \algvar{board}[\algvar{location2}] \\
        \IF (l_1 + l_2 \text{ is odd}) \AND (l_2 \neq 0) \THEN
            \algvar{validate} \GETS \FALSE
        \ELSE
            \BEGIN
                \SWITCH i
                    \BEGIN
                        \CASE 1 \text{ Something 1} \\
                        \CASE 2 \text{ Something 2} \\
                        \CASE 3 \text{ Something 3} \\
                        \CASE 4 \text{ Something 4} \\
                        \CASEELSE \text{ Something else}
                    \END
            \END
        \END \\
        \RETURN {\algvar{validate}} \\
    \ENDPROCEDURE
\end{pseudocode}
\end{document}

사용된 건축물은pseudocodes를 기반으로 하므로 array쉽게 수정할 수 있습니다. 그러나 명령의 모양 \SWITCH, 배치, 정렬 및 자리맞추기 측면에서 원하는 것이 무엇인지에 따라 달라집니다.

관련 정보