ふと、疑問に思ったのですが、
プログラムの設計をするときにPAD図を書いたりしますよね?

ループから抜けるような時はどうすれば良いのでしょうか?
ここだと図がかけないので説明しづらいと思いますがお願いします。

int a=0;
while(1) {
if( a==10 ) {
break;
}
a++;
}

このQ&Aに関連する最新のQ&A

A 回答 (2件)

すんごく、説明しづらいです :-)


ブラウザでプロポーショナルフォントではない(例えば、MSゴシック)ものを
指定すると、少しマシかも。

│                Y ┌───\
├┬──────┐ ┌──────┬─┤break  >
││無限ループ ├─┤a== 10? <  └───/
├┴──────┘ ├──────┘
│         ├──────┐
│         │a を1増やす│
│         └──────┘

PAD は、いろいろ方言があるようなのですが、私が教えられたのは、
縦長の家の形のような五角形を横倒しにしたもの、もしくは、
細長い二等辺三角形を横倒しにしたものの中に "break" とか
"ループ中断" などと記入するやつです。
    • good
    • 0

ループの書き方は普通while、until、forのタイプで下記


ループの中に、whileだったらループ条件、
untileだったら、終了条件を書きます。
無限ループの書き方は出来るだけ使わないように教わりました。
本当に無限ループでないならば、必ず終了条件があると言う事です。
今回の例では、aが10以外の時処理を行うループとして書きました。

-----
a=0|
-----

------- -------
while||--|a=a+1|
a<>10|| -------
-------
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q図のトリミング方法

いつもお世話になります。

今、エクセルで地図を作成していますが、クリップアートからその図を持ってきたところまではいいんですが・・・それ(長方形)の図は丸く(円)にトリミングをしようと思いますが、その方法が全くわかりません。

ご存じの方、よろしくお願いします。

Aベストアンサー

直接はできないんで間接でなら...
その図形を画像処理のソフトにてgifでもjpegでもいいので保存してください。
楕円のオートーシェープを作成して
「図の塗りつぶし」「塗りつぶし効果」の「図」タブで「参照」ボタンから
保存した画像を選択すると楕円の中に切り取られた画像が表示されます。

Q【緊急】{ww: w∈{a, b}*}はRegular language?

{ww: w∈{a, b}*}はRegular languageですよね?
{ww^R: w∈{a, b}*}はNon-regular languageというのは知っています。

さっき試験が終わったばっかりで気になって仕方がありません。

Aベストアンサー

> という場合がありえますが
----------** 最後のa..ab、
を忘れていました。どっちにしても結論はかわりませんが、訂正します。

