finding out distributions mathematically we know that the larger the degree of freedom, the less likely extreme events will occur (e.g., if you throw fair coin once, odds of heads is 50%, if you throw twice, odds of two heads are 25% and so on). and if they indeed occurs, there becomes more reason to suspect there might be other factors at work as the sample size increases,
we can conduct a simple experiment to verify this by throwing a coin e.g., 10 times in a trial, we graph x-axis percentage of heads in each trial, y-axis frequency. the more trials you conduct, the more likely it will peak at the center where 0.5 is, and the total frequencies to its left will be very close to its right,
my question is, is there a rational way to calculate the distribution after any number of trials? e.g if i conduct the trail 70 times in the aforementioned experiment, what would the frequency be at each percentage of heads exactly?
 A: As BruceET writes, the standard way to model this is the binomial distribution. (I believe he is misunderstanding you, though.)
Specifically, each trial consists of throwing a fair coin 10 times and recording the number of heads. (Note that the binomial distribution is usually used for counts, not percentages, but you can of course easily convert back and forth.) This is described by taking a draw from a binomially distributed random variable with parameters $n=10$ and $p=0.5$. The probability of seeing $0, 1, \dots, 10$ heads can be calculated - see the Wikipedia article or R:
> dbinom(0:10,10,0.5)
 [1] 0.0009765625 0.0097656250 0.0439453125 0.1171875000 0.2050781250
 [6] 0.2460937500 0.2050781250 0.1171875000 0.0439453125 0.0097656250
[11] 0.0009765625

If you do this 70 times, then you just drew 70 binomial samples. You can simulate drawing these 70 samples as follows:
set.seed(1) # for reproducibility
foo <- rbinom(70,10,0.5)

Here is a histogram of this sample, with the red line showing the expected counts:

hist(foo,breaks=seq(-0.5,10.5),col="grey")
lines(0:10,70*dbinom(0:10,10,0.5),type="o",pch=19,col="red")

If you increase the number of samples beyond 70, the histogram will get closer to the expected counts. (And if you increase the number of coin tosses in each trial beyond 10, the histogram will look more and more like a normal distribution.)
A: To illustrate the convergence in a sequence of coin tosses to approximately
equal numbers of Heads and Tails, one sometimes looks at the excess $D_n$ of the number of Heads over the number of tails. If the number of heads by the $n$th toss is $X_n \sim \mathsf{Binom}(n, p),$ then $D_n = X_n - (n - X_n) = 2X_n- n.$
Then the Law of Large Numbers guarantees the convergence of $A_n = D_n/n$ to $0$ with increasing $n.$ A plot of the 'running averages' $A_n$ against $n$ is
sometimes called a 'trace' of the coin toss experiment.
Four traces are shown in the figure below. Typically, at the left side of such a plot, for small $n,$ the
values of $A_n$ will be quite variable, but for larger $n,$ towards the right, the values 'settle down' near to $0.$

Here is R code used to make the figure.
set.seed(1234); M = 1000
par(mfrow=c(2,2))
 for(i in 1:4) {
 ht = sample(c(-1,1), M, rep=T)  # +1 = Head, -1 = Tail.
 a = cumsum(ht)/(1:M)
 plot(a, type="l", lwd=2, ylab="Running Avg")
 abline(h=0, col="green2")
 }
par(mfrow=c(1,1))

