問題タブ [pascal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
9 に答える
3759 参照

delphi - Delphi = Pascal?学習のためのリソース?

ええと、私はDelphiと、一般的なオフラインプログラミング(標準のC ++を除く)に不慣れで、最近Delphiのコピーを入手し、それから始めることに興味を持っていました。Pascalを使用していることをどこかで読みましたが、Pascalを使用してプログラムされているのか、それともコーディングした言語のようにPascalを使用しているのか混乱しました。いずれにせよ、私は誰かが学び始めるための良いリソースを持っているかどうか疑問に思いました。オンラインの本や記事/フォーラムのどちらかが素晴らしいでしょう。ここはすてきな小さなコミュニティなので、これを利用する予定です。

0 投票する
4 に答える
373 参照

delphi - Delphi の反復セッター ロジック

クラスのセッターごとに、いくつかのイベント ロジック (OnChanging、OnChanged) を実装する必要があります。

セッターごとにこれらすべての行を複製せずにこれを実装する方法を提案できますか?

0 投票する
4 に答える
8822 参照

delphi - DELPHI:ループまたはケースの外側で「ブレーク」を使用する方法は?

次のDelphiPascalコードを検討してください。

TComponentでできる多形的なものがあることは知っていますが、それは私の質問ではありません。単一の反復repeat-untilステートメントを取り除く方法があるかどうか疑問に思っています。これがないと、処理ブロックのどこでもbreakステートメントを使用できず、いつでも処理を停止する必要があります。

0 投票する
2 に答える
1398 参照

case - Pascal の論理演算子 (< > = など) を使用した Case ステートメント

この作業を行うのに問題があります。どうやら、格文で > または < を使用できないようです。これに対する回避策はありますか? ありがとう!

0 投票する
22 に答える
3657 参照

algorithm - 7 つの整数の配列をソートする最速の方法は何ですか?

これは、ポーカー、特にテキサス ホールデムのオッズを分析するプログラムの一部です。私は満足しているプログラムを持っていますが、完璧にするためにいくつかの小さな最適化が必要です。

私はこのタイプを使用します(もちろん、とりわけ):

この配列について、並べ替え方法を決定する際に重要となることが 2 つあります。

  1. すべての項目は 0 から 51 までの値です。他の値は使用できません。
  2. 重複はありません。一度もない。

この情報を使用して、この配列をソートする絶対に最速の方法は何ですか? 私は Delphi を使用しているので、パスカル コードが最適ですが、C と疑似コードを読むことはできますが、少し遅くなります :-)

現時点ではクイックソートを使用していますが、面白いことに、これはバブルソートよりもほとんど高速ではありません! 個数が少ないため可能です。並べ替えは、メソッドの合計実行時間のほぼ 50% を占めます。

編集:

Mason Wheeler は、最適化が必要な理由を尋ねました。1 つの理由は、メソッドが 2118760 回呼び出されることです。

ポーカーの基本情報: すべてのプレイヤーに 2 枚のカード (ポケット) が配られ、次に 5 枚のカードがテーブルに配られます (最初の 3 枚はフロップ、次はターン、最後はリバーと呼ばれます。各プレイヤーは最高の 5 枚を選びます。ハンドを構成するカード)

ポケットに P1 と P2 の 2 枚のカードがある場合、次のループを使用して、考えられるすべての組み合わせを生成します。

これを書いているとき、もう 1 つのことに気付きました。配列の最後の 5 つの要素は常にソートされるため、最初の 2 つの要素を配列の正しい位置に配置するだけの問題です。それは問題を少し単純化するはずです。

したがって、新しい質問は次のとおりです。最後の 5 つの要素が既に並べ替えられている場合に、7 つの整数の配列を並べ替える最速の方法は何ですか。これは、いくつか (?) の if と swap で解決できると思います :-)

0 投票する
5 に答える
1783 参照

language-features - Pascalの方言では、可変数の引数を使用できますか?

これは年配のプログラマーへの質問です。

数年前、私はある種の拡張を通じて、可変数の引数を許可するPascalの方言に遭遇しました。

可変数の引数を許可するPascalの現在の方言を知っている人はいますか?

Pascalは以前ほど人気が​​ないことを考えると、答えが「いいえ」であっても驚かないでしょう。

ところで、パラメータでなく、可変数の引数を言う方が正しいですね。

0 投票する
4 に答える
2767 参照

c++ - 他にぶら下がっている問題はありますか?

「他にぶら下がっている」問題とは何ですか?(それは正しい名前ですか?)

C++ コーディング標準 (どの標準かは忘れました) に従って、私は常に制御構造でブラケット (ブロック) を使用します。したがって、私は通常、この問題を抱えていません (「if」は最後の(?) else に属します)。何年も前にパスカルに関する本で読んだことを覚えていますが、その本は見つかりません。

0 投票する
2 に答える
323 参照

delphi - オブジェクトの最上位の要素を取得する関数を再作成する方法は?

私の計画は、オブジェクトの最高の要素、いわば配列の上限を取得する関数を作成することです。つまり、関数 High() のコードを取得しようとしています。

私がこれまでに試したこと:

上記の関数は、オブジェクト (配列/文字列) の最初の要素の位置の前に値 (長さ) を読み取り、それを 1 減らして返す必要があります。ただし、静的配列タイプでも動的配列タイプでも正しい結果を取得しません。

Pascal で High() 関数を再作成するにはどうすればよいですか?

0 投票する
5 に答える
3729 参照

pascal - Pascal による単語カウンターの作成のヘルプ

特定の文字で始まるテキスト (ユーザー入力) の単語数を検出するプログラムを Pascal で作成する必要があります。配列を使用できません。どこから始めればよいかヒントを教えてください。

0 投票する
3 に答える
1729 参照

delphi - Delphi:非連続のサブレンジ列挙型を持つ方法は?

次の部分範囲列挙宣言は機能しますが、

これはしません:

そうでもない

連続しない値を持つ部分範囲型を宣言するにはどうすればよいですか?