15 関係: ヨーダ記法、ヌルポインタ、ブーリアン型、プログラミング言語、制御構造、分岐命令、短絡評価、真理値、Dart、論理包含、Goto文、Java、条件演算子、機械語、文 (プログラミング)。
ヨーダ記法
ヨーダ記法(ヨーダきほう、Yoda notation)またはヨーダ条件式(ヨーダじょうけんしき、Yoda conditions)とは、プログラミングにおけるジャーゴンのひとつで、条件式で比較するふたつの要素を一般的な順序と逆に記述するプログラミングスタイルをいう。ヨーダ記法では条件式の左辺に定数を配置する。 映画『スター・ウォーズ』シリーズの登場人物・ヨーダが、標準的ではない英語の文法で話すことに由来する。 ヨーダ記法はWordPressやSymfonyのコーディング標準の一部に採用されている。.
ヌルポインタ
ヌルポインタ(null pointer)とは、何のオブジェクトも指していないことを表す特別なポインタである。 プログラムではヌルポインタを、不定長のリストの終端を表したり、何らかの動作の結果が失敗であることを表したりするのに使用する。後者の用法は、やのNothing値を使用することもできる。 ヌルポインタの値や型がいかなるものかという詳細は言語によって異なる。実際的にはいかなるオブジェクトも参照しないという言語もあり、参照先を求めようとするとJava(NullPointerException)のように例外が発生するものもある。 ヌルポインタはほとんどの処理系(この場合、言語処理系プログラムだけではなく、ハードウェアまでを含めて)で、内部的に0で表現されるが、ごく希に、0でない処理系もある。言語仕様上の意味としては普通「アドレス0(あるいは他のアドレス)を指し示すポインタ」ではなく、どこも指し示さないものとされる。 ヌルポインタを未初期化のポインタと混同してはならない。ヌルポインタは、あらゆる有効なオブジェクトとも異なることが保証されている。それに対し、言語や実装によっては、未初期化のポインタはそのような保証はなく、他のオブジェクトやヌルポインタと同じになる可能性がある。 ヌルポインタはヌル値とは意味が違う。ヌルポインタは多くのプログラミング言語において「値がない(no value)」ことを意味し、ヌル値はリレーショナルデータベースにおいて「未詳値(unknown value)」であることを意味する。ほとんどのプログラミング言語では2つのヌルポインタは等しいが、リレーショナルデータベースエンジンは2つのヌル値を等しいとはみなさない(それらは未詳値を表しているので、それらが等しいかどうかはわからない)。.
新しい!!: If文とヌルポインタ · 続きを見る »
ブーリアン型
ブーリアン型(ブーリアンがた、Boolean datatype)は、真理値の「真.
新しい!!: If文とブーリアン型 · 続きを見る »
プログラミング言語
プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.
新しい!!: If文とプログラミング言語 · 続きを見る »
制御構造
制御構造(せいぎょこうぞう)は、コンピュータ・プログラミング言語、特に手続き型プログラミングや命令型プログラミングにおいて、ループや飛び越しなどといった、手続き(プロシージャ)中の実行順を順次実行から変化させたり、サブルーチン呼出しやその戻り、などといった制御を行う「文 (プログラミング) 」などの構造(言語の構成要素)である。 制御構造の種類は言語によって様々だが、典型的には以下のようなものがある(用語「ブロック」については、ブロック (プログラミング) の記事を参照)。.
分岐命令
分岐命令(ぶんきめいれい)は、プロセッサの命令の一種である。ジャンプ命令ともいう。条件ジャンプ命令と無条件ジャンプ命令があり、厳密には「分岐」するのは条件ジャンプであって無条件ジャンプは「分岐」と言えないかもしれないが、特に区別しないことが多い。サブルーチン呼出や戻りの命令も分岐命令の一種とすることもある。 一般的なプロセッサでは、機械語の命令列はアドレスの昇順に逐次実行されるが、分岐命令が実行されると次に実行される命令が切り替わる。高水準言語のコンパイラは、条件文・Goto文・サブルーチンなどの制御構造から分岐命令を生成する。 分岐命令は引数として少なくともターゲットアドレスを持つ。ターゲットアドレスは、分岐命令の実行により、プログラムカウンタに代入される。 命令パイプラインが深い一方で、先読みが浅いプロセッサでは、ジャンプによりパイプラインにバブルが発生しペナルティとなる設計にならざるをえないことがある。そのペナルティを軽減するため、分岐命令の直後を「遅延スロット」と称し、そこにある命令は分岐処理の直前に実行されるものとする、遅延分岐という方式がある。MIPS、SH、SPARCなど、初期のいわゆるRISCに採用例が多いが、1986年にNECから発表されたμPD77230、1988年にTIから発表されたTMS320C30、デジタルシグナルプロセッサにも(その前から)多い。ディレイスロット(にある命令)の数は、μPD77320の場合で 1 、TMS320C30の場合で 3 であった。大多数のRISCのディレイスロットは 1 である。 パイプライン処理では命令のフェッチが重要であり、分岐予測が用いられることがある。分岐予測は失敗時のコストが大きいので、これを減らすために投機的実行などの技術が用いられる。 ARMやIA-64では、全ての命令を条件実行命令として、分岐命令の必要性を低減しパイプラインストールの可能性を低くする工夫をしている。.
短絡評価
短絡評価(たんらくひょうか、short-circuit evaluation)または最小評価(さいしょうひょうか、minimal evaluation)とは、多くのコンピュータプログラミング言語の論理演算子における左辺(第一引数)と右辺(第二引数)の式の評価法の評価法を(意味、意味論を)表す語である。.
真理値
真理値 (しんりち、truth value) は、命題論理などの命題の真偽を示す値である。英語のTrueとFalseから、真に対してT、偽に対してFという記号をあてることもある。論理値 (logical value) も同じ。真と偽という値をとることから真偽値ともいうが、非古典論理などで多値論理における「真らしさ」の値も(真と偽以外の値にもなる)真理値である。 コンピュータプログラミング言語などのデータ型では、真理値のような型として真理値型(真偽値型、ブーリアン型などとも)があるものがある。関係演算子の結果などがブーリアン型であり、さらに論理演算子などで組み合わせることができ、それをif文などの制御構造や、条件演算子などで使用できる。.
Dart
Dart(ダートもしくはダーツ。当初は Dash と呼ばれていた)はGoogleによって開発されたウェブ向けのプログラミング言語である。2011年10月10日 - 12日に開催された デンマークのオーフスで開催された「GOTOカンファレンス」で公開された。この言語は、ウェブブラウザ組み込みのスクリプト言語であるJavaScriptの代替となることを目的に作られた。.
論理包含
P \rightarrow Q のベン図による表現 論理包含(ろんりほうがん、含意(がんい)、内含、implication、IMP)は、第1命題が偽または第2命題が真のときに真となる論理演算である。条件文(じょうけんぶん、conditional)とほぼ同じものである。論理的帰結(logical consequence)や伴意(entailment)とは異なる物であり、論理的帰結の項目を参照。 2つの命題 P と Q に対する論理包含を P → Q などと書き、「P ならば Q」と読む。命題 P → Q に対し、P をその前件、Q をその後件などと呼ぶ。.
Goto文
プログラミング言語におけるgoto文(ゴートゥぶん、goto statement)とは、手続き列中の指定された場所(専らラベルで指定される)に無条件にジャンプ(移動)する、という制御構造のひとつである「文 (プログラミング) 」である。古い文献などで "go to" と離していることもあるのは、英語の go to どこそこ、といったような言い回しとの類似のためでもあり、FORTRANではプログラム中の空白は基本的に無視されるので、goto でも go to でも同じだったからという理由もある(BASICにも、どちらも使えるようにしているものもある)。.
Java
Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。構文についてはJavaの文法の記事を参照。.
条件演算子
条件演算子()は、プログラミング言語の演算子で、条件文と同様な意味があるが、文ではなく値を持つ式になる。評価されると、条件式の値により異なる式が評価され、異なる値になる。 なお、CやC++など一部のプログラミング言語において、条件演算子とは後述する「?:」(ハテナマークとコロン)の演算子の名称である。.
機械語
機械語(きかいご)またはマシン語(Machine code、machine language)とは、コンピュータのプロセッサが直接解釈実行可能な一連の命令群のデータそのもの(を、コンピュータ・プログラミング言語とみなしたもの)である。.
文 (プログラミング)
プログラムにおける文(ぶん、statement)とは、コンピュータプログラミング言語によるプログラムを構成するもののひとつで、一般に手続きを表すものである。 文の種類(意味)は、だいたいの類似はあるが、詳細はそれぞれのプログラミング言語によって異なる。 文の構文もそれぞれのプログラミング言語によって異なる。初期のFORTRANやCOBOLのように1行に1つの文を書く言語、C言語や多くのスクリプト言語のように文終端記号(セミコロンなど)で終端する言語、Pascalのように文と文との間の区切り記号で区切る言語などがある(終端記号と区切り記号の違いは、並びの最後のあとに記号が入るか入らないかである(厳密にはここで論じているのは文ではなく複文の構文である。またC言語についての説明は間違っており、例えばif文それ自体などにはセミコロンは現れない(セミコロンのみの「空文」、「do-while文」、そして式の後にセミコロンを付けた「式文」、などがC言語において「セミコロンが最後に付いている文」である。宣言などの後にもセミコロンが付く(が、C言語では宣言は文とは違う「宣言というもの」である)))。 1行1文の言語にあっては、行末または行頭に、言語で指定された記号を付けることで、行が継続しているものとして(継続行)、複数行にわたって文を記述することができるものもある。 類似する言葉として'''式'''がある。式は、必ずしも手続きを表さず、文とは異なり値を持つ(多くの手続き型言語では式にも手続きがともない、副作用という。特にC言語は代入が式である。また逆に言語によっては文も値を持つものもある)。 大まかに言えば、一つ以上の式や関数呼び出しで作られる、手続き構造の単位が文である、と考えてほぼ差し支えない。if文のように分岐構造を表すもの、代入文のように変数の更新を表すものなどが代表例である。構造化プログラミング以降の言語では、複数の文からブロック(「複文」とも言う)を構成できるのが一般的である。 if文などにおける構文の流儀には大きく2通りがあり、ひとつはC言語のような、 という規則のもので(というような文法だと多くのプログラマが信じているようだが、実際には全く違っている(前述。あるいは規格票を参照))、dangling else問題(通常は困るものではない。:en:Dangling elseも参照)の存在が知られている。 もうひとつの流儀は、古くはPerl、近年ではGoがこのようになっているが、 のように、任意の文を直接書くことができないようにしたものである。dangling else対策のひとつでもある。.
新しい!!: If文と文 (プログラミング) · 続きを見る »