作成したアルゴリズム言語。 ロシアのアルゴリズム言語。 大部分 これは、問題解決アルゴリズムが一般的な形式であることを意味します。 ソースデータによってのみ異なる特定のクラスのタスクに適用可能でなければなりません。 同時に、iSch

プログラミング言語は、さまざまなキーワード、機能、またはクラスを使って複製されています。 原則として、それらはすべて英語を使用しています。これはメソッドまたは引数を記述します。 一部の環境では、マシン機能には単に削減されています。 これは最初の段階で開発の発展を大いに妨げました。 理解率を高めるために、理解可能で手頃な単語とその組み合わせからなる一連の特別なアルゴリズムプログラミング言語が作成されました。

少しの歴史

最初のコンピュータと通信するために、プログラミング言語は、ゼロとユニットからなるエンジンコードにできるだけ近くで使用されました。 当然のことながら、多くのチームが非常に難しい作業だったことを忘れないでください。 さらに、プログラミング中のメモリ分布の方法は開発者の肩に完全に固定されていました。 そして彼が小さな誤りを認めたならば、それはすべてをやり直すことが必要でした。

機械言語からより適切な人への移行における大きな役割は、低レベルのアセンブラプログラミング言語によって演奏されました。 それはニーモニック値と記号を使用します。 これで、命令の管理と数値コードの組み合わせから、そのアルゴリズムをより効果的に構築することができるため、開発者のタスクを簡素化しました。 そのすべての柔軟性と力にもかかわらず、言語はマスタリングでも折りたたみました。

教育機関の訓練とアルゴリズムのために、Baysikプログラミング言語の導入を始めました。 彼はすでに研修生を理解しているキーワード、多くのチームを含んでいます。 BaisikはまだプログラミングAZEを習得するために使用されています。

プログラミングの最初のアルゴリズム言語の作成を伴う - Algola - アルゴリズムの開発の場合は大幅に加速されました。

アルゴリズムとは

あなたが乾いた理論と定義から逃げるならば、アルゴリズムはタスクを解決することを目的とした一連のアクションです。 この概念では、表現の以前は全体的なものにもかかわらず、人は毎日直面しています。 たとえば、お茶を飲むために、次のシーケンスを実行する必要があります。

  1. やかんをストーブに入れてください。
  2. 沸騰を待ちます。
  3. 水に沸騰水を注ぐ。
  4. ティーパッケージをカップに下げます。
  5. 必要な量の砂糖、牛乳または蜂蜜を加えます。

このシーケンスは非常に単純化されていますが、最も簡単なアルゴリズムです。

人のように、コンピューティングマシンは特定の一連のタスクを実行することができる。 しかし、彼女が明らかにそれらを理解するためには、EMMのための明らかな概念が多くないことを念頭に置いているべきです。 さらに、アルゴリズムはすべての必要な行動を正確に説明する必要があります。 この目的のために、車と男の間に特定の橋を創造するアルゴリズム言語を果たします。

アルゴリズム言語のプロパティと機能

アルゴリズムは正式な言語です。これは、コンピューティングマシン上で実行されると主張されたアルゴリズムを説明します。 原則として、それはどの車のアーキテクチャに縛られていません。 それはコードのスペルを大幅に増減するのに役立ちます。 明るい例として - Baysikのアルゴリズム言語。 PascalとSiはまた、彼らが簡単な構文と研究の速度を持っていたので人気がありました。

この構造は、コードに記載されている手順が次々に実行されるように実施される。 つまり、1つのアルゴリズムは1つのタスクです。 それは言語の関数やメソッドの作成とJavaの作成と似ています。

すべてのコードは、イベントまたは変数を記述するキーワードから構築されています。

機械とアルゴリズム言語の違い

機械依存言語の明るい表現はアセンブラです。 特別なラベルを持つトランスレータを指定するためにプログラミングが縮小され、移動先、またはどのデータ領域が埋められます。 アセンブラの構文はマシンのようなものであるため、勉強と書き込みコードを困難です。 下には、チームがさまざまなプロセッサにどのように見えるかがわかります。

したがって、正式な舌やアルゴリズムは、多数のキーワードと名前を理解できるように作成されました。

キーワード

アルゴリズム言語は、アクションまたは変数の完全な指定に縮小されるキーワードで構成されています。 これにより、コードの長さが短縮され、同時に残します。

  • ALG。。 このキーワードからは、任意のアルゴリズムを開始します。 名前と括弧内は、計算にかかる引数、および結果として何が起こるべきかを示します。
  • arg。 アルゴリズムの引数を示します。 コードで使用される値の型と名前を反映しています。
  • 切る。 このキーワードは、計算結果を配置する必要がある変数のタイプと名前を指定するために使用されます。
  • n アルゴリズムの実行の即時開始を示します。 Konのキーワードに失われた。 「始め」から「con」へのギャップ全体は現在のアルゴリズムの本体と呼ばれます。
  • コン。 アルゴリズムの実行が終了したことを報告します。
  • d d。 アルゴリズムまたは制限を使用するいくつかの機能とニュアンスについて話します。 たとえば、字幕行の長さが同じでなければならないように指定できます。 キーワードを使用して「与えられた」はオプションです。
  • 私たちは必要とします。 アルゴリズムの実行の結果としてのもののより詳細な説明。 「与えられた」と同じように、それは降下するかもしれませんが、より理解できて詳細なコードを構築するために、その使用をお勧めします。

キーワードデータのリストは、ヘッダおよびボディアルゴリズムの指定を指す。 しかし、変数のためのlexemesは次のようになります。

  • 良い。 可変整数の種類。 範囲は-32768から32767まで変化します。
  • でる。 実数 例えば、指数関数的または小数部分で。
  • ログ。。 このキーワードは、論理型変数が "yes"または "no"のみを受け入れることができることを意味します。
  • シム これには、単一のシンボルの値、たとえば、 "a"、 "3"が含まれます。
  • 照らす。 テキスト文字列全体を含むことができる文字列変数。
  • タブ。 特定の種類のデータを含むテーブルを示します。 他のプログラミング言語からの配列のアナログです。

追加のサービスワード

次の単語のリストは、分岐とサイクルを整理するために使用されます。

  • にとって。 特定の範囲のすべての値を列挙するために使用されます。 サイクル、すなわちデータを含む任意の手順の継続的な実行に使用されます。
  • からへ。 「for」のタイプのサイクルを経ている必要がある値の範囲を示します。
  • まで。 いくつかの値を列挙するのに役立ちます。 特定の条件が実行されるまで作業するために使用されます。
  • NCとKC。。 アルゴリズム言語の「NC」とは、サイクル本体の始まりを意味し、「CC」が最後にある。 これら2つのキーワードの間で、必要な手順は埋め込まれています。
  • もし。 この単語では、分岐の構造が実装されています。 したがって、条件を考えると、プログラムのコースを正しい方向に決定することが可能です。
  • そうでなければ。 「if」とペアで作業する2つの単語。 ブランチメカニズムも構築します。
  • 選択。 同じタイプのいくつかの値から分岐するための便利なツール。 キーワード「With」と「それ以外の場合は」とペアで機能します。
  • everything物。 分岐メカニズムの終わりを意味します。
  • 入力。 このキーワードでは、ユーザーはプログラム作業中の変数の値を後続の処理のために入力できます。
  • 出力。 画面にデータ出力を生成します。

基本言語構造

アルゴリズムプログラミング言語は、都合の良い形態で計算機能を生み出す様々な構造を構築するのを助けます。 一般に、どの言語でもいくつかのメカニズムとそれらの組み合わせを使用できます。

外交構造

この種の構造を設計するとき、コードの実行は文字列によって直接発生します。 一般的な例はこのように表現することができます。

