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 29:「セキュリティと暗号化」

Day 29では、「セキュリティと暗号化」について学習します。 セキュリティと暗号化は、情報を保護するための重要な概念です。データの機密性、完全性、可用性を確保するために、データの暗号化、ハッシュ化、 …

【C++】Day 30:C++の応用と展望

Day 30では、「C++の応用と展望」について学習します。 C++は非常にパワフルで柔軟なプログラミング言語であり、さまざまな応用分野で使用されています。この日は、C++の応用領域や将来の展望につい …

【C++】Day 12:C++の標準ライブラリの使用

Day 12では、C++の標準ライブラリの使用について学習します。 C++の標準ライブラリは、様々な便利な関数やコンテナ、アルゴリズムなどを提供しており、プログラムの記述を簡単にしたり、高度な機能を利 …

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

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

【C++】Day 21:ネットワークプログラミングの基礎

Day 21では、ネットワークプログラミングの基礎について学習します。 ネットワークプログラミングは、コンピュータ間でデータを送受信するプログラミングのことを指します。主にソケットを使用してネットワー …