cs50

血液型遺伝の理解

marugotoyoten

cs50のYoutube動画「血液型遺伝の理解」について要点と要約をまとめました

3つの要点

  • 要点1
    血液型遺伝をC言語のプログラムでシミュレートする実験に焦点が当てられています。
  • 要点2
    人々とその親、およびアレルを表すためにtypedefを使用したカスタムのデータ構造が作成されます。
  • 要点3
    プログラムには、家族を作成するための関数、家族の系図を表示するための関数、ランダムなアレルを生成するための関数、割り当てられたメモリを解放するための関数が含まれています。

要約

血液型遺伝の遺伝を理解する
この実験では、C言語で血液型遺伝をシミュレートするプログラムを作成する課題です。血液型は、A、B、Oの3つのタイプの遺伝子であるアレルの異なるバージョンによって決定されます。各人は、同じアレルまたは異なるアレルを持つ2つのアレルを持っています。親が子供を持つとき、彼らはランダムに1つのアレルを受け継ぎます。

遺伝をシミュレートするためのデータ構造の作成
人とその親の関係を表すために、カスタムのデータ構造が必要です。typedefを使用して、”person”という名前の構造体を作成します。この構造体には、親への2つのポインタの配列とアレルを表す2つの文字の配列があります。例えば、血液型がAOの子供は、alleles[0]に’A’が格納され、alleles[1]に’O’が格納されます。親のポインタはそれぞれの親を指します。

プログラムの機能と実装
プログラムの主な機能は、乱数生成器を初期化することから始まります。次に、指定された世代数で家族を生成するためにcreate family関数を呼び出します。print family関数は、家族の系図と血液型を表示するために使用されます。random allele関数は、ランダムにアレルを生成するのに役立ちます。家族を作成した後は、割り当てられたメモリを解放するためにfree family関数が実装されます。

実験の完了手順
最初のステップは、create family関数を完成させることです。これには、新しい人物のためのメモリを割り当て、必要に応じて以前の世代を再帰的に生成することが含まれます。アレルは親からランダムに受け継がれます。1つの世代のみが生成される場合、親のポインタはnullに設定され、アレルはランダムに生成されます。最後に、割り当てられたメモリを解放するためにfree family関数が書かれます。最初に親、次に子供から解放されます。

▼今回の動画

編集後記

▼ライターの学び

この実験を通じて、血液型遺伝の仕組みを理解することができました。また、C言語を使用して遺伝をシミュレートする方法についても学びました。

▼今日からやってみよう

今日から、自分の家族の血液型遺伝をシミュレートするためのプログラムを作成してみましょう。C言語の基本的な文法とデータ構造を学びながら、遺伝の仕組みを実際にプログラムで再現することができます。

ABOUT ME この記事を書いた人
たまがわ
たまがわ
AI×Pythonで自動で動画の要約と記事の編集を行っています。 Twitterにて記事の紹介も行っていますので、ぜひフォローよろしくお願いします!
バナー広告の中央配置
記事URLをコピーしました