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 3:C++の演算子について

Day 3では、C++の演算子について学習します。 演算子はプログラム内で値を操作するための特殊な記号やキーワードです。 C++には様々な演算子が存在し、数値演算、論理演算、代入演算などがあります。以 …

【C++】Day 9:クラスとオブジェクト

Day 9では、クラスとオブジェクトについて学習します。 以下にそれぞれの内容を詳細に説明し、例題と演習問題を提示します。   クラスとオブジェクトの内容:   1. クラス: & …

【C++】Day 16:C++のラムダ式とSTLアルゴリズム

Day 16では、C++のラムダ式とSTLアルゴリズムについて学習します。 ラムダ式は、簡単な関数をインラインで定義する方法であり、STLアルゴリズムは標準ライブラリのアルゴリズム関数です。 以下にそ …

【C++】Day 26:デザインパターン「作成型パターン」

Day 26では、デザインパターンのうち「作成型パターン」について学習します。 作成型パターンは、オブジェクトのインスタンスを生成する方法に関するパターンです。主な作成型パターンには、シングルトン、フ …

【C++】Day 10:継承とポリモーフィズム

Day 10では、継承とポリモーフィズムについて学習します。 以下にそれぞれの内容を詳細に説明します。   継承: 1. 継承の概念: – 継承は、既存のクラス(ベースクラスまた …