HiroLab

プログラミングに関する情報発信サイト。

C++

【C++】Day 24:デバッグとテスト

投稿日:

Day 24では、デバッグとテストについて学習します。

プログラムを書く際には、バグを見つけて修正するデバッグや、プログラムが正しく動作することを確認するテストが重要です。

以下にデバッグとテストに関する主な内容と、例題、演習問題を提示します。

 

デバッグとテストの主な内容:

1. デバッグ:
– デバッグはプログラムに含まれるバグ(不具合)を見つけて修正する作業です。
– バグの原因を特定し、修正するためにデバッガやログ出力、print文の利用などの方法があります。
– デバッグのスキルはプログラミングにおいて非常に重要です。

 

2. テスト:
– テストはプログラムが期待通りに動作することを確認する作業です。
– テストケースを用意し、各関数や機能が正しく動作するかを検証します。
– テストは自動化されることが多く、自動テストツールを使用することで継続的にテストを実行できます。

 

例題:

以下は、バグを含むシンプルなC++プログラムの例です。このプログラムは2つの整数を入力し、その和を出力するものですが、バグがあるため正しい結果が出力されません。

#include <iostream>

int add(int a, int b) {
return a - b; // バグ: 正しくは a + b
}

int main() {
int num1, num2;
std::cout << "Enter two numbers: ";
std::cin >> num1 >> num2;

int result = add(num1, num2);
std::cout << "Sum: " << result << std::endl;

return 0;
}

このプログラムをデバッグして、正しい結果が出力されるように修正してください。

 

演習問題:

1. ファクトリアルを計算する関数を書いてください。ただし、入力が負の数の場合はエラーとして-1を返すようにしてください。その際、テストケースを使って関数の動作を確認してください。

2. 文字列を逆順にする関数を書いてください。たとえば、”hello”と入力された場合、”olleh”と出力されるようにしてください。この関数も適切なテストケースを使って検証してください。

これらの例題と演習問題を解くことで、デバッグとテストの重要性を理解し、バグを見つけて修正する能力やプログラムの正しさを検証するテストのスキルを向上させることができます。問題を解いたら、各関数が正しく動作しているかどうかを確認してみてください。

-C++
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【C++】Day 11:「ファイル入出力」と「例外処理」

Day 11のトピックとして、「ファイル入出力」と「例外処理」について学習します。   ファイル入出力: 1. ファイル入出力の概要: – ファイル入出力は、プログラムと外部のフ …

【C++】Day 23:ネットワークプログラミングの応用

Day 23では、ネットワークプログラミングの応用について学習します。 ネットワークプログラミングは、クライアントとサーバーの間でデータを送受信するだけでなく、さまざまな応用があります。 以下にネット …

【C++】Day 6:関数について

Day 6では、関数について学習します。 関数は、プログラム内で特定のタスクを実行するために使用されるブロック(サブルーチン)です。関数はメインプログラムから呼び出すことができ、再利用性とコードの構造 …

【C++】Day1-30 総復習/演習問題

以下に、Day 1-30までのC++学習カリキュラムにおける総復習と演習問題を提示します。 演習問題に対する回答と解説も記載しますので、各問題に取り組んで理解を深めてください。 ※後半に回答/解説を記 …

【C++】Day 27:デザインパターン「構造型パターン」

Day 27では、デザインパターンのうち「構造型パターン」について学習します。 構造型パターンは、クラスやオブジェクトの構造を改良するためのパターンです。主な構造型パターンには、アダプタ、デコレータ、 …