I saw on the web an explanation on how to calculate amount of certain genes in a person. For instance: if your grandfather was French and your granny was an American then your father is 50 French and 50% American. Then he met an american woman and their child going to be 50/2=25% French and 50% American. And so on... dividing each time by two. Is it truth?
Every parent passes half their DNA onto their kids. There is a not infinite, but very high, amount of DNA. This means for the first generation it is precisely true: if Mom has 100% red genes and Dad has 100% green genes, child will have 50% green and 50% red genes. For the second generation, for people with mixed genes, it becomes true only on average. So if child has 50% green and 50% red genes, by passing on half its genes it could theoretically pass on all red genes, or all green genes. It very likely won't pass on exactly half of each. But because there are a lot of genes, the law of averages does that in practice you can say they pass on half of each, meaning if the other parent has all green genes the resulting child will be 75% green genes, 25% red. This indeed goes on through the generations for awhile until you run into the finiteness of DNA; at some point the amounts will be small enough that they no longer follow the laws of averages, and it become much more variable whether a child gets the full complement of their parent's red genes, or none, or some intermediate amount.
This is further complicated when we aren't talking about abstract "red" or "green" genes, but "American" or "French" genes. What the heck are "American" or "French" genes anyway? The human gene pool is fairly well-mixed, with most genes being widely shared. Those that can be used to identify specific ethnic or even national origins are low enough in number that what I said earlier about the law of averages no longer applying happens earlier if you look at specific subcategories of genes. Still, it works for several generations I believe.