2つの数字のALG和(ARGインテークA、B、Resh 2

結論 "S \u003d"、S

この例では、ユーザーによって入力された2つの数字の合計が計算されます。 最初に、「ALG」という単語は、アルゴリズムが始まることを示し、そして彼が何をしているのかを簡単に説明します。 ブラケットは、プログラムの動作に必要な引数、および結果を格納するためのコンテナとして機能する変数によって決まります。 次に、「始まり」というキーワードがあり、即時の式と手順の由来を示します。 「始め」の横にある中間変数を識別できます。

アルゴリズムの本体では、キーワード「入力」はユーザからのデータを受け取り、それらを変数に書き込む。 その後、それらが折り、それらの合計がSに割り当てられます。アルゴリズムの終了前に、プログラムの結果はキーワード「出力」を介して画面に表示されます。 アルゴリズム言語に関するこのエントリは、他の多くのプログラミング環境に典型的です。

分岐の構造

プログラムのストロークには必ずしも文字列文字列がありません。 場合によっては、状況に応じて特定の変数の値を決定または変更する必要があります。 たとえば、x \u003d 0ではなく、xに分割されません。

このためのアルゴリズムプログラミング言語は、いくつかの設計オプションとキーワード「IF」、「IF」、「それ以外の場合」または「選択」を使用します。 「IF」の後、他の分岐への遷移基準が決定される条件が確立された。 たとえば、次のようにします。

このようにして、変数の値は他の要因に応じて変更できます。 この例では、すべての可能な実装を完全には全くカバーされていません。 したがって、設計に加えて、キーワード「その他」が適用されます。 条件が選択された基準に対応していない場合は、別のブランチに切り替えることができます。

それ以外の場合はy \u003d 0です

すなわち、xがゼロに等しくない場合、それは彼が前に持っていた値にかかわらずリセットされる。

複数の選択を実装するためのより便利な手段は「選択」設計である。 いくつかの条件を整理することができます。 そのうちの1つが起動されると、指定されたアクションが実行されます。

x \u003d 0:y \u003d 0である

x \u003d 1:y \u003d 1である

x \u003d 2:y \u003d 2である

この例では、Xからの変数の依存関係を示します。 プログラムはすべてのデータを実行し、現在の値Xを指定された条件と比較します。 適合すると、その行動はそれに続く。 この設計は、どれものどれも機能しなかったときに、より柔軟な解決策についてキーワード「その他」と組み合わせることもできます。

サイクル

サイクルはプログラミングにおいて非常に重要な役割を果たしています。 この設計を実現せずにほとんど開発はできません。 一般に、サイクルは、いくつかの変数と同じ動作を繰り返し実行するというタスクを解決します。 これは、例えば、周知の式、その分類、またはある値の計算に従ってデータ配列を記入するときに便利である。

キーワード "while"を使用すると、特定の条件が満たされるまで特定の行動が繰り返されるサイクルを整理できます。 例えば:

h.<= 3

この例では、サイクルが無限ではないようにするために、xが3を超えるまで増加します。Xは、たとえば1で最大の辺に最大の辺に変更する必要があります。 。

キーワード「for」は、それらとの任意の行動を順次実行する特定の数の数字に適用されます。 この設計は、項目の終了数がわかっている場合に使用されます。

構文は次のようになります。

1から3のXのNC

「FROM」と「前」とは、ソートする必要がある値の範囲を示しています。 したがって、第1の反復x \u003d 1では、通過の結果として、私も値1を取得する。コントロールの継続は再び最初に行き、それぞれ2になりますが、3になります。

サイクルと分岐の共同構造を使用して、軽いタスクを解くための最も簡単なアルゴリズムを構築し、プログラミング言語の作業に関する知識を得ることができます。

標準機能

アルゴリズム言語は、すでに組み込まれている標準機能を持っています。 それらは数値と表現を使用していくつかの日常的な操作を軽減することができます。 アルゴリズム言語の通常の機能は、平方根、対数、モジュール、副鼻腔、余弦などを計算することができます。

  • 絶対モジュール - ABS(x);
  • 平方根 - SQRT(x);
  • naturalおよび10進数の対数 - LN(X)とLG(X);
  • 最小値と最大2つの数字 - min(x、y)、max(x、y);
  • サイン、コサイン、接線、キャタジン剤 - sin(x)、cos(x)、tg(x)、ctg(x)。

これらの標準機能により、「自転車」の作成を避けることができ、通常の手段で最も単純な機能を実装するのに役立ちます。

論理式

論理式は、特定の操作が条件を満たすかどうかを反映しています。 たとえば、x\u003e 0は、xでは "Truth"の値を持ち、1,2,25、または他の任意の数のゼロになります。 アルゴリズム言語には論理式が含まれています。これは、標準の数学的操作に加えて、次のキーワードと演算子を使用できます。

  • そして。 キーワードが配置されている表現は、明確な条件を満たさなければならないことを意味します。(x\u003e 0)と(\u003e 0)。
  • または。 式の1つは、例えば(x\u003e 0)、または(\u003e 0)などを満たさない場合がある。
  • じゃあ。 「表現」の論理値を「回す」。 たとえば、そのようなデザイン じゃあ (x\u003e 0)は、Xがまだゼロにならないべきであることを意味します。

比較演算子もあります -<, >\u003d \u003dこれを組み合わせることができ、それ以上の型の式を作成することができます。

アルゴリズム言語のための小規模プログラム

プロセスを理解するために、ユーザーと対話するプログラムを整理できます。 それは数を要求し、車はそれを正方形に造ることです。

アルゴリズム言語の構成要素は、それらの構成に多くのキーワードを持っています。 プログラムが始まる最初のことは、アルゴリズム - ALGの発表です。

スクエア()の藻施設

括弧内には、ユーザーからの値と結果となる引数を指定する必要があります。 これらのデータの種類の発表も忘れないでください。

今、車はそれが変数型と整数と対話する必要があることを知っていき、その操作の結果はSになります。

最初に行われることはデータを入力することです。 これはキーワード「入力」を使用して行われます。

アルゴリズムの本文に直接数字のカウントを実装するコマンドの数を記述する必要があります。

結論 "S \u003d"、S

このコマンドを使用して、符号を付けて、\u003d。 したがって、製品Xの値はそれ自体が変数に分かれます。 出力を持つ文字列には、画面の結果が表示されます。 まあ、これがすべての単語「con」です。 フルコードは次のようになります。

正方形の数の藻類の確立(ARG)

結論 "S \u003d"、S

これは、導入された数の二乗を算出するためのアルゴリズムが実現される。 プログラムは、すべての操作の量を追加することによって複雑になることがあります。 そしてそれはこのように見えます:

平方体の数とそれらの合計の計算の藻類勃起(ARGは蜂蜜、resh)

dANO | x\u003e 0。

必要です。| S \u003d 1 * 1 + 2 * 2 + ... + X * X

ヌコA

前書き; S:\u003d 0

1からXのためのNC

結論 "S \u003d"、S

この実施形態では、サイクルが使用され、中間変数Aおよび「Dano」のセクションおよび「必要」におけるタスクの簡単な表示が使用される。 さて、プログラムに一種の数を転送すると、それを正方形に直立し、すべての数字の正方形の合計を出力します。

アルゴリズム言語の使用と開発

アルゴリズム言語は、基本的な規範とプログラミング規則を理解するために学習環境に分散されています。 たとえば、多くの学校で開催されている基本です。 すべてのコマンドが順次実行された命令プログラミング言語として、そのような用語のすべてのパラダイムを完全に反映しています。

記載されている構造とキーワードの人間の言語への近似のため、完全機械や機械依存モデルよりもコードを書くことがはるかに簡単になりました。 プログラミング言語のファミリーは、その構文がいくつかのローカライズで提示されているため、その構文はすべての開発にさらされています。 ロシア語でもコードを書くことができます。

一般に、アルゴリズム言語の開発は全体としてのプログラミングに大きく影響を受け、多数の男が開発者になることを可能にしました。 現代の手段はますます利用可能で理解できるようになっています。 ハイレベルのプログラミング言語には、名前と名前を話すことを持つ多くの機能が含まれています。 それらの使用の限界はそれほど少なくなりつつあります。 したがって、将来的には、よりわかりやすく自然な開発的な実施が可能である。

コンピュータは、それに含まれるコマンドがバイナリマシンコードで表示されている場合にのみプログラムを実行できます。 アルファベットが論理ユニットとゼロで構成されている言語で指定されています。 最初のコンピュータの場合、プログラムはプログラマーの高性能と人件費が高いことを必要とした機械コードで直接行われ、40代のプログラミング言語の開発が開始され、その語彙では同じくらい近くなりました。その人の自然な言語に可能です。 そのようなプログラミング言語は求められます アルゴリズム.

アルゴリズム言語の開発に向けた中間ステップは言語でした アセンブラ。 アセンブラでは、チームは2進数ではなく、シンボル(ニーモニックコード)の組み合わせの形式で提示されます。これはチームの意味を再現できます。 ただし、アセンブラは短所に固有のものです。これは機械指向の言語であり、アセンブラは各コンピュータに作成されます。 アセンブラ上のプログラミングは、コンピュータのコンピュータ(デバイス)の良好な知識の優れた知識のプログラマを必要とし、そして同時に、同時にアセンブラを使用してコンピュータリソース(メモリ、速度)を使用することを同時に使用することを要求する。プログラム、したがって、アセンブラは依然としてプロのプログラマの間で広く普及しています。

最初のアルゴリズム言語がになりました for for1957年に作成されました。 John Beckusのリーダーシップの下でのIBMスペシャリスト。 現在、Pascal、C、Algol、PL1、基本、Lisp、Prologなど、たくさんのアルゴリズム言語があります。

アルゴリズム言語とアセンブラは、シンボリックコーディングの言語に属しています。 機械コードではなく、条件付きシンボリックシンボルを操作する言語には、これらの言語で作成されたプログラムをコンピュータ上で直接実行することはできません。 そのようなプログラムが獲得されるように、そのテキストはマシンコードに変換する必要があります。 このために、特別なプログラム翻訳者(翻訳者)があります。 トランスレータコンパイラとインタプリタには2種類あります。 コンパイラ プログラムを一度に変換し、その後実行することが可能です。 通訳 - これはより単純なトランスレータであり、プログラムオペレータを順次ブロードキャストし、また部分的に実行します。

21)C / C ++におけるプログラムの構造。