あと、ついでなので1つアドバイス的なことを。
正規表現の能力の限界は、直観的には、DFAが有限の状態しか持たないということに起因します。
例えば、(^i )^i(=同じ数の対応する括弧)が正規表現で表せないことはご存知ですよね。
これは、「(^i が入力された時点で、今までに何個の( が入力されたかを覚えておく必要があるが、それは有限の状態では不可能だから」と理解することができます。

こう理解しておくと、証明するまでもなく、{ww: w∈{a, b}*} は正規言語ではないということが予想できるかと思います。

Qwordで図の圧縮をするとトリミングが解除されてしまう

お世話になります。

WinXP pro(sp3)でOffice Word 2003を使用しています。
画面をPrintScreenして貼り付けた画像を圧縮・トリミング部分を削除したいのですが、
画像を右クリック→図の書式設定→圧縮→図を圧縮・図のトリミング部分を削除、の両方チェックしOKクリック
→図の書式設定でもOKをクリックするのですが、
文書に戻るとトリミングが解除されてしまい、トリミング部分を削除できません。

図ツールバーの「図の圧縮」アイコンから試してみましたが
こちらだと何度やっても圧縮もトリミング部分の削除もされません。

これは、何か変なオプションなどにチェックが入ってるせいでしょうか?
それともやり方の問題ですか?
wordの不具合ですか?

何か情報をお持ちの方いらっしゃったらお教え頂けますと嬉しいです。
よろしくお願い致します。

Aベストアンサー

不具合の疑いが高いです。私も、この操作がうまくいったりいかなかったりと、悩んでいます。解決ではありませんが、回避策として、図の書式設定から圧縮を行うのではなく、図ツールバーの「圧縮」ボタンをクリックして操作すると、うまく行きます。

Qオートマトン L = {ww^R: w ∈ {a, b}+}の中心の見つけ方

下記のようなオートマトンがあります。

L = {ww^R: w ∈ {a, b}+}
M = (Q, Σ, Γ, δ, q0, z, F)
Q = (q0, q1, q2),
Σ = {a, b},
Γ = {a, b, z},
F = {q2}.

(1)wをスタックに載せるために:
δ(q0, a, a) = {(q0, aa)}
δ(q0, b, a) = {(q0, ba)}
δ(q0, a, b) = {(q0, ab)}
δ(q0, b, b) = {(q0, bb)}
δ(q0, a, z) = {(q0, az)}
δ(q0, b, z) = {(q0, bz)}

(2)どこが文の中心か見つけるために(状態がq0からq1に変わる):
δ(q0, λ, a) = {(q1, a)}
δ(q0, λ, b) = {(q1, b)}

(3)w^Rと一致させるために:
δ(q1, a, a) = {(q1, λ)}
δ(q1, b, b) = {(q1, λ)}

(4)最後に:
δ(q1, λ, z) = {(q2, z)}

とあります。
問題の中にこれを元にしてL = {wcw^R: w ∈ {a, b}*}のnpdaをつくりなさい、
というのがありますが、それは(2)を
δ(q0, c, a) = {(q1, a)} ←cが入力されたらそこが中心
δ(q0, c, b) = {(q1, b)}
に変えて
δ(q0, λ, z) = {(q2, λ)} ←何も入力されなかったら文字を受け付ける(* → +なので)
を付け加えればよいですか? (多分、そうですよね?)

それと、上の(2)がどうやって中心を見つけているのか分かりません。
入力中は何文字入力されるかなんて分かりませんよね。
例えばbaabbaabという文があったとすると最初の四文字でbaabで
「さては中心はbaとabの間だな!」とか勘違いとかしないんですか?
入力がλということは毎回毎回入力がある度にチェックしているということでしょうか?
混乱している私に分かりやすい説明ができる方、どうかお願いします。

下記のようなオートマトンがあります。

L = {ww^R: w ∈ {a, b}+}
M = (Q, Σ, Γ, δ, q0, z, F)
Q = (q0, q1, q2),
Σ = {a, b},
Γ = {a, b, z},
F = {q2}.

(1)wをスタックに載せるために:
δ(q0, a, a) = {(q0, aa)}
δ(q0, b, a) = {(q0, ba)}
δ(q0, a, b) = {(q0, ab)}
δ(q0, b, b) = {(q0, bb)}
δ(q0, a, z) = {(q0, az)}
δ(q0, b, z) = {(q0, bz)}

(2)どこが文の中心か見つけるために(状態がq0からq1に変わる):
δ(q0, λ, a) = {(q1, a)}
δ(q0, λ, b) = {(q1, b)}

(3)w^Rと一致させるため...続きを読む

Aベストアンサー

先の2つの御質問からすると、non-deterministic(非決定的)なPDAを考えているわけですよね。

非決定的なオートマトンでは、「1つの入力系列に対して複数の遷移経路が考えられるが、そのうち1つでも受理状態で遷移が終了する経路が存在すれば、オートマトンはその入力を受理する」と考えます。

baabbaabの例であれば、"b"しか入力されていない状態、"ba"まで入力された状態、...、"baabbaab"まで入力されてしまった状態、のどこで(2)の遷移をやってもいいんです。
そのうち"baab"の状態で(2)の遷移をすれば受理状態で遷移が終了するので、このオートマトンは"baabbaab"を受理するといえるわけです。

> それは(2)を
> ....
> を付け加えればよいですか? (多分、そうですよね?)
そこはそれで合っていると思いますよ。

Q描画オブジェクト内の図のトリミング

Word2002を使用しています。
描画オブジェクト内の図を正確にトリミングしたいのですが、マウスでトリミングはできても図の書式設定でトリミング範囲を数値で指定できません。
今は描画オブジェクトから出してからトリミングしてますが、他に良い方法はありませんか。また、これはWordの最新ver.では改善されているのでしょうか?
回答よろしくお願いします。

Aベストアンサー

Word2003 2007beta2 でも描画キャンパス内では
図の書式設定-図タブ-トリミング範囲 の項目は
グレーアウトしてしまいますね。

Qfmlのconfig.phで使う、q{~};やq#~#;q%~%;は全て同じ意味?

メーリングリストのカスタマイズをしていて、ネット上で情報を集めているのですがどうしても分からないところがあります。 fml 4.0
$SMTP_OPEN_HOOKなどのHOOKを行うときに、q{~};やq#~#;q%~%を同じサイトであっても使い分けているようで、SMTP_OPEN_HOOKの時には =q{~}; を、START_HOOKでは =q#~#; のようになっています。
プログラムというもの自体触ったことはないのですが、一応記号が変わっているだけで中身は同じなのかなと思っています。
実際のところ別物でしょうか?

fmlとqで検索をかけても情報が引っかかりませんし、fmlとq#などとしてもfmlでしか検索できないみたいで八方ふさがりです。
よろしくお願いします。

Aベストアンサー

fmlはPerlという言語で書かれています。これはPerlの記法の問題です。
どれも意味は同じです。違うのは、
・囲まれた内部で使われて無い記号を使って囲むため
・書いた人が違う
・気分によって使い分け?

QOneNote2010 図のトリミング

最近、Microsoft OfficeのOneNote2010を使い始めました。

OneNoteに挿入した図のトリミングなどを行いたいのですが、
そのメニューが見当たりません。

Wordや、PowerPoint、Excelのように、図のトリミングはできないのでしょうか?

Aベストアンサー

> Wordや、PowerPoint、Excelのように、図のトリミングはできないのでしょうか?

画像を挿入してからのトリミングは出来ないようです。

挿入する前に、適当なソフトで画像を開いておいて、「挿入」タブの「画面の領域」で取り込み範囲をドラッグして選択する方法か、

または、画像を「Microsoft Office Picture Manager」などでトリミングしてから挿入する方法のどちらかになります。

Q${parameter:-word} と ${parameter:=word} の違い

bashのパラメータ展開で

${parameter:-word} と ${parameter:=word}

の違いが何なのかよく分らないのですが、何が違うのでしょうか?

http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html

Aベストアンサー

 :-の方は、parameterの値が変わりません。:=は変わります。どちらもparameterに既に値が入っている場合は何も起こりません。
 別の言い方をすると、:=の方はこの後bashが(子プロセスとして)起動するプロセスの環境変数にも$parameterがwordになりますし、:-はなりません。:=は何らかのプログラムを起動するスクリプト内で空っぽならデフォルト値を設定するというような用途に使用します。
 以下、bashですけど$が出てきまくると紛らわしいのでプロンプトを%とします。

% echo ${SAMURAI:=LAST}
LAST
% echo ${DORA:-YAKI}
YAKI
% echo $SAMURAI
LAST ←さっきのでSAMURAIにLASTが代入された
% echo $DORA
   ←さっきのでDORAにYAKIが代入されていない
%

QMacのWordで図をトリミングできますか?

私のパソコンはWinで、上司のパソコンがMacです。
私がWordに図を取り込み、データを渡しているのですが
上司のパソコンではトリミングのやり方がわからないそうです。
ネットで調べたところMacのPPTでは、設定パレット「イメージ」に
トリミングというツールがあるとありましたが、
同じやり方でWordでも図をトリミングできるのでしょうか?
よろしくお願いします。

Aベストアンサー

こんにちは

メニューバーの「表示」→「設定パレット」の中の「イメージ」のエリアにトリミングツールがあります。
「表示」→「ツールバー」→「図」ツールバーの中にもトリミングがあります。

QPowerShellの{get;}の意味

PowerShellで「Get-Date | Get-Member」と入力すると下記のようにでます。


Name MemberType Definition
---- ---------- ----------
(省略)
Date Property System.DateTime Date {get;} ←これ
Day Property System.Int32 Day {get;} ←これ
DayOfWeek Property System.DayOfWeek DayOfWeek {get;} ←これ
DayOfYear Property System.Int32 DayOfYear {get;} ←これ
(省略)

Definitionの部分の「 {get;}」の意味が分かりません。
よろしくお願いします。

PowerShellで「Get-Date | Get-Member」と入力すると下記のようにでます。


Name MemberType Definition
---- ---------- ----------
(省略)
Date Property System.DateTime Date {get;} ←これ
Day Property System.Int32 Day {get;} ←これ
DayOfWeek Property System.DayOfWeek DayOfWeek {get;} ←これ
DayOfYea...続きを読む

Aベストアンサー

Property だから "読み取り専用" ってことでしょ。
Get-Date で得られる DateTime 型のオブジェクトの Day プロパティは int 型で、読み取り専用。


人気Q&Aランキング

おすすめ情報