<?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>Comin Blog &#187; algoritmos</title>
	<atom:link href="http://www.comin.blog.br/tag/algoritmos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.comin.blog.br</link>
	<description>Discussões e dicas sobre o dia-a-dia em um mundo cheio de tecnologias.</description>
	<lastBuildDate>Fri, 12 Feb 2010 13:16:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Verificar se um número é primo e inteiro positivo em pascal!</title>
		<link>http://www.comin.blog.br/verificar-se-um-numero-e-primo-e-inteiro-positivo-em-pascal/</link>
		<comments>http://www.comin.blog.br/verificar-se-um-numero-e-primo-e-inteiro-positivo-em-pascal/#comments</comments>
		<pubDate>Mon, 18 May 2009 01:41:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Análise de sistemas]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linguagens de programação]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[algoritmos]]></category>
		<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.comin.blog.br/?p=84</guid>
		<description><![CDATA[Em pascal, verificar se um número era inteiro e positivo e em caso afirmativo dizer se era primo ou não.]]></description>
			<content:encoded><![CDATA[<p>Durante minhas aulas de laboratório de algoritmos, sugiu a dúvida entre os alunos de como era possível verificar se um número era <strong>inteiro e positivo</strong> e em caso afirmativo dizer se era <strong>primo</strong> ou não.</p>
<p>Como nós estamos mais acostumados a usar o operador <strong>&#8220;mod&#8221;</strong> e este suporta apenas valores declarados como <strong>&#8220;Integer&#8221;</strong>, não poderiamos deixar o usuário digitar um número com casas decimais.</p>
<p>Por isso dediquei algum tempo para provar que isto era possível, e não é tão complicado, bastou analisar bem o problema, e pesquisar um pouco a linguagem <strong>Pascal</strong>. Já que não é objetivo da disciplina um estudo avançado da linguagem, eu mesmo estou passando a solução aos alunos.</p>
<p>O fonte do programa (.pas) pode ser baixado <a href="http://www.comin.blog.br/downloads/primo.pas">aqui</a>, ou abaixo temos o fonte do programa, com testes realizados no ambiente Free Pascal.</p>
<p><strong>program</strong> primo;<br />
{************************************************************************<br />
Autor:    Professor Eduardo Comin<br />
Data:     15/05/2009</p>
<p>Objetivo: demonstrar que é poss¡vel verificar se um número<br />
é inteiro e positivo e em caso afirmativo testar se é primo.</p>
<p>*************************************************************************}<br />
<strong>uses</strong> crt;<br />
<strong>var</strong><br />
i, qtde: integer;<br />
num : real;<br />
{preciso usar real para que aceite um n£mero com casas digitado pelo usu rio}</p>
<p><strong>begin</strong></p>
<p>clrscr;{Limpa a tela}</p>
<p><strong>writeln</strong>(&#8216;Informe um n£mero inteiro e positivo &#8216;);<br />
<strong>readln</strong>(num);</p>
<p>{inicialização das variáveis}<br />
qtde := 0;<br />
i := 1;</p>
<p>{A função &#8221; frac &#8221; me retorna a parte fracionária de um número,<br />
ou seja o que vem depois do ponto}</p>
<p>{A função &#8221; int &#8221; me retorna a parte inteira do número}</p>
<p><strong>if </strong>(<strong>frac</strong>(num) = 0) and (num &gt; 0) <strong>then</strong><br />
<strong>begin</strong></p>
<p><strong>repeat</strong></p>
<p>if <strong>frac</strong>(num/i) = 0 <strong>then</strong><br />
qtde := qtde + 1;<br />
i := i + 1; {incremento minha vari vel de controle do loop}</p>
<p><strong>until</strong> i = int(num);</p>
<p>{se a quantidade de vezes que sobrou zero for maior que dois não é primo}<br />
<strong>if </strong>qtde &gt; 2 <strong>then</strong><br />
<strong>writeln</strong>(&#8216;o número informado:&#8217;, num:10:0, &#8216; não é primo&#8217;)<br />
<strong>else</strong><br />
<strong>writeln</strong>(&#8216;o número informado:&#8217;, num:10:0, &#8216; ‚ primo&#8217;);</p>
<p><strong>end else</strong><br />
<strong>writeln</strong>(&#8216;O número informado não é um número inteiro e positivo&#8217;);</p>
<p>readln;<br />
<strong>end.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.comin.blog.br/verificar-se-um-numero-e-primo-e-inteiro-positivo-em-pascal/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