C ++言語プログラムはで構成されています 関数 , 明細化する そして プリプロセッサディレクティブ 。 関数の1つは名前を付けるべきです メイン。 。 プログラムはこの機能の最初の演算子から始まります。 関数の最も簡単な定義は次の形式です。


ルールとして、関数は任意の値を計算するために使用されますので、関数名はそのタイプを示します。 以下は、機能に関する最も必要な情報です。

  • 関数が値を返さないのであれば、void型は次のように指定されています。
  • 関数の関数はブロックであり、したがってカーリーブラケットにあります。
  • 関数は投資できません。
  • 各オペレータはカンマダイヤルで終わります(コンポジットオペレータを除く)。

メイン、FL、F2機能を含むプログラム構造の例:

プログラムはいくつかからなることがあります モジュール (ソースファイル)

C ++の入力/出力に関するいくつかのコメント

C ++では、内蔵のI / Oツールはありません。標準ライブラリに含まれる機能、型、オブジェクトを使用して実行されます。 2つのメソッドが使用されています:C、およびC ++オブジェクトから継承された機能。

メイン入力/出力機能:

iNT SCANF(const char * format、...)//
int printf(const char * format、...)//まとめ

フォーマット形式の行に従って、任意の数の値のフォーマット入力および出力を実行します。 フォーマット文字列には、(画面上の)ストリームにコピーされるか(キーボードから)、(キーボードから)、(キーボードから)、(キーボードから)、入力時の値から始まり、入力と出力が特定のものに置き換えられたときの変換仕様が含まれています。値。

I / O関数を使用しているプログラムの例:

#include。
int main()()
int i;
printf( "整数\\ p"を入力します)。
Scanf( "%d"、&i);
printf( "番号%d、ありがとうございました!"、i);
0を返します。
}

このプログラムの最初の行 - I / O関数のプログラムで使用されているI / O関数の説明を含むヘッダーファイルが挿入されているプリプロセッサ指令が挿入されている(この場合、角括弧はの要素です。言語)。 すべてのプリプロセッサ指令は標識で始まります。

3行目は、iという名前の整数型変数の説明です。

4行目のPRINTF関数は、「整数の入力」プロンプトを表示し、コントロールシーケンス\\ Nに従って新しい文字列に移動します。 SCANF関数はキーボードから変数iに入力された整数(アドレスを取得する操作を意味する)に入力され、次の演算子は変換仕様を置き換えることによってそれに指定された文字列を表示します。
この数の重要性

しかし、同じプログラムはC ++クラスライブラリを使用しているように見えます。

#include。
int main()()
int i;
COUT.<< "Введите целое число\\"; cin \u003e\u003e i;
COUT.<< "Вы ввели число " << i << ", спасибо!";
0を返します。
}

ヘッダファイルは、入出力のクラスのセットの説明です。 それは、スクリーン上に表示されるキーボードとCOUTを入力して、ストリームの部屋の操作を入力するための標準のCINフローオブジェクトを定義します。< < и чтения из потока >>.

22)C / C ++のアルファベットおよび識別子。

アルファベット
資本と小文字のラテン文字とアンダースコアサイン。
0から9までのアラビア数。
ブラインドシンボル:スペース、タブ、バーへの移行シンボル。
特別な兆候:

言語のlexemesはアルファベットのシンボルから形成されます。
識別子
キー(予約済み)単語。
オペレーション;
定数
分離する(ブラケット、ポイント、カンマ、宇宙船)。

識別子
ラテン文字、数字、およびアンダースコアサインを識別子に使用できます。
大文字と小文字は異なります。
識別子の最初の文字は、文字またはアンダースコアの標識であるかもしれませんが、数字ではありません。
名前内の名前は許可されていません。
規格による識別子の長さは限定されず、一部のコンパイラとリンカーはそれに制限を課します。
識別子はキーワードと一致してはいけません。
アンダースコアシンボルから識別子を起動することは推奨されません(システム関数または変数の名前と一致する可能性があります)。
外部変数を決定するために使用される識別子について。
リンカの制限があります(さまざまなリンカーやリンカのバージョンの使用は、外部変数の名前に異なる要件を課します)。

キーワードC ++

23)C / C ++の全データ型。

データの全てのデータは、コンピュータのメモリ内の通常の整数を表すように設計されています。 メインと最も一般的なタイプはタイプです int。。 彼の品種をはるかに頻繁に使用する: ショート (短整数) 長いです。 (長整数)。 また、タイプの種類は含まれています char。 (シンボル)。 また、必要に応じてタイプを使用できます 長い長い。 (Long-Pre-Rendering!)。これは標準によって定義されていませんが、多くのC ++コンパイラによってサポートされています。 デフォルトでは、すべてのタイプがすべてです 象徴的な。 その数字の先頭ビットは、数値の符号を決定します.0 - 数値が正の、1は負の数です。 C ++の象徴的な数に加えて、使用することができます 非象徴。 この場合、全ての放電は整数の形成に関与している。 超音波を説明するときは、その単語が追加されます 署名されていない。 (署名なし)。

Iconic Integerデータ型のサマリー表:

