2012-04-23 5 views
2

私は、しばらく使用することができなかったか、次の図のためにループしつつ:ここ次の図の擬似コードはどのように書くことができますか?

enter image description here

、A、B、及びCは、関数です。 上記の図の擬似コードはどのように書くことができますか?

編集:これは私のC++のプログラミング実践からのものです。

しかし
Start 
Input x; 
while(x!=2) 
{ 
A(); Input x; 
} 
C(); 
End 

「Bループが」入ってきたとき、私はどのように含めるには考えている:「Bループ」(または「ループ」)がなければ、私は次のように書くことができていますそれ。

+0

宿題のようなにおいがします。あなたはC#を知っている場合は、単に型情報を削除し、セミコロンを失う。 – leppie

+0

何か試しましたか? http://en.wikipedia.org/wiki/Pseudocode – home

+0

「A」、「B」、「C」を「A()」、「B()」、「C()」、それらはすべて機能であるためです。 – Jack

答えて

4
Start; 

Input x; 

while(x!=2){ 

    if (x!=1){ 
     A(); 
    } else{ 
     B() 
    } 
    Input x; 
} 

C(); 

End 

しかし、あなたが使用している関連リンク言語私は(ジャスト入力Xの前に)データコンバージョン数の間、スリープモードを追加するように助言の用心

2

プログラムは何をしますか?それを英語で説明し、それを書き留めます。あなたはあなたの疑似コードを持っています。

If any input 
if input is not 1 and not 2 
return a and do more input (? dont get the diagram here ;p) 
if input is 1 
return b and more input (??) 
else if not above 
return c and end program 
+0

あなたの答えをありがとう。 'C++ 'コードが必要な場合はどうすればいいですか? – Jack

+1

あなたは質問を変更する必要があります.. –

2

@BaptisteGoussetの答えは良いですが、そこにあります特定の状況下ではより良い代替方法です。 while ... whileループを使用してコードを単純化して2倍の入力操作を削除することは可能ですが、これにより比較ロジックが少し複雑になります。

Start; 
Do 
{ 
    Input x; 
    if (x equals 1) 
    { 
     B(); 
    } 
    elseif(x not equal to 2) 
    { 
     A(); 
    } 

} While (x not equal to 2); 
C(); 
End; 

また、goto文を使用して、これを実装することができますが、後藤はしばしばconsidered harmfulです。

一般的に、フローチャートには1つの標準的な「擬似コード」の回答はありません。これは、使用したい構造と実際の作業の仕方がどのようにエレガントに構成されているかによって異なります。

関連する問題