<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivo para FORTRAN - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/tag/fortran/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/tag/fortran/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Wed, 09 Jul 2025 10:47:32 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Calcular números primos com Crivo de Eratóstenes em Fortran</title>
		<link>https://www.bosontreinamentos.com.br/fortran/calcular-numeros-primos-com-crivo-de-eratostenes-em-fortran/</link>
					<comments>https://www.bosontreinamentos.com.br/fortran/calcular-numeros-primos-com-crivo-de-eratostenes-em-fortran/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 18 Mar 2025 18:13:19 +0000</pubDate>
				<category><![CDATA[Fortran]]></category>
		<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[FORTRAN]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19783</guid>

					<description><![CDATA[<p>Números primos com Crivo de Eratóstenes em Fortran Neste tutorial trago um algoritmo simples, escrito em Fortran, que permite encontrar os números primos de 1 até um valor n, informado pelo usuário durante a execução do programa, para isso usando o algoritmo clássico conhecido como Crivo de Eratóstenes. Números primos são números naturais maiores que 1 que têm apenas dois divisores: 1 e eles mesmos. Em outras palavras, são números que não podem ser divididos por nenhum outro número além de 1 e deles mesmos sem resultar em um resto. Exemplos de números primos incluem 2, 3, 5, 7 e 11. A propriedade fundamental dos números primos é que não podem ser formados multiplicando dois números inteiros diferentes entre si. A compreensão dos números primos é crucial em matemática, e sua identificação desempenha um papel fundamental em áreas como criptografia e teoria dos números. O Crivo de Eratóstenes é um algoritmo antigo e eficiente para encontrar todos os números primos até um determinado limite. Ele funciona marcando os múltiplos de cada número primo encontrado, eliminando números compostos e deixando apenas os números primos. O algoritmo realiza iterações até que todos os números até o limite desejado sejam verificados. Trata-se de [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/calcular-numeros-primos-com-crivo-de-eratostenes-em-fortran/">Calcular números primos com Crivo de Eratóstenes em Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Números primos com Crivo de Eratóstenes em Fortran</h2>
<p>Neste tutorial trago um algoritmo simples, escrito em Fortran, que permite encontrar os números primos de 1 até um valor n, informado pelo usuário durante a execução do programa, para isso usando o algoritmo clássico conhecido como <strong><em>Crivo de Eratóstenes</em></strong>.</p>
<p>Números primos são números naturais maiores que 1 que têm apenas dois divisores: 1 e eles mesmos. Em outras palavras, são números que não podem ser divididos por nenhum outro número além de 1 e deles mesmos sem resultar em um resto.</p>
<p>Exemplos de números primos incluem 2, 3, 5, 7 e 11.</p>
<p>A propriedade fundamental dos números primos é que não podem ser formados multiplicando dois números inteiros diferentes entre si. A compreensão dos números primos é crucial em matemática, e sua identificação desempenha um papel fundamental em áreas como criptografia e teoria dos números.</p>
<p>O <a href="https://www.keil.com/benchmarks/sieve.asp" target="_blank" rel="noopener">Crivo de Eratóstenes</a> é um algoritmo antigo e eficiente para encontrar todos os números primos até um determinado limite. Ele funciona marcando os múltiplos de cada número primo encontrado, eliminando números compostos e deixando apenas os números primos. O algoritmo realiza iterações até que todos os números até o limite desejado sejam verificados.</p>
<p>Trata-se de uma maneira bastante eficaz de encontrar rapidamente todos os números primos dentro de um intervalo específico.</p>
<p>De acordo com a tradição, o Crivo de Eratóstenes foi criado pelo matemático grego Eratóstenes de Cirene por volta de 240 a.C., sendo assim uma das técnicas mais antigas conhecidas para encontrar números primos.</p>
<div id="attachment_19891" style="width: 279px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-19891" class="size-full wp-image-19891" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2024/01/eratostenes-busto.png" alt="Busto de Eratóstenes" width="269" height="437" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2024/01/eratostenes-busto.png 269w, https://www.bosontreinamentos.com.br/wp-content/uploads/2024/01/eratostenes-busto-259x420.png 259w" sizes="(max-width: 269px) 100vw, 269px" /><p id="caption-attachment-19891" class="wp-caption-text">Busto de Eratóstenes</p></div>
<p>Neste tutorial vamos implementar este algoritmo usando a linguagem de programação Fortran.</p>
<h3>Funcionamento do Crivo de Eratóstenes</h3>
<p>O algoritmo do Crivo de Eratóstenes funciona da seguinte maneira:</p>
<ol>
<li>Inicialização:<br />
Começamos criando uma lista de números a partir de 2 até o valor limite desejado pelo usuário.<br />
Marcamos todos esses números como não riscados, indicando que inicialmente consideramos todos como primos.</li>
<li>Seleção do Próximo Número:<br />
Começamos com o primeiro número não riscado, que é o 2.<br />
Este número é então marcado como primo, já que é o menor número não riscado (e 2 é o primeiro número primo).</li>
<li>Eliminação dos Múltiplos:<br />
Agora vamos riscar todos os múltiplos do número primo que acabamos de encontrar, até chegar no valor limite.<br />
No caso, riscamos todos os múltiplos de 2 (4, 6, 8, 10, 12, &#8230;).</li>
<li>Seleção do Próximo Número Não Riscado:<br />
Após riscar os múltiplos do número anterior, vamos nos mover para o próximo número não riscado na lista, que é o próximo número primo.</li>
<li>Repetição:<br />
Repetimos os passos 3 e 4 até que tenhamos marcado todos os números não riscados como primos ou não primos.</li>
</ol>
<p>Ao final do processo, os números que permanecem não riscados são os números primos dentro do intervalo desejado. O Crivo de Eratóstenes é eficiente porque evita a verificação de múltiplos de números que já foram marcados como não primos, reduzindo significativamente o número de iterações necessárias.</p>
<p>Visualmente, o que o crivo de Eratóstenes equivale ao seguinte:</p>
<table class="dataframe" border="1">
<thead>
<tr style="text-align: right;">
<th> </th>
<th>0</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 1</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 2</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 3</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 4</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 5</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 6</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 7</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 8</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 9</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 10</td>
</tr>
<tr>
<th>1</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 11</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 12</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 13</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 14</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 15</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 16</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 17</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 18</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 19</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 20</td>
</tr>
<tr>
<th>2</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 21</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 22</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 23</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 24</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 25</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 26</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 27</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 28</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 29</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 30</td>
</tr>
<tr>
<th>3</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 31</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 32</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 33</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 34</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 35</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 36</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 37</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 38</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 39</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 40</td>
</tr>
<tr>
<th>4</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 41</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 42</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 43</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 44</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 45</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 46</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 47</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 48</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 49</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 50</td>
</tr>
<tr>
<th>5</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 51</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 52</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 53</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 54</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 55</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 56</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 57</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 58</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 59</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 60</td>
</tr>
<tr>
<th>6</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 61</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 62</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 63</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 64</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 65</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 66</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 67</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 68</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 69</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 70</td>
</tr>
<tr>
<th>7</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 71</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 72</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 73</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 74</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 75</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 76</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 77</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 78</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 79</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 80</td>
</tr>
<tr>
<th>8</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 81</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 82</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 83</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 84</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 85</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 86</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 87</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 88</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 89</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 90</td>
</tr>
<tr>
<th>9</th>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 91</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 92</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 93</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 94</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 95</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 96</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 97</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 98</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 99</td>
<td><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 100</td>
</tr>
</tbody>
</table>
<p>Podemos ver que os números primos estão destacados (check verde), ao passo que os números múltiplos, que não são primos, são descartados (x vermelho).</p>
<p>Este algoritmo é bastante empregado em matemática computacional e é uma abordagem clássica para encontrar números primos.</p>
<p>Vejamos agora como implementar esse algoritmo usando uma linguagem de programação &#8211; no caso, o Fortran.</p>
<h3>Código em Fortran</h3>
<pre>program CrivoDeEratostenes
implicit none

integer, parameter :: MAX_N = 1000000
integer :: n
logical :: e_primo(MAX_N)
integer :: i, j

<span style="color: #339966;">! Inicializar o vetor de primos como verdadeiro</span>
e_primo = .true.

<span style="color: #339966;">! Solicitar ao usuário que insira o valor de 'n'</span>
write(*,*) 'Digite um número inteiro positivo n:'
read(*,*) n

<span style="color: #339966;">! Verificar se o valor de n está dentro dos limites permitidos para números primos</span>
if (n &lt;= 1 .or. n &gt; MAX_N) then
    write(*,*) 'Valor de n fora dos limites permitidos.'
    stop
end if

<span style="color: #339966;">! Algoritmo do Crivo de Eratóstenes</span>
do i = 2, n
    if (e_primo(i)) then
        do j = 2*i, n, i
            e_primo(j) = .false.
        end do
    end if
end do

! Exibir os números primos encontrados
write(*,*) 'Números primos de 1 até', n, ':'
do i = 2, n
    if (e_primo(i)) then
        write(*,*) i
    end if
end do

end program CrivoDeEratostenes</pre>
<h3>Teste</h3>
<p>Para testar, vamos pedir ao programa para retornar todos os números primos até o valor 500.000 (quinhentos mil!):</p>
<p>Resultado (truncado):</p>
<pre><span style="color: #000000;"><strong>2</strong></span>
<span style="color: #000000;"><strong>3</strong></span>
<span style="color: #000000;"><strong>5</strong></span>
<span style="color: #000000;"><strong>7</strong></span>
<span style="color: #000000;"><strong>11</strong></span>
<span style="color: #000000;"><strong>...</strong></span>
<span style="color: #000000;"><strong>499943</strong></span>
<span style="color: #000000;"><strong>499957</strong></span>
<span style="color: #000000;"><strong>499969</strong></span>
<span style="color: #000000;"><strong>499973</strong></span>
<span style="color: #000000;"><strong>499979</strong></span></pre>
<h3>Explicação do Código</h3>
<p>E como exatamente funciona esse código? Vejamos uma explicação passo a passo:</p>
<p>1. Declaração de Variáveis &#8211; Começamos declarando algumas variáveis:</p>
<ul>
<li><strong>MAX_N</strong>: Valor máximo permitido para n (limite superior para encontrar números primos).</li>
<li><strong>n</strong>: Número que será fornecido pelo usuário.</li>
<li><strong>e_primo</strong>: Um array lógico que indica se um número <em>é primo</em> (TRUE) ou não (FALSE).</li>
<li><strong>i</strong> e <strong>j</strong>: Índices para iteração.</li>
</ul>
<p>2. Inicialização:</p>
<ul>
<li>e_primo = .TRUE.: Inicializa o vetor de primos como verdadeiro.</li>
</ul>
<p>3. Entrada do Usuário:</p>
<ul>
<li>write(*,*) &#8216;Digite um número inteiro positivo n:&#8217;: Solicita ao usuário que insira um número inteiro positivo.</li>
<li>read(*,*) n: Lê o valor inserido pelo usuário.</li>
</ul>
<p>4. Verificação do Limite:<br />
&#8211; if (n &lt;= 1 .or. n &gt; MAX_N) then: Verifica se o valor de n está dentro dos limites permitidos para números primos.<br />
&#8211; write(*,*) &#8216;Valor de n fora dos limites permitidos.&#8217;: Exibe uma mensagem de erro se o valor de n estiver fora dos limites.<br />
&#8211; stop: Encerra o programa.</p>
<p>5. Algoritmo do Crivo de Eratóstenes:<br />
&#8211; A estrutura de repetição do i = 2, n itera sobre todos os números de 2 até n.<br />
&#8211; if (e_primo(i)) then: Verifica se i é marcado como primo.<br />
&#8211; A estrutura de repetição interna do j = 2*i, n, i marca todos os múltiplos de i como não primos, já que eles são divisíveis por i.</p>
<p>6. Saída dos Números Primos Encontrados:<br />
&#8211; write(*,*) &#8216;Números primos de 1 até&#8217;, n, &#8216;:&#8217;: Exibe uma mensagem indicando que os números primos estão sendo mostrados.<br />
&#8211; A segunda estrutura de repetição do i = 2, n itera sobre todos os números de 2 até n.<br />
&#8211; if (e_primo(i)) then: Verifica se i é marcado como primo.<br />
&#8211; write(*,*) i: Exibe o número primo.</p>
<h3>Conclusão</h3>
<p>Neste artigo vimos como empregar a técnica do Crivo de Eratóstenes para determinar números primos na linguagem de programação Fortran. Esse mesmo código pode ser adaptado para outras linguagens, como Python, C++, C# ou Rust, de acordo com sua necessidade.</p>
<h3>Colabore com a Bóson Treinamentos</h3>
<p>Ajude o canal adquirindo meus cursos na Udemy:</p>
<ul>
<li>Bancos de Dados com MySQL Básico: <a href="https://bit.ly/35QdWE4" target="_blank" rel="noopener">https://bit.ly/35QdWE4</a></li>
<li>Lógica de Programação com Português Estruturado: <a href="https://bit.ly/3QKPn22" target="_blank" rel="noopener">https://bit.ly/3QKPn22</a></li>
<li>Programação em Python do Zero: <a href="https://bit.ly/python-boson" target="_blank" rel="noopener">https://bit.ly/python-boson</a></li>
</ul>
<p>Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: <a href="https://www.amazon.com.br/shop/bosontreinamentos" target="_blank" rel="noopener">https://www.amazon.com.br/shop/bosontreinamentos</a></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/calcular-numeros-primos-com-crivo-de-eratostenes-em-fortran/">Calcular números primos com Crivo de Eratóstenes em Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/fortran/calcular-numeros-primos-com-crivo-de-eratostenes-em-fortran/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Programa que calcula as raízes de uma equação de segundo grau em Fortran</title>
		<link>https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-as-raizes-de-uma-equacao-de-segundo-grau-em-fortran/</link>
					<comments>https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-as-raizes-de-uma-equacao-de-segundo-grau-em-fortran/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 10 Oct 2023 11:42:21 +0000</pubDate>
				<category><![CDATA[Fortran]]></category>
		<category><![CDATA[FORTRAN]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19740</guid>

					<description><![CDATA[<p>Calcular as raízes de uma equação de segundo grau em Fortran Hoje vamos codificar um pequeno programa que permite calcular as raízes de uma equação quadrática polinomial (equação de segundo grau), usando a linguagem Fortran. Relembrando: uma equação de 2º Grau tem o seguinte formato: ax2 + bx + c = 0 Nesta equação, o valor x é chamado de &#8220;incógnita&#8221;, e indica um valor desconhecido. Já as variáveis a, b e c são os coeficientes da equação. Para resolver uma equação de segundo grau, precisamos determinar os valores reais da incógnita x que tornam a equação verdadeira. Esses valores são as raízes da equação. Uma equação do segundo grau pode ter zero, uma ou no máximo duas raízes reais. No caso de não ter raízes reais, ela ainda possui raízes complexas &#8211; caso que nosso programa também será capaz de calcular. Vamos ao código. Código PROGRAM EQ_SEG_GRAU IMPLICIT NONE ! Declaração das variáveis REAL :: a REAL :: b REAL :: c REAL :: delta REAL :: part_imag REAL :: part_real REAL :: x1 REAL :: x2 !Entrada do usuário: coeficientes da equação WRITE (*,*) 'Programa que calcula as raízes de uma equação de segundo grau' WRITE (*,*) 'Equação [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-as-raizes-de-uma-equacao-de-segundo-grau-em-fortran/">Programa que calcula as raízes de uma equação de segundo grau em Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Calcular as raízes de uma equação de segundo grau em Fortran</h2>
<p>Hoje vamos codificar um pequeno programa que permite calcular as raízes de uma equação quadrática polinomial (equação de segundo grau), usando a linguagem Fortran.</p>
<p>Relembrando: uma equação de 2º Grau tem o seguinte formato:</p>
<p style="text-align: center;"><span style="color: #800000;"><strong><span style="font-size: 18pt;">ax<sup>2</sup> + bx + c = 0</span></strong></span></p>
<p>Nesta equação, o valor x é chamado de &#8220;incógnita&#8221;, e indica um valor desconhecido. Já as variáveis a, b e c são os coeficientes da equação.</p>
<p>Para resolver uma equação de segundo grau, precisamos determinar os valores reais da incógnita x que tornam a equação verdadeira. Esses valores são as <em>raízes da equação</em>.</p>
<p>Uma equação do segundo grau pode ter zero, uma ou no máximo duas raízes reais. No caso de não ter raízes reais, ela ainda possui raízes complexas &#8211; caso que nosso programa também será capaz de calcular.</p>
<p>Vamos ao código.</p>
<h3>Código</h3>
<pre><strong>PROGRAM EQ_SEG_GRAU</strong>
<strong>IMPLICIT NONE

</strong><span style="color: #339966;"><strong>! Declaração das variáveis</strong></span>
<strong>REAL :: a</strong>
<strong>REAL :: b</strong>
<strong>REAL :: c</strong>
<strong>REAL :: delta</strong>
<strong>REAL :: part_imag</strong>
<strong>REAL :: part_real</strong>
<strong>REAL :: x1</strong>
<strong>REAL :: x2

</strong><span style="color: #339966;"><strong>!Entrada do usuário: coeficientes da equação</strong></span>
<strong>WRITE (*,*) 'Programa que calcula as raízes de uma equação de segundo grau'</strong>
<strong>WRITE (*,*) 'Equação no formato a * x2 + b * x + c = 0'</strong>
<strong>WRITE (*,*) 'Digite os coeficientes A, B e C:'</strong>
<strong>READ (*,*) a, b, c

</strong><span style="color: #339966;"><strong>!Coeficientes:</strong></span>
<strong>WRITE (*,*) 'Os coeficientes fornecidos A, B e C são: ', a, b, c

</strong><span style="color: #339966;"><strong>!Calcular o delta (discriminante)</strong></span>
<strong>delta = b**2 - 4 * a * c

</strong><span style="color: #339966;"><strong>! Calcular as raízes</strong></span>
<strong>IF (delta &gt; 0.) THEN <span style="color: #339966;">! Existem duas raízes reais</span></strong>
<strong>  x1 = (-b + sqrt(delta)) / (2. * a)</strong>
<strong>  x2 = (-b - sqrt(delta)) / (2. * a)</strong>
<strong>  WRITE(*,*) 'A equação possui duas raízes reais:'</strong>
<strong>  WRITE(*,*) 'x1 = ', x1</strong>
<strong>  WRITE(*,*) 'x2 = ', x2</strong>
<strong>ELSE IF (delta == 0.) THEN <span style="color: #339966;">! Há apenas uma raiz real, repetida</span></strong>
<strong>  x1 = (-b) / (2. *a)</strong>
<strong>  WRITE(*,*) 'A equação possui duas raízes reais idênticas:'</strong>
<strong>  WRITE(*,*) 'x1 = x2 = ', x1</strong>
<strong>ELSE <span style="color: #339966;">! A equação possui raízes complexas</span></strong>
<strong>  part_real = (-b) / (2. * a)</strong>
<strong>  part_imag = sqrt(abs(delta)) / (2. * a)</strong>
<strong>  WRITE(*,*) 'A equação possui raízes complexas:'</strong>
<strong>  WRITE(*,*) 'x1 = ', part_real, ' + ', part_imag, 'i'</strong>
<strong>  WRITE(*,*) 'x2 = ', part_real, ' - ', part_imag, 'i'</strong>
<strong>END IF

</strong><strong>END PROGRAM EQ_SEG_GRAU</strong></pre>
<h3>Teste</h3>
<p>Vamos executar o programa, passando como valores dos coeficientes a, b e c respectivamente 2, 4 e 1 &#8211; ou seja, a equação 2x<sup>2</sup> + 4x +1 = 0</p>
<pre><span style="color: #000000;"><strong>Programa que calcula as raízes de uma equação de segundo grau</strong></span>
<span style="color: #000000;"><strong>Equação no formato a * x2 + b * x + c = 0</strong></span>
<span style="color: #000000;"><strong>Digite os coeficientes A, B e C:</strong></span>
<span style="color: #000000;"><strong>2</strong></span>
<span style="color: #000000;"><strong>4</strong></span>
<span style="color: #000000;"><strong>1</strong></span>
<span style="color: #000000;"><strong>Os coeficientes fornecidos A, B e C são: 2.00000000 4.00000000 1.00000000 </strong></span>
<span style="color: #000000;"><strong>A equação possui duas raízes reais:</strong></span>
<span style="color: #000000;"><strong>x1 = -0.292893231 </strong></span>
<span style="color: #000000;"><strong>x2 = -1.70710683</strong></span></pre>
<h3>Funcionamento do Código</h3>
<p>Inicialmente, são declaradas as variáveis que serão utilizadas no programa. São necessárias variáveis para os coeficientes da equação (a, b e c), o discriminante (delta), as partes real e imaginária das raízes complexas (part_real e part_imag) e para as próprias raízes (x1 e x2).</p>
<p>Na sequência, o programa inicia mostrando algumas mensagens para o usuário, explicando a finalidade do programa e solicitando que o usuário insira os coeficientes da equação (a, b e c). O comando READ é usado para receber esses valores do usuário e armazená-los nas variáveis correspondentes.</p>
<p>Logo após o programa ecoa na tela os coeficientes fornecidos pelo usuário, apenas para confirmar que os valores foram lidos corretamente.</p>
<p>Então são iniciados os cálculos necessários, sendo calculado primeiramente o discriminante (delta) usando a fórmula Δ = b² &#8211; 4ac, que é a parte crítica para determinar o tipo de raízes da equação.</p>
<p>Após calcular o valor do discriminante, o programa determina o tipo de raízes com base no valor de delta. Se delta for maior que zero, há duas raízes reais distintas, que são calculadas usando a fórmula quadrática. Se delta for igual a zero, há apenas uma raiz real (repetida). Caso contrário, existem raízes complexas, e suas partes real e imaginária são calculadas e exibidas.</p>
<p>Após calcular e exibir as raízes na tela, o programa é encerrado.</p>
<p>Resumindo, o programa solicita coeficientes ao usuário, calcula o discriminante (delta) e, com base em seu valor, determina o tipo de raízes da equação de segundo grau, exibindo-as no final.</p>
<h3>Conclusão</h3>
<p>Vimos neste tutorial como criar um programa simples em Fortran para calcular as raízes de uma equação quadrática. Nos próximos tutoriais vamos trabalhar com outros problemas matemáticos e lógicos, criando algoritmos esta linguagem.</p>
<p>Até.</p>
<h3>Colabore com a Bóson Treinamentos</h3>
<p>Ajude o canal adquirindo meus cursos na Udemy:</p>
<ul>
<li>Bancos de Dados com MySQL Básico: <a href="https://bit.ly/35QdWE4" target="_blank" rel="noopener">https://bit.ly/35QdWE4</a></li>
<li>Lógica de Programação com Português Estruturado: <a href="https://bit.ly/3QKPn22" target="_blank" rel="noopener">https://bit.ly/3QKPn22</a></li>
<li>Programação em Python do Zero: <a href="https://bit.ly/python-boson" target="_blank" rel="noopener">https://bit.ly/python-boson</a></li>
</ul>
<p>Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: <a href="https://www.amazon.com.br/shop/bosontreinamentos" target="_blank" rel="noopener">https://www.amazon.com.br/shop/bosontreinamentos</a></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-as-raizes-de-uma-equacao-de-segundo-grau-em-fortran/">Programa que calcula as raízes de uma equação de segundo grau em Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-as-raizes-de-uma-equacao-de-segundo-grau-em-fortran/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como instalar o compilador GFortran no Linux para Fortran</title>
		<link>https://www.bosontreinamentos.com.br/fortran/como-instalar-o-compilador-gfortran-no-linux-para-fortran/</link>
					<comments>https://www.bosontreinamentos.com.br/fortran/como-instalar-o-compilador-gfortran-no-linux-para-fortran/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 29 Sep 2023 16:54:25 +0000</pubDate>
				<category><![CDATA[Fortran]]></category>
		<category><![CDATA[FORTRAN]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Matemática]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19749</guid>

					<description><![CDATA[<p>Como instalar o compilador GFortran no Linux Neste tutorial vou mostrar de forma simples e rápida como instalar e executar via terminal o compilador GNU Fortran (GFortran) em um computador com o sistema operacional Linux, para várias distribuições. O que é o GFortran O GFortran (GNU Fortran) é uma implementação da linguagem de programação Fortran no GCC, GNU Compiler Collection, software livre e de código aberto mantido por uma grande comunidade de programadores, que possui compiladores para uma série de linguagens, como C, C++, Ada e outras (além do Fortran, claro). Instalação do GFortran Antes de realizar a instalação do compilador em si, vamos primeiramente verificar se já não temos o GFortran instalado na distribuição Linux. Para isso, execute o comando a seguir no terminal: which gfortran Se nada for retornado no terminal, significa que o compilador não está presente no sistema. Teremos de instalá-lo. Antes de prosseguir com a instalação, devemos atualizar a lista de pacotes dos repositórios: sudo apt update Após atualizar as listas de pacotes, vamos proceder à instalação propriamente dita do compilador GFortran. Se sua distribuição Linux for Debian ou baseada nele (Ubuntu, Mint, etc.), basta executar o comando a seguir : sudo apt install gfortran [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/como-instalar-o-compilador-gfortran-no-linux-para-fortran/">Como instalar o compilador GFortran no Linux para Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Como instalar o compilador GFortran no Linux</h2>
<p>Neste tutorial vou mostrar de forma simples e rápida como instalar e executar via terminal o compilador <a href="https://gcc.gnu.org/fortran/" target="_blank" rel="noopener">GNU Fortran</a> (GFortran) em um computador com o <a href="http://www.bosontreinamentos.com.br/curso-de-linux-basico-e-certificacao-lpi-1/">sistema operacional Linux</a>, para várias distribuições.</p>
<h3>O que é o GFortran</h3>
<p>O GFortran (<a href="https://gcc.gnu.org/wiki/GFortran" target="_blank" rel="noopener">GNU Fortran</a>) é uma implementação da linguagem de programação Fortran no GCC, <em>GNU Compiler Collection</em>, software livre e de código aberto mantido por uma grande comunidade de programadores, que possui compiladores para uma série de linguagens, como <a href="http://www.bosontreinamentos.com.br/category/programacao-em-linguagem-c/">C</a>, <a href="http://www.bosontreinamentos.com.br/category/programacao-em-c/">C++</a>, Ada e outras (além do Fortran, claro).</p>
<h3>Instalação do GFortran</h3>
<p>Antes de realizar a instalação do compilador em si, vamos primeiramente verificar se já não temos o GFortran instalado na distribuição Linux. Para isso, execute o comando a seguir no terminal:</p>
<pre><strong>which gfortran</strong></pre>
<p>Se nada for retornado no terminal, significa que o compilador não está presente no sistema. Teremos de instalá-lo.</p>
<p>Antes de prosseguir com a instalação, devemos atualizar a lista de pacotes dos repositórios:</p>
<pre><strong>sudo apt update</strong></pre>
<p>Após atualizar as listas de pacotes, vamos proceder à instalação propriamente dita do compilador GFortran. Se sua distribuição Linux for Debian ou baseada nele (Ubuntu, Mint, etc.), basta executar o comando a seguir :</p>
<pre><strong>sudo apt install gfortran</strong></pre>
<p>Caso sua distro seja baseada em pacotes RPM, como Red Hat Enterprise Linux, CentOS, ou Fedora, entre outros, execute:</p>
<pre><strong>sudo dnf install gcc-gfortran</strong></pre>
<p>Para versões mais antigas desses sistemas use:</p>
<pre><strong>sudo yum install gcc-gfortran</strong></pre>
<p>E se você estiver usando a distribuição Arch Linux ou derivada, use o gerenciador pacman:</p>
<pre><strong>sudo pacman -S gcc-fortran</strong></pre>
<p>Após o término da instalação, verifique se tudo correu bem consultando a versão instalada com a opção <strong>&#8211;version</strong> do comando <strong>gfortran</strong>, como segue:</p>
<pre><strong>gfortran --version</strong></pre>
<p>Saída:</p>
<div id="attachment_19760" style="width: 609px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-19760" class="wp-image-19760" title="GFortran instalado em um Linux Ubuntu, por Fábio dos Reis." src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/09/gfortran-11-ubuntu-linux.jpg" alt="GFortran instalado em um Linux Ubuntu, por Fábio dos Reis." width="599" height="87" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/09/gfortran-11-ubuntu-linux.jpg 688w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/09/gfortran-11-ubuntu-linux-420x61.jpg 420w" sizes="auto, (max-width: 599px) 100vw, 599px" /><p id="caption-attachment-19760" class="wp-caption-text">GFortran instalado no Linux Ubuntu</p></div>
<p>No meu caso, foi instalada a versão 11.4 do GFortran em um sistema Ubuntu Linux 22.04.</p>
<p>Caso não seja informada a versão, algo saiu errado. Tente executar novamente os passos anteriores.</p>
<h3>Teste do gfortran</h3>
<p>Se tudo correu bem, vamos escrever um programa simples para testar nosso compilador. Para isso, abra um editor de texto de sua escolha e crie um arquivo de nome &#8220;teste.f90&#8221; (o importante aqui é a extensão).</p>
<p>Por exemplo, vou usar o nano para isso:</p>
<pre><strong>nano teste.f90</strong></pre>
<p>No arquivo aberto digite o seguinte código:</p>
<pre><strong>program teste</strong>
<strong>  write(*,*) 'Teste de instalação do Fortran'</strong>
<strong>end program teste</strong></pre>
<p>Salve o arquivo e saia do editor.</p>
<p>Vamos compilar o programa no terminal. Para isso, execute o comando a seguir no diretório onde o arquivo foi salvo:</p>
<pre><strong>gfortran -o teste teste.f90</strong></pre>
<p>Liste o conteúdo da pasta para ver o programa gerado:</p>
<pre><strong>ls -l</strong></pre>
<p>Saída:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19761 size-full" title="Resultado da compilação de um programa em Fortran no Linux" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/09/gfortran-11-ubuntu-linux-compilador.jpg" alt="Resultado da compilação de um programa em Fortran no Linux" width="492" height="41" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/09/gfortran-11-ubuntu-linux-compilador.jpg 492w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/09/gfortran-11-ubuntu-linux-compilador-420x35.jpg 420w" sizes="auto, (max-width: 492px) 100vw, 492px" /></p>
<p>Note no meu exemplo o arquivo de nome &#8220;teste&#8221;, marcado em verde no meu terminal, que é o executável gerado pela compilação do programa com o comando gfortran. Note que ele já possui as permissões de execução configuradas, e desta forma pode ser diretamente executado.</p>
<p>A opção <em>-o teste</em> é usada para criar um executável de nome teste (ou do nome que você quiser); se essa opção não for usada, o programa será compilado normalmente, porém o arquivo gerado terá o nome padrão <strong>a.out</strong>.</p>
<p>Para conhecer mais opções do compilador gfortran, execute o comando <strong>gfortran &#8211;help</strong> no terminal.</p>
<p>Para finalizar, vamos então rodar o programa:</p>
<pre><strong>./teste</strong></pre>
<p>Resultado:</p>
<pre><span style="color: #800000;"><strong> Teste de instalação do Fortran</strong></span></pre>
<p>É isso aí! Compilador GFortran instalado com sucesso no Linux. Nos próximos artigos vamos configurar editores de texto mais elaborados para codificar com mais facilidade e também vamos estudar a sintaxe da linguagem Fortran &#8211; e também mostrarei como instalar o GFortran no Windows, entre outras tarefas.</p>
<p>Até!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/como-instalar-o-compilador-gfortran-no-linux-para-fortran/">Como instalar o compilador GFortran no Linux para Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/fortran/como-instalar-o-compilador-gfortran-no-linux-para-fortran/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Programa que gera Progressão Geométrica em Fortran</title>
		<link>https://www.bosontreinamentos.com.br/fortran/programa-que-gera-progressao-geometrica-em-fortran/</link>
					<comments>https://www.bosontreinamentos.com.br/fortran/programa-que-gera-progressao-geometrica-em-fortran/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 21 Sep 2023 12:48:02 +0000</pubDate>
				<category><![CDATA[Fortran]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[Ciência]]></category>
		<category><![CDATA[FORTRAN]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19721</guid>

					<description><![CDATA[<p>Progressão Geométrica em Fortran Neste tutorial vamos criar um pequeno programa em Fortran para exibir os elementos de uma progressão geométrica, com base em parâmetros fornecidos pelo usuário em tempo de execução. O que é uma Progressão Geométrica? Progressão geométrica (PG) é uma sequência numérica em que cada termo, a partir do segundo, é obtido multiplicando o termo anterior por uma constante chamada de &#8220;razão&#8221;. Matematicamente, uma progressão geométrica pode ser representada da seguinte forma: a, ar, ar2, ar3, &#8230; Onde: a é o primeiro termo da progressão. r é a razão da progressão, que é um número constante. ar é o segundo termo da progressão. ar2 é o terceiro termo da progressão. E assim por diante. Em uma progressão geométrica, a razão r determina como os termos subsequentes são calculados a partir do termo anterior. Se r for maior que 1, a progressão será crescente, e se r estiver entre -1 e 1 (exclusivamente), a progressão será decrescente. Se r for igual a 1, todos os termos serão iguais, formando uma sequência constante. Onde usamos Progressão Geométrica? As progressões geométricas são usadas em várias áreas da matemática e das ciências em geral para modelar crescimento exponencial, decaimento e fenômenos [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/programa-que-gera-progressao-geometrica-em-fortran/">Programa que gera Progressão Geométrica em Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Progressão Geométrica em Fortran</h2>
<p>Neste tutorial vamos criar um pequeno programa em Fortran para exibir os elementos de uma progressão geométrica, com base em parâmetros fornecidos pelo usuário em tempo de execução.</p>
<h3>O que é uma Progressão Geométrica?</h3>
<p><strong>Progressão geométrica</strong> (<strong>PG</strong>) é uma sequência numérica em que cada termo, a partir do segundo, é obtido multiplicando o termo anterior por uma constante chamada de &#8220;razão&#8221;.</p>
<p>Matematicamente, uma progressão geométrica pode ser representada da seguinte forma:</p>
<p>a, ar, ar<sup>2</sup>, ar<sup>3</sup>, &#8230;</p>
<p>Onde:</p>
<ul>
<li>a é o primeiro termo da progressão.</li>
<li>r é a razão da progressão, que é um número constante.</li>
<li>ar é o segundo termo da progressão.</li>
<li>ar<sup>2</sup> é o terceiro termo da progressão.</li>
</ul>
<p>E assim por diante.</p>
<p>Em uma progressão geométrica, a razão r determina como os termos subsequentes são calculados a partir do termo anterior. Se r for maior que 1, a progressão será crescente, e se r estiver entre -1 e 1 (exclusivamente), a progressão será decrescente.</p>
<p>Se r for igual a 1, todos os termos serão iguais, formando uma sequência constante.</p>
<h3>Onde usamos Progressão Geométrica?</h3>
<p>As progressões geométricas são usadas em várias áreas da matemática e das ciências em geral para modelar crescimento exponencial, decaimento e fenômenos relacionados à multiplicação ou divisão por uma constante fixa em cada etapa.</p>
<p>São frequentemente aplicadas em finanças, física, biologia, engenharia e muitos outros campos.</p>
<p>Vejamos como implementar um programa em linguagem Fortran que nos permite calcular e exibir os termos de uma progressão geométrica, com base nos valores de termo inicial e razão informados pelo usuário.</p>
<h3>Código</h3>
<pre><span style="color: #ff0000;"><strong>PROGRAM ProgressaoGeometrica

</strong></span><span style="color: #ff0000;"><strong>  IMPLICIT NONE

</strong></span><span style="color: #ff0000;"><strong>  INTEGER :: n</strong></span>
<span style="color: #ff0000;"><strong>  REAL(8) :: a, r</strong></span>
<span style="color: #ff0000;"><strong>  INTEGER :: i

</strong></span><span style="color: #ff0000;"><strong>  WRITE (*,*) 'Programa para calcular e mostrar uma Progressão Geométrica'</strong></span>
<span style="color: #ff0000;"><strong>  WRITE (*,*) 'Digite o primeiro termo (a):'</strong></span>
<span style="color: #ff0000;"><strong>  READ(*, *) a</strong></span>
<span style="color: #ff0000;"><strong>  WRITE (*,*) 'Digite a razão (r):'</strong></span>
<span style="color: #ff0000;"><strong>  READ(*, *) r</strong></span>
<span style="color: #ff0000;"><strong>  WRITE (*,*) 'Digite o número de termos (n):'</strong></span>
<span style="color: #ff0000;"><strong>  READ(*, *) n

</strong></span><span style="color: #ff0000;"><strong>  IF (n &lt;= 0) THEN</strong></span>
<span style="color: #ff0000;"><strong>    WRITE (*,*) 'O número de termos deve ser maior que zero.'</strong></span>
<span style="color: #ff0000;"><strong>    STOP</strong></span>
<span style="color: #ff0000;"><strong>  END IF

</strong></span><span style="color: #ff0000;"><strong>  WRITE (*,*) 'Os', n, 'primeiros termos da Progressão Geométrica são:'

</strong></span><span style="color: #ff0000;"><strong>  DO i = 1, n</strong></span>
<span style="color: #ff0000;"><strong>    WRITE (*,*) 'Termo ', i, ': ', a</strong></span>
<span style="color: #ff0000;"><strong>    a = a * r ! Calcula o próximo termo</strong></span>
<span style="color: #ff0000;"><strong>  END DO

</strong></span><span style="color: #ff0000;"><strong>END PROGRAM ProgressaoGeometrica</strong></span></pre>
<h3>Teste</h3>
<pre><span style="color: #000000;"><strong>Programa para calcular e mostrar uma Progressão Geométrica</strong></span>
<span style="color: #000000;"><strong>Digite o primeiro termo (a):</strong></span>
<span style="color: #000000;"><strong>5</strong></span>
<span style="color: #000000;"><strong>Digite a razão (r):</strong></span>
<span style="color: #000000;"><strong>2</strong></span>
<span style="color: #000000;"><strong>Digite o número de termos (n):</strong></span>
<span style="color: #000000;"><strong>10

</strong></span><span style="color: #000000;"><strong>Os 10 primeiros termos da Progressão Geométrica são:</strong></span>
<span style="color: #000000;"><strong>Termo 1 : 5.0000000000000000 </strong></span>
<span style="color: #000000;"><strong>Termo 2 : 10.000000000000000 </strong></span>
<span style="color: #000000;"><strong>Termo 3 : 20.000000000000000 </strong></span>
<span style="color: #000000;"><strong>Termo 4 : 40.000000000000000 </strong></span>
<span style="color: #000000;"><strong>Termo 5 : 80.000000000000000 </strong></span>
<span style="color: #000000;"><strong>Termo 6 : 160.00000000000000 </strong></span>
<span style="color: #000000;"><strong>Termo 7 : 320.00000000000000 </strong></span>
<span style="color: #000000;"><strong>Termo 8 : 640.00000000000000 </strong></span>
<span style="color: #000000;"><strong>Termo 9 : 1280.0000000000000 </strong></span>
<span style="color: #000000;"><strong>Termo 10 : 2560.0000000000000</strong> </span></pre>
<h3>Funcionamento do programa Fortran para calcular e mostrar uma progressão geométrica</h3>
<p><strong>IMPLICIT NONE</strong>: Essa instrução força a declaração explícita de todas as variáveis, que é uma boa prática para evitar erros de tipo.</p>
<p>Logo a seguir temos a declaração das variáveis usadas no programa:</p>
<ul>
<li><strong>INTEGER :: n</strong>: Essa variável inteira será usada para armazenar o número de termos da progressão geométrica.</li>
<li><strong>REAL(8) :: a, r</strong>: a é o primeiro termo da progressão e r é a razão. Ambos são números reais com precisão dupla (REAL(8)).</li>
<li><strong>INTEGER :: i</strong>: Essa variável será usada como um contador em um loop.</li>
</ul>
<p>Configuramos então algumas mensagens de  introdução</p>
<p><strong>WRITE (*,*) &#8216;Programa para calcular e mostrar uma Progressão Geométrica&#8217;</strong>: Isso exibe uma mensagem informativa para o usuário no console.<br />
<strong>WRITE (*,*) &#8216;Digite o primeiro termo (a):&#8217;, WRITE (*,*) &#8216;Digite a razão (r):&#8217;, WRITE (*,*) &#8216;Digite o número de termos (n):&#8217;</strong>: Essas mensagens solicitam ao usuário que insira o valor do primeiro termo (a), a razão (r) e o número de termos (n) da progressão geométrica.</p>
<p><strong><em>Lógica principal do programa:</em></strong></p>
<p><strong>IF (n &lt;= 0) THEN</strong>: Esta estrutura condicional verifica se o número de termos (n) é menor ou igual a zero.<br />
<strong>WRITE (*,*) &#8216;O número de termos deve ser maior que zero.&#8217;</strong>: Se o número de termos for menor ou igual a zero, o programa exibe uma mensagem de erro.<br />
<strong>STOP</strong>: A instrução STOP encerra a execução do programa.</p>
<p><strong><em>Mensagem de exibição dos termos da progressão</em></strong></p>
<p><strong>WRITE (*,*) &#8216;Os&#8217;, n, &#8216;primeiros termos da Progressão Geométrica são:&#8217;</strong>: Esta linha de código exibe uma mensagem indicando que os termos da progressão geométrica serão exibidos a seguir.</p>
<p><strong><em>Laço de repetição para o cálculo e exibição dos valores:</em></strong></p>
<p><strong>DO i = 1, n</strong>: Inicia um laço DO que vai de 1 até n. Isso permitirá que o programa calcule e exiba os primeiros n termos da progressão geométrica.<br />
<strong>WRITE (*,*) &#8216;Termo &#8216;, i, &#8216;: &#8216;, a</strong>: Dentro do laço, o programa exibe o número do termo (contado pelo índice i) e o valor do termo atual (a) no console.<br />
<strong>a = a * r</strong>: O valor do termo atual (a) é multiplicado pela razão (r) para calcular o próximo termo da progressão geométrica.</p>
<p><strong><em>Finalização do Programa:</em></strong></p>
<p>O programa atinge o final do laço após calcular e exibir os n termos da progressão, e então é encerrado com a instrução <strong>END PROGRAM</strong>.</p>
<h3>Conclusão</h3>
<p>Neste artigo apresentamos uma sugestão de programa em linguagem Fortran que solicita ao usuário o primeiro termo (a) de uma progressão geométrica, a razão (r) e o número de termos (n) desejados. Em seguida, ele verifica se o número de termos é válido, e se for, calcula e exibe os primeiros n termos da progressão geométrica.</p>
<p>Cada termo é calculado multiplicando o termo anterior pela razão r. O programa usa um laço de repetição DO para repetir essa operação e a exibição até que todos os termos sejam processados.</p>
<p>É isso aí! Veja também: <a href="http://www.bosontreinamentos.com.br/fortran/programa-que-calcula-o-fatorial-de-um-numero-em-fortran/">Como calcular Fatorial com Fortran</a>.</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/programa-que-gera-progressao-geometrica-em-fortran/">Programa que gera Progressão Geométrica em Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/fortran/programa-que-gera-progressao-geometrica-em-fortran/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Programa que calcula o fatorial de um número em Fortran</title>
		<link>https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-o-fatorial-de-um-numero-em-fortran/</link>
					<comments>https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-o-fatorial-de-um-numero-em-fortran/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 20 Sep 2023 12:00:12 +0000</pubDate>
				<category><![CDATA[Fortran]]></category>
		<category><![CDATA[FORTRAN]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19704</guid>

					<description><![CDATA[<p>Fatorial de um número em Fortran Neste artigo vamos criar um pequeno programa que permite calcular o fatorial de um número usando a linguagem Fortran. O programa irá solicitar ao usuário que entre com um número inteiro, calculará o fatorial desse número usando um loop DO e, em seguida, exibirá o resultado. O fatorial será então calculado multiplicando o número pelo número anterior, repetidamente, até que o loop termine. Código do programa a seguir. Código: Fatorial em Fortran PROGRAM fatorial IMPLICIT NONE INTEGER::n,i,fat=1 PRINT *, 'Programa que calcula o fatorial de um número' PRINT *, 'Digite um número para calcular seu fatorial:' READ(*,*) n DO i=1,n fat=fat*i END DO WRITE(*, '(A, I0)') 'O fatorial é ', fat END PROGRAM Testando Programa que calcula o fatorial de um número Digite um número para calcular seu fatorial: 7 O fatorial é 5040 Funcionamento Vejamos o funcionamento do código linha a linha: PROGRAM fatorial: Definimos um programa Fortran de nome &#8220;fatorial&#8221;. IMPLICIT NONE: Esta linha declara que todas as variáveis devem ser explicitamente definidas com seus tipos de dados. Essa é uma boa prática para evitar erros de tipo. INTEGER::n,i,fat=1: Aqui, são declaradas três variáveis: n: número inteiro para o qual calcularemos o [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-o-fatorial-de-um-numero-em-fortran/">Programa que calcula o fatorial de um número em Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Fatorial de um número em Fortran</h2>
<p>Neste artigo vamos criar um pequeno programa que permite calcular o fatorial de um número usando a linguagem Fortran.</p>
<p>O programa irá solicitar ao usuário que entre com um número inteiro, calculará o fatorial desse número usando um loop DO e, em seguida, exibirá o resultado. O fatorial será então calculado multiplicando o número pelo número anterior, repetidamente, até que o loop termine.</p>
<p>Código do programa a seguir.</p>
<h3>Código: Fatorial em Fortran</h3>
<pre><strong>PROGRAM fatorial</strong>
<strong>  IMPLICIT NONE</strong>
<strong>  INTEGER::n,i,fat=1</strong>
<strong>  PRINT *, 'Programa que calcula o fatorial de um número'</strong>
<strong>  PRINT *, 'Digite um número para calcular seu fatorial:'</strong>
<strong>  READ(*,*) n</strong>
<strong>  DO i=1,n</strong>
<strong>    fat=fat*i</strong>
<strong>  END DO</strong>
<strong>  WRITE(*, '(A, I0)') 'O fatorial é ', fat</strong>
<strong>END PROGRAM</strong></pre>
<h3>Testando</h3>
<pre><span style="color: #000000;"><strong>Programa que calcula o fatorial de um número</strong></span>
<span style="color: #000000;"><strong>Digite um número para calcular seu fatorial:</strong></span>
<span style="color: #000000;"><strong>7</strong></span>
<span style="color: #000000;"><strong>O fatorial é 5040</strong></span></pre>
<h3>Funcionamento</h3>
<p>Vejamos o funcionamento do código linha a linha:</p>
<ul>
<li><strong>PROGRAM fatorial</strong>: Definimos um programa Fortran de nome &#8220;fatorial&#8221;.</li>
<li><strong>IMPLICIT NONE</strong>: Esta linha declara que todas as variáveis devem ser explicitamente definidas com seus tipos de dados. Essa é uma boa prática para evitar erros de tipo.</li>
<li><strong>INTEGER::n,i,fat=1</strong>: Aqui, são declaradas três variáveis:
<ul>
<li>n: número inteiro para o qual calcularemos o fatorial.</li>
<li>i: variável de controle que será usada em um loop.</li>
<li>fat: variável que armazenará o resultado do fatorial, inicializada com 1.</li>
</ul>
</li>
<li><strong>PRINT *, &#8216;Programa que calcula o fatorial de um número&#8217;</strong>: Mensagem informativa para o usuário, indicando a finalidade do programa.</li>
<li><strong>PRINT *, &#8216;Digite um número para calcular seu fatorial&#8217;</strong>: Mensagem que solicita ao usuário que insira o número para o qual deseja calcular o fatorial.</li>
<li><strong>READ(*,*) n</strong>: Esta linha lê o valor inserido pelo usuário e o armazena na variável n.</li>
<li><strong>DO i=1,n</strong>: Inicia um loop DO que irá executar as instruções dentro dele repetidamente. O loop começa com o valor da variável i igual a 1 e continua até chegar em n.</li>
<li><strong>fat=fat*i</strong>: Dentro do loop, o valor atual de fat (que começa em 1) é multiplicado por i e o resultado é armazenado em fat. Isso efetivamente calcula o fatorial.</li>
<li><strong>END DO</strong>: Encerra o laço DO.
<ul>
<li>Após a conclusão do loop, o programa exibe a mensagem &#8220;O fatorial é&#8221; seguida pelo valor calculado em fat, que é o fatorial do número inserido pelo usuário. Para tal usamos a instrução WRITE:</li>
</ul>
</li>
<li><strong>WRITE(*, &#8216;(A, I0)&#8217;)</strong>: instrução WRITE que formata a saída. Ela diz para escrever para a saída padrão (*) uma string de texto (&#8216;A&#8217;) seguida de um inteiro (&#8216;I0&#8217;).
<ul>
<li><strong>&#8216;O fatorial é &#8216;</strong>: Esta é a string de texto que será impressa.</li>
<li><strong>fat</strong>: E este é o valor do fatorial calculado, que será impresso como um valor inteiro.</li>
</ul>
</li>
<li><strong>END PROGRAM</strong>: Finaliza o programa FORTRAN.</li>
</ul>
<p>É isso aí! No próximo artigo veremos como escrever um programa em Fortran que permite gerar uma sequência de Fibonacci. Até!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-o-fatorial-de-um-numero-em-fortran/">Programa que calcula o fatorial de um número em Fortran</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/fortran/programa-que-calcula-o-fatorial-de-um-numero-em-fortran/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