データ・タイプ サイズ、バイト 値の範囲
char。 -128 ... 127
ショート -32768 ... 32767
int。 -2147483648 ... 2147483647
長いです。 -2147483648 ... 2147483647
長い長い。 -9223372036854775808 ... 9223372036854775807

符号なし整数データ型のサマリテーブル:

データ・タイプ サイズ、バイト 値の範囲
符号なし文字。 0 ... 255
符号なし 0 ... 65535
unsigned int(あなたは単に署名することができます) 0 ... 4294967295
符号なし 0 ... 4294967295
長い間符号なし。 0 ... 18446744073709551615

特に4~8バイトの場合、制限値を覚えておいてください。それはほとんど価値がありません。 int。 - 約2・10 9。

実際には、いたるところ、すなわち主要なタイプ全体を使用することをお勧めします。 int。。 事実は、メイン全体のデータが他のデータデータよりも早く常に処理されることです。 短いタイプ( char。, ショート要素の値がこれらのタイプの制限を超えていない限り、メモリを節約するために大きな数の数値を格納するのに適しています。 十分な型ではない状況では長い型が必要です int。.

24)C / C ++言語のデータの種類。

実際(有効)数の特徴は、コンピュータのメモリ内で、ほぼ常にほぼ常に記憶され、そのようなデータを介して算術演算を実行するとき、計算誤差が累積される。

3つの実データ型があります。 浮く, ダブル。 そして 長い二重。。 主なものはタイプです ダブル。。 そのため、デフォルトのすべての数学関数はタイプと正確に作業します。 ダブル。。 以下の表は、実型の主な特性を示しています。

タイプ 長い二重。 現在、ルールとして、タイプと一致します ダブル。 そして実際には通常は適用されません。 古い16ビットコンパイラタイプデータを使用する場合 長い二重。 それらは10バイトのサイズを持ち、10進数の10進数に正確さを提供します。

どこでもタイプのみを使用することをお勧めします。 ダブル。。 それを使って働くことは常に速く、多数の計算で正確さの喪失に気付く可能性が低いです。 タイプ 浮く タスクを解決するのに十分なほど大きなアレイを保存するためだけに役立ちます。

25)C / C ++のシンボルデータ型。

C ++規格では、本当にシンボリックと見なすことができるデータ型はありません。 シンボリック情報を提示するために、この目的に適した2種類のデータがある - これらはタイプです char。 そして wchar_t。これらのタイプの両方が本質的にタイプ全体です。 たとえば、「A」シンボルを取り、数字2に分割することができます。 ヒント:スペースのシンボル。 例えば、PascalまたはC#の「通常の」シンボリックタイプの場合、シンボルの算術演算は禁止されています。

タイプ char。 ASCIIエンコーディングシステムに従って文字を表すために使用されます(Informathing Interchange - Americand Standard Information Exchangeコードのためのアメリカ標準コード)。 それは7ビットのコードであり、0から127のコードで128の異なる文字を符号化するのに十分である。128から255のコードを持つシンボルは、全国のフォント、疑似文字などをエンコードするために使用されます。

タイプ wchar_t。 1バイトで十分ではないエンコード用の文字のセットで動作するように設計されています。 サイズタイプ wchar_t。 通常2バイトに等しいです。 プログラムが文字列定数を使用する必要がある場合 wchar_t。それから彼らはプレフィックスで録音されます l例えば、L "語"などです。

26)C / C ++のオペレータの割り当てと空の演算子

アプリケーションオペレータ - これは最も一般的なオペレーターです。 その目的は、任意の変数の新しい値を割り当てることです。 C ++には、この演算子の3つの形式があります。

1)単純な代入演算子 このように書かれています:

variable \u003d式;

このオペレータは次のように機能します。最初は、操作シンボルの右側に書き込まれた式が計算されます。 = (等しい)、結果はサインの左側の変数に立っている = 。 結果タイプは、左側に記録されている変数の種類と一致する必要があります。

看板の左側に = 変数だけがあるかもしれません、あなたはまた定数を書き留め、そして変数、一般に複雑さの表現を書き留めます。

演算子の例

y \u003d x + 3 * r。

s \u003d sin(x);

2)複数の割り当て - そのようなオペレータでは、左から左への連続で、いくつかの変数に同じ値が割り当てられます。

a \u003d b \u003d c \u003d 1。

したがって、たとえば、正三角形では、すべての当事者が同じ番号1に等しいと判断できます。上記の演算子は、3つの演算子の順次実行に相当します。

当然のことながら、私たちが1つの演算子を記録することがより簡単で、3つはありません。 プログラムが短くなり、テキストは自然に見え、このデザインは少し速く機能します。

3)任意の操作を同時に実行した場合 一般に、それはそう書かれています:

変数sign_paration \u003d式。

そして録音と同等です

variable \u003d変数sign_operation式;

たとえば、オペレータ:

s + \u003d 5。 // 1番目のオプション

オペレーターと同じです

s \u003d S + 5。 //第2オプション

つまり、変数から古い値を取ります s番号番号を追加します 5 そして値は再び変数に受け取りました s.

ご覧のとおり、第2版の第1版短録音を録音し、変数の第1版では速く実行されます。 s 1回、2回目のバージョンで計算されます - 2回。

空の演算子

空のオペレータは何も満たさない演算子です。 なぜ「無駄な」オペレータが必要ですか?

空の演算子は、言語の構文が任意の演算子を記録するために必要な場合に使用され、プログラムの論理によると、何かをするつもりはありません。 したがって、プログラムのテキストに移動するためのラベルを決定するために、そして時には空のサイクル本体のためのラベルを決定するために、任意の分岐が何も実行する必要がある場合にも、分岐ステートメントに空の演算子が必要になることがある。

空の演算子は単一のシンボルです ; たとえば、次のようにします。

c \u003d A + B; ;

これが最初のキャラクターです ; (コンマの点)は代入演算子を完成させ、2番目の文字はちょうど空の演算子を与えます。 この状況では、空の演算子はまったく必要とされません(ただし構文エラー!)、説明のみに与えられます。 空の演算子を使用するのより「合理的」な例は、関連するトピックの後半にリストされます。

27)C / C ++言語の算術演算。

これらは最も一般的に使用されている操作です。 彼らの意味は彼が数学の過程から知られているものに近いです。 だから、それらをリストします。

加減算の優先順位は、残差の乗算、分割、計算よりも低い。 計算手順を変更するには、丸括弧を使用して、乗算のために 2 2つの数字の量 A. そして b あなたは書ける:

さらに。 得られた結果から分かるように、C ++ 1つのサイン / 2つの異なる操作を意味します。 一方または両方のオペランドが実際にある場合、両方のオペランドが整数である場合、共通の分割が実行され、その後分割が実行され、結果は全体のタイプになります。 この操作を使用するには、例えば数学的表現の計算をプログラムした場合などです。

文字通り、すなわち そう:

1/3 * sin(2 * x)

その後、結果は価値に関係なくです バツ。 式以来、常にゼロになります 1/3 焦点の分割を意味します。 問題を解決するためには、本物にするためのオペランドのうちの1つが十分です

1.0 / 3 * sin(2 * x)

残渣の計算の操作 % )整数オペランドにのみ適用されます。

サイン変更。 単項操作」 - 「サインを変更することを意味します。 全ての操作の共通表から分かるように、それは例えば乗算操作よりも非常に高い優先度を有する。 したがって、発現の中で

最初は、符号の変更が行われます A.そして乗算 - 上に b.

ペアになっている場合は、操作があります 単項プラス。 書き込むことができます

どの目的のために使うことですか? 言うのは難しいです。 しかし、そのような機会があります。

もっと興味深く、そして最も重要なことに、自動配線と自動の操作は非常に一般的です。

学校のアルゴリズム言語

