13.2 判定分岐 追加の練習

45 visualizaciones (últimos 30 días)
佳奈子 浜口
佳奈子 浜口 el 15 de Jun. de 2021
Respondida: Atsushi Ueno el 15 de Jun. de 2021
elseif キーワードを if の後に使用すると、条件を追加できます。elseif ブロックは複数含めることができます。
密度を表示するかどうかを切り替える変数 doDisplay を追加してみてください。この条件は elseif ブロックと共に追加します。
doDisplayはどういう変数なのでしょうか?ヘルプに記載がなく下記の入力ではdoPlot0の時にエラーが表示されます.
if doPlot
plot(density)
title("Sample Densities")
xticklabels(element)
ylabel("Density (g/cm^3)")
elseif doDisplay
else
disp("The density of " + element ...
+ " is " + density)
end

Respuesta aceptada

Atsushi Ueno
Atsushi Ueno el 15 de Jun. de 2021
doDisplayは変数名なので、自分で定義してください。質問文のコードは「doDisplayが何か分からない」旨のエラーになります。下記のような定義をすれば問題文の意図した動きになります。
doPlot = 0;
doDisplay = 1; % doDisplayを1と定義したので、必ずelseif doDisplayの箇所が実行される
if doPlot
plot(density)
title("Sample Densities")
xticklabels(element)
ylabel("Density (g/cm^3)")
elseif doDisplay
disp('ここで密度を表示する');
else
disp("The density of " + element ...
+ " is " + density)
end
ここで密度を表示する
質問の箇所は、条件判定と分岐を行うif文の動作を理解する為のチュートリアルです。例えば下記コードでa,b,cの値をどうすれば、条件判断分のどこが実行されるか(どこが実行されないか)を理解する事が目的です。
a = 0; b = 0; c = 1;
if a
disp('a が真の(ゼロでない)場合');
elseif b
disp('先の条件が全て成立せず、b が真の(ゼロでない)場合');
elseif c
disp('先の条件が全て成立せず、c が真の(ゼロでない)場合');
else
disp('先の条件が全て成立しなかった場合');
end
先の条件が全て成立せず、c が真の(ゼロでない)場合

Más respuestas (0)

Categorías

Más información sobre プログラミング en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!