<?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>Lab-01 &#187; Javascript</title>
	<atom:link href="http://www.blog.mayckxavier.com/category/programacao-2/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog.mayckxavier.com</link>
	<description></description>
	<lastBuildDate>Sun, 02 Oct 2011 15:04:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Como o Ajax funciona na prática</title>
		<link>http://www.blog.mayckxavier.com/2011/09/como-o-ajax-funciona-na-pratica/</link>
		<comments>http://www.blog.mayckxavier.com/2011/09/como-o-ajax-funciona-na-pratica/#comments</comments>
		<pubDate>Sun, 04 Sep 2011 15:11:46 +0000</pubDate>
		<dc:creator>Mayck Xavier</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.blog.mayckxavier.com/?p=254</guid>
		<description><![CDATA[bb_keywords = "ajax, javascript, web, php"; bb_bid = "654420"; bb_lang = "pt-BR"; bb_name = "custom";bb_limit = "7";bb_format = "bbc"; Muito se falou (e se fala) por aí sobre Ajax. Há uns anos atrás isso era a sensação do momento. Programadores que trabalhavam com Ajax eram mais valorizados não pelas vantagens no uso do Ajax, mas [...]]]></description>
			<content:encoded><![CDATA[<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "ajax, javascript, web, php";
            bb_bid  = "654420";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><p>Muito se falou (e se fala) por aí sobre Ajax. Há uns anos atrás isso era a sensação do momento. Programadores que trabalhavam com Ajax eram mais valorizados não pelas vantagens no uso do Ajax, mas pelo fato de ser &#8220;mais bonito&#8221;.<br />
Depois de algum tempo começaram a aparecer algumas bibliotecas em Javascript que implementam Ajax de uma forma simples.<br />
O primeiro nome que ouvi foi o do Prototype, mas só fui realmente trabalhar com uma biblioteca dessas algum tempo depois quando entrei pra <a class="bbli" href="http://sledge.boo-box.com/list/page/TGludXhfIyNfYmFyXyMjX3RhZ2dpbmctdG9vbC13cF8jI182NTQ0MjA=-56" onclick="pageTracker._trackPageview('/outgoing/sledge.boo-box.com/list/page/TGludXhfIyNfYmFyXyMjX3RhZ2dpbmctdG9vbC13cF8jI182NTQ0MjA=-56?referer=');">Linux<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> Solutions.<br />
Meu primeiro encontro foi com o jQuery e tanto ele quanto eu ainda estavamos engatinhando no mundo do desenvolvimento. Nessa época eu era basicamente o desenvolvedor frontend da empresa. Eu só gostava de CSS, tinha medo do <a class="bbli" href="http://sledge.boo-box.com/list/page/SmF2YXNjcmlwdF8jI19iYXJfIyNfdGFnZ2luZy10b29sLXdwXyMjXzY1NDQyMA==-64" onclick="pageTracker._trackPageview('/outgoing/sledge.boo-box.com/list/page/SmF2YXNjcmlwdF8jI19iYXJfIyNfdGFnZ2luZy10b29sLXdwXyMjXzY1NDQyMA==-64?referer=');">Javascript<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> e estava cansado de escrever Html, e queria programar em <a class="bbli" href="http://sledge.boo-box.com/list/page/UGhwXyMjX2Jhcl8jI190YWdnaW5nLXRvb2wtd3BfIyNfNjU0NDIw-52" onclick="pageTracker._trackPageview('/outgoing/sledge.boo-box.com/list/page/UGhwXyMjX2Jhcl8jI190YWdnaW5nLXRvb2wtd3BfIyNfNjU0NDIw-52?referer=');">Php<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>.<br />
Precisávamos trabalhar com um sistema sem recarregamento de páginas pelo fato de o mesmo fazer muitas requisições ao banco de dados em várias partes da interface, então seria bastante chato fazer no braço tendo em vista de todos os tutoriais da época só mostravam como fazer, mas não tinham uma descrição decente de como funcionava. Infelizmente, pra muitas empresas esse é o mercado hoje. Os gerentes só dizem &#8220;Faça! Deixe pra aprender depois!&#8221; e hoje temos vários profissionais que se você tirar o atalho do Internet Explorer do Desktop ele vai parar de trabalhar dizendo que a internet caiu. Assuntos polêmicos à parte, mas isso é bastante chato pois quem sabe como algo funciona pode questionar e adaptar a ferramenta ao trabalho.</p>
<p><strong>Como funciona uma requisição Ajax?</strong></p>
<p>O nome &#8220;Ajax&#8221; já não rola mais hoje em dia. Continuamos chamando de Ajax, mas pelo significado da sigla (Asynchronous Javascript and XML ou Javascript e Xml Assíncronos), não tem mais sentido. De qualquer modo, uma requisição Ajax funciona do seguinte modo:</p>
<p>Sua página inteira já foi carregada e, ao clicar num link ou fazer qualquer requisição, um usuário vê a página toda carregar novamente para a home do site sumir e aparecer um formulário de contato onde antes havia o texto inicial do site. Utilizando Ajax, você pode mandar o navegador carregar apenas o formulário de contato no lugar do texto inicial.<br />
-Putz! Mas eu vou ter mais trabalho pra fazer isso!</p>
<p>Teoricamente sim, mas se a página tem uma ou mais partes do conteúdo que se repetem você pode trabalhar com os includes ou imports da sua linguagem de programação preferida e no fim ter menos trabalho. Em compensação à codificação extra, ao invés de o usuário carregar novamente a página inteira apenas a parte relevante. Com isso você ganha velocidade de carregamento na sua página e diminuição de carga na sua banda.<br />
Web sites com <a class="bbli" href="http://sledge.boo-box.com/list/page/QWpheF8jI19iYXJfIyNfdGFnZ2luZy10b29sLXdwXyMjXzY1NDQyMA==-56" onclick="pageTracker._trackPageview('/outgoing/sledge.boo-box.com/list/page/QWpheF8jI19iYXJfIyNfdGFnZ2luZy10b29sLXdwXyMjXzY1NDQyMA==-56?referer=');">Ajax<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> se tornam mais fluidos e tem a sensação suave de carregamento de páginas. Imagine você utilizando seu sistema operacional e a cada janela que abrir, a tela ficar preta e só aparecer tudo de volta quando a janela se abrir? Seria medonho.<br />
<strong>Mais informações:</strong><br />
<a href="http://www.w3schools.com/ajax/default.asp" onclick="pageTracker._trackPageview('/outgoing/www.w3schools.com/ajax/default.asp?referer=');"> http://www.w3schools.com/ajax/default.asp</a><br />
<a href="http://en.wikipedia.org/wiki/Ajax_(programming)" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Ajax_programming?referer=');"> http://en.wikipedia.org/wiki/Ajax_(programming)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.mayckxavier.com/2011/09/como-o-ajax-funciona-na-pratica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparando datas com Javascript</title>
		<link>http://www.blog.mayckxavier.com/2010/10/comparando-datas-com-javascript/</link>
		<comments>http://www.blog.mayckxavier.com/2010/10/comparando-datas-com-javascript/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 05:04:44 +0000</pubDate>
		<dc:creator>Mayck Xavier</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.blog.mayckxavier.com/?p=202</guid>
		<description><![CDATA[bb_keywords = "javascript,jquery, algoritmos"; bb_bid = "654420"; bb_lang = "pt-BR"; bb_name = "custom";bb_limit = "7";bb_format = "bbc"; Tentando voltar com o jejum de bastante tempo aqui no blog. Tentarei potar mais vezes, mas quanto mais o tempo passa, menos tempo me resta rs. Hoje estava com um problema para fazer um relatório de um ERP [...]]]></description>
			<content:encoded><![CDATA[<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "javascript,jquery, algoritmos";
            bb_bid  = "654420";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><p>Tentando voltar com o jejum de bastante tempo aqui no blog. Tentarei potar mais vezes, mas quanto mais o tempo passa, menos tempo me resta rs.</p>
<p>Hoje estava com um problema para fazer um relatório de um <a class="bbli" href="http://sledge.boo-box.com/list/page/RVJQXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNfMjE3NjA2-52" onclick="pageTracker._trackPageview('/outgoing/sledge.boo-box.com/list/page/RVJQXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNfMjE3NjA2-52?referer=');">ERP<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> que estou fazendo para a loja de <a class="bbli" href="http://sledge.boo-box.com/list/page/bWF0ZXJpYWwrZWwlRTl0cmljb18jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXzIxNzYwNg==-76" onclick="pageTracker._trackPageview('/outgoing/sledge.boo-box.com/list/page/bWF0ZXJpYWwrZWwlRTl0cmljb18jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXzIxNzYwNg==-76?referer=');">material elétrico<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> do meu pai. O problema é simples. Será feito um relatório de lançamentos financeiros com data inicial e data final, porém a data inicial não poderia ser maior que a data final. Óbvio.</p>
<p>O formulário é basicamente o seguinte:</p>
<pre class="html">
<span class="htmlOtherTag">&lt;label for=<span class="htmlAttributeValue">&quot;data_inicial&quot;</span>&gt;</span>Data Inicial<span class="htmlOtherTag">&lt;/label&gt;</span>
	<span class="htmlFormTag">&lt;input type=<span class="htmlAttributeValue">&quot;text&quot;</span> name=<span class="htmlAttributeValue">&quot;data_inicial&quot;</span> value=<span class="htmlAttributeValue">&quot;&quot;</span> id=<span class="htmlAttributeValue">&quot;data_inicial&quot;</span> readonly=<span class="htmlAttributeValue">&quot;readonly&quot;</span> /&gt;</span>
<span class="htmlOtherTag">&lt;label for=<span class="htmlAttributeValue">&quot;data_final&quot;</span>&gt;</span>Data Final<span class="htmlOtherTag">&lt;/label&gt;</span>
	<span class="htmlFormTag">&lt;input type=<span class="htmlAttributeValue">&quot;text&quot;</span> name=<span class="htmlAttributeValue">&quot;data_final&quot;</span> value=<span class="htmlAttributeValue">&quot;&quot;</span> id=<span class="htmlAttributeValue">&quot;data_final&quot;</span> readonly=<span class="htmlAttributeValue">&quot;readonly&quot;</span> /&gt;</span>
<span class="htmlOtherTag">&lt;label&gt;</span>Tipo<span class="htmlOtherTag">&lt;/label&gt;</span>
	<span class="htmlFormTag">&lt;input type=<span class="htmlAttributeValue">&quot;radio&quot;</span> name=<span class="htmlAttributeValue">&quot;tipo&quot;</span> value=<span class="htmlAttributeValue">&quot;todos&quot;</span> /&gt;</span>Todos
	<span class="htmlFormTag">&lt;input type=<span class="htmlAttributeValue">&quot;radio&quot;</span> name=<span class="htmlAttributeValue">&quot;tipo&quot;</span> value=<span class="htmlAttributeValue">&quot;credito&quot;</span> /&gt;</span>Crédito
	<span class="htmlFormTag">&lt;input type=<span class="htmlAttributeValue">&quot;radio&quot;</span> name=<span class="htmlAttributeValue">&quot;tipo&quot;</span> value=<span class="htmlAttributeValue">&quot;debito&quot;</span> /&gt;</span>Débito
<span class="htmlOtherTag">&lt;label for=<span class="htmlAttributeValue">&quot;descricao&quot;</span>&gt;</span>Descrição<span class="htmlOtherTag">&lt;/label&gt;</span>
	<span class="htmlFormTag">&lt;input type=<span class="htmlAttributeValue">&quot;text&quot;</span> name=<span class="htmlAttributeValue">&quot;descricao&quot;</span> value=<span class="htmlAttributeValue">&quot;&quot;</span> id=<span class="htmlAttributeValue">&quot;descricao&quot;</span> /&gt;</span>
<span class="htmlFormTag">&lt;button name=<span class="htmlAttributeValue">&quot;&quot;</span> type=<span class="htmlAttributeValue">&quot;button&quot;</span> id=<span class="htmlAttributeValue">&quot;consultar_btn&quot;</span> &gt;</span>Consultar<span class="htmlFormTag">&lt;/button&gt;</span>
</pre>
<p>O necessário agora é pegar as datas e fazer a verificação. O Javascript tem um objeto chamado &#8220;Date&#8221; que nos permite fazer operações com datas. Ele é simples de se trabalhar, mas é preciso escrever um pouco de código.<br />
O meu código abaixo é utilizando o JQuery, mas você pode fazer com Javascript puro se quiser.</p>
<pre class="php">
$<span class="phpOperator">(</span><span class="phpString">'#consultar_btn'</span><span class="phpOperator">)</span>.click<span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
<span class="phpKeyword">	var </span>dia_inicial <span class="phpOperator">=</span> $<span class="phpOperator">(</span><span class="phpString">'#data_inicial'</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span><span class="phpOperator">)</span>.slice<span class="phpOperator">(</span><span class="phpNumber">0</span>, <span class="phpNumber">2</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">	var </span>mes_inicial <span class="phpOperator">=</span> $<span class="phpOperator">(</span><span class="phpString">'#data_inicial'</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span><span class="phpOperator">)</span>.slice<span class="phpOperator">(</span><span class="phpNumber">3</span>, <span class="phpNumber">5</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">	var </span>ano_inicial <span class="phpOperator">=</span> $<span class="phpOperator">(</span><span class="phpString">'#data_inicial'</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span><span class="phpOperator">)</span>.slice<span class="phpOperator">(</span><span class="phpNumber">6</span>, 10<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">	var </span>data_inicial <span class="phpOperator">=</span><span class="phpKeyword"> new </span>Date<span class="phpOperator">(</span>ano_inicial,mes_inicial,dia_inicial<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">	var </span>dia_final <span class="phpOperator">=</span> $<span class="phpOperator">(</span><span class="phpString">'#data_final'</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span><span class="phpOperator">)</span>.slice<span class="phpOperator">(</span><span class="phpNumber">0</span>, <span class="phpNumber">2</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">	var </span>mes_final <span class="phpOperator">=</span> $<span class="phpOperator">(</span><span class="phpString">'#data_final'</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span><span class="phpOperator">)</span>.slice<span class="phpOperator">(</span><span class="phpNumber">3</span>, <span class="phpNumber">5</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">	var </span>ano_final <span class="phpOperator">=</span> $<span class="phpOperator">(</span><span class="phpString">'#data_final'</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span><span class="phpOperator">)</span>.slice<span class="phpOperator">(</span><span class="phpNumber">6</span>, 10<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">	var </span>data_final <span class="phpOperator">=</span><span class="phpKeyword"> new </span>Date<span class="phpOperator">(</span>ano_final,mes_final,dia_final<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">	if<span class="phpOperator">(</span></span>data_inicial <span class="phpOperator">&gt;</span> data_final<span class="phpOperator">)</span><span class="phpOperator">{</span>
		alert<span class="phpOperator">(</span><span class="phpString">'A data inicial não pode ser superior à data<span class="phpKeyword"> final<span class="phpOperator">.</span></span>'</span><span class="phpOperator">)</span><span class="phpText">;</span>
	<span class="phpOperator">}</span>
<span class="phpKeyword">	else<span class="phpOperator">{</span></span>
		<span class="phpComment">//Faça aqui o que quiser <span class="phpOperator">=</span><span class="phpOperator">)</span>
</span>	<span class="phpOperator">}</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>O que fiz foi basicamente pegar todas as partes da data inicial e data final separados (dia, mês e ano).  Após isso, eu criei dois objetos do tipo Date. Como construtor, o objeto Date pode receber os parâmetros ano, mes e dia nessa mesma ordem. À partir desse momento eu pude fazer a comparação entre a data inicial e a data final. Simples assim.<br />
Explicando o método slice:<br />
O método &#8220;slice&#8221; literalmente corta uma string. Ele recebe dois parâmetros. O primeiro é onde você vai começar a cortar a string (sempre iniciando com zero) e o segundo é até onde vai cortar. O método vai retornar o pedaço da string que foi cortado. Faça alguns testes e se divirta =)</p>
<p>É isso aí pessoal. Até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.mayckxavier.com/2010/10/comparando-datas-com-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Venda de Livros</title>
		<link>http://www.blog.mayckxavier.com/2010/10/venda-de-livros/</link>
		<comments>http://www.blog.mayckxavier.com/2010/10/venda-de-livros/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 13:44:07 +0000</pubDate>
		<dc:creator>Mayck Xavier</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Livros]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.blog.mayckxavier.com/2010/10/venda-de-livros/</guid>
		<description><![CDATA[bb_keywords = "livros, javascript, php, perl, .net"; bb_bid = "654420"; bb_lang = "pt-BR"; bb_name = "custom";bb_limit = "7";bb_format = "bbc"; Fala galera, estou vendendo alguns livros. Não gosto muito da ideia, mas infelizmente o espaço ocupado por eles é bem grande e ainda existem outros pra colocar na lista. A lista pode ser encontrada em [...]]]></description>
			<content:encoded><![CDATA[<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "livros, javascript, php, perl, .net";
            bb_bid  = "654420";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><p>Fala galera, estou vendendo alguns livros. Não gosto muito da ideia, mas infelizmente o espaço ocupado por eles é bem grande e ainda existem outros pra colocar na lista.    <br />A lista pode ser encontrada em <a href="http://www.mayckxavier.com/vendese" onclick="pageTracker._trackPageview('/outgoing/www.mayckxavier.com/vendese?referer=');">www.mayckxavier.com/vendese</a> , mas vou colocar aqui também pra adiantar. O frete fica por conta do comprador, mas se você morar em Paracambi ou estudar no IST Paracambi, posso entregar em mãos.</p>
<table border="1" width="500">
<tbody>
<tr>
<th scope="col">Livro</th>
<th scope="col">Editora</th>
<th scope="col">Valor</th>
<th scope="col">OBS</th>
</tr>
<tr>
<td>Visual Basic .NET &#8211; Desenvolvendo uma Aplicação Comercial </td>
<td>Brasport</td>
<td>R$20,00</td>
<td>&#160;</td>
</tr>
<tr>
<td>Segurança &#8211; Seu guia para o uso seguro em redes locais </td>
<td>Campus</td>
<td>R$15,00</td>
<td>Capa traseira rasgada</td>
</tr>
<tr>
<td>Linguagem VB.NET &#8211; O Guia Essencial </td>
<td>O&#8217;Reilly</td>
<td>R$40,00</td>
<td>&#160;</td>
</tr>
<tr>
<td>Como Implantar o E-Business </td>
<td>Publifolha</td>
<td>R$10,00</td>
<td>&#160;</td>
</tr>
<tr>
<td>Construindo Servidores de Dados Internet com CGI </td>
<td>Makron Books</td>
<td>R$15,00</td>
<td>&#160;</td>
</tr>
<tr>
<td>Certificação Profissional Linux </td>
<td>Digerati</td>
<td>R$5,00</td>
<td>&#160;</td>
</tr>
<tr>
<td>Frameworks para Desenvolvimento em Php</td>
<td>Novatec</td>
<td>R$20,00</td>
<td>&#160;</td>
</tr>
<tr>
<td>Php 5 &#8211; Guia de Consulta Rápida</td>
<td>Novatec</td>
<td>R$10,00</td>
<td>&#160;</td>
</tr>
<tr>
<td>Integrando Php 5 com MySql &#8211; Guia de Consulta Rápida</td>
<td>Novatec</td>
<td>R$10,00</td>
<td>&#160;</td>
</tr>
<tr>
<td>PostgreSQL &#8211; Guia de Consulta Rápida</td>
<td>Novatec</td>
<td>R$10,00</td>
<td>&#160;</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Bom… É isso. Caso haja interesse, basta entrar em contato.   <br />Inté.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.mayckxavier.com/2010/10/venda-de-livros/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mini curso de algoritmos com Javascript &#8211; Aula 5</title>
		<link>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-5/</link>
		<comments>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-5/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 15:04:19 +0000</pubDate>
		<dc:creator>Mayck Xavier</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-5/</guid>
		<description><![CDATA[bb_keywords = "programação"; bb_bid = "654420"; bb_lang = "pt-BR"; bb_name = "custom";bb_limit = "7";bb_format = "bbc"; Olá pessoal. Essa é a última aula do nosso mini curso de Algoritmos com Javascript. Em adição a isso, estou colocando o pdf de todas as aulas para download para quem tem preguiça de ler direto do site ou, [...]]]></description>
			<content:encoded><![CDATA[<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "programação";
            bb_bid  = "654420";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><p>Olá pessoal. Essa é a última aula do nosso mini curso de Algoritmos com Javascript. Em adição a isso, estou colocando o pdf de todas as aulas para download para quem tem preguiça de ler direto do site ou, como eu, prefere ter tudo impresso pra ler em qualquer lugar.</p>
<p>O link para download é o seguinte: <a href="http://www.mayckxavier.com/public/Algoritmos_javascript.pdf" onclick="pageTracker._trackPageview('/outgoing/www.mayckxavier.com/public/Algoritmos_javascript.pdf?referer=');">www.mayckxavier.com/public/Algoritmos_javascript.pdf</a></p>
<p> <b></b>
<p><b>Estruturas de Controle</b></p>
<p>As estruturas de controles servem para, como o nome diz, controlar a execução do programa. Imagine que no sistema de uma loja virtual apenas maiores de 18 anos de idade podem realizar compras. Para isso é necessário checar se a idade do comprador é maior ou igual a 18 anos. Utilizaremos a estrutura de controle IF (Se) que serve para executar determinado código caso uma expressão retorne true.   <br />Exemplo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image18.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb18.png" width="403" height="135" /></a> </p>
<p>Nesse exemplo será testado se a idade do usuário é igual ou maior que 18 anos. Se o teste entre parêntesis retornar true, será executado o código entre as chaves. Esse exemplo é bastante limitado levando em consideração que nada acontecerá se o usuário tiver idade menor de 18 anos. Sempre que houver a necessidade de que um bloco de código seja executado se a expressão retornar false, basta adicionar a o bloco do ELSE (SENÃO) após os parêntesis do IF.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image19.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb19.png" width="430" height="194" /></a> </p>
<p>Se houver a necessidade de fazer mais de um teste, basta utilizar o ELSE IF.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image20.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb20.png" width="575" height="223" /></a> </p>
<p>Você pode perceber que utilizamos o operador lógico &amp;&amp; para dizer ao ELSE IF que o valor do produto deve ser maior que 10 e menor ou igual a 20. Você pode utilizar quantos ELSE IF forem necessários.</p>
<p><b>Switch</b></p>
<p>O Switch é utilizado quando você precisa de comparações simples como, por exemplo, comparar se a letra digitada é uma vogal ou consoante.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image21.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb21.png" width="501" height="389" /></a> </p>
<p><b>Estruturas de Repetição</b></p>
<p>As estruturas de Repetição são utilizadas quando você precisa repetir um código várias vezes enquanto uma determinada condição não for satisfeita. Em Javascript existem 3 estruturas de repetição.</p>
<p><b>While</b></p>
<p>O while irá executar um bloco de código até que sua condição seja satisfeita. Veja o exemplo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image22.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb22.png" width="474" height="146" /></a> </p>
<p>Acima temos um problema. O valor de num nunca será igual ou maior que 20, então o programa entrará no que chamamos de loop infinito. Ele entrará nesse bloco de código e executará infinitamente, geralmente travando a o seu navegador. Para que isso não aconteça, é necessário que você faça com que a variável num receba um valor que não satisfaça a condição do while. Um exemplo simples seria incrementar a variável a cada loop.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image23.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb23.png" width="472" height="139" /></a> </p>
<p>Pronto. Agora o while executará o código um número limitado de vezes e sairá logo assim que a condição não mais o satisfizer.</p>
<p><b>For</b></p>
<p>O for funciona do mesmo modo que o while, mas utilizando ele fica mais fácil não esquecer declarar uma variável ou incrementá-la. O For apresenta uma sintaxe mais definida.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image24.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb24.png" width="462" height="105" /></a> </p>
<p>Podemos ver que o for recebe 3 parâmetros. O primeiro é a variável com o seu valor inicial. O segundo é a condição que deve ser satisfeita e no terceiro parâmetro você pode incrementar a variável como eu fiz ou atualizar o valor dela.</p>
<p><b>Do/While</b></p>
<p>O Do/While é mais parecido com o while, porém ao invés de ele fazer o teste antes da execução do bloco, seu teste é feito apenas depois.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image25.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb25.png" width="464" height="129" /></a> </p>
<p>A grande diferença entre o While e o Do/While é que no do/while o código no bloco será executado pelo menos uma vez, mesmo se a condição não for satisfeita.</p>
<p>&#160;</p>
<p>É isso aí pessoALL. Algumas pessoas pareceram interessadas quando eu disse que queria colocar algumas dicas de jQuery. Estou pensando também em falar um pouco mais sobre Code Igniter. O que acham?</p>
<p>Abraços</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-5/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Mini curso de algoritmos com Javascript &#8211; Aula 4</title>
		<link>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-4/</link>
		<comments>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-4/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 17:38:00 +0000</pubDate>
		<dc:creator>Mayck Xavier</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Curso]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-4/</guid>
		<description><![CDATA[bb_keywords = "Curso"; bb_bid = "654420"; bb_lang = "pt-BR"; bb_name = "custom";bb_limit = "7";bb_format = "bbc"; Continuando com nosso mini curso de algoritmos com Javascript, veremos hoje Incremento e Decremento, e funcções. Incremento e Decremento Para incrementar em 1 uma variável, basta utilizar duas vezes o sinal “+” após a variável. Para decrementar em um, [...]]]></description>
			<content:encoded><![CDATA[<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "Curso";
            bb_bid  = "654420";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><p>Continuando com nosso mini curso de algoritmos com Javascript, veremos hoje Incremento e Decremento, e funcções.</p>
<p><b>Incremento e Decremento</b></p>
<p>Para incrementar em 1 uma variável, basta utilizar duas vezes o sinal “+” após a variável. Para decrementar em um, faça o mesmo, porém utilizando o sinal de “-”.   <br />Exemplo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image14.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb14.png" width="368" height="261" /></a> </p>
<p><b>Comentários</b></p>
<p>Comentários são utilizados quando você precisa descrever parte de um código ou apenas para sinalizar algo importante como um lembrete. Em Javascript existem comentários de linha e de bloco. É importante sempre fazer comentários quando for necessário.</p>
<p>O interpretador do Javascript irá ignorar tudo o que estiver comentado. No comentário de linha, tudo o que estiver após as barras será ignorado. Já no comentário de bloco, tudo o que estiver entre o “/*” e o “*/” será ignorado.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image15.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb15.png" width="327" height="148" /></a>     </p>
<p> <b></b>
<p><b>     <br /></b></p>
<p><b></b></p>
<p><b>Funções</b></p>
<p>Algumas vezes será necessário que você execute uma mesma rotina várias vezes. Para que você não precise reescrever o mesmo código várias vezes, existem as funções. Uma função permite que você passe parâmetros para ela. A função irá realizar o bloco de código definido dentro das chaves com ou sem os parâmetros passados.   <br />Exemplo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image16.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb16.png" width="257" height="113" /></a> </p>
<p>No exemplo anterior nós temos a função “soma” que recebe dois números. Ela soma esses dois números e retorna o resultado da soma.   <br />O comando <i>return </i>utilizado no final da função retorna a soma das duas variáveis que pode ser utilizado do lado de fora da função como mostra o exemplo baixo.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image17.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb17.png" width="465" height="172" /></a> </p>
</p>
<p>É isso aí pessoal. Na próxima aula veremos Estruturas de Controle e Estruturas de Repetição, que são fundamentais para o desenvolvimento de uma aplicação.   <br />Abraços</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mini curso de algoritmos com Javascript – Aula 3</title>
		<link>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-3/</link>
		<comments>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-3/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 01:48:41 +0000</pubDate>
		<dc:creator>Mayck Xavier</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Treinamento]]></category>
		<category><![CDATA[Curso]]></category>
		<category><![CDATA[mini curso]]></category>
		<category><![CDATA[programa]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-3/</guid>
		<description><![CDATA[bb_keywords = "mini curso"; bb_bid = "654420"; bb_lang = "pt-BR"; bb_name = "custom";bb_limit = "7";bb_format = "bbc"; Continuando com o mini curso, hoje veremos como pegar dados dos usuários e operadores relacionais. Pegando dados externos Como já falamos anteriormente, para um programa funcionar ele deve ter uma entrada de dados para que eles sejam processados [...]]]></description>
			<content:encoded><![CDATA[<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "mini curso";
            bb_bid  = "654420";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><p><b></b></p>
<p>Continuando com o mini curso, hoje veremos como pegar dados dos usuários e operadores relacionais.</p>
<p><b>Pegando dados externos</b></p>
<p>Como já falamos anteriormente, para um programa funcionar ele deve ter uma entrada de dados para que eles sejam processados e serem enviados para uma saída. Utilizando o comando “window.prompt” do seguinte modo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image9.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb9.png" width="519" height="143" /></a> </p>
<p>Ao executar o código acima, serão exibidas duas janelas no navegador, uma para cada comando “window.prompt” e o que for digitado será inserido na variável correspondente.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image10.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb10.png" width="368" height="158" /></a> </p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image11.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb11.png" width="370" height="182" /></a> </p>
<p>A opção “Impedir que esta página crie caixas de diálogo adicionais” foi adicionada pelo próprio navegador.    <br />Agora que podemos pegar dados dos usuários, podemos utilizar esses dados para que nossos programas comecem a ter vida.</p>
<p>Exercício:    <br />1 – Utilize as caixas de prompt (window.prompt) e faça um pequeno programa que peça alguns dados para o usuário e os imprima em tela, um por linha.</p>
<p><b>Operadores</b></p>
<p><b>Operador de Atribuição</b></p>
<p>Como já vimos anteriormente, para atribuir um valor a uma variável, é utilizado o sinal de “=”. Você pode atribuir valores numéricos, Strings e booleanos às suas variáveis.</p>
<p><b>Operadores Aritméticos</b></p>
<p>Operadores Aritméticos servem para calcular números e valores em variáveis. Em Javascript nós temos os seguintes Operadores Aritméticos:</p>
<table border="1" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="199"><strong>Operador</strong> </td>
<td valign="top" width="199"><strong>Simbolo</strong> </td>
</tr>
<tr>
<td valign="top" width="199">Adição</td>
<td valign="top" width="199">+</td>
</tr>
<tr>
<td valign="top" width="199">Subtração</td>
<td valign="top" width="199">-</td>
</tr>
<tr>
<td valign="top" width="199">Multiplicação</td>
<td valign="top" width="199">*</td>
</tr>
<tr>
<td valign="top" width="199">Divisão</td>
<td valign="top" width="199">/</td>
</tr>
<tr>
<td valign="top" width="199">Módulo (Resto da Divisão)</td>
<td valign="top" width="199">%</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Utilizaremos o sinal de % quando precisarmos ter o resto de uma divisão, diferente de / que retorna o resultado de um número dividido pelo outro.</p>
<p>Exemplo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image12.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb12.png" width="328" height="339" /></a> </p>
<p><b>Operadores Relacionais</b></p>
<p>Os operadores relacionais são utilizados quando você precisa descobrir a relação entre um valor e outro. Os Operadores Relacionais são:</p>
<table border="1" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><strong>Operador</strong></td>
<td valign="top" width="200"><strong>Símbolo</strong></td>
</tr>
<tr>
<td valign="top" width="200">&gt;</td>
<td valign="top" width="200">Maior que…</td>
</tr>
<tr>
<td valign="top" width="200">&lt;</td>
<td valign="top" width="200">Menor que…</td>
</tr>
<tr>
<td valign="top" width="200">&gt;=</td>
<td valign="top" width="200">Maior ou igual a…</td>
</tr>
<tr>
<td valign="top" width="200">&lt;=</td>
<td valign="top" width="200">Menor ou igual a…</td>
</tr>
<tr>
<td valign="top" width="200">==</td>
<td valign="top" width="200">Igual a…</td>
</tr>
<tr>
<td valign="top" width="200">!=</td>
<td valign="top" width="200">Diferente de…</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Os Operadores Relacionais retornam sempre um valor booleano, ou seja, true (verdadeiro) ou false (false). Podemos testar os operadores do seguinte modo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image13.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb13.png" width="361" height="378" /></a> </p>
<p><b>Operadores Lógicos</b></p>
<p>Os operadores lógicos servem para se utilizar várias operações relacionais em uma mesma linha.</p>
<table border="1" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><strong>Operador</strong></td>
<td valign="top" width="200"><strong>Símbolo</strong></td>
</tr>
<tr>
<td valign="top" width="200">&amp;&amp;</td>
<td valign="top" width="200">E</td>
</tr>
<tr>
<td valign="top" width="200">||</td>
<td valign="top" width="200">Ou</td>
</tr>
<tr>
<td valign="top" width="200">!</td>
<td valign="top" width="200">Não</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Os Operadores Lógicos “&amp;&amp;” e “||” seguem a lógica da tabela verdade, descrita abaixo: </p>
<p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="192"><b>A</b> </td>
<td valign="top" width="192"><b>B</b> </td>
<td valign="top" width="192"><b>A &amp;&amp; B</b> </td>
</tr>
<tr>
<td valign="top" width="192"><b>Verdadeiro</b> </td>
<td valign="top" width="192">Verdadeiro </td>
<td valign="top" width="192">Verdadeiro </td>
</tr>
<tr>
<td valign="top" width="192"><b>Verdadeiro</b> </td>
<td valign="top" width="192">Falso </td>
<td valign="top" width="192">Falso </td>
</tr>
<tr>
<td valign="top" width="192"><b>Falso</b> </td>
<td valign="top" width="192">Verdadeiro </td>
<td valign="top" width="192">Falso </td>
</tr>
<tr>
<td valign="top" width="192"><b>Falso</b> </td>
<td valign="top" width="192">Falso </td>
<td valign="top" width="192">Falso </td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="192"><b>A</b> </td>
<td valign="top" width="192"><b>B</b> </td>
<td valign="top" width="192"><b>A || B</b> </td>
</tr>
<tr>
<td valign="top" width="192"><b>Verdadeiro</b> </td>
<td valign="top" width="192">Verdadeiro </td>
<td valign="top" width="192">Verdadeiro </td>
</tr>
<tr>
<td valign="top" width="192"><b>Verdadeiro</b> </td>
<td valign="top" width="192">Falso </td>
<td valign="top" width="192">Verdadeiro </td>
</tr>
<tr>
<td valign="top" width="192"><b>Falso</b> </td>
<td valign="top" width="192">Verdadeiro </td>
<td valign="top" width="192">Verdadeiro </td>
</tr>
<tr>
<td valign="top" width="192"><b>Falso</b> </td>
<td valign="top" width="192">Falso </td>
<td valign="top" width="192">Falso </td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Obrigado pelos comentários pessoal e até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-com-javascript-aula-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mini curso de algoritmos com Javascript – Aula 2</title>
		<link>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-aula-2/</link>
		<comments>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-aula-2/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 19:12:23 +0000</pubDate>
		<dc:creator>Mayck Xavier</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[programa]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.blog.mayckxavier.com/?p=86</guid>
		<description><![CDATA[bb_keywords = "tutorial"; bb_bid = "654420"; bb_lang = "pt-BR"; bb_name = "custom";bb_limit = "7";bb_format = "bbc"; Nessa nossa segunda aula veremos como iniciar na programação com Javascript. Programando A partir de agora, utilizaremos uma linguagem de programação. Assim podemos ver melhor os resultados e realmente programar. Utilizaremos a linguagem Javascript por ser fácil e não [...]]]></description>
			<content:encoded><![CDATA[<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "tutorial";
            bb_bid  = "654420";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><p>Nessa nossa segunda aula veremos como iniciar na programação com Javascript.</p>
<p><b>Programando</b></p>
<p>A partir de agora, utilizaremos uma linguagem de programação. Assim podemos ver melhor os resultados e realmente programar. Utilizaremos a linguagem Javascript por ser fácil e não ser necessário a instalação de nenhum programa na maioria dos sistemas operacionais atuais no mercado, entretanto é recomendado que você utilize um editor de textos que faça a coloração do seu código para que fique mais fácil o aprendizado. Nos exemplos da apostila será utilizado o GVim (<a href="http://www.vim.org/" onclick="pageTracker._trackPageview('/outgoing/www.vim.org/?referer=');">http://www.vim.org/</a>).</p>
<p>Antes de começarmos a escrever é necessário saber o que é o Javascript. Javascript foi inicialmente criada pela Netscape em 1995 para se desenvolver websites dinâmicos tendo em vista que no inicio da internet todos os sites eram estáticos, ou seja, não haviam mudanças em seu comportamento inicial. A linguagem tem total integração com o HTML por meio do DOM (Document Object Model), assim a mesma pode manipular qualquer elemento em uma página. Devido ao seu sucesso, o Javascript hoje é suportado pela maioria dos navegadores que seguem os padrões W3C () e outros no mercado.</p>
<p><b>O que é necessário para programar em Javascript?</b></p>
<p>Apenas um navegador, como o Mozilla Firefox, Internet Explorer, Google Chrome e Safari, e um editor de texto, como o Bloco de Notas (Microsoft Windows), GEdit (GNU/Linux com a interface Gnome) ou Vi (Utilizado em grande parte das distribuições GNU/Linux), pode ser utilizado para programar em Javascript. Recomendo que utilize um editor que tenha highlight (utiliza cores para mostrar diferentes elementos no programa), como o Notepad++ (http://notepad-plus.sourceforge.net/), para que a programação seja mais fácil e encontrar erros mais rapidamente. É necessário também salvar o arquivo com a extensão “.htm” ou “.html” para que o navegador execute o que está escrito no arquivo.</p>
<p><b>Variáveis</b></p>
<p>Variáveis são espaços em memória onde podemos alocar algum valor temporariamente. Como o nome diz, o valor de uma variável pode ser alterado.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb.png" width="186" height="64" /></a> </p>
<p>Acabamos de inicializar uma variável, mas a mesma ainda não tem valor algum. A seguir, um exemplo de uma variável recebendo valores.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb1.png" width="248" height="111" /></a> </p>
<p>O código acima cria a variável “num”, atribui o número 10 como valor para ela e por fim imprime o valor da variável em tela com o comando “document.write”. Sempre que precisar imprimir um texto, um número ou o valor de uma variável utilize-o.</p>
<p>Após esses pequenos exemplos já podemos definir algumas regras para trabalhar com o Javascript com linguagem.</p>
<p>1 – Sempre que for definir criar uma variável, escreva “var” antes do nome da mesma. Isso será bastante útil e seu benefício será mostrado quando falarmos sobre escopo de variável mais à frente;</p>
<p>2 – Toda linha deve terminar com o sinal de “;” (Ponto e vírgula). Assim o interpretador saberá que aquela linha de código acabou.</p>
<p>3 – Um código em Javascript deve ser colocado entre as TAGS “&lt;script&gt;” e” &lt;/script&gt;”. Isso é apenas para realizar nossos algoritmos. Caso você trabalhe com Html seguindo os padrões W3C, será necessário mais informações dentro da Tag “&lt;script&gt;”, mas esse não é o nosso foco no momento.</p>
<p><b>     <br /></b></p>
<p><b></b></p>
<p><b>Tipos de Variáreis</b></p>
<p>O Javascript tem três tipos de variáveis: Numérico, Booleano e Cadeias de Caracteres.    <br />As variáveis numéricas contem números, sejam eles inteiros ou de ponto flutuante e podem ser utilizadas para fazer cálculos de qualquer tipo.     <br />Exemplo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb2.png" width="202" height="103" /></a> </p>
<p>Os dois modos para criação de variáveis e atribuição de valores estão corretos. Podemos declarar uma variável e depois atribuir um valor à ela ou no ato da declaração da variável, definir um valor à ela.</p>
<p>As variáreis booleanas podem conter apenas dois valores: “verdadeiro” ou “falso”.    <br />Exemplo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb3.png" width="263" height="88" /></a> </p>
<p>As variáveis do tipo cadeia de caracteres podem receber qualquer tipo de texto. Para isso é necessário colocar aspas duplas (“) ou simples (‘) no início e no fim da cadeia de caracteres.</p>
<p>Exemplo:</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb4.png" width="324" height="88" /></a> </p>
<p>Exercícios:</p>
<p>1 – Esse exercício é apenas para fixação de conceitos. Crie variáveis com nomes diferentes e atribua valores a elas. Imprima o valor das variáveis com o comando “document.write”.</p>
<p>Obs.: Para fazer uma impressão por linha, você pode utilizar a tag de HTML “&lt;br&gt;”. Para isso, basta escrever o código como no exemplo abaixo. </p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb5.png" width="368" height="148" /></a> </p>
<p>No exemplo acima, estamos utilizando o sinal “+” para concatenar as cadeias de caracteres, que agora chamaremos de String. Concatenar significa ligar, então utilizaremos a palavra “concatenar” para dizer que estamos ligando duas Strings.</p>
<p><b>Arrays</b></p>
<p>Traduzir “array” de um modo fácil seria dizer que ele é uma “variável que tem o valor de várias variáveis”. Dentro de um<b> </b>array é possível colocar vários valores diferentes. </p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb6.png" width="293" height="128" /></a> </p>
<p><b></b></p>
<p>Para utilizar um array é necessário que antes de atribuir valores aos seus índices (Um índice é um espaço dentro do array onde podemos armazenar dados), você o declare com o comando “new Array()”. Após isso basta atribuir valores aos seus índices, que podem ser numéricos ou associativos.</p>
<p><b>Índices Numéricos</b></p>
<p>São os índices de um array representados por números.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb7.png" width="287" height="175" /></a> </p>
<p>Do mesmo modo que você atribui valores aos índices, você pode acessar seus valores utilizando o nome do array e seu índice entre chaves como no exemplo acima. Se você atribuir dois valores a um mesmo índice, o mesmo será substituído.</p>
<p><b>Índices Associativos</b></p>
<p>Índices Associativos funcionam como os numéricos, mas ao invés de números, strings são utilizados para sinalizar um índice.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image8.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/image_thumb8.png" width="327" height="191" /></a> </p>
</p>
<p>&#160;</p>
<p>É isso aí pessoal. Na próxima aula vamos ver como pegar dados digitados pelo usuário.    <br />T+</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-aula-2/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Mini curso de algoritmos com Javascript – Aula 1</title>
		<link>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-aula-1/</link>
		<comments>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-aula-1/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:02:04 +0000</pubDate>
		<dc:creator>Mayck Xavier</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Treinamento]]></category>
		<category><![CDATA[programa]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.blog.mayckxavier.com/?p=66</guid>
		<description><![CDATA[bb_keywords = "tutorial"; bb_bid = "654420"; bb_lang = "pt-BR"; bb_name = "custom";bb_limit = "7";bb_format = "bbc"; Fala galera. Há algumas semanas que criei um material de Algoritmos para a empresa onde eu estava trabalhando, mas como a linguagem escolhida por mim para o material foi Javascript eles pediram para eu refazer em Português Estruturado. Considero [...]]]></description>
			<content:encoded><![CDATA[<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "tutorial";
            bb_bid  = "654420";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end --><p>Fala galera. Há algumas semanas que criei um material de Algoritmos para a empresa onde eu estava trabalhando, mas como a linguagem escolhida por mim para o material foi Javascript eles pediram para eu refazer em Português Estruturado. Considero Javascript uma boa linguagem para começar por não precisar de nada instalado (geralmente o sistema operacional terá tudo o que você precisa) e por você já poder trabalhar com ela assim que aprender bem. Caso haja algum erro, por favor avise por comentário ou por e-mail.</p>
<p>Sem mais delongas. Vamos ao curso.</p>
<h3>Algoritmos</h3>
<p>Um algoritmo é uma seqüência de instruções definidas para serem executadas mecanicamente. Todos os dias realizamos algoritmos e não percebemos. Basicamente todas as manhãs nós nos levantamos da cama, tomamos o café da manhã, nos arrumamos e vamos ao trabalho. Entre cada uma dessas ações descritas, realizamos várias outras ações. Nosso próprio corpo realiza algoritmos o tempo inteiro realizando decisões. Se nos machucamos, sentimos dor. Se o ambiente externo tem temperatura baixa, o corpo treme para tentar aumentar a temperatura novamente.</p>
<p>Todo algoritmo segue uma seqüência lógica. Geralmente um algoritmo é lido de cima pra baixo e da esquerda pra direita. Cada linha de código é lida e, caso não haja nenhum erro, executada e logo depois é lida a próxima linha e assim sucessivamente até terminarem as linhas do algoritmo.</p>
<p>Como exemplo de algoritmo podemos pensar em um ser humano andando. Observe:</p>
<p>1. Levantar a perna direita</p>
<p>2. Inclinar o corpo para frente</p>
<p>3. Baixar a perna direita</p>
<p>4. Apoiar o pé direito no chão</p>
<p>5. Levantar a perna esquerda</p>
<p>6. Baixar a perna esquerda</p>
<p>7. Apoiar o pé esquerdo no chão</p>
<p>8. Levantar a perna direita&#8230;</p>
<p>Outro exemplo de algoritmo seria fazer um calculo simples como a soma ou multiplicação de dois números como no exemplo abaixo:</p>
<p>1. Ler primeiro número</p>
<p>2. Ler segundo número</p>
<p>3. Somar os dois números lidos</p>
<p>4. Exibir o resultado</p>
<h3><b>O que é um programa?</b></h3>
<p>Um programa é um ou mais algoritmos escritos numa linguagem de programação. Existem diversas linguagens de programação atualmente. A grosso modo as linguagens mais fáceis são chamadas de “linguagens de alto nível” e as mais difíceis são chamadas de “linguagens de baixo nível”. As Linguagens de Baixo nível são assim chamadas por que você precisa trabalhar mandando comandos e recebendo respostas direto para o hardware. As Linguagens de Alto nível são assim chamadas por que elas “escondem” as tarefas difíceis como trabalhar direto com hardware, o que facilita o desenvolvimento do código e aumenta a velocidade de programação.</p>
<p><b>Exercícios:</b></p>
<p>1. Escreva um algoritmo para pentear o cabelo. Tente ser bem especifico e detalhado em cada ação realizada.</p>
<h3><b>Entrada e saída de dados</b></h3>
<p>Muitas vezes não percebemos, mas para haver o processamento de informações, é necessário ter informações para que elas sejam processadas. Um programa precisa que dados sejam inseridos nele para que eles sejam processados e retorne algum resultado daquele processamento. Esses dados podem ser inseridos pelo usuário do programa e algumas vezes o usuário não sabe que está inserindo dados. Digitar texto em um formulário eletrônico ou o simples ato de copiar um arquivo para o seu computador é considerado entrada de dados.</p>
<p><a href="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/entrada_saida_dados.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="entrada_saida_dados" border="0" alt="entrada_saida_dados" src="http://www.blog.mayckxavier.com/wp-content/uploads/2010/03/entrada_saida_dados_thumb.png" width="609" height="88" /></a> </p>
<p><b>Exercício:</b> Escreva alguns modos de entrada e saída de dados. Ao lado de cada um, diga se é entrada ou saída.</p>
<p>&#160;</p>
<p>Por enquanto é só pessoal. Aguardem a próxima aula até o fim da semana.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.mayckxavier.com/2010/03/mini-curso-de-algoritmos-aula-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