アルゴリズム言語 (また ロシアのアルゴリズム言語、楽園) - アルゴリズムの記録と調査に使用されるプログラミング言語。 アルゴリズムの基礎を研究するために学校のコンピュータサイエンスを研究するときは、T。N. 学校のアルゴリズム言語 (トレーニングアルゴリズム言語)、ロシア語で理解できる言葉を使って。 ほとんどのプログラミング言語とは異なり、アルゴリズム言語はコンピュータアーキテクチャに接続されていないため、マシンデバイスに関連付けられている部分は含まれていません。

アルゴリズム言語のアルゴリズムは一般に次の形式で書かれています。

aLG。 アルゴリズムの名前(引数と結果) d d アルゴリズムの適用性の条件 私たちは必要とします アルゴリズムの実行の目的 ナッキー。 中間値の説明| .. 通信シーケンス(ボディアルゴリズム) コーン。

アルゴリズムの記録では、通常、太字のフォントで割り当てられたキーワードが強調されています。 インデントを使用して論理ブロックを強調表示し、ブロックの先頭と終わりのペアワードを垂直機能に接続しました。

正方形の合計を計算する例:

aLG。 二乗和( arg 良い n、 切る 良い S) d d | .. n\u003e 0。 私たちは必要とします | .. S \u003d 1 * 1 + 2 * 2 + 3 * 3 + ... + n * n ナッキー。 良い i | 入力 n; S:\u003d 0 | nC。 1からN |のための私のために | .. S:\u003d s + i * i | kc。 | 出力 "s \u003d"、S コーン。

eワークショップ

アルゴリズム言語に従ってプログラミングの理論的検討を強化するために、1985年のモスクワ州立大学スペシャリストがコンパイラエディタで作成されました 「eワークショップ」 ( "e" - yershovを称えて)アルゴリズム言語でプログラムを入力、編集、実行することができます。

1986年には、E-WorkshopのセットがE-Workshopのためにリリースされました。 ヤマハ、コルベット、uknc、そして広範囲に進んでいるコンピュータには「eワークショップ」が実装されました。

このプログラミング言語は絶えず確定されており、1990年の教科書には「E-Workshop」の後のバージョンの「e-Workshop」の説明が表示されました。 この教科書をサポートしているプログラミングシステム「Kumir」( "Kit Kit)は、1990年にInfo Enterpriseに掲載されました。 このシステムの言語は「IDOL」とも呼ばれます。

1995年、Kumirは、教科書A. G. G. Kushnirenko、G.V. LebedevaとR.Svorenに基づいて、コース「情報学とコンピュータ機械の基本」としての主な教材としてのロシア連邦の教育省によって推奨されました。 。

批判

しかしながら、それにもかかわらず、それにもかかわらず、アルゴリ様言語を参照して、それにもかかわらず、アルゴリの言語から直接接続されている部分がないことに留意されたい。かなり小学生を暗黙のうちに頼ることに注意すべきである。 (アーキテクチャVon Neumananは、チューリングマシンを持っている以前のアイデアの実際的な実装です。他のアイデアがあるという考えに加えて、それらにとって最も人気のあるラムダ計算名があります.Lisp車はラムダ - Questionに基づくアーキテクチャです。)

リンク

  • A. P. ershov。 情報学およびコンピューティング機器の基本学校コースにおけるアルゴリズム言語 05/05/1985
  • ロシアのプログラミング言語と開発についてフォーラム

ウィキメディア財団。 2010年。

他の辞書の「学校アルゴリズム言語」とは何ですか:

    アルゴリズム言語は、アルゴリズムを記録、実装、または調査するために使用される正式な言語です。 プログラミング言語はアルゴリズム言語であるが、すべてのアルゴリズム言語が言語としての使用に適しているわけではない... ...ウィキペディア

    この用語は他の意味もあり、アルゴリズム言語を参照してください。 教育アルゴリズム言語は、アルゴリズムを記録、実装、および調査するために使用される正式な言語です。 縛られていないほとんどのプログラミング言語とは異なり、...ウィキペディア

    この用語は他の値を持っています、ドラゴン(値)を参照してください。 Dragon Dragon Dragon Dragon(可視性を提供する優れたロシアのアルゴリズム言語)の例示的なスキームブロックアルゴリズム... ...ウィキペディア

    トレーニングを目的としたトレーニング言語プログラミングプログラミング言語。 そのため、そのような言語は基本的かつPascalとして開発されました。 ABC言語学習のPython Rose。 人気のある言語、... ...ウィキペディア

    この記事は削除するために提供されています。 理由の説明と適切な議論は、Wikipediaページで見つけることができます。ディスカッションプロセスは完了していないが、記事は...ウィキペディア

    アルゴリズムの記録と調査に使用されるアルゴリズム言語(ロシアのアルゴリズム言語、パラダイス)プログラミング言語。 アルゴリズムの基礎を研究するために学校のコンピュータサイエンスを研究するときは、T。N. 学校のアルゴリズム...ウィキペディア

    この用語は他の意味もあり、アイドルを参照してください。 Kumir ...ウィキペディア

    エドゥマンドリビア...ウィキペディア

    - (Kushnirenkoのトレーニングワールドやワールド)プログラミングのシステムシステムは、中央および高等学校でのプログラミングの初期コースをサポートするように設計されています。 1980年代後半に開発された技術に基づいて... ...ウィキペディア

  • このマニュアルについては、Kushnirenko、Alertova L.、Gusevaによって編集されました。 。 主要な段階に対処します...

アルゴリズムプログラミング言語 - アルゴリズムを記録、実装し、そして調査するために使用される形式言語。 ほとんどのプログラミング言語とは異なり、アルゴリズム言語はコンピュータアーキテクチャに接続されていないため、マシンデバイスに関連付けられている部分は含まれていません。

アルゴリズムの基礎を探るために、いわゆる ロシアのアルゴリズム言語 (学校のアルゴリズム言語)ロシア語で単語理解のある男子生徒を使用しています。

ロシアの構文を持つAlgolo様のアルゴリズム言語は、1980年代半ばにAcademician A. P. Ershovによって導入されました。 "Flameless"コンピュータサイエンスコースの基礎として

アルゴリズム言語の主なサービスワード

アルゴリズムの説明

  • aLG。 (アルゴリズム)
  • arg (引数)
  • 切る (結果)
  • ナッキー。 (始まり) - アルゴリズムの始まり
  • コーン。 (終了) - アルゴリズムの終わり
  • d d - 任意の形式のソースデータ
  • 私たちは必要とします - アルゴリズムの目的

データ型:

  • 良い (全体)
  • でる (リアル)
  • sim (シンボル)
  • 照らす (文学) - ライン
  • ログ。 (論理)
  • タブ(テーブル) - 配列を指定する
  • 長さ (length) - 配列要素の数

条件の指定

  • もし
  • さもないと
  • 選択

サイクルの指定

  • nC。 (サイクルスタート)
  • kc。 (サイクルの終わり)
  • まで

式のための論理関数と値

入出力

  • 入力
  • 出力

アルゴリズムの一般的な見方

1
2
3
4
5
6

aLG。 アルゴリズムの名前(引数と結果)
| .. d d アルゴリズムの適用性の条件
| .. 私たちは必要とします アルゴリズムの実行の目的
ナッキー。 中間値の説明
| 通信シーケンス(ボディアルゴリズム)
コーン。

アルゴリズムの一部 aLG。 言葉の前に ナッキー。 タイトルと呼ばれ、その部品は言葉の間で終了しました ナッキー。 そして コーン。 - ボディアルゴリズム

文章 aLG。 括弧内のアルゴリズムの名前の後、特性は表示されます( arg, 切る)そして価値の種類( 良い, でる, sim, 照らす または ログ。)すべての入力(引数)と週末(結果)変数。 配列(表)を説明するときは、サービスワードが使用されます タブ、配列要素の各インデックスに対して境界ペアによって補完されます。

アルゴリズムの記録では、キーワードは通常、太字のフォントで際立っています。 論理ブロックを強調表示するために、インデントが適用され、ブロックの先頭と終わりのペアワードは垂直機能によって接続されます。

主なアルゴリズム構造

メインアルゴリズム構造の詳細な説明はこの記事に記載されています。 以下は、アルゴリズム言語に関するこれらの構造をコンパイルするパターンです。
不完全な開発

| .. もし 調子
| .. | .. それ 行動
| .. everything物

完全な開発

1
2
3
4
5

| .. もし 調子
| .. | .. それ アクション1。
| .. | .. さもないと アクション2
| .. everything物

ブランチ

1
2
3
4
5
6
7
8

| .. 選択 パラメータ
| .. | .. 意味を持つ 値1。
| | | アクション1。
| .. | .. 意味を持つ 意味2。
| | | アクション2
| .. | .. さもないと
| | | デフォルトのアクション
| .. everything物

前提条件付きサイクル

| .. n 調子
| | 行動
| .. kc。

郵便帯でのサイクル

ロシア連邦の教育省Perm State Technical University

情報技術局および自動システム

Vikentheva O. L.

コースに関する抽象的な講義コース「アルゴリズム言語とプログラミング」(言語C ++、I学期)

前書き

最初の学期は、C言語の基本設計と基本的なプログラミング技術(構造プログラミング)について説明します。

構造プログラミングは、プログラムを変更する可能性を促進するだけでなく、特定の規則に準拠することを可能にするプログラムを作成する技術です。

1.1。 アルゴリズムとプログラム

アルゴリズムは、変数初期データから最終的な結果となるコンピューティングプロセスを決定する正確な順序であり、すなわち目標を達成するためのレシピである。

計算機の形でのアルゴリズムの表現のための資金と規則の組み合わせはプログラミング言語と呼ばれ、この言語で記録されたアルゴリズムはプログラムと呼ばれます。

まず、アクションアルゴリズムは常に開発され、それからそれはプログラミング言語の1つで書かれています。 プログラムのテキストは特別なサービスプログラム - 翻訳者によって処理されます。 プログラミング言語は人工言語です。 自然言語から、それらは限られた数の「単語」と録音コマンド(演算子)のための非常に厳しい規則が異なります。 これらの要件の組み合わせはプログラミング言語の構文を形成し、各デザインの意味はその意味です。

1.2。遅延アルゴリズム

1. 大部分:アルゴリズムは1つのタスクには適用されるべきであり、そして同様の問題の全クラスに適用されるべきである(正方形の式を解くためのアルゴリズムは1つの式ではなく、すべての正方形方程式では解くべきです)。

2. 有効性:アルゴリズムは、特定のステップ数の結果の結果をもたらすべきである(1から3分周期分率0.33333(3)が得られ、最終的な結果を達成するための正確さを指定する必要がある。この割合を取得する(たとえば、最大40進記号)。

3. 定義(決定論) - アルゴリズムの各作用はその演奏者にとって理解可能であるべきです(日本語を話していない人のための国内の機器の指示はアルゴリズムではありません)。決定論的性質はありません。

4. 識別 - プロセスは、InSivisibyを使用して記述されなければなりません

各ステップで実行された操作(すなわち、ステップはより小さなステップに分割することはできない)。

アルゴリズムは次の形式で表すことができます。

1) アルゴリズムの口頭の説明

2) アルゴリズムのグラフィック説明

3) アルゴリズムプログラミング言語を使用する

1.2. コンパイラと通訳

から 以前にコンパイルされたアルゴリズムを記述するテキストは、プログラミング言語を使用して作成されます。 作業プログラムを入手するには、このテキストをプロセッサコマンドシーケンスに変換する必要があります。これは、トランスレータと呼ばれる特別なプログラムを使用して実行されます。 翻訳者コンパイラとインタプリタ2つのタイプがあります。 コンパイラは、ソースモジュールのテキストをマシンコードに変換します。これは、1つの連続プロセスに対してオブジェクトモジュールと呼ばれます。 同時に、彼は最初に構文エラーを検索してプログラムのソーステキストを閲覧します。 インタプリタは、オペレータのオペレータモードでオリジナルのプログラムモジュールを実行します。

作業の移動、各オペレータを機械語に変換します。

1.3。プログラミング

プロセッサの種類が異なると、コマンドのセットがあります。 プログラミング言語が特定のプロセッサの種類に焦点を当ててその機能を考慮に入れている場合は、低レベルのプログラミング言語と呼ばれます。 最低レベルの言語はアセンブラ言語です。これは、単純に各マシンコードコマンドを表す特別なシンボリックシンボルの形で単純に表します。 低レベルの言語を使用して、開発者はプロセッサのすべての機能にアクセスするため、非常に効率的でコンパクトなプログラムが作成されます。 だから さまざまなプロセッサモデルの命令セットも異なり、各プロセッサモデルはそのアセンブラ言語に対応し、それに書き込まれたプログラムはこの環境でのみ使用できます。 類似の言語は、小規模なシステムアプリケーション、デバイスドライバなどを書くために使用されます。

高レベルのプログラミング言語は、特定のコンピュータアーキテクチャの詳細を考慮に入れていないため、適切な翻訳者が作成された場合には、ソーステキストレベルで作成されたプログラムが他のプラットフォームに転送されます。 高水準言語のプログラムの開発は、マシン言語よりもはるかに簡単です。

高水準言語は次のとおりです。

1. Fortran - in.に作成された最初のコンパイル言語20世紀50世紀。 それはプログラミングの最も重要な概念の数を実装しました。 この言語のために、統合複合体からの範囲で、膨大な数のライブラリが作成され、衛星で終わるので、それは多くの組織で使用され続けます。

2. COBOL - 経済計算とソリューションのためのコンパイルされた言語60年代初頭に開発されたビジネスタスク。 COBOLでは、外部メディアに保存されている大量のデータを扱う非常に強力な手段が実装されました。

3. Pascal - 最後に作成されましたSwiss Mathematics Niklaus Virutは特にトレーニングプログラミングのために それはあなたがアルゴリズム的思考を開発し、短い、よく読みやすいプログラムを構築することを可能にします、アルゴリズムの主な技術を実証し、それはまた大きなプロジェクトの実施にもよく適しています。

4. Baisik - In.プログラミングを学ぶために60代。 彼のために、コンパイラや通訳があり、最も人気のあるプログラミング言語の1つです。

5. SI - 70年代に作成されましたが、もともとマスプログラミング言語とは見なされませんでした。 同じ効率的で短いプログラムを作成できるが、特定のプロセッサには依存できないようにアセンブラを交換することが計画されていました。 それはPascalと主に似ており、メモリを扱うための追加の機会を持っています。 UNIXオペレーティングシステムと同様に、それは多くの適用およびシステムプログラム、およびシステムプログラムを書いています。

6. C ++ - 1980年にBiarny Sturastrupによって作成されたSI言語のオブジェクト指向展開。

7. Javaは、最初に太陽によって作成された言語ですC ++に基づく90年代。 低レベルの可能性を除くことによって、C ++上のアプリケーションの開発を簡素化するように設計されています。 言語の主な機能は、マシンコードではなく、プラットフォームに依存しないバイトコードでコンパイルされていることです(各コマンドは1バイトを占有します)。 このコードは、インタプリタ - 仮想Javaマシン(JVM)を使用して実行できます。

2. C ++上のプログラムの構造

SIのプログラムには、次の構造があります。プリプロセッサディレクティブ

. . . . . . . . .

#プリプロセッサディレクティブ関数a()

演算子は()で機能する

演算子

void main()//プログラムの実行が始まる関数

明細化する

割り当て

関数空の演算子

複合

遷移

Preprocessorディレクティブ - コンパイル前にプログラムテキスト変換を制御します。 テキストファイルの形式のSIで準備されたソースプログラムは3段階を渡します。

1) テキストのプリプロセッサ変換。

2)編集

3) レイアウト(接続またはアセンブリの編集)。

これら3段階の後、実行可能プログラムコードが形成される。 タスクは事前プロジェクトです

cESSOR - コンパイル前のプログラムのテキストの変換。 前処理処理の規則は、プリプロセッサ指令を使用してプログラマを定義します。 ディレクティブは#で始まります。 例えば、

1)#define - テキスト内の置き換えのための規則を示します。 #define 0.0。

ゼロプログラム内の各使用が置き換えられることを意味します。

2)#囲みます。< имя заголовочного файла> - 標準ライブラリに付属の「ヘッダファイル」ディレクトリからテキストプログラムのテキストに含まれることを意図しています。 各ライブラリ関数Cは、ヘッダファイルの1つに対応する説明を有する。 ヘッダーファイルのリストは標準言語によって定義されています。 INCLUDEディレクティブの使用は適切な標準BIBを接続しません

lyoteta、しかし、指定されたヘッダーファイルから説明プログラムの説明を挿入するだけです。 ライブラリコードの接続は、レイアウト段階、すなわちコンパイル後に実行される。 ヘッダファイルには標準機能のすべての説明が含まれていますが、プログラムで使用されている機能のみがプログラムコードに含まれています。

プログラムのテキストでプリプロセッス解除処理を実行した後、単一のプリプロセッサ指令はありません。

プログラムは一連の説明と定義であり、一連の機能で構成されています。 これらの関数の中には、常にMainという名前の関数になります。 それがなければ、プログラムは実行できません。 機能名の前に、関数によって返される値の種類(結果の種類)に情報が配置されます。 関数が何も返す場合は、void typeが指定されます.void main()。 メインを含む各関数は、一連のパラメータを持つ必要がありますが、空にすることができ、次に括弧内に(Void)を示します。

機能の機能は見出し機能の背後に置かれています。 本体関数は、カーリーブラケットに囲まれた一連の定義、説明および実行可能なオペレータです。 各定義、説明、またはオペレータはセミコロンで終了します。

定義 - オブジェクトが導入されます(オブジェクトは名前付きメモリ領域、オブジェクトの特別な場合はオブジェクトの特別なケースです)、プロセス可能データ内のデータを表すのに必要です。 例の例

int y \u003d 10。 // Float X定数。 //変数

説明 - プログラムの他の部分に記載されているオブジェクトのプロパティと名前のためにコンパイラに注意してください。

演算子 - 実行の各ステップでプログラムの動作を定義する

C上のプログラムの例

#include。 //プリプロセッサディレクティブ

コントロール質問

1. C ++プログラムはどの部分ですか?

2. 定義は発表とどのように異なりますか?

3. C ++で実行可能プログラムを作成するには、ステップを一覧表示します。

4. プリプロセッサとは何ですか?

5. プリプロセッサ指令とは何ですか? プリプロセッサディレクティブの例を作成します。

6. テキストを印刷するプログラムを作成する「私の最初のプログラムはC ++」

2. C ++ 2.1の基本的なツール。言語SOST

自然言語の本文では、シンボル、単語、フレーズ、提案4つの主要な要素を選択できます。 アルゴリズム言語にはそのような要素も含まれています。単語のみがLexemes(Elementary Structures)、フレーズ - 式、オファー - オペレータと呼ばれます。 lexemesは、シンボル、lexemesおよび記号、式からの式、式とlexingシンボルからの演算子から形成されます(図1.1)。

図。 1.1。 アルゴリズム言語の構成は、次のとおりです。

識別子はCプログラムの名前です。 ラテン文字、数字、およびアンダースコアサインを識別子に使用できます。 大文字と小文字は異なりますが、PROG1、PROG1、PROG1は3つの異なる識別子です。 最初の文字は文字またはアンダースコアである必要があります(図はわけではありません)。 識別子内のスペースは許可されていません。

キー(予約済み)単語は、コンパイラに特別な値を持つ単語です。 それらを識別子として使用することはできません。

- 操作の兆候は、オペランドに対するアクションを決定する1つ以上の文字です。 操作は、この操作に参加しているオペランドの数の単項、バイナリ、およびTERNARに分割されています。

定数は不変の値です。 整数、実数、シンボリック、文字列定数があります。 コンパイラは、Lexeme(Elementary Design)として定数を強調し、その外観に応じて型の1つに関連付けます。

分離 - ブラケット、ポイント、カンマスペースのアイコン。

2.1.1。 C ++の定数

定数は、固定数値、文字列、または記号値の画像を表すLEXEMAです。

定数は5つのグループに分けられます。

全体;

- 本物(浮動小数点);

上場;

シンボリック;

ストリング。

コンパイラはLEXをハイライトしてそれを特定のグループに関連しています。

プログラムのテキストと数値による記録の形式で特定の種類に3つのグループがあります。

定数は10進数、8進数、16進数であり得る。 10進数定数は、0から始まる10進数のシーケンスとして定義されています。これは0(例:8,0,192345)である場合は0から始まります。 8進数定数は常に0で始まる定数です.0は8進数に続きます(例:016 - 10進数14,01)。 16進数は、文字0xまたは0xの前に16進数の16進数です(例:0ha、0x00f)。

定数コンパイラ全体の値に応じてさまざまな方法でそれを提示します

コンピュータメモリ(すなわち、コンパイラは対応するデータ型定数を支援する)。

本物の定数は、コンピュータのメモリに別の形式の内部プレゼンテーションを持ちます。 コンパイラは、その形式に従ってそのような定数を認識します。 実数定数は2つのフォームフォームを持つことができます:固定点と浮動小数点を持つ。 固定点定数ビュー:[図]。[図表](例:5.7,0001,41)。浮動小数点の眺め定数:[図] [。] [。] [。] [。] e [+ | - ] [図] (有効:0.5E5、。11E-5,5E3)。 実数定数の記録では、全体として、または小数点、または小数点、または範囲の指標を持つ指数の符号を下げることができます。

列挙型定数はenumキーワードを使用して入力されます。 これらは一般的であり、指定を使用するのに便利な一定の定数全体です。 例:列挙型(1 \u003d 1、2 \u003d 2,3 \u003d 3,4,4 \u003d 4)。

enum(ゼロ、1,2,3) - リストされた定数を定義する際に符号\u003dおよび数値を省略する場合、値はデフォルトに帰属されます。 この場合、残りの識別子は値0を受け取り、それぞれの後続は1だけ増加します。

列挙型(10 \u003d 10,3 \u003d 3,4,5,6)。

eNUM(日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、水曜日)

記号定数はアポストロフィで囲まれた1文字か2文字です。 1つのシンボルからなるシンボリック定数は文字のタイプを持ち、メモリ内の1バイトを占有し、2文字からなる文字定数はINT型と2バイトを占めています。 SIGN \\を起動しているシーケンスはマネージャと呼ばれます。

- グラフィカル表示がない文字を表すには、次のようになります。

\\ A - ビープ音、

\\ b - 1ステップに戻る、\\ n - 行翻訳、

\\ t - 水平タブ。

- 文字のプレゼンテーションのために:\\、 '、? (\\\\、\\ '、\\ ???? ")。

- 16進コードまたは8進コードを持つ文字の表示(\\ 073、\\ 0xf5)。

文字列定数は、引用符で囲まれた一連の文字です。

行の内側にはコントロール文字も使用できます。 例: "\\ nnoving string"、

"\\ n" "高レベルプログラミングのアルゴリズム言語" "。

2.2。 C ++のデータの種類

データは世界中のプログラムに表示されます。 プログラムの目的はデータを処理することです。 データさまざまな種類が格納され、さまざまな方法で処理されます。 データ型は決定されます。

1) コンピュータのメモリ内の内部データプレゼンテーション。

2) このタイプの値を取ることができる多くの値。

3) このタイプのデータに適用できる操作と機能。

タスクの要件に応じて、プログラマはプログラムオブジェクトの型を選択します。 C ++の種類は、シンプルでコンポジットに分けることができます。 単純型には、1つの値が特徴付けられる型が含まれています。 C ++では、6つの単純なデータ型が定義されています。

int(全体)

char(シンボル)

wCHAR_T(詳細記号)BOOL(論理)float(Real)

ダブル(倍精度で実際に)

内部表現と標準タイプの範囲を指定する4種類の指定子があります

短い(短い)長い(長い)署名された(符号)

署名(見知らせした)

2.2.1。 intと入力します。

このタイプの値は整数です。

型INTのサイズは標準によって決まりませんが、コンピュータとコンパイラによって異なります。 16ビットプロセッサの場合、32ビット4バイトの場合は2バイトが割り当てられます。

短い指定子がintの前に立っている場合は、2バイトが数字に渡され、長い指定子が4バイトの場合は4バイトです。 Memoryオブジェクトへの割り当てられた数から、オブジェクトを受信できる多くの有効な値は次のように依存します。

短いINT - 2バイトを占有しているため、-32768 .. + 32767の範囲があります。

lONG INT - 4バイトランクで、範囲-2 147 483 648 .. + 2 147 483 647

INTタイプは、16ビットPC上の短いINTタイプと32ビットPCのLONG INTと一致します。

署名付きおよび符号なし修飾子は、オブジェクトが実行できる許容値のセットにも影響します。

符号なし短縮INT - 2バイトを占有するため、0.65536の範囲があります。 unsigned long int - 4バイトランクで、0の範囲が0 .. + 4 294 967

2.2.2。 文字を入力します。

このタイプの値は、最終的な順序付けられた文字数の要素です。 各文字は、シンボルコードと呼ばれる番号に従って配置されます。 シンボルタイプ1バイトのサイズの下では指定されています。 CHAR型は、署名付きおよび符号なし指定子で使用できます。 これらの署名付きCHAR型では、-128から127の範囲の値を格納できます。未署名の文字タイプを使用する場合、値は0から255の範囲になります.ASCIIコードはエンコードに使用されます(アメリカの標準コードFoe International Interchange)。 0から31までのコードを持つシンボルはサービスであり、I / Oステートメントにのみ独立した値を持ちます。

文字型の値は、指定された範囲から数値を格納するためにも使用されます。

2.2.3。 WCHAR_Tと入力します。

Unicodeのような1バイトで十分ではないエンコードのために一連の文字で動作するように設計されています。 このタイプのサイズは、原則として、短いタイプに対応します。 このタイプの文字列定数は、接頭辞L:L "String#1"で記録されています。

2.2.4。 ブールタイプ

ブールタイプは論理的です。 その値は真および誤った値を取ります。 表現の内部形式FALSEは0で、他の値はtrueとして解釈されます。

2.2.5。 浮動小数点の種類

実数の内部表現は2つの部分で構成されています。 IBM互換のPCでは、フロートタイプのサイズは4バイト占められており、そのうちの1つの放電は仮数区の符号の下に渡され、注文の下で8つの放電は仮数の下で24 -

二重占有8バイト、11および52の放電量の値は、それぞれオーダーと仮数の下で放電されます。 仮数の長さは数の正確さ、およびその範囲の長さを決定します。

ダブルタイプ名の前に長い指定子がある場合は、バイト数が大きくなります。

2.2.6。 ボイドタイプ

メインタイプはまた、このタイプの数値の数値のvoid型を指します -

2.3。 変数

C ++の変数は、データが格納されている名前付きメモリ領域です。 変数には名前と値があります。 名前は、値が格納されているメモリ領域を参照するのに役立ちます。 使用前に、任意の変数を記述する必要があります。 例:

説明の説明の全体図:

[メモリクラス]タイプ名[Initializer];

メモリクラスは値を取ることができます:auto、extern、static、register。 メモリクラスは、変数の存続期間と範囲を決定します。 メモリクラスが明示的に指定されていない場合、コンパイラはADコンテキストに基づいてそれを決定します。 生活時間は恒久的なものにすることができます - プログラムの実行中または一時的に - ブロック中 範囲 - 変数への通常のアクセスをとるプログラムのテキストの一部。 通常、視認性の範囲は行動の分野と一致しています。 また、同じ名前の内蔵ブロックに変数がある場合。

const - この変数を変更できないことを示します(定数)。 説明すると、初期値変数(初期化)を割り当てることができます。 メモリクラス:

自動-automaticローカル変数 自動指定子は、ブロックオブジェクトを決定するときにのみ指定できます。 この可変メモリはユニットへの入力で解放され、それを終了すると解放されます。 ブロックの外側では、そのような変数は存在しません。

externはグローバル変数で、プログラムの別の場所にあります(別のファイル内のテキスト内の共有)。 すべてのプログラムファイルで利用可能な変数を作成するために使用されます。

staticは静的変数です。変数が定義されているファイルの制限内にのみ存在します。

レジスタはAUTOに似ていますが、メモリはプロセッサレジスタに割り当てられます。 そのような可能性がない場合、変数は自動として処理されます。

int a; //グローバル変数void main()

int b; //ローカル変数

extern int x; // variable xはstatic int c; // local static変数A \u003d 1; //グローバル変数を割り当てる

int a; //ローカル変数A.

a \u003d 2; //ローカル変数を割り当てます:: a \u003d 3; //グローバル変数の割り当て

int x \u003d 4; //定義と初期化X

この例では、変数Aはすべてのブロックの外部で決定されます。 変数Aのアクション領域は、ローカル変数Aが使用されている行を除いて、プログラム全体です。 変数BおよびC - LOCAL、それらの可視性の領域はブロックです。 リビングライフタイム:Bの下のメモリはブロックを入力すると解放されます(デフォルトでは自動メモリクラスは終了すると解放されます。 プログラムが機能している間に(静的)の変数が存在します。

初期値を決定するとき、変数は明示的に指定されていない場合、コンパイラはグローバル変数と静的変数をリセットします。 自動変数は初期化されていません。

変数の名前は、そのアクション分野で一意であるべきです。

変数の説明は、完了したり、広告として、または定義として作成できます。 ADには、メモリクラスと変数の種類に関する情報が含まれています。この情報と一緒に定義はメモリを割り当てるための指示を示しています。 extern int xの例で。 - お知らせ、および残りの定義。

2.4。C ++での演算

運用の兆候は表現の形成を保証します。 式は、オペランド、操作の兆候、および括弧で構成されています。 各オペランドは、次に、式の表現または個人的なケースが定数または変数です。

単項営業所

& オペランドアドレスを取得する

* 住所に訴える(範囲)

- 単項マイナス、算術オペランドの符号を変更します

++ 1つの増加:

プレフィックス操作 - オペランドをその使用に増します

postfix操作使用後のオペランドが増えます

int a \u003d(m ++)+ n; //A \u003d 4、M \u003d 2、N \u003d 2

iNT B \u003d M +(++ N); //A \u003d 3、M \u003d 1、N \u003d 3

単位当たりの減少:

prefix操作 - オペランドをその使用に縮小します

pOSTFIX操作使用後にオペランドが縮小されます

そのタイプのオブジェクトのサイズ(バイト単位)の計算

オペランドがあります

彼は2つの形式を持っています

expressionのsizeof

sizeof(float)// 4

サイズ(1.0)// 8、T。実際のデフォルト定数

トピックを続ける:
インターネット

Windowsブートディスクを作成する最も一般的な方法の1つは、この記事で説明されている方法です。 そしてより正確に創造の中で、それは遠い世界で私たちを助けるでしょう...