tag:blogger.com,1999:blog-34621923063207572542024-03-23T09:10:40.789-03:00Blogg InfoConectando sua vida no mundo da tecnologiaReginaldohttp://www.blogger.com/profile/15813461042649943835noreply@blogger.comBlogger195125tag:blogger.com,1999:blog-3462192306320757254.post-41958202277611960522014-03-24T14:29:00.002-03:002014-03-24T14:29:35.838-03:00Cursos GratuitosPessoal,<br />
<br />
Esta é para quem trabalha com os softwares: AutoCAD, SolidWorks, SketchUp e Inventor.<br />
<br />
A dica é acessar o site do<a href="http://cad.cursosguru.com.br/cursos/" target="_blank"> CadGuru</a>.<br />
<br />
<div style="text-align: justify;">
O CADguru é uma comunidade que permite diariamente a milhões de pessoas aprender gratuitamente e ser mais competitivos no mercado de trabalho dominando softwares de CAD e Engenharia. </div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Neste site é possível encontrar cursos 100% gratuitos, e o melhor, todos são em vídeo aulas com muita qualidade e de fácil entendimento.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Vale a pena conferir.</div>
<div style="text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://cad.cursosguru.com.br/cursos/" target="_blank"><img alt="http://cad.cursosguru.com.br/cursos/" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdTNsehyVOGketRlxIfe3aYBEBDCFB37s_10oZKLu-2Oz-byI3vST9KSdSGigU7x3hIbfADV16Eh6_rvTv-6BirXfipVvNWWRNrwTsWWSasKmzONJxAHY0XJjNb017ZLG4IACqGca6R3xl/s1600/logo-cadguru.png" /></a></div>
<div style="text-align: justify;">
</div>
Reginaldohttp://www.blogger.com/profile/15813461042649943835noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-62962484505955373972012-09-14T22:41:00.000-03:002012-09-14T22:34:56.318-03:00Ganhe dinheiro com a Internet<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
Uma dica para quem quer ganhar dinheiro através da internet, recebi no mês passado meu primeiro cheque de um site que manda pesquisas de seus clientes. Após se cadastrar, você começará a receber convites por e-mail para responder pesquisas, sempre reponderá primeiro uma pré-pesquisa, para verificar se seu perfil se encaixará na pesquisa, se for aceito, é so responde-la, assim você irá receber pontos, que mais tarde irá trocar por dinheiro. Abaixo segue fotos do cheque que ganhei, e da carta que recebi do Canadá.</div>
<div class="separator" style="clear: both; text-align: center;">
<strong><span style="font-size: large;">Para se cadastrar, mande um e-mail para</span></strong></div>
<div class="separator" style="clear: both; text-align: center;">
<strong><span style="font-size: large;"> </span></strong><a href="mailto:reginaldo-mr@hotmail.com"><strong><span style="font-size: large;">reginaldo-mr@hotmail.com</span></strong></a></div>
<div class="separator" style="clear: both; text-align: center;">
Com assunto, cadastro para pesquisas.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc2tW7DxwJYO5nzkuogUBxsK2zD1Z306D6-PS2wjtS-5Ag_gy80O4BwpvQkumiRjtugoMT4ujDUdGDvRcpblbkuSp4TcVREpRObzchiej-kcWSDITX3cDMqSD7Hpz0GylfXZutXIZSUTm1/s1600/2012-09-02+20.23.23.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc2tW7DxwJYO5nzkuogUBxsK2zD1Z306D6-PS2wjtS-5Ag_gy80O4BwpvQkumiRjtugoMT4ujDUdGDvRcpblbkuSp4TcVREpRObzchiej-kcWSDITX3cDMqSD7Hpz0GylfXZutXIZSUTm1/s400/2012-09-02+20.23.23.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Click na imagem para ampliar </div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRQ0jtztMaNfjn1xRrnkvSQerbMj-1Yfhtkey-b3TtfWnJ4BpH4Ao1Q027rZjrAbkzNIZOquYdizM-4QfLhPbr93kAiGJxueXBBZ9X27gaoAfkX2PL8FINHzUPVdb9jBAEkZULazGxE0n5/s1600/foto.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRQ0jtztMaNfjn1xRrnkvSQerbMj-1Yfhtkey-b3TtfWnJ4BpH4Ao1Q027rZjrAbkzNIZOquYdizM-4QfLhPbr93kAiGJxueXBBZ9X27gaoAfkX2PL8FINHzUPVdb9jBAEkZULazGxE0n5/s640/foto.png" width="447" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Click na imagem para ampliar</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<span class="hps">A</span> <span class="hps">tip for those who</span> <span class="hps">want to earn</span> <span class="hps">money through internet</span>, <span class="hps">last month</span> <span class="hps">I received</span> <span class="hps">my first check</span> <span class="hps">of a website that</span> <span class="hps">sends</span> <span class="hps">surveys</span> <span class="hps">its customers</span>. <span class="hps">After</span> <span class="hps">registering,</span> <span class="hps">you will begin to</span> <span class="hps">receive invitations</span> <span class="hps">by email</span> <span class="hps">to answer</span> <span class="hps">surveys,</span> <span class="hps">always</span> <span class="hps">reponderá</span> <span class="hps">first a</span> <span class="hps">pre</span><span class="atn">-</span>survey <span class="hps">to see if</span> <span class="hps">your profile</span> <span class="hps">fit into the</span> <span class="hps">research,</span> <span class="hps">if accepted</span>, you just <span class="hps">answer it</span>, <span class="hps">so you</span> <span class="hps">will</span> <span class="hps">receive</span> <span class="hps">points</span> <span class="hps">which</span> <span class="hps">will later</span> <span class="hps">exchange for cash</span>. <span class="hps">Below is</span> <span class="hps">photo</span> <span class="hps">of the check</span> <span class="hps">I got</span>, <span class="hps">and</span> <span class="hps">the</span> <span class="hps">letter I received</span> <span class="hps">from Canada</span>.</div>
<span class="hps">To subscribe</span>, send an <span class="hps">email to</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span class="hps"><a href="mailto:reginaldo-mr@hotmail.com"><strong><span style="font-size: large;">reginaldo-mr@hotmail.com</span></strong></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />Reginaldohttp://www.blogger.com/profile/15813461042649943835noreply@blogger.com93tag:blogger.com,1999:blog-3462192306320757254.post-80503581972675246332012-09-12T23:46:00.000-03:002012-09-14T22:23:29.240-03:0035 anos de disputa: veja quem foram os líderes do mercado da computação<br />
<div id="artigo-head" style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<h1 style="color: #3a3a3a; font-family: Georgia, Times, serif; font-size: 32px; font-weight: normal; letter-spacing: -1px; line-height: 1em; margin: 0px 0px 10px; padding: 0px;">
</h1>
<div id="bar_tools" style="background-color: #f7f7f7; border: 1px solid rgb(238, 238, 238); color: #878787; font-size: 12px; height: 20px; margin-bottom: 7px; padding: 5px;">
<ul style="list-style: none; margin: 0px; padding: 0px;"></ul>
</div>
</div>
<div class="w625 fl" style="float: left; font-family: Arial, Helvetica, sans-serif; font-size: 16px; position: relative; width: 630px;">
<div id="artigo" style="height: 7083px; overflow: hidden; width: 502px;">
<a href="http://www.blogger.com/" id="anc_1" name="anc_1"></a><br />
<div id="divPagina_1" style="margin-top: -10px;">
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black; font-size: 12px; line-height: normal;">Por </span><a href="http://www.tecmundo.com.br/busca-tecmundo.asp?au=82" style="font-size: 12px; line-height: normal; text-decoration: none;"><span style="color: black;">Felipe Gugelmin</span></a><span style="color: black;"><span style="font-size: 12px; line-height: normal;"> em 7 de Setembro de 2012</span>
</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Para um observador atento, o mercado de tecnologia possui bastante semelhança com o mundo do futebol. Diversas empresas (times) competem entre si para determinar quem possui os produtos (jogadores) mais atraentes e capazes de atrair um grande público (torcedores) — em ambos os casos, essa rivalidade gera declarações de amor incondicional e uma espécie de fidelidade irracional a determinados nomes.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Quando se trata de produtos eletrônicos, o que determina a sobrevivência de uma marca também é a capacidade que ela tem de vencer seus competidores. A participação que um produto ou empresa tem no mercado é a medida mais importante para medir sua capacidade de sobrevivência — quanto menor esse número, maiores as chances de uma companhia entrar com um pedido de falência ou decidir pela descontinuação de algum dispositivo.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Neste artigo, o Tecmundo viaja pelos mais de 35 anos da história da tecnologia e mostra quem foram os líderes de mercado de cada época (e quais os motivos para isso). Para tornar mais fácil a leitura e compreensão dos dados, dividimos as informações apresentadas em três categorias: computadores pessoais, smartphones e tablets.</span></div>
<h2 style="background-image: none; clear: both; font-size: 26px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="color: black;">
Computadores pessoais</span></h2>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span class="img-fc" style="display: block; margin: 0px auto;"><span style="color: black;"><img alt="35 anos de disputa: veja quem foram os líderes do mercado da computação" data="/imagens/2012/9/materias/568581990616817.jpg" height="320" src="http://www.tecmundo.com.br/imagens/2012/9/materias/568581990616817.jpg" style="border: 0px currentColor; display: block; margin: 0px auto; max-width: 630px;" width="262" /></span><span class="desc" style="display: block; font-size: 12px; font-style: italic; line-height: 1.5em; margin-top: 5px; text-align: center; word-wrap: break-word;"><span style="color: black;">(Fonte da imagem: </span><a href="http://www.blogger.com/" target="_blank"><span style="color: black;">Baixaki/Tecmundo - Homero Meyer</span></a><span style="color: black;">)</span></span></span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="color: black;">
1975-1980: a era pré-histórica</span></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Embora o mercado de PCs atualmente seja gigantesco e envolva a circulação de uma quantidade imensa de dinheiro, vale lembrar que, em seu princípio, as máquinas de computação pessoal eram fruto do trabalho de algumas poucas pessoas talentosas que construíam produtos em suas garagens ou em pequenos escritórios.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Como nesse início praticamente qualquer um poderia entrar no mercado sem grandes problemas, as prateleiras das lojas estavam lotadas de máquinas com nomes e características diferentes. Embora houvesse nomes de peso, como o Altair (oficialmente considerado como o primeiro computador pessoal), a existência de uma grande variedade de produtos fez com que não houvesse um único líder de mercado facilmente identificável nessa época.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span class="img-fc" style="display: block; margin: 0px auto;"><span style="color: black;"><img alt="35 anos de disputa: veja quem foram os líderes do mercado da computação" data="/imagens/2012/9/materias/568581990615404.jpg" height="231" src="http://www.tecmundo.com.br/imagens/2012/9/materias/568581990615404.jpg" style="border: 0px currentColor; display: block; margin: 0px auto; max-width: 630px;" width="320" /></span><span class="desc" style="display: block; font-size: 12px; font-style: italic; line-height: 1.5em; margin-top: 5px; text-align: center; word-wrap: break-word;"><span style="color: black;">(Fonte da imagem: </span><a href="http://www.pc-history.org/tandymod3.htm" style="text-decoration: none;" target="_blank"><span style="color: black;">Reprodução/PC-History.org</span></a><span style="color: black;">)</span></span></span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Entre os nomes que se destacam no período estão o Atari 400/800, o TRS-80 da Radio Shack, o Commodore PET e o Apple 2. O produto desenvolvido por Steve Jobs e Steve Wozniak chamou atenção por trazer o primeiro grande aplicativo da indústria, o software de planilhas VisiCalc. Esse período também marcou o lançamento do Commodore 64, primeiro computador pessoal a realmente atingir um mercado de massa, vendendo 22 milhões de unidades durante a sua existência.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Nessa primeira era, havia uma grande diferença na popularidade de um produto dependendo do mercado em que ele estava inserido. Enquanto dispositivos como o ZX-80, ZX-81 e o Spectrum venderam bastante no Reino Unido, eles não tiveram o mesmo impacto nos Estados Unidos. Da mesma forma, o Apple 2 teve muito mais popularidade na América do Norte do que na Europa, que na época possuía um ecossistema de aparelhos bastante específico.</span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="color: black;">
1981-2012: o Império IBM PC (e de seus clones)</span></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">A indústria dos computadores pessoais sofreu um grande impacto quando, em 1981, a IBM introduziu o modelo 5150 da linha IBM PC. Embora não tivesse o mesmo poder de máquinas como o Commodore 64 (e apresentasse um preço mais elevado), o dispositivo conseguiu se estabelecer como padrão devido a dois fatores importantes: o nome de sua fabricante e a existência de milhares de clones.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span class="img-fc" style="display: block; margin: 0px auto;"><span style="color: black;"><img alt="35 anos de disputa: veja quem foram os líderes do mercado da computação" data="/imagens/2012/9/materias/5685819906154035.jpg" height="275" src="http://www.tecmundo.com.br/imagens/2012/9/materias/5685819906154035.jpg" style="border: 0px currentColor; display: block; margin: 0px auto; max-width: 630px;" width="320" /></span><span class="desc" style="display: block; font-size: 12px; font-style: italic; line-height: 1.5em; margin-top: 5px; text-align: center; word-wrap: break-word;"><span style="color: black;">(Fonte da imagem: </span><a href="http://oldcomputers.net/c64.html" style="text-decoration: none;" target="_blank"><span style="color: black;">Reprodução/Old Computers.net</span></a><span style="color: black;">)</span></span></span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Como a máquina havia sido desenvolvida usando peças de estoque, não havia restrições que impedissem outros fabricantes de utilizá-las em seus próprios dispositivos. Isso acabou resultando em uma padronização do mercado, já que todos os produtos desenvolvidos com inspiração na máquina da IBM eram compatíveis entre si — situação impensável até poucos anos antes.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Para tentar mudar essa situação, competidores como a Apple, Commodore e Atari investiram em recursos como interfaces gráficas controladas por mouses, canais de som MIDI e displays coloridos, entre outras características. Porém, razões variadas fizeram com que essas iniciativas não dessem certo, e muitas dessas empresas acabaram falindo ou sendo vendidas durante o processo — em 1997, até mesmo a poderosa companhia da Maçã estava tendo que lidar com perdas bilionárias.</span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="color: black;">
Uma dinastia imbatível</span></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">“A guerra dos PCs acabou. A Microsoft venceu”, declarou Steve Jobs durante seu período à frente da NeXT, companhia fundada por ele após ter sido forçado a deixar a Apple. Embora a IBM tenha aberto o caminho para o crescimento da participação de mercado dos PCs, não foi ela quem colheu as verdadeiras recompensas, mas sim a Microsoft, empresa responsável pelo sistema operacional usado na maioria das máquinas vendidas.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span class="img-fc" style="display: block; margin: 0px auto;"><span style="color: black;"><img alt="35 anos de disputa: veja quem foram os líderes do mercado da computação" data="/imagens/2012/9/materias/568581990615419.jpg" height="254" src="http://www.tecmundo.com.br/imagens/2012/9/materias/568581990615419.jpg" style="border: 0px currentColor; display: block; margin: 0px auto; max-width: 630px;" width="320" /></span><span class="desc" style="display: block; font-size: 12px; font-style: italic; line-height: 1.5em; margin-top: 5px; text-align: center; word-wrap: break-word;"><span style="color: black;">(Fonte da imagem: </span><a href="http://www.dipity.com/Tamar94/Historia-de-la-informatica/" style="text-decoration: none;" target="_blank"><span style="color: black;">Reprodução/Dipity</span></a><span style="color: black;">)</span></span></span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">A IBM até tentou recuperar as rédeas do mercado através de uma linha de computadores com tecnologias mais difíceis de serem clonadas. Porém, o impacto causado por essas tentativas foi mínimo, sendo que a única lembrança deixada pela companhia foram os conectores PS/2, ainda presentes em muitas placas-mães disponíveis atualmente.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Entre 1997 e 2003, ocorrem alguns fatos bastante marcantes, sendo o principal deles a volta de Jobs ao comando da Apple. Isso resultou no lançamento do OS X e de uma nova linha de computadores Mac, o que ajudou a salvar a empresa — embora não tenha surtido impacto sobre a participação de mercado que seus produtos têm no setor de computadores pessoais.</span></div>
<h2 style="background-image: none; clear: both; font-size: 26px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="color: black;">
Smartphones – computadores na palma de sua mão</span></h2>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span class="img-fc" style="display: block; margin: 0px auto;"><span style="color: black;"><img alt="35 anos de disputa: veja quem foram os líderes do mercado da computação" data="/imagens/2012/9/materias/568581990616917.jpg" height="320" src="http://www.tecmundo.com.br/imagens/2012/9/materias/568581990616917.jpg" style="border: 0px currentColor; display: block; margin: 0px auto; max-width: 630px;" width="263" /></span><span class="desc" style="display: block; font-size: 12px; font-style: italic; line-height: 1.5em; margin-top: 5px; text-align: center; word-wrap: break-word;"><span style="color: black;">(Fonte da imagem: </span><a href="http://www.blogger.com/" target="_blank"><span style="color: black;">Baixaki/Tecmundo - Homero Meyer</span></a><span style="color: black;">)</span></span></span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="color: black;">
2000-2006: os primeiros passos</span></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">A ideia de usar dispositivos compactos com a mesma potência de um computador de mesa existe desde que as primeiras máquinas pessoais foram lançadas. Porém, somente em 1996, com a chegada do Palm Pilot, foi que isso se tornou uma parte integrante de nossa sociedade.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span class="img-fc" style="display: block; margin: 0px auto;"><span style="color: black;"><img alt="35 anos de disputa: veja quem foram os líderes do mercado da computação" data="/imagens/2012/9/materias/5685819906154138.jpg" height="320" src="http://www.tecmundo.com.br/imagens/2012/9/materias/5685819906154138.jpg" style="border: 0px currentColor; display: block; margin: 0px auto; max-width: 630px;" width="320" /></span><span class="desc" style="display: block; font-size: 12px; font-style: italic; line-height: 1.5em; margin-top: 5px; text-align: center; word-wrap: break-word;"><span style="color: black;">(Fonte da imagem: </span><a href="http://tekgems.com/Products/et-9691-pda-palmpilot-1b.htm" style="text-decoration: none;" target="_blank"><span style="color: black;">Reprodução/Tek Gems</span></a><span style="color: black;">)</span></span></span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Aparelhos do tipo eram conhecidos como PDAs (uma sigla para assistentes digitais portáteis), apresentando uma interface de uso simplificada que permitia a realização de funções como o agendamento de atividades e a configuração de alarmes. Na mesma época do surgimento desses gadgets, celulares passavam por uma transformação rápida, se tornando cada vez mais compactos e acessíveis.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Não demorou até que surgissem produtos que combinavam as características desses dois tipos de dispositivos, sendo que os aparelhos fabricados pela Nokia dominavam com folga o mercado. Apesar de existirem competidores como o PalmOS, o WinMobile e o BlackBerry (que revolucionou o mercado ao se focar no envio rápido de emails), até 2006 o Symbian dominava completamente o mundo dos smartphones.</span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="color: black;">
2007-2012: a ascensão do iOS e do Android</span></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Em 2007, foi anunciado um aparelho que mudou completamente o mercado de smartphones e dita regras até hoje: o iPhone. Deixando de lado teclas físicas e canetas stylus, o aparelho desenvolvido pela Apple optava por uma tela sensível ao toque e uma interface que se mostrava intuitiva para uma grande gama de usuários.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span class="img-fc" style="display: block; margin: 0px auto;"><span style="color: black;"><img alt="35 anos de disputa: veja quem foram os líderes do mercado da computação" data="/imagens/2012/9/materias/5685819906154222.jpg" height="218" src="http://www.tecmundo.com.br/imagens/2012/9/materias/5685819906154222.jpg" style="border: 0px currentColor; display: block; margin: 0px auto; max-width: 630px;" width="320" /></span><span class="desc" style="display: block; font-size: 12px; font-style: italic; line-height: 1.5em; margin-top: 5px; text-align: center; word-wrap: break-word;"><span style="color: black;">(Fonte da imagem: </span><a href="http://www.onezumiverse.com/2008/05/iphone-review-by-a-cranky-heavy-metal-artist/" style="text-decoration: none;" target="_blank"><span style="color: black;">Reprodução/Onezumi</span></a><span style="color: black;">)</span></span></span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Embora as vendas do produto inicialmente tenham sido tímidas, a grande publicidade em torno dele e a comunicação boca a boca fizeram com que ele virasse um verdadeiro fenômeno. Nenhum competidor estava pronto para enfrentar a Apple naquele momento, e não demorou até que outras empresas tentassem emular as características do novo produto — entre elas, a Google.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Apesar do domínio inicial do iPhone e seu iOS, aparelhos com o Android conseguiram dominar o mercado explorando as falhas da estratégia adotada pela Apple. Como nem todas as operadoras dos Estados Unidos possuíam contratos para vender o iPhone, a plataforma concorrente conseguiu explorar espaços em que a companhia de Cupertino não estava presente.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Além disso, a grande quantidade de aparelhos compatíveis com o sistema operacional da Google ajudou a chamar a atenção de uma gama variada de consumidores. O resultado é a guerra travada atualmente entre a empresa de Tim Cook e seus concorrentes (entre eles, a Samsung) pelo domínio do mercado, cujo resultado ainda permanece incerto.</span></div>
<h2 style="background-image: none; clear: both; font-size: 26px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="color: black;">
Tablets</span></h2>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span class="img-fc" style="display: block; margin: 0px auto;"><span style="color: black;"><img alt="35 anos de disputa: veja quem foram os líderes do mercado da computação" data="/imagens/2012/9/materias/568581990616955.jpg" height="320" src="http://www.tecmundo.com.br/imagens/2012/9/materias/568581990616955.jpg" style="border: 0px currentColor; display: block; margin: 0px auto; max-width: 630px;" width="263" /></span><span class="desc" style="display: block; font-size: 12px; font-style: italic; line-height: 1.5em; margin-top: 5px; text-align: center; word-wrap: break-word;"><span style="color: black;">(Fonte da imagem: </span><a href="http://www.blogger.com/" target="_blank"><span style="color: black;">Baixaki/Tecmundo - Homero Meyer</span></a><span style="color: black;">)</span></span></span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="color: black;">
2010-2012: supremacia do iPad</span></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Quando chegou às lojas em 2010, o iPad era um produto cujo objetivo real poucos conheciam, algo que não impediu a maioria das pessoas de querer um. Aproveitando grande parte do hardware e dos aplicativos desenvolvidos para o iPhone, o tablet tinha como destaques sua tela de alta qualidade e a presença de uma bateria extremamente durável.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span class="img-fc" style="display: block; margin: 0px auto;"><span style="color: black;"><img alt="35 anos de disputa: veja quem foram os líderes do mercado da computação" data="/imagens/2012/9/materias/568581990615436.jpg" height="276" src="http://www.tecmundo.com.br/imagens/2012/9/materias/568581990615436.jpg" style="border: 0px currentColor; display: block; margin: 0px auto; max-width: 630px;" width="320" /></span><span class="desc" style="display: block; font-size: 12px; font-style: italic; line-height: 1.5em; margin-top: 5px; text-align: center; word-wrap: break-word;"><span style="color: black;">(Fonte da imagem: </span><a href="http://www.techchee.com/2011/03/02/trade-in-first-gen-ipad-to-subsidize-cost-of-upgrade-to-ipad-2-with-nextworth/" style="text-decoration: none;" target="_blank"><span style="color: black;">Reprodução/TechChee</span></a><span style="color: black;">)</span></span></span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Embora não tenha demorado até que os competidores entrassem em cena, a supremacia da Apple ainda se mantém estável nesse segmento de mercado. Entre os principais motivos para isso está o fato de que seu gadget compartilha os mesmos aplicativos usados pelos demais produtos fabricados pela companhia e o baixo lucro que as operadoras têm com a venda desse tipo de dispositivo — situação que explica o baixo apoio ao Android nesse caso.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">A batalha pela liderança desse mercado promete ser um espetáculo bastante interessante de ser observado nos próximos anos. Além de aparelhos como o Kindle Fire e o Nexus 7 estarem chamando a atenção pelos seus preços reduzidos, a Microsoft pretende usar o peso do nome Windows para conquistar uma grande fatia dos consumidores, tarefa que não será muito fácil de ser cumprida.</span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;"><br /></span></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: black;">Fonte : ars technica</span></div>
</div>
</div>
</div>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"><span style="color: white;"><br /></span></span>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com3tag:blogger.com,1999:blog-3462192306320757254.post-84169769034942931042012-09-10T12:00:00.000-03:002012-09-11T23:21:21.393-03:00Melhores apps para Android<br />
<div id="artigo-head" style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<h1 style="color: #3a3a3a; font-family: Georgia, Times, serif; font-size: 32px; font-weight: normal; letter-spacing: -1px; line-height: 1em; margin: 0px 0px 10px; padding: 0px;">
</h1>
</div>
<div class="w625 fl" style="float: left; font-family: Arial, Helvetica, sans-serif; font-size: 16px; height: 6659px; position: relative; width: 630px;">
<div id="artigo" style="height: 6433px; overflow: hidden; width: 473px;">
<a href="http://www.blogger.com/" id="anc_1" name="anc_1" style="color: #3366cc;"></a><br />
<div id="divPagina_1" style="margin-top: -10px;">
<div style="color: #444444; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<span style="font-size: x-small;"><object data="http://www.youtube.com/v/2XuObx7mSMI?version=3&hl=pt_BR" height="377" type="application/x-shockwave-flash" width="619"></object></span></div>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white; font-size: x-small;">A lista traz cinco apps de utilidade e personalização, além de cinco jogos incríveis para você se divertir. Vamos aos eleitos!</span></div>
<h2 style="background-image: none; clear: both; line-height: 1.25em; margin: 20px 0px; padding: 0px; text-align: justify;">
<span style="font-size: small;">
<span style="color: white;">APLICATIVOS</span></span></h2>
<h3 style="clear: both; line-height: 1.25em; margin: 20px 0px; padding: 0px; text-align: justify;">
<span style="font-size: small;">
</span><a href="http://www.baixaki.com.br/android/download/utorrent-beta.htm" style="text-decoration: none;" target="_blank"><span style="color: white; font-size: small;">µTorrent Beta [Android 2.1+]</span></a></h3>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;"><span style="font-size: x-small;">Smartphones e tablets têm se tornado ferramentas cada vez mais versáteis e interessantes, tornando muitas tarefas ainda mais práticas com a possibilidade de carregar os aparelhos para todos</span> os lugares facilmente.</span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/9874701516175830.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/9874701516175830.jpg" style="border: 0px currentColor; max-width: 630px;" width="225" /> <img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/9874701516175842.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/9874701516175842.jpg" style="border: 0px currentColor; max-width: 630px;" width="225" /></div>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;"><span style="font-size: x-small;">Para abrir nossa seleção, trazemos o </span><a href="http://www.baixaki.com.br/android/download/utorrent-beta.htm" style="text-decoration: none;" target="_blank"><span style="font-size: x-small;">µTorrent Beta</span></a><span style="font-size: x-small;">, um dos clientes de torrent mais populares do mundo que chega em sua versão para Android. O app traz telas de gerenciamento de downloads além de direcionar você para uma busca personalizada nos principais sites que oferecem arquivos de torrent.</span></span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<a href="http://www.baixaki.com.br/android/download/gesture-shortcuts-launcher.htm" style="text-decoration: none;" target="_blank" title="Gesture Shortcuts Launcher"><span style="color: white;">Gesture Shortcuts Launcher [Android 2.1+]</span></a></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">Que tal utilizar uma interface que realiza ações através de desenhos na tela? Essa é a ideia de<a href="http://www.baixaki.com.br/android/download/gesture-shortcuts-launcher.htm" style="text-decoration: none;" target="_blank" title="Gesture Shortcuts Launcher">Gesture Shortcuts Launcher</a>. Ele tem como objetivo tornar tarefas simplificadas ainda mais acessíveis.</span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/9874701516175858.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/9874701516175858.jpg" style="border: 0px currentColor; max-width: 630px;" width="250" /><span style="font-size: x-small;"> <img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/987470151617599.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/987470151617599.jpg" style="border: 0px currentColor; max-width: 630px;" width="250" /></span></div>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="font-size: x-small;"><span style="color: #444444;"> </span><span style="color: white;">Você pode abrir apps ou sites específicos, fazer ligações, enviar mensagens, encontrar contatos na agenda e mais uma porção de coisas apenas desenhando no display de seu Android.</span></span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<a href="http://www.baixaki.com.br/android/download/mini-info-system-widget-app.htm" style="text-decoration: none;" target="_blank" title="Mini Info+ System Widget App"><span style="color: white;">Mini Info+ System Widget App [Android 2.0+]</span></a></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">Um painel completo recheado de informações para seu Android: esse é <a href="http://www.baixaki.com.br/android/download/mini-info-system-widget-app.htm" style="text-decoration: none;" target="_blank" title="Mini Info+ System Widget App">Mini Info+ System Widget App</a>. Esses aplicativos é uma forma interessante de visualizar dados e monitorar o desempenho do aparelho.</span></div>
<div style="color: #444444; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<span style="font-size: x-small;"><img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/9874701516175940.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/9874701516175940.jpg" style="border: 0px currentColor; max-width: 630px;" width="239" /> <img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/987470151618018.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/987470151618018.jpg" style="border: 0px currentColor; max-width: 630px;" width="239" /></span></div>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white; font-size: x-small;">Você vai acessar dados sobre memória interna e externa, status e temperatura da bateria, utilização do CPU e memória RAM. Além disso, ele traz widgets para a homescreen, que facilitam o acesso ao aplicativo.</span></div>
<h3 style="clear: both; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="font-size: small;">
</span><a href="http://www.baixaki.com.br/android/download/go-backup-pro.htm" style="text-decoration: none;" target="_blank" title="GO Backup Pro"><span style="color: white; font-size: small;">GO Backup Pro [Android 2.2+]</span></a></h3>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;"><a href="http://www.baixaki.com.br/android/download/go-backup-pro.htm" style="text-decoration: none;" target="_blank" title="GO Backup Pro">GO Backup Pro</a> é um aplicativo de grande utilidade para qualquer pessoa que possui um dispositivo móvel como smartphones e tablets. Ele é capaz de realizar um backup completo de dados armazenados em seu Android, garantindo a segurança da informação em caso de perda do aparelho.</span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/987470151618033.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/987470151618033.jpg" style="border: 0px currentColor; max-width: 630px;" width="239" /><span style="font-size: x-small;"> <img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/987470151618042.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/987470151618042.jpg" style="border: 0px currentColor; max-width: 630px;" width="239" /></span></div>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white; font-size: x-small;">E se você conta com um aparelho com root, o aplicativo oferece um número ainda maior de opções para realizar backup de informações de aplicativos e sincronização com o Dropbox — armazenando assim seus dados na nuvem.</span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<a href="http://www.baixaki.com.br/android/download/super-typo-weather-info-clock.htm" style="text-decoration: none;" target="_blank" title="Super Typo Weather Info Clock"><span style="color: white;">Super Typo Weather Info Clock [Android 1.5+]</span></a></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">O último app da seleção de programas de utilidade e personalização é o <a href="http://www.baixaki.com.br/android/download/super-typo-weather-info-clock.htm" style="text-decoration: none;" target="_blank" title="Super Typo Weather Info Clock">Super Typo Weather Info Clock</a>, um widget diferente e elegante para a homescreen do aparelho. Ao contrário da maioria dos apps do estilo, ele não traz imagens coloridas do clima.</span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/987470151618452.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/987470151618452.jpg" style="border: 0px currentColor; max-width: 630px;" width="239" /><span style="font-size: x-small;"> <img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/98747015161852.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/98747015161852.jpg" style="border: 0px currentColor; max-width: 630px;" width="239" /></span></div>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white; font-size: x-small;">Seu layout é muito moderno, com informações como data, hora, temperatura e status da bateria sendo exibidas de forma inteligente e bonita.</span></div>
<h2 style="background-image: none; clear: both; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="font-size: x-small;">
<span style="color: white;">JOGOS</span></span></h2>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<a href="http://www.baixaki.com.br/android/download/cs-metal-slug.htm" style="text-decoration: none;" target="_blank" title="CS Metal Slug"><span style="color: white;">CS Metal Slug [Android 2.1+]</span></a></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">O primeiro jogo de nossa seleção para o feriado de Sete de Setembro é <a href="http://www.baixaki.com.br/android/download/cs-metal-slug.htm" style="text-decoration: none;" target="_blank" title="CS Metal Slug">CS Metal Slug</a>. A ideia aqui é eliminar todos os terroristas que aparecem na tela, com armas e granadas, nesse game de tiro com vários cenários e modos de jogo.</span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/987470151618519.jpg" height="239" src="http://www.tecmundo.com.br/imagens/2012/9/materias/987470151618519.jpg" style="border: 0px currentColor; max-width: 630px;" width="400" /></div>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white; font-size: x-small;">O jogo conta com uma interface simplificada e visual bem trabalhado. Seus controles são simplificados e precisos, em uma combinação excelente para a sua diversão.</span></div>
<h3 style="clear: both; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<span style="font-size: x-small;">
</span><a href="http://www.baixaki.com.br/android/download/super-penguins.htm" style="text-decoration: none;" target="_blank" title="Super Penguins"><span style="color: white; font-size: x-small;">Super Penguins [Android 1.5+]</span></a></h3>
<div style="line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;"><a href="http://www.baixaki.com.br/android/download/temple-run.htm" style="text-decoration: none;" target="_blank" title="Temple Run"><span style="font-size: x-small;">Temple Run</span></a><span style="font-size: x-small;"> é um dos games mais populares da Play Store atualmente, e se você gostou de seu estilo não pode deixar de conferir </span><a href="http://www.baixaki.com.br/android/download/super-penguins.htm" style="text-decoration: none;" target="_blank" title="Super Penguins"><span style="font-size: x-small;">Super Penguins</span></a><span style="font-size: x-small;">. Ele é uma excelente opção gratuita, com jogabilidade muito parecida.</span></span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/987470151618536.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/987470151618536.jpg" style="border: 0px currentColor; max-width: 630px;" width="239" /> <img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/987470151618546.jpg" height="400" src="http://www.tecmundo.com.br/imagens/2012/9/materias/987470151618546.jpg" style="border: 0px currentColor; max-width: 630px;" width="239" /></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">Você precisa salvar pequenos pinguins dos tentáculos de polvos inimigos, percorrendo a maior distância que conseguir em meio a vários obstáculos. Para incrementar o game, é possível comprar upgrades e deixar seu personagem ainda mais forte.</span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<a href="http://www.baixaki.com.br/android/download/bombshells-hell-s-belles.htm" style="text-decoration: none;" target="_blank" title="BOMBSHELLS: HELL´S BELLES"><span style="color: white;">BOMBSHELLS: HELLS BELLES [Android 2.1+]</span></a></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">As personagens de <a href="http://www.baixaki.com.br/android/download/bombshells-hell-s-belles.htm" style="text-decoration: none;" target="_blank" title="BOMBSHELLS: HELL´S BELLES">BOMBSHELLS: HELLS BELLES</a> são belas garotas que gostam de velocidade, manobras radicais e explosões no ar. Sua missão é pilotar aviões de caça equipados com armamentos pesados.</span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/9874701516181135.jpg" height="239" src="http://www.tecmundo.com.br/imagens/2012/9/materias/9874701516181135.jpg" style="border: 0px currentColor; max-width: 630px;" width="400" /></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">É possível selecionar uma das três personagens a partir de suas características exclusivas, disputando partidas no modo campanha, além do single e do multiplayer online — para competir contra jogadores de todo o mundo.</span></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<a href="http://www.baixaki.com.br/android/download/kingdom-royale.htm" style="text-decoration: none;" target="_blank" title="Kingdom Royale"><span style="color: white;">Kingdom Royale [Android 2.2+]</span></a></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;"><a href="http://www.baixaki.com.br/android/download/kingdom-royale.htm" style="text-decoration: none;" target="_blank" title="Kingdom Royale">Kingdom Royale</a> é um game de gerenciamento em que você precisa proteger seus territórios e fortalecer seu exército para lutar em um mundo de fantasia. Ele aparece em nossa seleção da semana por trazer um tema diferenciado, gráficos incríveis e jogabilidade muito divertida. Além disso, a disputa oferece várias possibilidades de upgrade, tornando o game ainda mais dinâmico e envolvente.</span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<object data="http://www.youtube.com/v/Lc5WdhUIZHg?version=3&hl=pt_BR" height="360" type="application/x-shockwave-flash" width="480"></object></div>
<h3 style="clear: both; font-size: 18px; line-height: 1.25em; margin: 20px 0px; padding: 0px;">
<a href="http://www.baixaki.com.br/android/download/empire-war-heroes-return.htm" style="text-decoration: none;" target="_blank" title="Empire War Heroes Return"><span style="color: white;">Empire War Heroes Return [Android 2.1+]</span></a></h3>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">O último game do Melhores Apps dessa semana é <a href="http://www.baixaki.com.br/android/download/empire-war-heroes-return.htm" style="text-decoration: none;" target="_blank" title="Empire War Heroes Return">Empire War Heroes Return</a>, um jogo de estratégia em tempo real. Você pode escolher quais personagens deseja controlar: heróis humanos ou terríveis orcs das forças do mal. Seja como for, o objetivo é defender sua cidade e invadir territórios inimigos para garantir maior poder e somar muitos pontos.</span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<img alt="Melhores apps para Android: 06/09/2012 [vídeo]" data="/imagens/2012/9/materias/987470151618192.jpg" height="250" src="http://www.tecmundo.com.br/imagens/2012/9/materias/987470151618192.jpg" style="border: 0px currentColor; max-width: 630px;" width="400" /></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: center;">
<strong>...</strong></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">É isso ai pessoal! Qualquer dúvida ou sugestão é só deixar um comentário!</span></div>
<div style="color: #444444; font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<br /></div>
<div style="font-size: 15px; line-height: 1.5em; margin-bottom: 20px; margin-top: 20px; text-align: justify;">
<span style="color: white;">Fonte :.tecmundo</span></div>
</div>
</div>
</div>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"><br /></span>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com1tag:blogger.com,1999:blog-3462192306320757254.post-9355670559271464422012-09-09T23:20:00.002-03:002012-09-11T23:00:24.507-03:00Malware redireciona usuários do banco do Itaú <br />
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="img-fc"><img alt="Novo malware quer atingir correntistas do Itaú" data="/imagens/2012/9/materias/4508111757113323.jpg" height="336" src="http://www.tecmundo.com.br/imagens/2012/9/materias/4508111757113323.jpg" style="border: 0px currentColor;" width="400" /><span class="desc"> </span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="img-fc"><span class="desc"><span style="color: white;">(Fonte da imagem: <a href="http://www.babooforum.com.br/forum/index.php?/topic/762483-novo-malware-visa-correntistas-do-banco-itau/" style="text-decoration: none;" target="_blank">Reprodução/Baboo Forum</a>)</span></span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="img-fc"><span class="desc"><span style="color: white;"><br /></span></span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span style="color: white;">A empresa de segurança ESET divulgou nesta semana um alerta com relação a um malware que pode afetar os correntistas do banco Itaú que tentarem acessar o serviço pela internet. Conhecido pelo nome de Win32/SpyBanker.YJS, o malware é enviado por email, sendo ativado quando o usuário clica sobre um link malicioso.</span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span style="color: white;">Se ativo, o malware encaminha o cliente para uma página falsa do banco, mas com aspecto similar à interface original. Nesta página, são solicitados os dados da conta, bem como as senhas de acesso a ela. “Todas as vezes que as pessoas forem digitar as suas informações pessoais, devem se certificar que a URL começa por ‘https’”, diz Camillo Di Jorge, gerente regional da ESET Brasil.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<br />
<br />Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-65523718415410376202012-09-07T22:00:00.000-03:002012-09-07T22:00:04.060-03:00Mercopar<span style="font-size: large;"><strong>Notícia:</strong></span><br />
<strong><span style="font-size: large;"></span></strong><br />
<div style="text-align: justify;">
<strong><span style="font-size: large;">Ocorre entre os dias 2 a 05/10/2012 a 21ª edição na Mercopar, nos pavilhões da festa da uva em Caxias do Sul - RS.</span></strong></div>
<strong></strong><br />
<strong>A feira</strong><br />
<strong></strong><br />
<div style="text-align: justify;">
A Mercopar – Feira de Subcontratação e Inovação Industrial – promove, desde 1992, negócios e parcerias entre empresas nacionais e internacionais, independentemente do porte, com o objetivo de estimular a integração e a competitividade desses mercados.<br /><br />A feira, que tem caráter profissional, possui como públicos-alvo empresários, compradores, fornecedores, vendedores, representantes e distribuidores, ligados aos setores de automação industrial, borracha, eletroeletrônico, metalmecânico, plástico e serviços industriais. Desde 2008, mais um tema estratégico para a indústria foi incluído entre os setores da feira: movimentação e armazenagem de materiais.<br /><br />A maior feira de subcontratação e inovação industrial é realizada no Rio Grande do Sul, Estado fronteiriço que possui posição privilegiada entre os países do Mercosul. <a href="http://www.mercopar.com.br/mercopar.asp?area=4&idregistro=18#" id="_GPLITA_0" in_rurl="http://trkjmp.com/click?v=QlI6MjI0ODQ6MzMyOmFsw6ltOmYxZDdlNmMwMjg4MDIwNDhmMjYxOTc1ZGExYjhkMTRlOnotMTIwOS00MzI2Mjp3d3cubWVyY29wYXIuY29tLmJyOjQxNzA6dGV4dF9vbmx5" style="text-decoration: underline;" title="Powered by Text-Enhance">Além</a> de possuir o 4º maior Produto Interno Bruto (PIB) do Brasil, o Rio Grande do Sul destaca-se também pelas boas condições de estradas e telecomunicações, recebendo grandes investimentos nacionais e internacionais.<br /><br />A Mercopar é promovida pelo Serviço de Apoio às Micro e Pequenas Empresas no Rio Grande do Sul (Sebrae/RS) e pela Hannover Fairs Sulamerica, empresa do grupo Deutsche Messe AG.</div>
<div style="text-align: justify;">
<span style="font-size: x-small;">Fonte: </span><a href="http://www.mercopar.com.br/"><span style="font-size: x-small;">www.mercopar.com.br</span></a></div>
Reginaldohttp://www.blogger.com/profile/15813461042649943835noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-80980712299649154232012-09-03T20:51:00.002-03:002012-09-03T20:52:38.792-03:00TRANSFORMAR ARQUIVOS .AVI EM .GIF<div style="text-align: center;">
<img alt="Como transformar AVI para GIF" data="/imagens/materias/2423/5782.jpg" height="233" src="http://www.tecmundo.com.br/imagens/materias/2423/5782.jpg" width="425" /></div>
<div style="text-align: justify;">
<span style="color: white;">Quem diria que os GIFs animados, que foram praticamente banidos das páginas da internet, fossem voltar com tanta força às redes sociais e blogs? E já que a melhor característica da internet é a possibilidade de colaboração, nada como deixar de replicar conteúdo existente para criar suas próprias imagens e fornecer algo novo (ainda que inútil) para a internet.</span></div>
<div style="text-align: justify;">
<span style="color: white;">Antes de tudo, vale a pena notar que este tutorial não cobre a conversão de vídeos para o formato AVI, assumindo que o leitor já possui um desses filmes prontos para ser transformado em GIF. </span></div>
<div style="text-align: justify;">
<span style="color: white;">Há também diversos utilitários que permitem baixar vídeos do YouTube no formato especificado, como o </span><a href="http://www.baixaki.com.br/download/youtube-avi.htm" target="_blank"><span style="color: white;">YouTube AVI</span></a><span style="color: white;">.</span><br />
<span style="color: white;"></span><br />
<span style="color: white;"></span><br />
</div>
<h2 style="text-align: justify;">
<span style="color: white;">Selecionando o trecho para conversão</span></h2>
<div style="text-align: justify;">
<span style="color: white;">Para começar, será necessário baixar o software responsável por toda essa mágica: </span><a href="http://www.baixaki.com.br/download/movie-to-animated-gif-converter.htm" target="_blank"><span style="color: white;">Movie to Animated GIF Converter</span></a><span style="color: white;">. Esse é um programa tão simples que dispensa até mesmo instalação, bastando clicar duas vezes sobre o arquivo depois de baixá-lo para que ele seja executado.</span></div>
<span class="img-fc"><img alt="Como transformar AVI para GIF" data="/imagens/2012/9/materias/886342613185550.jpg" src="http://www.tecmundo.com.br/imagens/2012/9/materias/886342613185550.jpg" /></span><br />
<div style="text-align: justify;">
<span class="img-fc"><span class="desc"><span style="color: white;">Em destaque, botões que marcam início e fim do trecho a ser convertido (Fonte da imagem: Reprodução/Tecmundo)</span></span></span></div>
<div style="text-align: justify;">
<span class="img-fc"><span class="desc"></span></span><span style="color: white;"> </span></div>
<div style="text-align: justify;">
<span style="color: white;">Na janela principal do software, clique sobre o menu <em>File > Open movie</em> para selecionar o arquivo AVI a ser convertido. Depois, basta selecionar o ponto de início e fim do trecho a ser convertido. Para isso, posicione o curso de reprodução até a cena desejada e clique sobre os botões “{“ e “}” para o começo e o final, respectivamente.</span></div>
<div style="text-align: justify;">
<span style="color: white;">Se quiser converter o vídeo todo para GIF, basta selecionar a cena “0:00:00” como ponto de partida e a última do arquivo para finalizar o GIF. Note, porém, que quanto maior a película, maior é o tempo de conversão.</span></div>
<h2 style="text-align: justify;">
<span style="color: white;">Convertendo o arquivo para GIF</span></h2>
<div style="text-align: justify;">
<span style="color: white;">Depois de selecionado o trecho do filme desejado, acesse o menu <em>Export > Export to animated GIF</em> e defina o nome e o local onde o arquivo final será salvo. Com isso, basta então configurar os últimos ajustes antes de iniciar a conversão.</span></div>
<span class="img-fc"><img alt="Como transformar AVI para GIF" data="/imagens/2012/9/materias/886342613185632.jpg" src="http://www.tecmundo.com.br/imagens/2012/9/materias/886342613185632.jpg" /></span><br />
<div style="text-align: justify;">
<span class="img-fc"><span class="desc"><span style="color: white;">Ajuste a resolução do GIF animado (Fonte da imagem: Reprodução/Tecmundo)</span></span></span></div>
<div style="text-align: justify;">
<span class="img-fc"><span class="desc"></span></span><span style="color: white;"> </span></div>
<div style="text-align: justify;">
<span style="color: white;">Na janela de configurações, defina a resolução do arquivo de imagem: 100% para manter o mesmo aspecto do filme original ou 50% para reduzi-lo pela metade. Se deseja converter mais de um arquivo na sequência, desmarque a caixa “Close when expor tis finished”, caso contrário, o Movie to Animated GIF será encerrado assim que a conversão for concluída.</span></div>
<div style="text-align: justify;">
<span style="color: white;">Clique no botão "OK" para iniciar, de fato, a conversão. Em poucos segundos você terá mais um arquivo para compartilhar no </span><a href="http://www.tecmundo.com.br/tumblr/23011-tumblr-guia-completo-de-uso.htm" target="_blank"><span style="color: white;">Tumblr</span></a><span style="color: white;"> ou no Facebook. Quem sabe ele não se torna o próximo meme da internet?</span></div>
Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-11681613016602221942012-09-02T22:54:00.003-03:002012-09-02T22:54:52.479-03:00TOMÓGRAFO POR DENTRO<br />
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="img-fc"><img alt="Você já viu um tomógrafo por dentro?" data="/imagens/2012/8/materias/6716600603111394.jpg" height="266" src="http://www.tecmundo.com.br/imagens/2012/8/materias/6716600603111394.jpg" style="border: 0px;" width="400" /><span class="desc"> </span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span class="img-fc"><span class="desc"><span style="color: white;">(Fonte da imagem: <a href="http://www.thinkstockphotos.com/" style="text-decoration: none;" target="_blank">Thinkstock</a>)</span></span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span class="img-fc"><span class="desc"><span style="color: white;"><br /></span></span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span style="color: white;">Se alguma vez você teve que passar por um tomógrafo, provavelmente se sentiu impressionado pelo tamanho e aparência futurista do equipamento. Afinal, essas máquinas parecem ter saído de filmes de ficção científica, se parecendo a túneis capazes de nos enviar a outras dimensões.</span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span style="color: white;">E os tomógrafos são equipamentos incríveis mesmo! Esses aparelhos são baseados nos mesmos princípios de uma <a href="http://www.tecmundo.com.br/medicina/10857-como-funcionam-a-tomografia-e-a-ecografia-3d.htm" style="text-decoration: none;" target="_blank" title="Clique aqui para acessar">radiografia tradicional</a>, capturando imagens do nosso corpo na forma de fatias. Essas fatias são então processadas através de um software, gerando uma impressão tridimensional.</span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<br /></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="img-fc"><img alt="Você já viu um tomógrafo por dentro?" data="/imagens/2012/8/materias/67166006031113954.jpg" height="348" src="http://www.tecmundo.com.br/imagens/2012/8/materias/67166006031113954.jpg" style="border: 0px;" width="400" /><span class="desc"> </span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span class="img-fc"><span class="desc"><span style="color: white;">(Fonte da imagem: <a href="http://www.reddit.com/r/pics/comments/ugimw/what_does_a_ct_scanner_look_like_with_its_cover/" style="text-decoration: none;" target="_blank">Reprodução/REDDIT</a>)</span></span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span class="img-fc"><span class="desc"><span style="color: white;"><br /></span></span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span style="color: white;">De acordo com as informações postadas por <a href="http://www.reddit.com/user/ApophisATITD" style="text-decoration: none;" target="_blank" title="Clique aqui para acessar">ApophisATIDT</a> no site <a href="http://www.reddit.com/r/pics/comments/ugimw/what_does_a_ct_scanner_look_like_with_its_cover/" style="text-decoration: none;" target="_blank" title="Clique aqui para acessar">REDDIT</a>, o aparelho de raios X fica localizado na parte superior esquerda do tomógrafo, enquanto que o dispositivo que gera as imagens computadorizadas se encontra no canto inferior direito. Além disso, o equipamento deve estar bem nivelado e equilibrado, pois todas essas engrenagens giram com bastante velocidade, podendo romper as peças de revestimento.</span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span style="color: white;">Fonte: <a href="http://www.reddit.com/r/pics/comments/ugimw/what_does_a_ct_scanner_look_like_with_its_cover/" style="text-decoration: none;" target="_blank" title="Clique aqui para acessar">REDDIT</a></span></div>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"><br /></span>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-42825155881260393042012-09-02T22:46:00.001-03:002012-09-02T22:48:13.141-03:00JOGOS DE ATARI DIRETO NO SEU NAVEGADOR<br />
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<div class="separator" style="clear: both; text-align: center;">
<span class="img-fc" style="margin-left: 1em; margin-right: 1em;"><img alt="Reviva jogos clássicos do Atari diretamente em seu navegador" data="/imagens/2012/9/materias/25926910112422.jpg" height="241" src="http://www.tecmundo.com.br/imagens/2012/9/materias/25926910112422.jpg" style="border: 0px;" width="400" /> <span class="desc"><span style="color: white;">Lunar Lander. (Fonte da imagem: <a href="http://www.atari-arcade.com/arcade#!/arcade/" style="text-decoration: none;" target="_blank">Reprodução/Atari Arcade</a>) </span></span></span></div>
</div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<span class="img-fc"><span class="desc"><span style="color: white;"><br /></span></span></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span style="color: white;"> Agora, você pode aproveitar a nova ação promocional da integração entre o <a href="http://www.tecmundo.com.br/html5" style="text-decoration: none;" target="_blank">HMTL5</a> e o Internet Explorer (mas pode ser acessada em qualquer computador). <a href="http://www.atari-arcade.com/arcade#!/arcade/" style="text-decoration: none;" target="_blank">Por este link</a>, você pode acessar o site Atari Arcade e conferir alguns clássicos criados para o console que ficou muito famoso na década de 1980 – todos remodelados, com novos gráficos e missões.</span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: justify;">
<span style="color: white;">Para controlar todos eles, tudo o que você precisará utilizar são as setas direcionais e a Barra de espaço. Estão disponíveis vários jogos, são eles: Super Breakout, Yars’ Ravenge, Asteroids, Centipede, Combat, Lunar Lander, Missile Command e Pong.</span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: center;">
<span style="color: white;"><br /></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<span style="color: white;"><br /></span></div>
<div style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
<span style="color: white;">Fonte: <a href="http://www.atari-arcade.com/arcade#!/arcade/" style="text-decoration: none;" target="_blank">Atari Arcade</a></span></div>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 16px;"><br /></span>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com5tag:blogger.com,1999:blog-3462192306320757254.post-51431650922611537222012-09-02T21:56:00.003-03:002012-09-02T21:56:53.199-03:00Cursos online<div style="text-align: justify;">
<span style="font-size: large;">Esta é uma dica para quem gosta de fazer cursos online.</span></div>
<div style="text-align: justify;">
Pessoal, no site citado abaixo, tem <a href="http://www.cadguru.com.br/faq/colaborar-e-doar/#" id="_GPLITA_0" in_hdr="null" in_rurl="http://trkjmp.com/click?v=QlI6MjI0ODQ6MzMyOmN1cnNvczpjNjNkMzk0NjQzY2Y5ODZmNGY0NTkwODBjMTA1ZmI5ZTp6LTEyMDktNDMyNjI6d3d3LmNhZGd1cnUuY29tLmJyOjQxNzA6dGV4dF9vbmx5" style="text-decoration: underline;" title="Powered by Text-Enhance">cursos</a> 100% gratuitos de AutoCAD, SolidWorks, SketchUp e Inventor, todos em video aula. Realmente é muito bom, vale a pena conferir:</div>
<div style="text-align: justify;">
<a href="http://www.cadguru.com.br/">http://www.cadguru.com.br/</a></div>
Reginaldohttp://www.blogger.com/profile/15813461042649943835noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-72399884867583478622011-11-02T20:32:00.003-02:002011-11-02T20:39:30.376-02:00Cursos IPED<div><strong>O Grupo iPED é um dos melhores sistemas de educação do mundo. Possui mais de 800 mil alunos no Brasil e em mais de 60 países.<br /><br />São diversos cursos para você escolher.<br /><br /></strong><center><br /><a href="http://www.iped.com.br/3d-e-games/afiliado/315465"><img src="http://www.iped.com.br/_img/parceiros/200x200/banner-3d-e-games.gif" /></a><br /></center></div><center></center>Reginaldohttp://www.blogger.com/profile/15813461042649943835noreply@blogger.com4tag:blogger.com,1999:blog-3462192306320757254.post-41812141736134356692011-04-18T20:07:00.000-03:002011-04-18T20:07:00.280-03:00Como ligar a fonte ATX sem placa mãe<div><div><div><div>Esta ligação só funciona em fontes ATX.<br /><br />Abaixo está o diagrama do plug de uma fonte ATX, todos os plugs são padrões.<br /><br /></div><img style="margin: 0px auto 10px; width: 241px; height: 211px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5596323823450081330" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGrBHaV18-T8FXgnqYMKW4d0R7oHA9VYfP4lC3qw3NfH3yVcSLsREaR4gnNvkeYyywx5Ab4soYTBNCyTW3G3oEd3jaM9379Edxq-32ampC97ET56iQijYXyc3uIt4iNsLSZ20qnVJlfHUh/s400/6_1.jpg" /><br />O que você deve fazer é unir dois fios do plug.<br /><br />A figura abaixo mostra quais fios devem ser unidos.<br /><br /><img style="margin: 0px auto 10px; width: 393px; height: 173px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5596323927808666274" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfIRPmUzTlPM4wxf8RKLyCJ4DMZ6swkQwADMKpDUI71ejkzu4XgSze0rfYbZ7sMdTgeqoHSzxONt0sr4nxcySH5eom0fdaN2cxn_otL-Cf2KzBFwa_1DqoTedtHvQajucdz8TndU8GSt14/s400/6_2.jpg" /><br /><br />O verde (pino 14) é designado como o fio da “potência”, enquanto que o preto (pino 13) é designado como fio “terra”.<br /><br />Ao unir esses dois fios, a fonte entra em funcionamento imediatamente. </div><div> </div><div><img style="margin: 0px auto 10px; width: 372px; height: 235px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5596324395790518146" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJzjDTGrhmU4c1NqDdK1itbbUqdUeRBRt8xFgLYK5nDtj-Ua-5vR4jrBvcGBKwAC7Kg3djGBOa5Ha0yYymZq1XWuWarZCN-QkE3i5_GKoaloKESdRJxCqAwfDu8d2si7G2gsEXy_kO6nZ4/s400/6_4.jpg" /></div></div></div>Reginaldohttp://www.blogger.com/profile/15813461042649943835noreply@blogger.com20tag:blogger.com,1999:blog-3462192306320757254.post-24615395248973266062011-04-17T17:34:00.000-03:002011-04-17T17:34:00.268-03:00Linguagem C (parte 8)<div style="text-align: justify;"></div><div style="text-align: justify;"><span style="color: white;">Funções: protótipos de função É considerada boa prática utilizar <b>protótipos de função</b> para todas as funções em seu programa. Um protótipo declara o nome de função, seus parâmetros e seu tipo de retorno para o resto do programa antes da declaração real da função. Para entender a utilidade dos protótipos, digite o seguinte código e execute-o:</span></div><div style="text-align: justify;"><pre><span style="color: white;"> #include <stdio.h>
void main()
{
printf("%d\n",add(3));
}
int add(int i, int j)
{
return i+j;
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">Este código compila em diversos compiladores sem emitir um aviso, apesar de <b>add</b> esperar dois parâmetros e receber apenas um. Ele funciona porque muitos compiladores C não verificam se o parâmetro corresponde ao tipo ou à quantidade. Você pode perder horas na depuração de um código no qual você está declarando parâmetros a mais ou a menos por engano. O código anterior compila corretamente, mas produz a resposta errada. </span></div><div style="text-align: justify;"><span style="color: white;">Para resolver este problema, a linguagem C permite colocar protótipos de função no início (na verdade, em qualquer lugar) de um programa. Se fizer isso, a linguagem C verifica tipos e quantidades de todas as listas de parâmetros. Tente compilar o seguinte: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> #include <stdio.h>
int add (int,int); /* protótipo de função para add */
void main()
{
printf("%d\n",add(3));
}
int add(int i, int j)
{
return i+j;
}
</span></pre></div><div style="text-align: justify;"><span style="color: white;">O protótipo faz com que o compilador sinalize um erro na instrução <b>printf</b>. </span></div><div style="text-align: justify;"><span style="color: white;">Coloque um protótipo para cada função no início de seu programa. Os propótipos podem economizar bastante tempo de depuração e também resolver o problema que ocorre ao compilar com funções que são utilizadas antes de serem declaradas. Por exemplo, o seguinte código não compilará: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> #include <stdio.h><stdio.h>
void main()
{
printf("%d\n",add(3));
}
float add(int i, int j)
{
return i+j;
} </stdio.h></span></pre></div><div style="text-align: justify;"><span style="color: white;">Você pode perguntar: "Por que ele compilará quando add retorna um int mas não quando retorna um float?" Porque os compiladores em C mais antigos padronizaram um valor de retorno para int. O uso de um protótipo resolverá este problema. Os "compiladores antigos" (sem suporte a ANSI) permitem protótipos, porém a lista de parâmetros do protótipo deve estar vazia. Os compiladores antigos não fazem a verificação de erros em listas de parâmetros. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table bgcolor="#ffffe0" border="1" cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><span style="font-family: arial,helvetica;"><span style="color: white;"></span></span><br />
<span style="font-family: arial,helvetica;"><span style="color: white;"></span></span><br />
<span style="font-family: arial,helvetica;"><span style="color: white;"><center>Tente isto</center></span></span><br />
<ul><li><span style="font-family: arial,helvetica;"><span style="color: white;">Retorne ao exemplo de classificação bubble sort anteriormente apresentado e crie uma função. </span></span></li>
<span style="font-family: arial,helvetica;">
<li><span style="font-family: arial,helvetica;"><span style="color: white;">Retorne aos programas anteriores e crie uma função para obter a entrada de dado do usuário, em vez de obter a entrada de dado da função principal. </span></span></li>
<span style="font-family: arial,helvetica;"></span></span></ul></td></tr>
</tbody></table></div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com2tag:blogger.com,1999:blog-3462192306320757254.post-50230830295900156332011-04-16T17:32:00.001-03:002011-04-16T17:32:00.651-03:00Linguagem C (parte 7)<div style="text-align: justify;"></div><div style="text-align: justify;"><span style="color: white;">Funções A maioria das linguagens permite criar funções de algum tipo. Funções permitem dividir um longo programa em seções nomeadas, de forma que as seções possam ser reutilizadas ao longo do programa. As funções aceitam <b>parâmetros</b> e <b>retornam</b> um resultado. Funções de C podem aceitar um número ilimitado de parâmetros. Em geral, a linguagem C não se preocupa em qual ordem você coloca suas funções no programa, contanto que o nome da função seja conhecido pelo compilador antes de ser invocado. </span></div><div style="text-align: justify;"><span style="color: white;">Já falamos um pouco sobre funções. A função <b>rand</b> previamente descrita é bastante simples. Ela não aceita parâmetros e retorna um resultado inteiro: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> int rand()
/* de K&R
- produz um número aleatório entre 0 e 32767.*/
{
rand_seed = rand_seed * 1103515245 +12345;
return (unsigned int)(rand_seed / 65536) % 32768;
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">A linha <b>int rand()</b> declara a função rand para o resto do programa e especifica que aquele rand não aceitará nenhum parâmetro e retornará um resultado inteiro. Esta função não tem nenhuma variável local, mas se elas fossem necessárias, iriam logo abaixo da abertura <b>{</b>. A linguagem C permite declarar variáveis após qualquer <b>{</b>: elas existem até o programa atingir o <b>}</b> correspondente e então desaparecem. Desta forma, as variáveis locais de uma função desaparecem assim que o <b>}</b> correspondente é atingido na função. Enquanto existirem, as variáveis locais residem na pilha do sistema. Observe que não há nenhum <b>;</b> depois de <b>()</b> na primeira linha. Caso tenha colocado um, acidentalmente, você receberá uma enorme cascata de mensagens de erro do compilador, que não farão sentido algum. Observe também que, mesmo sem parâmetros, você precisa usar o <b>()</b>. Eles indicam ao compilador que você está declarando uma função em vez de simplesmente declarar um int. </span></div><div style="text-align: justify;"><span style="color: white;">A instrução <b>return</b> é importante para qualquer função que retorna um resultado. Ela especifica o valor que a função retornará e a encerra imediatamente. Isto significa que você pode colocar diversas instruções de retorno na função para proporcionar vários pontos de saída. Se você não colocar uma instrução de retorno em uma função, a função retorna quando atinge <b>}</b> e retorna um valor aleatório (muitos compiladores o advertirão se você não retornar um valor específico). Em C, uma função pode retornar valores de qualquer tipo: int, float, char, struct, etc. </span></div><div style="text-align: justify;"><span style="color: white;">Há vários modos corretos para executar a função <b>rand</b>. Por exemplo: <b>x=rand( );</b>. A variável <b>x</b> recebe o valor retornado por rand nesta instrução. Observe que você <i>deve</i> usar <b>( )</b> na chamada da função, mesmo que nenhum parâmetro seja passado. Caso contrário, <b>x</b> recebe o endereço de memória da função rand, que geralmente não é desejável. </span></div><div style="text-align: justify;"><span style="color: white;">Você também pode invocar rand desta forma: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> if (rand() > 100) </span></pre></div><div style="text-align: justify;"><span style="color: white;">Ou deste modo: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> rand(); </span></pre></div><div style="text-align: justify;"><span style="color: white;">No último caso, a função é chamada, mas o valor retornado por rand é descartado. Talvez você nunca faça isso com rand, mas muitas funções retornam algum tipo de código de erro por meio da função, e se você não está muito preocupado com o código de erro (por exemplo, por saber que um erro é impossível), você poderá descartá-lo. </span></div><div style="text-align: justify;"><span style="color: white;">Funções podem usar um retorno tipo void caso se deseje que não se retorne nada. Por exemplo: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> void print_header()
{
printf("Programa Número 1n");
printf("por Marshall Brainn");
printf("Versão 1.0, lançada em 26/12/91\n");
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">Esta função não retorna valor algum. Você pode invocá-la com a seguinte instrução: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> print_header(); </span></pre></div><div style="text-align: justify;"><pre><span style="color: white;"></span> </pre></div><div style="text-align: justify;"><pre><span style="color: white;">
</span></pre></div><div style="text-align: justify;"><span style="color: white;">Você deve incluir <b>( )</b> na chamada. Se não o fizer, a função não é invocada, embora possa ser compilada corretamente em outros sistemas. </span></div><div style="text-align: justify;"><span style="color: white;">As funções em C podem aceitar qualquer tipo de parâmetro. Por exemplo: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> int fact(int i)
{
int j,k;
j=1;
for (k=2; k<=i; k++)
j=j*k;
return j;
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">retorna o fatorial de <b>i</b>, que é passado como um parâmetro inteiro. Separe vários parâmetros com vírgulas: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> int add(int i, int j)
{
return i+j;
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">A linguagem C evoluiu ao longo dos anos. Às vezes, você verá funções como <b>add</b> escritas do "modo antigo", como mostrado abaixo: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> int add(i,j)
int i;
int j;
{
return i+j;
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">É importante saber ler o código escrito no estilo antigo. Não há nenhuma diferença na forma em que o código é executado, apenas a notação é diferente. Você deve usar o "novo estilo" (conhecido como <b>ANSI C</b>) com o tipo declarado, como parte da lista de parâmetros, a menos que tenha conhecimento prévio de que o código será enviado a alguém com um compilador em "estilo antigo" (sem suporte a ANSI). </span></div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-48212638156475925872011-04-15T17:30:00.000-03:002011-04-15T17:30:00.775-03:00Linguagem C (parte 6)Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-85157661707742564482011-04-14T17:28:00.000-03:002011-04-14T17:28:00.906-03:00Linguagem C (parte 5)<div style="text-align: justify;"></div><div style="text-align: justify;"><span style="color: white;">Matrizes <!-- dtl_id=9489 //--> Nesta seção, criaremos um pequeno programa em C que gera 10 números aleatórios e os ordena. Para tal, utilizaremos uma nova disposição de variável denominada <b>matriz</b>. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table cellpadding="3" cellspacing="0" style="text-align: right; width: 200px;"><tbody>
<tr><td><span style="color: white;" type="arial,helvetica"><center><img alt="" src="http://static.hsw.com.br/gif/c-array.gif" /></center></span></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;">Uma matriz permite declarar e trabalhar com uma coleção de valores de mesmo tipo. Por exemplo, você pode querer criar uma coleção de 5 inteiros. Uma forma para fazer isso seria declarar 5 inteiros diretamente:</span></div><div align="justify"><pre><span style="color: white;"> int a, b, c, d, e;
</span></pre></div><div style="text-align: justify;"><span style="color: white;">Isso está certo, mas e se você precisasse de milhares de números inteiros? Uma forma mais fácil é declarar uma matriz de 5 inteiros. </span></div><div style="text-align: justify;"><pre><span style="color: white;"> int a[5]; </span></pre></div><div style="text-align: justify;"><span style="color: white;">Os cinco inteiros individuais dentro desta matriz são acessados por um <b>índice</b>. Todas as matrizes iniciam em zero e vão até n-1 no C. Assim, <b>int a[5];</b> contém 5 elementos. Por exemplo: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> int a[5];
a[0] = 12;
a[1] = 9;
a[2] = 14;
a[3] = 5;
a[4] = 1; </span></pre></div><div style="text-align: justify;"><span style="color: white;">Uma das vantagens sobre a indexação de matriz é que você pode usar um loop para manipular o índice. Por exemplo, o código a seguir inicializa todos os valores na matriz em 0: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> int a[5];
int i;
for (i=0; i<5; i++)
a[i] = 0; </span></pre></div><div style="text-align: justify;"><span style="color: white;">O código seguinte inicializa seqüencialmente os valores na matriz e então os imprime: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> #include <stdio.h><stdio.h>
int main()
{
int a[5];
int i;
for (i=0; i<5; i++)
a[i] = i;
for (i=0; i<5; i++)
printf("a[%d] = %dn", i, a[i]);
} </stdio.h></span></pre></div><div style="text-align: justify;"><span style="color: white;">As matrizes são usadas a toda hora em C. Para entender seu uso, inicie um editor e digite o seguinte código: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> #include <stdio.h>
#define MAX 10
int a[MAX];
int rand_seed=10;
/* from K&R
- retorna um número aleatório entre 0 e 32767.*/
int rand()
{
rand_seed = rand_seed * 1103515245 +12345;
return (unsigned int)(rand_seed / 65536) % 32768;
}
int main()
{
int i,t,x,y;
/* preenche a matriz */
for (i=0; i < MAX; i++)
{
a[i]=rand();
printf("%dn",a[i]);
}
/* mais coisas aparecerão aqui em breve */
return 0;
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">Este código contém vários conceitos novos. A linha <b>#define</b> declara uma constante denominada <b>MAX</b> e a define em 10. Os nomes de constantes em geral são escritos em letras maiúsculas para destacá-los no código. A linha <b>int a[MAX];</b> mostra como declarar uma matriz de inteiros em C. Observe que por causa da posição da declaração da matriz, ela é global ao programa. </span></div><div style="text-align: justify;"><span style="color: white;">A linha <b>int rand_seed=10 </b>também declara uma variável global, desta vez denominada <b>rand_seed</b>, que é inicializada em 10 sempre que o programa inicia. Este valor é o inicial para o código de números aleatórios que segue. Em um gerador de números aleatórios reais, o seed deve inicializar como um valor aleatório, como a hora do sistema. Aqui, a função <b>rand</b> produzirá os mesmos valores sempre que executar o programa. </span></div><div style="text-align: justify;"><span style="color: white;">A linha <b>int rand()</b> é uma instrução de função. A função rand não aceita parâmetros e retorna um resultado inteiro: aprenderemos mais sobre as funções em breve. As quatro linhas que seguem implementam a função rand. Por hora, nós as ignoraremos. </span></div><div style="text-align: justify;"><span style="color: white;">A função principal é normal. Quatro inteiros locais são declarados e a matriz é preenchida com 10 valores aleatórios usando um loop for. Observe que a matriz <b>a</b> contém 10 inteiros individuais. Você aponta para um inteiro específico na matriz usando colchetes. Assim <b>a[0]</b> refere-se ao primeiro inteiro na matriz, <b>a[1]</b> refere-se ao segundo, e assim por diante. A linha que começa com <b>/*</b> e termina com <b>*/</b> é denominada de <b>comentário</b>. O compilador ignora completamente a linha de comentário. Você pode colocar notas para si próprio ou outros programadores nos comentários. </span></div><div style="text-align: justify;"><span style="color: white;">Agora adicione o seguinte código no lugar do comentário <b>mais coisas...</b>: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> /* ordenação por bolha da matriz */
for (x=0; x < MAX-1; x++)
for (y=0; y < MAX-x-1; y++)
if (a[y] > a[y+1])
{
t=a[y];
a[y]=a[y+1];
a[y+1]=t;
}
/* imprime matriz classificada */
printf("--------------------n");
for (i=0; i < MAX; i++)
printf("%dn",a[i]); </span></pre></div><div style="text-align: justify;"><span style="color: white;">Esta codificação <b>classifica</b> os valores aleatórios e os imprime ordenadamente. Sempre que o executar, você obterá os mesmos valores. Para alterar os valores classificados, altere o valor de rand_seed sempre que executar o programa. </span></div><div style="text-align: justify;"><span style="color: white;">O único modo fácil para realmente entender o que o código está fazendo é executá-lo "à mão". Isto é, assuma que <b>MAX</b> é 4 para facilitar, pegue uma folha de papel e finja que é o computador. Desenhe a matriz no papel e coloque 4 valores aleatórios e não-classificados na matriz. Execute cada linha da seção de classificação do código e desenhe exatamente o que acontece. Você verá que, sempre que submetidos ao loop interno, os valores maiores na matriz são empurrados para baixo e os valores menores vão para o topo da matriz. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table bgcolor="#ffffe0" border="1" cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><span style="font-family: arial,helvetica;"><span style="color: white;"><center>Tente isto</center></span><span></span></span><ul><span style="font-family: arial,helvetica;"><span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">No primeiro trecho do código, tente alterar o loop for que preenche a matriz para uma única linha de código. Certifique-se de que o resultado seja igual ao do código original. </span></li>
<span style="font-family: arial,helvetica; font-size: x-small;">
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">Pegue o código de ordenação por bolha e coloque-o em sua própria função. O cabeçalho de função será <b>void bubble_sort()</b>. Depois transfira as variáveis utilizadas pela ordenação por bolha para a função e torne-as locais. Por ser uma matriz local, você não precisa passar parâmetros. </span></li>
<span style="font-family: arial,helvetica; font-size: x-small;">
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">Inicialize a semente do número aleatório para diferentes valores. </span></li>
<span style="font-family: arial,helvetica; font-size: x-small;"></span></span></span></span></span></ul><span style="font-family: arial,helvetica;"><span><span style="font-family: arial,helvetica; font-size: x-small;"></span></span></span></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table bgcolor="#ffffe0" border="1" cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><span style="font-family: arial,helvetica;"><span style="color: white;"><center>Erros que devem ser evitados na linguagem C</center></span><span></span><ul><span style="font-family: arial,helvetica;"><span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">A linguagem C não tem nenhuma verificação de dimensão, portanto, se você indexar além do fim da matriz, ele não o informará a respeito. Ele provavelmente travará ou apresentará dados incorretos. </span></li>
<span style="font-family: arial,helvetica; font-size: x-small;">
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">A chamada de função deve incluir <b>()</b> mesmo se nenhum parâmetro for informado. Por exemplo, C aceitará <b>x=rand;</b> mas a chamada não funcionará. O endereço de memória da função rand será colocado em <b>x</b>. Você deve dizer <b>x=rand();</b>. </span></li>
<span style="font-family: arial,helvetica; font-size: x-small;"></span></span></span></span></ul><span style="font-family: arial,helvetica;"><span></span></span></span></td></tr>
</tbody></table></div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-53418179516946729652011-04-13T17:26:00.001-03:002011-04-13T17:26:00.165-03:00Linguagem C (parte 4)<div style="text-align: justify;"><span style="color: white;">Looping: um exemplo real Suponhamos que você queira criar um programa que imprima uma tabela de conversão Fahrenheit para Celsius. Isso pode ser facilmente obtido com um loop for ou loop while:</span></div><div style="text-align: justify;"><pre><span style="color: white;">#include <stdio.h>
int main()
{
int a;
a = 0;
while (a <= 100)
{
printf("%4d graus F = %4d graus C\n",
a, (a - 32) * 5 / 9);
a = a + 10;
}
return 0;
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">Se executar este programa, ele produzirá uma tabela de valores iniciando em 0 graus F e terminando em 100 graus F. O resultado será este: <b></b></span></div><div style="text-align: justify;"><b><span style="color: white;"></span></b></div><b><div style="text-align: justify;"><pre><span style="color: white;">0 graus F = -17 graus C
10 graus F = -12 graus C
20 graus F = -6 graus C
30 graus F = -1 graus C
40 graus F = 4 graus C
50 graus F = 10 graus C
60 graus F = 15 graus C
70 graus F = 21 graus C
80 graus F = 26 graus C
90 graus F = 32 graus C
100 graus F = 37 graus C </span></pre></div><div style="text-align: justify;"></div></b><div style="text-align: justify;"><span style="color: white;">Os valores da tabela estão em incrementos de 10 graus. Observe como é fácil alterar os valores iniciais, finais ou de incremento da tabela que o programa produz. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Para valores mais precisos, você pode usar valores de <b>ponto flutuante</b>: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><pre><span style="color: white;">#include <stdio.h>
int main()
{
float a;
a = 0;
while (a <= 100)
{
printf("%6.2f graus F = %6.2f graus C\n",
a, (a - 32.0) * 5.0 / 9.0);
a = a + 10;
}
return 0;
} <stdio.h></stdio.h></span></pre></div><div style="text-align: justify;"><span style="color: white;">Você pode ver que a declaração de <b>a</b> foi alterada para flutuante, e o símbolo <b>%f</b> substitui o símbolo <b>%d</b> na instrução printf. Além disso, o símbolo %f possui alguma formatação: o valor será impresso com 6 dígitos inteiros e 2 decimais. </span></div><div style="text-align: justify;"><span style="color: white;">Agora vamos supor que queiramos modificar o programa para que a temperatura 98.6 seja inserida na tabela na posição adequada. Isto é, queremos que a tabela aumente a cada 10 graus e que inclua uma linha extra para 98.6 graus F, que é a temperatura corpórea normal do ser humano. O programa seguinte atende essa finalidade: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><pre><span style="color: white;">#include <stdio.h>
int main()
{
float a;
a = 0;
while (a <= 100)
{
if (a > 98.6)
{
printf("%6.2f graus F = %6.2f graus C\n",
98.6, (98.6 - 32.0) * 5.0 / 9.0);
}
printf("%6.2f graus F = %6.2f graus C\n",
a, (a - 32.0) * 5.0 / 9.0);
a = a + 10;
}
return 0;
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">Este programa funciona se o valor final for 100, mas se você alterar o valor final para 200, verá que o programa tem um <b>bug</b>. Ele imprime a linha de 98.6° várias vezes. Este problema pode ser corrigido de várias formas. Eis uma: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><pre><span style="color: white;">#include <stdio.h>
int main()
{
float a, b;
a = 0;
b = -1;
while (a <= 100)
{
if ((a > 98.6) && (b < 98.6))
{
printf("%6.2f graus F = %6.2f graus C\n",
98.6, (98.6 - 32.0) * 5.0 / 9.0);
}
printf("%6.2f graus F = %6.2f graus C\n",
a, (a - 32.0) * 5.0 / 9.0);
b = a;
a = a + 10;
}
return 0;
}
</span></pre></div><div style="text-align: justify;"><table bgcolor="#ffffe0" border="1" cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody><span style="color: white;"> </span>
<tr><td><span style="color: white; font-family: arial,helvetica;"></span><br />
<span style="color: white; font-family: arial,helvetica;"><center>Tente isto</center></span><span style="color: white;"></span><br />
<ul><span style="font-family: arial,helvetica;"><span style="color: white;"> </span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">Tente alterar o programa conversor Fahrenheit-Celsius de modo que ele utilize scanf para aceitar o valor inicial, final e de incremento daquele usuário. </span></li>
<span style="color: white;"> </span><span style="font-family: arial,helvetica; font-size: x-small;"><span style="color: white;"> </span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">Adicione uma linha de cabeçalho à tabela que é gerada. </span></li>
<span style="color: white;"> </span><span style="font-family: arial,helvetica; font-size: x-small;"><span style="color: white;"> </span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">Tente encontrar uma solução diferente para o bug corrigido pelo exemplo anterior. </span></li>
<span style="color: white;"> </span><span style="font-family: arial,helvetica; font-size: x-small;"><span style="color: white;"> </span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">Crie uma tabela que converta libras em quilogramas ou milhas em quilômetros. </span></li>
<span style="color: white;"> <span style="font-family: arial,helvetica; font-size: x-small;"></span></span></span></span></span></span></ul><span style="font-family: arial,helvetica;"><span style="font-family: arial,helvetica; font-size: x-small;"><span style="color: white; font-family: arial,helvetica; font-size: x-small;"></span></span></span></td></tr>
<span style="color: white;"> </span></tbody></table></div><div style="text-align: justify;"><span style="color: white;"><br />
</span></div><div style="text-align: justify;"><table bgcolor="#ffffe0" border="1" cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody><span style="color: white;"> </span>
<tr><td><span style="color: white; font-family: arial,helvetica;"></span><br />
<span style="color: white; font-family: arial,helvetica;"><center>Erros a serem evitados na linguagem C</center></span><span style="color: white;"></span><br />
<ul><span style="font-family: arial,helvetica;"><span style="color: white;"> </span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">Colocar = quando se deseja == em uma instrução if ou while. </span></li>
<span style="color: white;"> </span><span style="font-family: arial,helvetica; font-size: x-small;"><span style="color: white;"> </span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">Esquecer de aumentar o contador dentro do loop while. Isso causa um loop <b>infinito</b> (o loop nunca acaba). </span></li>
<span style="color: white;"> </span><span style="font-family: arial,helvetica; font-size: x-small;"><span style="color: white;"> </span>
<li><span style="font-family: arial,helvetica; font-size: x-small;"><span style="color: white;">Acidentalmente colocar um <b>;</b> no final de um loop for ou instrução if, pois isto anula a instrução. Por exemplo:</span><span style="color: white; font-family: arial,helvetica;"><pre>for (x=1; x<10; x++);
printf("%d\n",x); </pre></span><span style="color: white; font-family: arial,helvetica;">imprime apenas um valor, pois o ponto-e-vírgula após a instrução for atua como uma linha para a execução do loop for. </span></span></li>
<span style="color: white;"> </span></span></span></span></ul><span style="font-family: arial,helvetica;"><span style="font-family: arial,helvetica; font-size: x-small;"><span style="font-family: arial,helvetica; font-size: x-small;"><span style="font-family: arial,helvetica; font-size: x-small;"><br />
<span style="color: white;"> </span></span></span></span></span></td></tr>
<span style="color: white;"> </span></tbody></table></div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-13253973564068355892011-04-12T17:24:00.000-03:002011-04-12T17:24:00.362-03:00Linguagem C (parte 3)<div style="text-align: justify;"></div><div style="text-align: justify;"><span style="color: white;">Printf: lendo os valores de usuário <!-- dtl_id=9511 //--> O programa anterior é bom, mas seria melhor se ele lesse os valores 5 e 7 inseridos pelo usuário, em vez de usar constantes. Em vez disso, tente este programa:</span></div><div style="text-align: justify;"><pre><span style="color: white;">#include <stdio.h><stdio.h>
int main()
{
int a, b, c;
printf("Entre o primeiro valor:");
scanf("%d", &a);
printf("Entre o segundo valor:");
scanf("%d", &b);
c = a + b;
printf("%d + %d = %d\n", a, b, c);
return 0;
} </stdio.h></span></pre></div><div style="text-align: justify;"><span style="color: white;">Eis como este programa funciona ao ser executado: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/c-exec.gif" /></span></center></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Faça as alterações, depois compile e rode o programa para certificar-se de que funciona. Observe que scanf usa as mesmas strings de formato que printf (digite <b>man scanf</b> para mais informação). Observe também o & na frente de a e b. Este é o <b>operador de endereço</b> em C: ele retorna o endereço da variável (isto não fará sentido até aprendermos sobre os ponteiros). Você tem de usar o operador & em scanf em qualquer variável do tipo char, int ou float, bem como tipos de estrutura (que discutiremos em breve). Se excluir o operador &, você receberá um erro ao executar o programa. Tente executá-lo para ver que tipo de erro ocorre. </span></div><div style="text-align: justify;"><span style="color: white;">Vamos ver algumas variações para entender printf completamente. Eis uma instrução simples de printf: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> printf("Hello"); </span></pre></div><div style="text-align: justify;"><span style="color: white;">Esta chamada para printf tem uma string de formatos que diz ao printf para enviar a palavra "Hello" para a saída padrão. Compare-a com: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> printf("Hello\n");</span></pre></div><div style="text-align: justify;"><span style="color: white;">A diferença entre as duas é que a segunda versão exibe a palavra "Hello" seguida de uma quebra de linha. </span></div><div style="text-align: justify;"><span style="color: white;">As linha seguintes mostram como <b>exibir o valor de uma variável usando printf</b>. </span></div><div style="text-align: justify;"><pre><span style="color: white;"> printf("%d", b); </span></pre></div><div style="text-align: justify;"><span style="color: white;">O <b>%d</b> é uma expressão de controle que será substituída pelo valor da variável <b>b</b> quando a instrução printf for executada. Freqüentemente, você vai desejar incluir o valor entre outras palavras. Uma forma de fazer isso é: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> printf("A temperatura é ");
printf("%d", b);
printf(" degrees");</span></pre></div><div style="text-align: justify;"><span style="color: white;">Um modo mais fácil de dizer isso é: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> printf("A temperatura é %d graus\n", b);</span></pre></div><div style="text-align: justify;"><span style="color: white;">Você também pode usar múltiplas expressões de controle %d em uma instrução printf: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> printf("%d + %d = %d\n", a, b, c);</span></pre></div><div style="text-align: justify;"><span style="color: white;">Na instrução printf, é extremamente importante que o número de <b>operadores</b> na string de formato corresponda exatamente ao número e tipo de variáveis que a seguem. Por exemplo, se a string de formatos contém três operadores %d, então ela deve ser seguida por exatamente três parâmetros do mesmo tipo e ordem que aqueles especificados pelos operadores. </span></div><div style="text-align: justify;"><span style="color: white;">Você pode <b>imprimir todos os símbolos normais na linguagem C com printf </b>usando expressões de controle diferentes: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;"><b>int</b> (valores inteiros) usam <b>%d</b> </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>float</b> (valores de ponto flutuante) usam <b>%f</b> </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>char</b> (valores de caractere simples) usam <b>%c</b> </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>strings de caracteres</b> (matrizes de caracteres, discutiremos mais tarde) usam <b>%s</b> </span></div></li>
</ul><div style="text-align: justify;"><span style="color: white;">Você pode aprender mais sobre as nuances do printf em uma máquina UNIX digitando <b>man 3 printf</b>. Qualquer outro compilador de C que você utilize provavelmente virá acompanhado de um manual ou arquivo de ajuda que contém uma descrição do printf. </span></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><span style="color: white;">Scanf <!-- dtl_id=9513 //--> A função <b>scanf permite aceitar entradas do dispositivo padrão</b>, que, para nós, é geralmente o teclado. A função scanf pode fazer muitas coisas diferentes, mas pode ter resultados incertos quando não usada de forma simples. É falível pois não lida muito bem com erros humanos. Mas para programas simples, ela é boa o suficiente e fácil de usar. </span></div><div style="text-align: justify;"><span style="color: white;">A aplicação mais simples de <b>scanf</b> se parece com: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> scanf("%d", &b); </span></pre></div><div style="text-align: justify;"><span style="color: white;">O programa lerá um valor inteiro digitado pelo usuário usando o teclado (%d é para inteiros, como em printf, assim b deve ser declarado como um int) e o colocará em b. </span></div><div style="text-align: justify;"><span style="color: white;">A função scanf usa as mesmas expressões de controle da printf: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;"><b>int</b> usa <b>%d</b> </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>float</b> usa <b>%f</b> </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>char</b> usa <b>%c</b> </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>strings de caracteres</b> (abordados mais tarde) usam <b>%s</b> </span></div></li>
</ul><div style="text-align: justify;"><span style="color: white;">Você DEVE colocar <b>&</b> na frente da variável usada em scanf. A razão para isso ficará clara assim que você aprender sobre os <b>ponteiros</b>. É fácil esquecer o sinal &, e se você esquecer, seu programa quase sempre apresentará problemas ao ser executado. </span></div><div style="text-align: justify;"><span style="color: white;">Em geral, é melhor usar scanf como mostrado aqui, lendo apenas um valor do teclado. Use múltiplas chamadas do scanf para ler valores múltiplos. Em qualquer programa real, você usará as funções <b>gets</b> ou <b>fgets </b>em vez de ler o texto em uma linha por vez. Então você fará a "análise" da linha para ler seus valores. Isso serve para detectar erros na entrada e controlá-los da maneira que achar adequada. </span></div><div style="text-align: justify;"><span style="color: white;">As funções printf e scanf exigirão um pouco de prática para serem inteiramente compreendidas, mas uma vez dominadas serão extremamente úteis. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table bgcolor="#ffffe0" border="1" cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><span style="font-family: arial,helvetica;"><span style="color: white;"><center>Tente isto!</center></span><span></span></span><ul><span style="font-family: arial,helvetica;"></span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;">Modifique este programa para que ele aceite 3 valores em vez de 2 e some todos eles juntos:</span><pre><span style="color: white; font-size: x-small;">#include <stdio.h>
int main()
{
int a, b, c;
printf("Entre o primeiro valor:");
scanf("%d", &a);
printf("Entre o segundo valor:");
scanf("%d", &b);
c = a + b;
printf("%d + %d = %d\n", a, b, c);
return 0;
} </span></pre></li>
<span style="font-family: arial,helvetica;">
<li><span style="color: white; font-size: x-small;">Tente apagar ou adicionar caracteres ou palavras aleatórias em um dos programas anteriores e veja como o compilador reage a tais erros de compilação. </span><span style="color: white; font-size: x-small;">Por exemplo, apague a variável b na primeira linha do programa anterior e veja o que o compilador faz quando você se esquece de declarar uma variável. Apague um ponto-e-vírgula e veja o que acontece. Omita uma das chaves. Remova um dos parênteses próximos à função principal. Faça uma alteração por vez e compile o programa para ver o que acontece. Simulando erros como esses você pode aprender sobre diferentes erros de compilação, o que facilitará futuras detecções quando você os cometer. </span></li>
</span></ul><span style="font-family: arial,helvetica;"><span></span></span></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table bgcolor="#ffffe0" border="1" cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><span style="font-family: arial,helvetica;"><span style="color: white;"><center>Erros a serem evitados na linguagem C</center></span><span></span></span><ul><span style="color: white;"> </span>
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;"> Usar letras maiúsculas e minúsculas aleatoriamente. Letras maiúsculas e minúsculas são importantes na linguagem C, portanto você não pode digitar <b>Printf</b> ou <b>PRINTF</b>. É obrigatório que seja <b>printf</b>. </span></li>
<span style="font-family: arial,helvetica; font-size: x-small;">
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;"> Esquecer de usar o <b>&</b> em scanf. </span></li>
<span style="font-family: arial,helvetica; font-size: x-small;">
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;"> Parâmetros em excesso ou a falta deles após a instrução de formato em printf ou scanf. </span></li>
<span style="font-family: arial,helvetica; font-size: x-small;">
<li><span style="color: white; font-family: arial,helvetica; font-size: x-small;"> Esquecer de declarar o nome de uma variável antes de utilizá-la. </span></li>
<span style="font-family: arial,helvetica; font-size: x-small;"></span></span></span></span></ul></td></tr>
</tbody></table></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><span style="color: white;">Desvio e looping <!-- dtl_id=9515 //--> Em C, as instruções <b>if</b> e loops <b>while</b> regem-se pelos princípios das <b>expressões Booleanas</b>. Eis um programa simples em C que demonstra uma instrução if: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;"><span style="font-family: Courier New, Courier, mono; font-size: x-small;">#include <stdio.h><br />
<br />
int main()<br />
{<br />
int b;<br />
printf("Digite um valor:");<br />
scanf("%d", &b);<br />
if (b < 0)<br />
printf("O valor é negativo ");<br />
return 0;<br />
}</span></span></div><div style="text-align: justify;"><span style="color: white;">Este programa aceita um número do usuário. Ele então testa esse número utilizando uma instrução if para ver se ele é menor que 0. Se for, o programa imprime uma mensagem. Caso contrário, o programa não faz nada. A parte <b>(b < 0)</b> do programa é a </span><a href="http://www.hsw.com.br/logica-booleana.htm"><span style="color: white;">expressão booleana</span></a><span style="color: white;">. A linguagem C avalia esta expressão para decidir se imprime ou não a mensagem. Se a expressão booleana se mostra <b>Verdadeira</b>, então a linguagem C executa a linha imediatamente posterior à instrução if (ou um bloco de linhas entre chaves logo após a instrução if). Se a expressão booleana se mostrar <b>Falsa</b>, então a linguagem C pula a linha ou bloco de linhas logo após a instrução if. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><span style="color: white;" type="arial,helvetica"><center><img alt="" src="http://static.hsw.com.br/gif/c-if.gif" /></center></span></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Eis um exemplo um pouco mais complexo: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white; font-family: Courier New, Courier, mono; font-size: x-small;">#include <stdio.h><br />
<br />
int main()<br />
{<br />
int b;<br />
printf("Digite um valor:");<br />
scanf("%d", &b);<br />
if (b < 0)<br />
printf("O valor é negativo ");<br />
else if (b == 0)<br />
printf("O valor é zero ");<br />
else<br />
printf("O valor é positivo ");<br />
return 0;<br />
}</span></div><div style="text-align: justify;"><span style="color: white;">Neste exemplo, as seções <b>else if</b> e <b>else</b> avaliam tanto para valores positivos como zero. </span></div><div style="text-align: justify;"><span style="color: white;">Eis uma expressão booleana mais complicada:</span></div><div style="text-align: justify;"><span style="color: white; font-family: Courier New, Courier, mono; font-size: x-small;">if ((x==y) && (j>k))<br />
z=1;<br />
else<br />
q=10;</span></div><div style="text-align: justify;"><span style="color: white;">Esta instrução diz: "Se o valor da variável x for igual ao valor da variável y, e se o valor da variável j for maior que o valor da variável k, então defina a variável z como 1; de outro modo, defina a variável q como 10". Você usará instruções if como esta em todos os seus programas C para tomar decisões. De um modo geral, a maioria das decisões será simples como o primeiro exemplo, mas, eventualmente, as coisas podem ser um pouco mais complicadas. </span></div><div style="text-align: justify;"><span style="color: white;">Observe que a linguagem C utiliza <strong>==</strong> para <b>testar a igualdade</b>, enquanto utiliza <b>=</b> para <b>atribuir um valor</b> a uma variável. O símbolo <b>&&</b> em C representa uma </span><a href="http://www.hsw.com.br/logica-booleana1.htm"><span style="color: white;">operação booleana AND</span></a><span style="color: white;">. </span></div><div style="text-align: justify;"><span style="color: white;">Aqui estão todos os operadores booleanos em C: <b></b></span></div><b><div style="text-align: justify;"><pre><span style="color: white;"> igualdade ==
menor que <
maior que >
menor ou igual <=
maior ou igual >=
desigualdade !=
e &&
ou ||
não !</span></pre></div></b><div style="text-align: justify;"><span style="color: white;">Você descobrirá que as instruções <b>while</b> são tão fáceis de utilizar como as instruções if. Por exemplo: </span></div><div style="text-align: justify;"><pre><span style="color: white; font-family: Courier New, Courier, mono; font-size: x-small;">while (a < b)
{
print("%d\n", a);
a = a + 1;
}</span></pre></div><div style="text-align: justify;"><span style="color: white;">Isso faz com que duas linhas entre chaves sejam executadas repetidamente até que <b>a</b> seja maior ou igual a <b>b</b>. Em geral, a instrução while funciona assim: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/c-while.gif" /></span></center></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">A linguagem C também oferece uma estrutura <b>do-while</b>: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> do
{
printf("%d\n", a);
a = a + 1;
}
while (a < b);
</span></pre></div><div style="text-align: justify;"><span style="color: white;">O <b>loop for</b> na linguagem C é apenas um atalho para expressar uma instrução while. Por exemplo, suponha que você tenha o seguinte código em C: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> x=1;
while (x<10)
{
blá blá blá
x++; /* x++ é o mesmo que dizer x=x+1 */
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">Você pode converter isso em um loop for da seguinte forma: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> for(x=1; x<10; x++)
{
blá blá blá
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">Observe que o loop while contém uma etapa de inicialização (<b>x=1</b>), uma etapa de teste (<b>x<10</b>) e uma de incremento (<strong>x++</strong>). O loop for permite colocar as três partes em uma única linha, mas você pode colocar qualquer coisa nelas. Por exemplo, suponha que você tenha o seguinte loop: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> a=1;
b=6;
while (a < b)
{
a++;
printf("%d\n",a);
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">Você também pode colocá-lo para indicação: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> for (a=1,b=6; a < b; a++,printf("%dn",a)); </span></pre></div><div style="text-align: justify;"><span style="color: white;">É um pouco confuso, mas é possível. O <b>operador vírgula</b> permite separar diversas instruções diferentes nas seções de inicialização e incremento do loop for (porém não na seção de teste). Muitos programadores de linguagem C gostam de concentrar muitas informações em uma única linha de código. Outros acham que isto torna o código mais difícil de entender, e portanto desmembram essas instruções. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table bgcolor="#ffffe0" border="1" cellpadding="3" cellspacing="0" style="width: 400px;"><tbody>
<tr><td><span style="font-family: arial,helvetica;"></span><center><span style="color: white; font-family: arial,helvetica;"><b>= versus == em expressões booleanas</b></span></center><div style="text-align: justify;"><span style="color: white;"><span style="font-family: arial,helvetica;"><span>O sinal <b>==</b> é um problema na linguagem C pois freqüentemente você se esquece e digita apenas <b>=</b> em uma expressão booleana. Este é um erro comum de ocorrer, mas para o compilador há uma diferença significativa. A linguagem C aceitará <b>=</b> e <b>==</b> em uma expressão booleana, mas o comportamento do programa mudará consideravelmente quando usamos um ou outro. </span></span> </span></div><div style="text-align: justify;"><span style="font-family: arial,helvetica;"><span style="color: white;">As expressões booleanas em C avaliam os inteiros e os inteiros podem ser usados dentro de expressões booleanas. O valor inteiro 0 em C é Falso, enquanto qualquer outro valor inteiro é Verdadeiro. É código seguinte é permitido em C: </span></span><span style="font-family: arial,helvetica;"></span></div><span style="font-family: arial,helvetica;"></span><div style="text-align: justify;"><pre><span style="color: white;"> #include <stdio.h><stdio.h>
int main()
{
int a;
printf("Digite um número:");
scanf("%d", &a);
if (a)
{
printf("O valor é verdadeiro\n");
}
return 0;
} </stdio.h></span></pre></div><div style="text-align: justify;"><span style="font-family: arial,helvetica;"><span style="color: white;">Se <b>a</b> for qualquer número diferente de 0, a instrução printf é executada. </span></span></div><div style="text-align: justify;"><span style="font-family: arial,helvetica;"><span style="color: white;"><span>Em C, uma instrução como <b>if (a=b)</b> significa: “Atribuir <b>b</b> para <b>a</b>, e então testar <b>a</b> para seu valor Booleano". Assim, se <b>a</b> retornar o valor 0, a instrução if é Falsa. Caso contrário, é Verdadeira. O valor de <b>a</b> muda durante o processo. Este não é o comportamento desejado se você pretendeu digitar <b>==</b> (embora esta característica seja útil quando usada corretamente), assim, tenha cuidado com o uso de <b>=</b> e <b>==</b>. </span></span></span></div></td></tr>
</tbody></table></div><div style="text-align: justify;"><br />
</div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-11841367614382604002011-04-11T22:00:00.001-03:002011-04-11T22:00:00.994-03:00Linguagem C (parte 2)<div style="text-align: justify;"></div><div style="text-align: justify;"><span style="color: white;">O mais simples programa em C : o que está acontecendo? Vamos analisar este programa e aprender o que as diferentes linhas de comando fazem: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;">Este programa em C começa com <b>#include <stdio.h></b>. Esta linha <b>inclui</b> uma "biblioteca padrão de I/O" (entrada/saída) em seu programa, que permite ler a entrada a partir do </span><a href="http://www.hsw.com.br/teclados-de-computador.htm"><span style="color: white;">teclado</span></a><span style="color: white;"> (denominada "entrada padrão"), exibir o resultado em uma </span><a href="http://www.hsw.com.br/monitores-de-computador.htm"><span style="color: white;">tela</span></a><span style="color: white;"> (denominada "saída padrão"), processar arquivos de texto armazenados em </span><a href="http://www.hsw.com.br/discos-rigidos.htm"><span style="color: white;">disco</span></a><span style="color: white;"> e assim por diante. É uma biblioteca extremamente útil. A linguagem C possui um grande número de bibliotecas padrão como stdio, incluindo bibliotecas de strings de caracteres, de horário e de funções matemáticas. Uma <b>biblioteca</b> é simplesmente um pacote de códigos que alguém escreveu anteriormente para simplificar a sua vida (discutiremos bibliotecas daqui a pouco). </span></div><div style="text-align: justify;"><span style="color: white;"></span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">A linha <strong>int main( )</strong> declara a função principal. Todo programa em C deve ter uma função denominada <strong>main</strong> em algum lugar no código. Aprenderemos mais sobre as funções em breve. O programa começa a ser executado a partir da primeira linha da função main. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><strong><span style="color: white;"></span></strong></div></li>
<li><div style="text-align: justify;"><span style="color: white;">Em C, os símbolos <strong>{</strong> e <strong>}</strong> marcam o começo e término de um bloco de código. Neste caso, o bloco de código que compõe a função principal contém duas linhas. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;"></span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">A instrução <strong>printf</strong> em C permite enviar o resultado para a saída padrão (para nós, a tela). A parte entre aspas é denominada <strong>string de formato</strong> e descreve como os dados serão formatados quando impressos. A string de formato pode conter strings de caracteres como "Este é o resultado do meu primeiro programa!", símbolos de quebra de linha (<strong></strong><strong>\n</strong>), e operadores como expressão de controle para variáveis (vide abaixo). Se você está usando UNIX, pode digitar <strong>man 3 printf</strong> para obter uma documentação completa sobre a função printf. Caso contrário, consulte a documentação incluída em seu compilador para mais detalhes sobre a função printf. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;"></span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">A linha <strong>return 0;</strong> faz com que a função retorne um código de erro de 0 (sem erros) à shell que iniciou a execução. Esta capacidade será discutida em detalhes mais tarde.</span></div></li>
<li><div style="text-align: justify;"><span style="color: white;"> </span></div></li>
<li><div style="text-align: justify;"></div></li>
</ul><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><span style="color: white;">Variáveis Como programador, você com freqüência desejará que seu programa se "lembre" de um valor. Por exemplo, se seu programa solicita um valor do usuário, ou se ele calcula um valor, você vai querer armazená-lo em algum lugar para usá-lo mais tarde. O modo como seu programa se lembra das coisas é por meio do uso de <b>variáveis</b>. Por exemplo:</span></div><div align="justify"><pre><span style="color: white;"> int b; </span></pre></div><div style="text-align: justify;"><span style="color: white;">Esta linha diz: "Quero criar um espaço chamado b que possa conter um valor inteiro". Uma variável tem um <b>nome</b> (neste caso, b) e um <b>tipo</b> (neste caso, int, um inteiro). Você pode armazenar um valor em b escrevendo algo assim: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> b = 5; </span></pre></div><div style="text-align: justify;"><span style="color: white;">Você pode usar o valor em b escrevendo algo assim: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> printf("%d", b); </span></pre></div><div style="text-align: justify;"><span style="color: white;">Na linguagem C, há vários tipos padrões de variáveis: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;"><b>int</b> - valores inteiros (número inteiro) </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>float</b> - valores de ponto flutuante </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>char</b> - valores de caractere único (como "m" ou "Z") </span></div></li>
</ul><div style="text-align: justify;"><span style="color: white;">Veremos exemplos destes outros tipos à medida que avançarmos.</span></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><span style="color: white;">Printf A instrução <b>printf permite enviar o resultado para a saída padrão.</b> Para nós, o termo "saída padrão" se refere à tela (embora você possa redirecionar a saída padrão para um arquivo de texto ou outro comando). </span></div><div style="text-align: justify;"><span style="color: white;">Eis outro programa que o ajudará a aprender mais sobre printf:</span></div><div style="text-align: justify;"><pre><span style="color: white;">#include <stdio.h>
int main( )
{
int a, b, c;
a = 5;
b = 7;
c = a + b;
printf("%d + %d = %d\n", a, b, c);
return 0;
} </span></pre></div><div style="text-align: justify;"><span style="color: white;">Digite este programa em um arquivo e salve-o como <b>add.c</b>. Compile-o com a linha <b>gcc add.c -o add</b> e depois execute-o digitando <b>add</b> (ou <b>./add</b>). Você verá a linha "5 + 7 = 12" como resultado. </span></div><div style="text-align: justify;"><span style="color: white;">Eis uma explicação das diferentes linhas neste programa: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;">a linha <b>int a, b, c;</b> declara três variáveis de número inteiro denominadas <b>a</b>, <b>b</b> e <b>c</b>.</span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">a próxima linha inicializa a variável nomeada <b>a</b> para o valor 5.</span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">a próxima linha define 7 para <b>b</b> .</span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">a próxima linha soma <b>a</b> e <b>b</b> e "atribui" o resultado a <b>c</b>. </span></div><div style="text-align: justify;"><span style="color: white;">O computador adiciona o valor em <b>a</b> (5) ao valor em <b>b</b> (7) para formar o resultado 12 e então coloca o novo valor (12) na variável <b>c</b>. Por este motivo, o sinal = nesta linha é denominado "operador de atribuição". </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">A instrução <b>printf</b> depois imprime a linha "5 + 7 = 12". As expressões de controle <b>%d</b> na instrução printf atuam como expressão de controle de valores. Há 3 expressões de controle %d, e no final da linha printf há três nomes de variável: <b>a</b>, <b>b</b> e <b>c</b>. A linguagem C liga o primeiro %d ao a e o substitui por 5. Ele liga o segundo %d com b e o substitui por 7, faz a correspondência do terceiro %d com c e o substitui por 12. Depois, imprime a linha completa na tela: 5 + 7 = 12. O +, o = e o espaçamento são parte da linha de formato e são automaticamente integrados entre os operadores %d conforme especificado pelo programador.</span></div></li>
</ul><div style="text-align: justify;"><br />
</div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-56762409486153898672011-04-10T17:12:00.001-03:002011-04-11T20:54:54.947-03:00Linguagem C<div style="text-align: justify;"></div><div style="text-align: justify;"><span style="color: white;">O que é C? C é uma <b>linguagem de programação de computadores</b>. Isso significa que você pode usá-la para criar listas de instruções para um computador seguir. A linguagem C é uma das milhares de linguagens de programação atualmente em uso. Existe há várias décadas e ganhou ampla aceitação por oferecer aos programadores o máximo em controle e eficiência. A linguagem C é fácil de aprender: pode ter um estilo um tanto criptográfico comparada às outras linguagens, mas isso é logo superado. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><br />
<center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/c-compile.gif" /></span></center></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">A linguagem C é o que se chama de <b>linguagem compilada</b>. Isso significa que, uma vez escrito o programa em C, ele deve ser passado por um <b>compilador</b> para transformar seu programa em <b>executável</b> para o computador rodar (executar). Um programa em C possui um formato legível ao homem, enquanto o executável gerado no compilador possui a forma legível para a máquina e é executada por ela. Isto significa que para escrever e executar um programa em C, você precisa ter acesso a um compilador de C. Se estiver usando uma máquina UNIX (por exemplo, escrevendo scripts CGI em C no seu computador UNIX, ou se você é um estudante que trabalha em uma máquina UNIX de um laboratório), o compilador de C está disponível gratuitamente. Ele é chamado "cc" ou "gcc" e está disponível na linha de comando. Se você é um aluno, estão a escola lhe fornecerá um compilador (descubra qual a escola usa e aprenda mais sobre ele). Se estiver trabalhando em casa em uma máquina Windows, você precisará fazer o download de um compilador de C gratuito ou comprar um compilador comercial. Um compilador comercial amplamente utilizado é o ambiente Visual C++ da Microsoft (ele compila programas em C e C++). Mas, infelizmente, este programa custa caro. Caso não disponha de algumas centenas de dólares para gastar em um compilador comercial, você pode usar um dos compiladores gratuitos disponíveis na internet. </span></div><div style="text-align: justify;"><span style="color: white;">Vamos começar com um programa em C bastante simples e progredir a partir dele. Vamos supor que você usará a linha de comando UNIX e o gcc como seu ambiente para estes exemplos, mas caso contrário, todos os códigos também funcionarão (basta compreender e usar o compilador que tiver disponível).</span></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><span style="color: white;"> O mais simples programa em C Vamos começar com o programa em C mais simples possível e usá-lo tanto para entender os fundamentos da linguagem C como o processo de compilação em C. Digite o programa seguinte em um editor de textos padrão (vi ou emacs no UNIX, Bloco de notas no Windows ou TeachText no Macintosh). Depois salve o programa em um arquivo denominado <b>samp.c</b>. Se deixar de incluir <b>.c</b>, você provavelmente receberá informação de algum tipo de erro ao compilá-lo (portanto, não se esqueça de inserir o <b>.c</b>). Certifique-se também de que o editor não anexe automaticamente caracteres extras (como .txt) ao nome do arquivo. Eis o primeiro programa: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><pre><span style="color: white;">#include <stdio.h><stdio.h>
int main()
{
printf("Este é o resultado do meu primeiro program!\n");
return 0;
} </stdio.h></span></pre></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Quando executado, este programa instrui o computador a imprimir a linha: "Este é o resultado do meu primeiro programa!", e depois encerra o programa. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table bgcolor="#ffffe0" border="1" cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><span style="font-family: arial,helvetica;"></span><br />
<center style="color: #000099;"><b><span style="color: black;">Posição</span></b></center><span style="color: black; font-size: small;">Ao escrever este programa, posicione <b>#include</b> de forma que o sinal # esteja na coluna 1 (mais à esquerda). Isso facilita o seu entendimento, mas na verdade o espaçamento e recuo podem ser do jeito que você preferir. Em alguns sistemas UNIX, você encontrará um programa chamado <b>cb</b>, o C Beautifier (algo como "embelezador de C"), que formata códigos. O espaçamento e recuo mostrados acima são um bom exemplo a seguir. </span></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Para compilar este código, siga estas etapas: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;">Em uma máquina UNIX, digite <b>gcc samp.c -o samp</b> (se gcc não funcionar, tente cc). Esta linha executa o compilador em C chamado gcc, pede que compile samp.c e que nomeie o arquivo executável criado como <b>samp</b>. Para executar o programa, digite <b>samp</b> (ou em algumas máquinas UNIX, <b>./samp</b>). </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">Em uma máquina rodando DOS ou Windows e usando DJGPP (em inglês), digite o seguinte no prompt do MS-DOS: <b>gcc samp.c -o samp.exe</b>. Esta linha executa o compilador em C chamado gcc, Pede que compile samp.c e que nomeie o arquivo executável criado como <b>samp.exe</b>. Para executar o programa, digite <b>samp</b>. </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">Se estiver trabalhando com algum outro compilador ou sistema de desenvolvimento, leia e siga as instruções dele para compilar e executar o programa. </span></div></li>
</ul><div style="text-align: justify;"><span style="color: white;">Você verá "Este é o resultado do meu primeiro programa!" ao executá-lo. Veja o que aconteceu ao compilar o programa: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><br />
<center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/c-compile.gif" /></span></center></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Caso tenha cometido um erro de digitação no programa, ele não compilará ou não poderá ser executado. Se o programa não foi compilado ou não executa corretamente, edite-o e localize os erros de digitação. Corrija o erro e tente novamente. </span></div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com1tag:blogger.com,1999:blog-3462192306320757254.post-41185739863698818802011-04-03T21:30:00.019-03:002011-04-03T22:55:36.442-03:00Como atualizar a versão do Windows Seven<div><div><div><div><div align="justify"><strong>Atualize a versão do seu windows usando o “Windows Anytime Upgrade“, com ele você pode alterar a versão do seu Windows Starter, Home, Business ou Premium para a versão Professional ou Ultimate sem ter que fazer uma nova instalação ou modificar seus softwares já instalados.<br /></strong><br />Aqui será mostrado como alterar a versão Windows 7 Home Premium para a Ultimate.É fácil, rápido, e você preserva seus programas, arquivos e configurações, tudo isso em menos de 10 minutos.<br /><br /><br />O que é o Windows Anytime Upgrade?<br /><br />Nada mais é que um utilitário da Microsoft que permite a atualização da versão do Windows para uma versão superior com mais recursos.<br /><br />Perguntas Frequentes<br /><br /><br />Estas são respostas a algumas dúvidas comuns sobre o Windows 7 Anytime Upgrade.<br />Posso usar o Windows Anytime Upgrade para fazer a atualização de uma versão anterior do Windows para o Windows 7?<br /><br /><br />Não. O Windows Anytime Upgrade não pode atualizar versões anteriores do Windows para o Windows 7. O Windows Anytime Upgrade foi projetado apenas para atualizar o computador de uma edição do Windows 7 para outra edição do Windows 7.<br /><br /><br />Posso atualizar as versões de 32 e 64 bits do Windows 7 com o Windows Anytime Upgrade?<br /><br /><br />Sim, você pode usar o Windows Anytime Upgrade para atualizar uma versão de 32 bits para outra de 32 bits ou uma versão de 64 bits para outra de 64 bits do Windows 7. No entanto, o Windows Anytime Upgrade não pode atualizar uma versão de 32 bits para outra de 64 bits do Windows 7 ou uma versão de 64 bits para outra de 32 bits do Windows 7.<br /><br /><br />Posso voltar à edição do Windows 7 que o meu computador estava executando antes da atualização?<br /><br /><br />Sim, mas será necessário fazer uma instalação limpa da edição anterior do Windows 7, o que significa que os seus arquivos e as suas configurações de programas não serão preservados.<br /><br /><br />Alterando a versão do Windows 7<br /><br />Primeiro, vamos checar a versão atual do windows, como podem ver,<br />é a versão Home Premium.<br /><br /></div><img style="margin: 0px auto 10px; width: 400px; height: 280px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591526744829934098" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7wKgrZxJRFpu28oKFmLx3CIq3v5evglQ5ir-lyVUEA_nbHYRO4teuT2RXj2e5haQES6UuqWatOB1gEDV_iOywz4IyYbuM9Hup4SNSifEiBuJwYO_3_b0Vl-RaA1PYReqTisufsMl18zpe/s400/01.png" /><br /><br />No seu PC, abra o Windows Anytime Upgrade, clicando no botão Iniciar, Todos os Programas e clicando em Windows Anytime Upgrade.<div><br /></div><img style="margin: 0px auto 10px; width: 364px; height: 400px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591527099099778418" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA_sUuvBUvKgmDYYqUaAIixUSPUwozgWwPG2DiHp0MXEGpx3x2WCk_q_W18k9g51uzAtmWLmssO0ESMIKUFTdNogm80ABEkg0Q0l8P8R6eTYO7-K4Sauzsb4JqI9Q8wJYP338GbSkvO8QG/s400/menu.png" /><br /><br /><br /><br /><br />Clique em Digitar uma chave de atualização.<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 279px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591527526601010738" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs3Sh4YeZTajhH5JaeIFalL5Mx6X0gIV4PzIJefhdaYs4AWzqp2yAcBDHYOyCwY26AR_MWoaEYFhZQ6GH9umkTThVejiWGXN7vq2edAH_vr02dN_iVpJr15dUcCXMpR6sQ4qQoKKfqQKeT/s400/02.png" /><br />Digite a chave de atualização da versão Ultimate e clique em Avançar.<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 193px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591527838042599522" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxgnZBQWoVTTVpRnNcfeJ_gkE3UUl4qiQ0fOy5me8bm3QZ-MuItOxEIl4WN-dv6c13w7AgMpjMP1ZaM2_jCJcfcSuze27UUctqWx_mK-vW7YQdVzX3AhUAbywKM-_dvwXwqdp-4KHTylJb/s400/3.png" /> D4F6K - QK3RD - TMVMJ - BBMRX - 3MBMV<br /><div><br />Após a verficação da chave, clique em Avançar.<br /><br /></div><img style="margin: 0px auto 10px; width: 400px; height: 112px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591528114804496930" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGF9-ANE2HJz5V6oSfWQ6RCZfeeSTZU6w5b-9m_k8EznKAlaeojlcvMyi09AfxHYxNKR6davGQ_9N-9JBunz7lZpSYv0OsbUe2BBo_PPgpTyC95zr3mhjXaPjrbD80c_JRNg0Z3Y9SDohr/s400/4.png" /><br /><br />Clique em Aceito para aceitar os termos da licença.<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 94px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591528287339206514" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzKT0CinXp5EBuGTzK03G0h1urYdrWM_k0mY0J-9oJTn594NLHkwXHNdO7HSxrf-DMAKVESwzgYBhqvtQ60WdNZgh4guUleVBdzDmrO8y1A11I9f0vgbJXU0LREYSoBhZkO1N7fIO5h2L8/s400/5.png" /><br /><br />Antes de atualizar, salve seu trabalho e feche todos os programas abertos, após isso clique em Atualizar.<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 139px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591528573336797666" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Dxv6QbMB6UbPVbbagXGUFzDRIemh4Pf6UAcSfg3omByoW3B8errFcNkVAIjdadXgWkm0u4qTp8Y41H5tFHupBrrlgLXUiEL3p51chFB_odQTv4mTraqVn0xw1ssI0hqsVT0DWWYFgsRU/s400/6.png" /><br /><br />Após acabar a atualização clique em Avançar.<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 146px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591529142348276562" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD2jxFBdvfv3ATueB1aDC61u9iSgmL-SMSvjsAhTrTUyIQ3bBc3A1WJDeK3-aHUCAJrTVllp4XWZBeC8lYtVYYV2w1d_BihOrvuK25E8hOcyTIkXinLewx9-hNW5aeLlcRz9UkeNfWzfWj/s400/7.png" /><br /><br />Seu windows será atualizado, não desligue o computador, ele reiniciará sozinho, note no rodapé da imagem que a versão ainda é a Home Premium.<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 300px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591529400278006754" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPaIegoiHCRuOobTH5qppj6Dk4-Rj_KkYkPAdHpGYWWeHg4MfPp028BRq_PYvDhCBVd_1PRAAO4YOtCc2Kahn1XhbKZ_hM-GRSluK3E-Tb4meVeI0e3Gb6GWEMx99DPyf2lIqNSfpGrWrN/s400/8.png" /><br />Após reiniciar o computador, o windows vai continuar as atualizações, mas note no rodapé da imagem que a versão agora já é a Ultimate.<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 300px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591529651816117474" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP-tHM_MMybtIGgXVvgPxBRwk7XUQQSeuqvRwmE9dmRn4dRXclG8SLwosKIxF2h4mWeF1NWAE8aRHKfmLkQQNKsNtG3bcWDPGcmFovuK4lth2k9CgHHeyCpJdxJrYjesXhLyCXjd6pX0JD/s400/9.png" /><br /><br />Terminando os updates, uma tela irá aparecer informando que as atualizações tiveram exito, e que seu computador está pronto para uso com a versão Ultimate.<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 279px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591530024341377314" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihif13FCMCidQV2UDiSI22jOnRb3Kx0v4R238QBqRlmvzTb7bIRziAXdPWw3_urzZp5vxh1PvRbfxJQv7UwlIleNFYixsp-i2qANluvpG1bDldc9BgaLt7UcmesHLdzyvoMILwIgMa0TbV/s400/10.png" /><br />Confirme a versão do Windows clicando nas propriedades do seu computador.<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 280px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591529876358005602" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm83IaGGqPzHX6g0enlCMj4PDKNJwlu8_H4gXzcIDqkmHNAWFikD289H9aeL74T_WiqoN_Zz6qTU4jW04BsY3wqwA9clOjWS4iGkDqfrupcEZh9v5R6sFj61nDmpZuDUYEuPgYLifH1dDM/s400/11.png" /><br /></div><div> <strong>Ativar</strong> <strong>nova</strong> <strong>versão</strong><br /><br />Baixe o Windows 7 Loader</div><div> </div><div><a href="http://www.mediafire.com/?28qf9wj5dqxsuq3">Baixar</a><br /><br />1. Descompacte o arquivo, execute o “Windows 7 Loader.exe” e clique em “Install”<br /></div><div align="justify"><img style="margin: 0px auto 10px; width: 400px; height: 304px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591533798885558546" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY7rKICChEuKJEFv8cVdJxW5bnmLmRofZGe4l3-WSJisbmSW-vtsnMK77dKLJ7pj-Fl_2mby6sYw1I84elKy2fMAbjYYKuba34K1h4Rs4F_jqaLn7-1Lg9mGMBi5lK09U_OUhBEHh7xXQl/s400/Sem+t%25C3%25ADtulo.png" /><br />2. Agora escolha uma marca, e click no botão logo abaixo das marcas</div><div align="justify">Obs. A marca escolhida não precisa ser a mesma do seu PC, clic em uma qualquer e tenter atualizar, caso não atualize, execute o 7loader novamente e escolha outra marca até obter sucesso.</div><div> </div><div> </div><div><br />3. Depois click em Install 7Loader, e de OK.</div><div> </div><div>Logo o computador irá reiniciar e o windows estará validado.</div><div> </div><div>Verificando se o windows está atualizado:</div><div> </div><div>Click em propriedade do Meu Computador e verifique<br /><br /><img style="margin: 0px auto 10px; width: 400px; height: 189px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5591537947781251570" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5VC0ro3elnvhDMOt0nCUu41v5jIVeB84GtCxNfcmdAirn_MIzS89cV_SdGzZ6E3YNtMPfyMPMrfIXAm4hD04tRNKNRRNJCyLy1p2lVvQTdch7G4NUQReAPP9vbcelm5-15GgtMmKd133C/s400/Sem+t%25C3%25ADtulo.png" /><br /> </div><div> </div><div> </div><div> </div><div>Quem tiver a versão Starter e quiser passar para Ultimate, primeiro você tem que passar para Home Premium, e depois passar para Ultimate. Os procedimentos são os seguintes:<br /><br />1. Execute o Windows Anytime Upgrade<br /><br />2. Digite a chave do Home Premium -><br /><br />H4JWX-WHKWT-VGV87-C7XPK-CGKHQ<br /><br />3. Execute o Windows Anytime Upgrade novamente<br /><br />4. Digite a chave do Ultimate que está no tutorial acima.<br />Alterando também a linguagem do Sistema</div><div><br />O Windows 7 é todo modular, até na linguagem do Sistema Operacional. Se você pegar um computador com a versão Home Premium em inglês, basta fazer esse procedimento e depois de virar Ultimate, baixe o pacote de linguagem do brasil através do Windows Update, evitando a formatação do windows apenas para trocar a versão do idioma.<br /><br /><br />Fonte: http://infohelp.org</div></div></div></div>Reginaldohttp://www.blogger.com/profile/15813461042649943835noreply@blogger.com5tag:blogger.com,1999:blog-3462192306320757254.post-39124370583095478942011-03-30T08:17:00.002-03:002011-04-10T17:05:57.116-03:00Como funciona a linguagem java<div class="articleBody"><h1 class="articlePageTitle"><span style="color: white;">Variáveis </span></h1><span style="color: white;">Todos os programas utilizam <b>variáveis</b> para guardar, temporariamente, alguns dados . Por exemplo, se você pedir um número de um usuário em alguma parte do programa, vai armazená-lo em uma variável para que possa utilizar depois. </span><span style="color: white;">As variáveis devem ser <b>definidas</b> (ou <b>declaradas</b>) em um programa antes que você possa usá-las, e além disso, é necessário atribuir um tipo específico a cada variável. Mais um exemplo: você pode definir uma variável para ter um tipo que permita armazenar números, e definir outra para ter um tipo que a deixe armazenar o nome de uma pessoa. (Como o Java requer que você defina as variáveis antes de usá-las e diga o tipo de valor que deseja armazenar nelas, ela é chamada de uma linguagem <b>de tipagem forte</b>. Como você deve estar se perguntando, há linguagens que não requerem isso, são as linguagens de tipagem fraca. No geral, ao criar programas grandes, a tipagem forte costuma reduzir o número de erros de programação que você pode cometer). </span><br />
<pre><span style="color: white;"> import java.awt.Graphics;
import java.awt.Color;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
int width = 200;
int height = 200;
g.drawRect(0, 0, width, height);
g.drawLine(0, 0, width, height);
g.drawLine(width, 0, 0, height);
}
} </span></pre><span style="color: white;">Neste programa, declaramos 2 variáveis chamadas <b>width</b> (largura) e <b>height</b> (altura). E também declaramos que o tipo delas é <b>int</b>. Este é o tipo de variável capaz de armazenar um número inteiro (por exemplo, 1, 2, 3). E, finalmente, <b>inicializamos </b>ambas com o valor de 200. Outra forma de dizer a mesma coisa seria: </span><br />
<pre><span style="color: white;"> int width;
width = 200;
int height;
height = 200; </span></pre><span style="color: white;">A primeira forma é um pouquinho mais rápida de ser digitada. </span><span style="color: white;">O ato de definir o primeiro valor de uma variável é chamado de <b>inicialização</b> da variável. Um erro de programação comum acontece quando você esquece de inicializá-la. Para ver esse bug, experimente eliminar a parte da inicialização no código (a parte "= 200") e recompile o programa para ver o que acontece. Você vai ver que o compilador reclama desse problema e essa é uma característica bem legal porque vai ajudá-lo a economizar muito tempo. </span><br />
<span style="color: white;">Há dois tipos de variáveis em Java: as variáveis simples (<b>primitivas</b>) e as <b>classes</b>. </span><br />
<span style="color: white;">O tipo <b>int</b> é uma variável simples. Ela é capaz de armazenar um número e nada mais do que isso. Basta declarar uma <b>int</b>, definir um valor e usá-la. As <b>classes</b>, por outro lado, podem conter partes múltiplas e têm métodos que facilitam seu uso. Um exemplo bom e direto de uma classe é a <b>Rectangle</b> (retângulo), e vamos começar por ela. </span><br />
<span style="color: white;">Uma das limitações do programa no qual trabalhamos até agora é o fato de que ele presume que a janela tem um tamanho de apenas 200 pixels x 200 pixels. E se quiséssemos perguntar para a janela: "Qual é o seu tamanho?," e criar nosso retângulo e diagonais nos baseando neste tamanho? Se você voltar um pouco e olhar a página da documentação referente à classe <b>Graphics</b> (java.awt.Graphics.html, o arquivo que lista todas as funções de desenho disponíveis), vai ver que uma das funções se chama <b>getClipBounds</b>. Clique nesse nome de função para ver a descrição completa. Na verdade, essa função não aceita nenhum parâmetro. Em vez disso, ela <b>retorna</b> um valor do tipo <b>Rectangle</b>. O retângulo que ela retorna contém a largura e a altura da área disponível para desenho. Se você clicar em <b>Rectangle</b> nessa página da documentação, vai ser levado para a página referente à classe <b>Rectangle</b> (java.awt.Graphics.html). Ao olhar na seção Variable Index (Índice de Variáveis) na parte superior da página, vai descobrir que essa classe contém 4 variáveis chamadas de x, y, width (largura) e height (altura), respectivamente. Sabendo isso, o que queremos fazer é saber o tamanho do maior retângulo possível usando <b>getClipBounds</b>, pegar a largura e a altura desse retângulo e salvar esse valores nas variáveis <b>width</b> e <b>height</b> que criamos no exemplo anterior, assim: </span><br />
<span style="color: white;"></span><br />
<pre><span style="color: white;"> import java.awt.Graphics;
import java.awt.Color;
import java.awt.Rectangle;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
int width;
int height;
Rectangle r;
r = g.getClipBounds();
width = r.width - 1;
height = r.height - 1;
g.drawRect(0, 0, width, height);
g.drawLine(0, 0, width, height);
g.drawLine(width, 0, 0, height);
}
} </span></pre><span style="color: white;"></span><br />
<span style="color: white;">Ao executar este exemplo, vai notar que o retângulo e as diagonais cabem direitinho dentro da área de desenho. E mais: se alterar o tamanho da janela, o retângulo e as diagonais são desenhadas novamente de maneira automática e de acordo com o novo tamanho. Há 5 novos conceitos introduzidos nesse código, vamos ver quais são eles: </span><br />
<ol><li><span style="color: white;">em primeiro lugar, por estarmos usando a classe Rectangle, precisamos importar <b>java.awt.Rectangle</b> na terceira linha do programa; </span></li>
<li><span style="color: white;">neste programa, declaramos 3 variáveis, 2 (<b>width</b> e <b>height</b>) são do tipo <b>int</b> e uma (<b>r</b>) é do tipo Rectangle; </span></li>
<li><span style="color: white;">usamos a função <b>getClipBounds</b> para descobrir o tamanho da área de desenho. E como ela não aceita parâmetros, não lhe demos nenhum ("( )"). Mas ela <b>retorna</b> um "Rectangle". Escrevemos a linha "r = g.getClipBounds();" como uma maneira de dizer: "Por favor, coloque o retângulo retornado na variável <b>r</b>"; </span></li>
<li><span style="color: white;">essa variável <b>r</b>, pelo fato de pertencer à classe Rectangle, contém 4 variáveis: x, y, largura e altura (leia a documentação da classe Rectangle para aprender esses nomes). Se você quiser ter acesso a elas, use o operador "." (ponto). Por isso, a frase "r.width" quer dizer: "Dentro da variável <b>r</b>, pegue o valor chamado <b>width</b>". Este valor vai ser colocado na nossa variável local que também tem o nome de <b>width</b>. Repare que subtraímos 1 no processo. Faça um teste para ver o que acontece se não fizer isso. Aproveite e também tente subtrair 5 em vez de 1; </span></li>
<li><span style="color: white;">por último, usamos <b>width</b> e <b>height</b> nas funções de desenho; </span></li>
</ol><span style="color: white;">Uma questão que costuma ser feita nesse ponto é: "É obrigatório declarar variáveis com o nome de <b>width</b> e <b>height</b>?" A resposta é não. Poderíamos ter digitado <b>r.width - 1</b> diretamente na função de desenho. Mas criar variáveis facilita na hora da leitura e é recomendado que você crie este hábito. </span><span style="color: white;">A linguagem Java é compatível com muitos tipos de variáveis simples. Estas 3 são as mais comuns: </span><br />
<ul><li><span style="color: white;"><b>int</b> - valores inteiros (1, 2, 3...) </span></li>
<li><span style="color: white;"><b>float</b> - valores decimais (3,14159, por exemplo) </span></li>
<li><span style="color: white;"><b>char</b> - caracteres (a, b, c...) </span></li>
</ul><span style="color: white;">Dá para realizar operações matemáticas com os tipos simples. Entre as operações que a linguagem Java entende, estão <b>+</b> (soma), <b>-</b> (subtração), <b>*</b> (multiplicação) e <b>/</b> (divisão). Aqui vai um exemplo de como você poderia usar essas operações em um programa. Digamos, por exemplo, que você quer calcular o volume de uma esfera com um diâmetro de 10 metros. Este código faria exatamente o que você quer: </span><br />
<pre><span style="color: white;"> float diameter = 10;
float radius;
float volume;
radius = diameter / 2.0;
volume = 4.0 / 3.0 * 3.14159 * radius * radius * radius; </span></pre><span style="color: white;">O primeiro cálculo diz: "Divida o valor da variável chamada <b>diameter</b> (diâmetro) por 2,0 e coloque o resultado na variável chamada <b>radius</b> (raio)". Perceba que o sinal "=" significa "Coloque o resultado do cálculo à direita dentro da variável cujo nome está à esquerda".</span><br />
<br />
<div class="articleBody"><h1 class="articlePageTitle"><span style="color: white;">Dando voltas </span></h1><span style="color: white;">Uma das coisas que os computadores fazem muito bem é realizar cálculos e operações repetitivas. Nas seções anteriores, vimos como escrever "blocos seqüenciais de código", o que, automaticamente nos leva a falar sobre as técnicas para fazer um bloco destes acontecer repetidamente. </span><span style="color: white;">Por exemplo, digamos que eu lhe peça para desenhar a seguinte figura:</span><br />
<table align="center" cellpadding="3" cellspacing="0" style="width: 400px;"><tbody>
<tr><td><br />
<center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/java-grid.gif" /></span></center></td></tr>
</tbody></table><span style="color: white;">Um bom começo seria desenhar as linhas horizontais assim:</span><br />
<table align="center" cellpadding="3" cellspacing="0" style="width: 400px;"><tbody>
<tr><td><br />
<center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/java-lines.gif" /></span></center></td></tr>
</tbody></table><span style="color: white;">Uma maneira de desenhar as linhas seria criar um bloco seqüencial de código: </span><br />
<pre><span style="color: white;"> import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
int y;
y = 10;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
}
} </span></pre><span style="color: white;">Para alguns programadores iniciantes, a frase "y = y + 25;" pode parecer estranha na primeira vez que a virem, mas o que ela significa é: "Pegue o valor que está na variável <b>y</b>, some 25 e coloque o resultado de volta na variável <b>y</b>." Por exemplo, se y contiver 10 antes da linha ser executada, ele terá 35 imediatamente após a linha ter sido executada. </span><br />
<span style="color: white;">Não é difícil perceber logo de cara que esse código contém 2 linhas iguais sendo repetidas várias vezes. O que acontece é que, neste caso, a repetição não é tão trabalhosa, mas imagine se você quisesse criar uma tabela com milhares de linhas e colunas. Ia ser muito cansativo escrever o programa usando este método de repetição. A solução para esse problema é um <b>loop</b>, como você pode ver abaixo: </span><br />
<pre><span style="color: white;"> import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
int y;
y = 10;
while (y <= 210)
{
g.drawLine(10, y, 210, y);
y = y + 25;
}
}
} </span></pre><span style="color: white;">Ao executar este programa, vai ver que ele desenha 9 linhas horizontais com 200 pixels de comprimento. </span><br />
<span style="color: white;">A expressão <b>while</b> é uma expressão de loop na linguagem Java. Ela manda o Java agir da seguinte maneira: na frase em que pode ler <b>while</b>, o Java observa a expressão entre parênteses e pergunta, "O <b>y</b> é menor ou igual a 210?": </span><br />
<ul><li><span style="color: white;">caso a resposta seja positiva, o Java insere o bloco de código colocado entre chaves, "{" e "}". A parte do loop acontece ao final do bloco de código. Quando o Java chega à chave final, volta à frase com o <b>while</b> e faz a mesma pergunta novamente. Pode ser que essa seqüência de loop ocorra várias vezes. </span></li>
<li><span style="color: white;">mas se a resposta for negativa, ele pula o código colocado entre as chaves e segue em frente. </span></li>
</ul><span style="color: white;">Quando executar esse programa, vai ver que o valor inicial de <b>y</b> é 10. Como dez é menor do que 210, o Java bloqueia as chaves, desenha uma linha de (10,10) a (210,10), define <b>y</b> como 35 e volta à frase <b>while</b>. E como 35 é menor do que 210, o Java bloqueia as chaves mais uma vez, desenha uma linha de (10,35) a (210,35), define <b>y</b> como 60 e retorna à frase <b>while</b>. E isso vai se repetindo até que <b>y</b> seja maior do que 210, a única condição em que o programa pára. </span><span style="color: white;">E podemos completar nossa grade adicionando um segundo loop ao programa, veja só: </span><br />
<pre><span style="color: white;"> import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
int x, y;
y = 10;
while (y <= 210)
{
g.drawLine(10, y, 210, y);
y = y + 25;
}
x = 10;
while (x <= 210)
{
g.drawLine(x, 10, x, 210);
x = x + 25;
}
}
} </span></pre><span style="color: white;">Acho que você percebeu que a frase <b>while</b> tem 3 partes: </span><br />
<ul><li><span style="color: white;">há um <b>passo de inicialização</b> que define y como 10; </span></li>
<li><span style="color: white;">depois vem um <b>passo de avaliação</b> dentro dos parênteses da frase while; </span></li>
<li><span style="color: white;">e por último, em algum lugar da frase, há um <b>passo de acréscimo</b>, que aumenta o valor de y. </span></li>
</ul><span style="color: white;">Além disso, o Java também suporta uma outra maneira de fazer a mesma coisa de um jeito mais compacto do que a frase com <b>while</b>. Basta usar o comando <b>for</b>. Se você tiver um comando <strong>while</strong>, da seguinte forma: </span><br />
<pre><span style="color: white;"> y = 10;
while (y <= 210)
{
g.drawLine(10, y, 210, y);
y = y + 25;
} </span></pre><span style="color: white;"></span><br />
<span style="color: white;">Então, a frase equivalente a <b>for</b> vai ter a seguinte aparência: </span><br />
<pre><span style="color: white;"> for (y = 10; y <= 210; y = y + 25)
{
g.drawLine(10, y, 210, y);
} </span></pre><span style="color: white;">Dá para ver que tudo o que esse novo tipo de programa faz é condensar as linhas de inicialização, avaliação e acréscimo em uma só linha. Não passa de uma maneira de reduzir o tamanho do programa que você escreveu. </span><br />
<span style="color: white;">E já que estamos aqui, lá vão 2 pontos rápidos a respeito dos loops: </span><br />
<ul><li><span style="color: white;">em muitos casos, também seria fácil inicializar <b>y</b> como 210 e subtrair 25 a cada passagem pelo loop. A avaliação iria perguntar: "o <b>y</b> é maior ou igual a 10?" A escolha é só sua, mas o que posso dizer é que a maioria das pessoas acha mais fácil somar do que subtrair. E você, o que acha? </span></li>
<li><span style="color: white;">o passo de acréscimo é muito importante. Um exemplo disso é o seguinte: digamos que você deixou de fora, sem querer, a parte que diz "y = y + 25;" dentro do loop. O que iria acontecer é que o valor de <b>y</b> nunca mudaria (ficando sempre em 10), o que não o deixaria ficar maior do que 210 e o loop continuaria para sempre (ou até que você o parasse, desligando o computador ou fechando a janela). Essa condição é chamada de <b>loop infinito</b> e é um bug bem comum. </span></li>
</ul><span style="color: white;">Para praticar um pouco o loop, tente escrever programas que desenhem as seguintes figuras:</span><br />
<table align="center" cellpadding="3" cellspacing="0" style="width: 400px;"><tbody>
<tr><td><br />
<center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/java-loop-ex.gif" /></span></center></td></tr>
</tbody></table></div></div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com6tag:blogger.com,1999:blog-3462192306320757254.post-47026239296733293862011-03-29T08:13:00.002-03:002011-03-29T08:13:00.319-03:00Como funciona a linguagem java<h1 class="articlePageTitle" style="text-align: justify;"><span style="color: white;">Entendendo o que acabou de acontecer </span></h1><div style="text-align: justify;"><span style="color: white;">Mas o que foi que eu fiz? Em primeiro lugar, você escreveu um código para um <b> applet Java</b> extremamente simples. Um applet é um programa Java que pode ser executado dentro de um programa de navegação na internet (browser), ao contrário de um <b>aplicativo Java</b>, que é um programa independente executado em um computador local (os aplicativos Java são um pouco mais complicados e não tão populares, por isso estamos começando com os applets). Depois, compilamos o applet usando o <b>javac</b>. O passo seguinte foi criar uma página da internet extremamente simples cuja função era somente "abrigar" o applet. Rodamos o applet usando o <b>appletviewer</b>, embora também dê para executá-lo, facilmente, em um programa de navegação. </span></div><div style="text-align: justify;"><span style="color: white;">O programa em si tem cerca de 10 linhas: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><pre><span style="color: white;"> import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
g.drawLine(0, 0, 200, 200);
}
} </span></pre></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Este é um dos applets mais simples que você pode criar. Para entendê-lo por completo, será necessário aprender bastante, especialmente no que diz respeito às <b>técnicas de programação orientadas a objetos</b>. E já que estou presumindo que você não tem a mínima noção sobre programação, gostaria que nos concentrássemos em só uma só linha deste programa no momento: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> g.drawLine(0, 0, 200, 200); </span></pre></div><div style="text-align: justify;"><span style="color: white;">Esta é a linha do programa que faz todo o trabalho. É ela que desenha a linha diagonal. O resto do programa, por sua vez, é a armação que dá suporte àquela linha, e vamos nos permitir ignorar a armação no momento. O que você fez nesse programa foi mandar o computador desenhar uma linha do canto superior esquerdo (0,0) ao canto inferior direito (200, 200). E o computador, obediente que é, desenhou exatamente como mandamos. Essa é a essência da programação de computadores! </span></div><div style="text-align: justify;"><span style="color: white;">(Repare também que, na página HTML, configuramos o tamanho da janela do applet (no passo 5 acima) para ter largura e altura iguais a 200.) </span></div><div style="text-align: justify;"><span style="color: white;">Neste programa, nós usamos um <b>método</b> (ou <b>função</b>) chamada <b>drawLine</b> e passamos 4 <b>parâmetros</b> para ela (0, 0, 200, 200). A linha termina com um "ponto e vírgula". Ele atua como o ponto final no fim de uma frase. A linha começa com <b>g.</b>, o que significa que queremos usar a função chamada de <b>drawLine</b> no objeto específico <b>g</b> (que, como você pode conferir uma linha acima, é da classe <b>Graphics</b>, ou gráfico, em Português. Não se preocupe, ainda vamos entrar nos detalhes sobre classes e suas funções neste artigo). </span></div><div style="text-align: justify;"><span style="color: white;">Um método não é nada mais do que um comando, ou seja, ele manda o computador fazer algo. No nosso caso, <b>drawLine</b> manda o computador desenhar uma linha entre os pontos especificados: (0, 0) e (200, 200). Imagine a janela tendo sua coordenada 0,0 no canto superior esquerdo, com os eixos positivos X e Y se estendendo para a direita e para baixo. Cada ponto na tela (cada <b>pixel</b>) representa um incremento na escala. </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"></div><table cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><br />
<center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/java-graph.gif" /></span></center></td></tr>
</tbody></table><br />
<div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Experimente o mesmo programa com números diferentes para os 4 parâmetros. Altere um número ou 2, salve suas modificações, recompile usando o <b>javac</b> e execute novamente o applet após cada mudança feita. Vamos ver o que você consegue descobrir. </span></div><div style="text-align: justify;"><span style="color: white;">E que outras funções posso usar além de <b>drawLine</b>? Para descobrir isso, temos de olhar a documentação da classe <b>Graphics</b>. Ao instalar o kit de desenvolvimento Java e descompilar a documentação, um dos arquivos descarregados no processo se chama <b>java.awt.Graphics.html</b>. É ele que explica essa classe específica. Na minha máquina, o caminho exato para este arquivo é o D:jdk1.1.7docsapijava.awt.Graphics.html. Na sua, porém, o caminho deve ser um pouco diferente (mas não tão diferente assim), tudo depende de onde você instalou o kit. De qualquer maneira, encontre o arquivo e o abra. Lá em cima no arquivo há uma seção chamada "Method Index" (Índice de métodos). Ela nada mais é do que uma lista de todas as funções dessa classe. A função <b>drawLine</b> é uma delas, mas existem <i>várias</i> outras. Alguns exemplos do que você pode desenhar: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;">linhas </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">arcos </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">ovais </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">polígonos </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">retângulos </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">seqüências </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">caracteres </span></div></li>
</ul><div style="text-align: justify;"><span style="color: white;">Leia a respeito e teste algumas dessas funções diferentes para descobrir o que é possível fazer. Por exemplo, experimente este código: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><pre><span style="color: white;"> g.drawLine(0, 0, 200, 200);
g.drawRect(0, 0, 200, 200);
g.drawLine(200, 0, 0, 200);
</span></pre></div><div style="text-align: justify;"><span style="color: white;">Ele vai desenhar uma caixa com 2 diagonais (lembre-se de deixar a janela grande o bastante para conseguir ver tudo). Agora, tente desenhar outras formas. Aproveite e leia sobre como alterar a cor com a função <b>setColor</b>. Por exemplo: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> import java.awt.Graphics;
import java.awt.Color;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
g.setColor(Color.red);
g.fillRect(0, 0, 200, 200);
g.setColor(Color.black);
g.drawLine(0, 0, 200, 200);
g.drawLine(200, 0, 0, 200);
}
} </span></pre></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Repare que foi adicionada uma nova linha <b>import</b> na segunda linha do programa. O resultado deste programa fica assim: </span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"></div><table cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><br />
<center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/java-redrect.gif" /></span></center></td></tr>
</tbody></table><br />
<div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Uma coisa que pode estar passando pela sua cabeça neste momento é: "Como é que ele sabia que tinha de usar <b>Color.red</b> em vez de somente <b>red</b> (vermelho), e como ele sabia que tinha de adicionar uma segunda linha <b>import</b>?" Bom, esse é o tipo de coisa que você aprende com exemplos. Como lhe mostrei um exemplo de como usar o método <b>setColor</b>, agora você sabe que sempre que quiser mudar a cor, terá de usar <b>Color.</b> seguido por um nome de cor como parâmetro para o método <b>setColor</b>; também vai lembrar de adicionar a linha <b>import</b> apropriada no começo do programa. Se for olhar o <b>setColor</b> na documentação, vai ver que tem um link que fala sobre a classe <b>Color</b>, e dentro dele há uma lista de todos os nomes de cores válidos e técnicas para criar novas cores (sem nome). É só ler, guardar na cabeça e agora já sabe como alterar as cores em Java. Essa é a essência de se tornar um programador: aprender novas técnicas e lembrar delas no próximo programa que você for criar. E para aprender essas novas técnicas, você lê um exemplo (como fizemos aqui) ou lê a documentação. Ou, ainda, olha um código de exemplo (como os que estão no diretório de demonstração). Se o seu </span><a href="http://www.hsw.com.br/cerebro.htm" s_oc="null"><span style="color: white;">cérebro</span></a><span style="color: white;"> gosta de explorar, aprender e lembrar de coisas, você vai adorar programação! </span></div><div style="text-align: justify;"><span style="color: white;">Nesta seção, você aprendeu como escrever códigos lineares e seqüências, ou seja, blocos de códigos que consistem em métodos começando na parte superior e vão descendo (experimente desenhar uma das linhas <i>antes</i> de desenhar o retângulo vermelho e veja o que acontece. Ela será coberta pelo retângulo e ficará invisível, o que nos ensina que a ordem das linhas na seqüência do código é importante). Linhas de código em seqüência formam o núcleo básico de qualquer programa de computador. Agora, antes de irmos para a próxima seção, faça testes com todos os diferentes métodos de desenho e veja o que acontece. </span></div><div style="text-align: justify;"><br />
</div><h1 class="articlePageTitle" style="text-align: justify;"><span style="color: white;">Bugs e depuração </span></h1><div class="articleBody" style="text-align: justify;"><span style="color: white;">Uma coisa que você vai notar enquanto aprende sobre programação é que você costuma cometer um certo número de erros e suposições que fazem com que o seu programa: 1) não possa ser compilado; ou 2) produza resultados inesperados na execução. Esses problemas são conhecidos como <b>bugs</b> (erros), e a ação de removê-los chama-se <b>depuração</b>. Os programadores costumam passar metade do seu tempo fazendo isso. </span></div><div class="articleBody" style="text-align: justify;"><span style="color: white;">Eu sei que você é capaz e vai ter tempo e oportunidade de sobra para criar os seus próprios bugs, mas vou criar alguns para deixá-lo mais familiarizado com as possibilidades. No seu programa, apague um dos "ponto e vírgula" do final de uma linha e tente compilar o programa com o <b>javac</b>. O compilador vai lhe mostrar uma mensagem de erro. Isso se chama <b>erro de compilador</b> e temos de eliminar todos eles antes de poder executar o programa. Outra possibilidade é cometer um erro de digitação no nome de uma função. Experimente esquecer de digitar um "{" ou eliminar uma das linhas <b>import</b> para ficar acostumado com os diferentes erros de compilador. A primeira vez que você vir um certo tipo de erro de compilador, pode ficar bem frustrado. No entanto, se fizer experiências assim (com erros conhecidos criados de propósito), vai se sentir mais familiarizado com vários dos erros comuns. </span></div><div class="articleBody" style="text-align: justify;"><span style="color: white;">Um bug, também conhecido como erro de execução ou erro em tempo de execução, acontece quando o programa é compilado, normalmente e consegue ser executado, mas não produz o resultado planejado durante a programação. Por exemplo, este código produz um triângulo vermelho com duas linhas diagonais que o cruzam: </span></div><div class="articleBody" style="text-align: justify;"><pre><span style="color: white;"> g.setColor(Color.red);
g.fillRect(0, 0, 200, 200);
g.setColor(Color.black);
g.drawLine(0, 0, 200, 200);
g.drawLine(200, 0, 0, 200); </span></pre></div><div class="articleBody" style="text-align: justify;"><span style="color: white;"></span></div><div class="articleBody" style="text-align: justify;"><span style="color: white;">O código a seguir, por outro lado, produz apenas o retângulo vermelho (ele cobre as 2 linhas): </span></div><div class="articleBody" style="text-align: justify;"><pre><span style="color: white;"> g.setColor(Color.black);
g.drawLine(0, 0, 200, 200);
g.drawLine(200, 0, 0, 200);
g.setColor(Color.red);
g.fillRect(0, 0, 200, 200); </span></pre></div><div class="articleBody" style="text-align: justify;"><span style="color: white;"></span></div><div class="articleBody" style="text-align: justify;"><span style="color: white;">Embora o código seja quase idêntico, o resultado é completamente diferente na execução. E se o resultado esperado for visualizar 2 linhas diagonais, o código do segundo exemplo contém um bug. </span></div><div class="articleBody" style="text-align: justify;"><span style="color: white;">Lá vai outro exemplo: </span></div><div class="articleBody" style="text-align: justify;"><pre><span style="color: white;"> g.drawLine(0, 0, 200, 200);
g.drawRect(0, 0, 200, 200);
g.drawLine(200, 0, 0, 200);</span></pre></div><div class="articleBody" style="text-align: justify;"><span style="color: white;">Este código produz uma caixa com uma moldura em preto e 2 diagonais. Já este próximo pedacinho de código produz apenas uma diagonal: </span></div><div class="articleBody" style="text-align: justify;"><pre><span style="color: white;"> g.drawLine(0, 0, 200, 200);
g.drawRect(0, 0, 200, 200);
g.drawLine(0, 200, 0, 200); </span></pre></div><div class="articleBody" style="text-align: justify;"><span style="color: white;">Novamente, se o que você queria era ver 2 diagonais, o segundo código contém um bug (examine-o até descobrir o que há de errado). Este é o tipo de bug que, por ser muito sutil, pode levar tempo para ser encontrado. </span></div><div class="articleBody" style="text-align: justify;"><span style="color: white;">E não se preocupe, pois você vai ter bastante tempo para praticar a "arte" de encontrar seus próprios bugs. O programador comum gasta cerca de metade de seu tempo procurando, encontrando e eliminando esses erros. Então, tente não ficar frustrado quando ocorrerem, eles fazem parte da vida de um programador.</span></div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0tag:blogger.com,1999:blog-3462192306320757254.post-19596116666307380182011-03-28T08:50:00.002-03:002011-03-28T08:50:00.488-03:00Como funciona a linguagem java<h1 class="articlePageTitle" style="text-align: justify;"><span style="color: white;">Fazendo o download do compilador Java</span></h1><div style="text-align: justify;"><span style="color: white;">Para ter um ambiente de desenvolvimento Java configurado em sua máquina, você "desenvolve" ou "escreve", programas de computador usando um "ambiente de desenvolvimento". Você vai ainda ter de completar as seguintes etapas: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;">fazer o download de um arquivo grande que contenha o ambiente de desenvolvimento Java (o compilador e outras ferramentas).; </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">fazer o download de outro arquivo grande com a documentação sobre o Java; </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">caso não tenha o WinZip (ou outro programa equivalente) na sua máquina, vai ter de fazer o download de um arquivo que contenha o WinZip e instalá-lo; </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">instalar o ambiente de desenvolvimento Java; </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">instalar a documentação; </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">configurar algumas variáveis de ambiente; </span></div></li>
<li><div style="text-align: justify;"><span style="color: white;">testar e verificar se está tudo bem. </span></div></li>
</ul><div style="text-align: justify;"><span style="color: white;">Mas antes de começarmos, facilitaria um pouco se você criasse um novo diretório, no seu diretório temporário, para armazenar os arquivos que vai "baixar". Vamos chamar esta pasta de <strong>diretório de download</strong>. </span></div><div style="text-align: justify;"><span style="color: white;"><strong>Passo 1 - faça o download do ambiente de desenvolvimento Java</strong><br />
Acesse a página </span><a href="http://hsw.com.br/framed.htm?parent=linguagem-java.htm&url=http://java.sun.com/javase/downloads/" s_oc="null"><span style="color: white;">http://java.sun.com/javase/downloads/</span></a><a href="http://hsw.com.br/framed.htm?parent=linguagem-java.htm&url=http://java.sun.com/javase/technologies/index.jsp" s_oc="null"></a><span style="color: white;"> (em inglês). Faça o download do programa SDK clicando no link "Download J2SE SDK". Em seguida, vai aparecer um contrato de licença. Clique em "Accept". Selecione o seu sistema operacional e faça o download do arquivo para o seu diretório de download. Esse arquivo é gigante e vai demorar algum tempo para terminar o processo. E se prepare, pois os 2 próximos arquivos também são grandes. </span></div><div style="text-align: justify;"><span style="color: white;"><strong>Passo 2 - faça o download da documentação do Java</strong><br />
Procure na página </span><a href="http://hsw.com.br/framed.htm?parent=linguagem-java.htm&url=http://java.sun.com/javase/reference/index.jsp" s_oc="null"><span style="color: white;">http://java.sun.com/javase/reference/index.jsp</span></a><span style="color: white;"> a documentação mais indicada para seu sistema operacional.. </span></div><div style="text-align: justify;"><span style="color: white;"><strong>Passo 3 - faça o download e instale o WinZip</strong><br />
Se não tiver uma versão do WinZip ou algum programa equivalente no seu computador, acesse a página </span><a href="http://www.blogger.com/framed.htm?parent=linguagem-java.htm&url=http://www.winzip.com/" s_oc="null"><span style="color: white;">http://www.winzip.com/</span></a><span style="color: white;"> (em inglês) e faça o download de uma cópia de teste do WinZip. Para instalá-lo, rode o arquivo EXE. Vamos usá-lo em alguns instantes para instalar a documentação. </span></div><div style="text-align: justify;"><span style="color: white;"><strong>Passo 4 - instale o kit de desenvolvimento</strong><br />
Execute o arquivo que você baixou no passo 1. Ele vai ser descompactado e instalado automaticamente. </span></div><div style="text-align: justify;"><span style="color: white;"><strong>Passo 5 - instale a documentação</strong><br />
Leia as instruções de instalação da documentação. Elas vão lhe dizer para mudar o arquivo de documentação para o mesmo diretório em que você acabou de instalar o arquivo de desenvolvimento. Descompacte a documentação e coloque-a no lugar correto. </span></div><div style="text-align: justify;"><span style="color: white;"><strong>Passo 6 - configure o seu ambiente</strong><br />
Como instruído nesta página (em inglês) é necessário mudar sua variável PATH. A maneira mais fácil de fazer isso é abrir uma janela do MS-DOS e digitar PATH para ver qual a sua configuração no momento. Aí, é só abrir o arquivo "autoexec.bat" no Bloco de Notas e fazer as alterações no PATH especificadas nas instruções. </span></div><div style="text-align: justify;"><span style="color: white;"><strong>Passo 7 - teste</strong><br />
Agora, já é possível abrir outra janela do MS-DOS e digitar <strong>javac</strong>. Se tudo foi configurado adequadamente, vai aparecer um texto de 2 linhas dizendo como usar o <strong>javac</strong>. Esse é o sinal de que tudo está pronto. Porém, se a mensagem "Bad Command or File Name" aparecer, é o sinal de que algo deu errado. Releia as instruções de instalação para descobrir o que você fez de errado. Certifique-se de que o PATH está configurado corretamente e funcionando. Volte, releia as instruções acima e seja persistente até conseguir resolver o problema. </span></div><div style="text-align: justify;"><span style="color: white;">Parabéns! Você tem o orgulho de ser o dono de uma máquina capaz de compilar programas em Java. Está na hora de começar a criar programas! </span></div><div style="text-align: justify;"><span style="color: white;">A propósito, uma das coisas que você descompactou é um diretório de <strong>demonstração</strong> cheio de exemplos legais do que dá para fazer com o Java. E o melhor, todos esses exemplos estão prontos para serem executados. Tire um tempinho para encontrar o diretório e brincar com alguns dos exemplos. Como há vários que fazem sons, veja se os seus alto-falantes estão ligados. Para rodar os exemplos, encontre as páginas com nomes como <strong>example1.html</strong> e as abra no mesmo programa que você usa para navegar na internet. </span></div><div style="text-align: justify;"><br />
</div><h1 class="articlePageTitle" style="text-align: justify;"><span style="color: white;">Seu primeiro programa </span></h1><div class="articleBody" style="text-align: justify;"><span style="color: white;">O seu primeiro programa vai ser simples e direto. Ele vai criar uma área de desenho e desenhar uma linha diagonal através dela. Para criar este programa, você terá de: </span></div><div class="articleBody" style="text-align: justify;"><ul><li><span style="color: white;">abrir o bloco de notas e digitar (ou cortar e colar) o programa </span></li>
<li><span style="color: white;">salvar o programa </span></li>
<li><span style="color: white;">compilar o programa com um compilador Java para criar um <b>applet Java</b> </span></li>
<li><span style="color: white;">corrigir problemas que aparecerem </span></li>
<li><span style="color: white;">criar uma página da web (HTML) para "abrigar" o applet que você criou </span></li>
<li><span style="color: white;">executar o applet Java </span></li>
</ul></div><div style="text-align: justify;"><span style="color: white;">O programa que vamos usar para essa demonstração é este aqui: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
g.drawLine(0, 0, 200, 200);
}
} </span></pre></div><div style="text-align: justify;"><span style="color: white;"><b>Passo 1 - digite o programa</b><br />
Crie um novo diretório para ele. Abra o bloco de notas (ou qualquer outro editor de texto capaz de criar arquivos TXT). Digite ou corte e cole o programa na janela do Bloco de Notas. Preste atenção: <strong>a diferença entre maiúsculas e minúsculas é importante</strong> quando estiver digitando o programa. Por isso, é necessário digitar as maiúsculas e minúsculas exatamente como no nosso exemplo. Leia novamente o programa acima. Ele não vai funcionar a menos que você digite EXATAMENTE da mesma maneira. </span></div><div style="text-align: justify;"><span style="color: white;"><b>Passo 2 - salve o arquivo</b><br />
Salve o arquivo com o nome <b>FirstApplet.java</b> no diretório que criou no passo 1, a<b> diferença entre maiúsculas e minúsculas também importa</b> na hora de escrever o nome do arquivo. Certifique-se de que 'F' e 'A' estejam em maiúsculas e todos os outros caracteres estejam em minúsculas. </span></div><div style="text-align: justify;"><span style="color: white;"><b>Passo 3 - compile o programa</b><br />
Abra uma janela do MS-DOS. Mude o diretório ("cd") para o diretório que contém o <b>FirstApplet.java</b>. Digite: </span></div><div style="text-align: justify;"><pre><span style="color: white;"> javac FirstApplet.java </span></pre></div><div style="text-align: justify;"><span style="color: white;"><b>Maiúsculas são diferentes de minúsculas</b>! Agora, há duas possibilidades: ou ele vai funcionar, e não aparecerá nada na janela, ou vão aparecer alguns erros. No caso de não aparecerem erros, será criado um arquivo com o nome de FirstApplet.class logo após o FirstApplet.java, no mesmo diretório. </span></div><div style="text-align: justify;"><span style="color: white;">Certifique-se de que o arquivo foi salvo com o nome <b>FirstApplet.java</b> em vez de <b>FirstApplet.java.txt</b>. A maneira mais fácil de fazer esta verificação é digitar <b>dir</b> na janela do MS-DOS e olhar o nome do arquivo. Caso ele tenha uma extensão <b>.txt</b>, renomeie o arquivo para retirar esta extensão. Outra maneira de fazer essa verificação é executar o Windows Explorer e selecionar Opções no menu Exibir. Certifique-se de que a opção "Ocultar as extensões dos tipos de arquivos conhecidos" NÃO está selecionada e olhe o nome do arquivo no próprio Explorer. Modifique se for necessário. </span></div><div style="text-align: justify;"><span style="color: white;"><b>Passo 4 - corrija quaisquer problemas</b><br />
Se houver erros, corrija-os. Compare o seu programa com o programa acima e faça com que sejam exatamente idênticos. E vá recompilando até sumirem todos os erros. Se o <b>javac</b> não estiver funcionando, volte à seção anterior e corrija sua instalação. </span></div><div style="text-align: justify;"><span style="color: white;"><b>Passo 5 - crie uma página HTML</b><br />
Chegou a hora de criar uma página HTML para "abrigar" o applet. Para isso, abra mais uma janela do bloco de notas e digite o seguinte: </span></div><div style="text-align: justify;"><span style="color: white;"><span style="font-family: Courier New, Courier, monospace;"><html><br />
<body><br />
<applet code=FirstApplet.class width=200 height=200><br />
</applet><br />
</body><br />
</html></span> </span></div><div style="text-align: justify;"><span style="color: white;">Salve esse arquivo no mesmo diretório e com o nome de <strong>applet.htm</strong>. O código do passo anterior é o modo de acessar o applet Java, a paritr de uma página web.</span></div><div style="text-align: justify;"><span style="color: white;"><strong>Passo 6 - execute o applet</strong><br />
Na janela do MS-DOS, digite:</span></div><blockquote><div style="text-align: justify;"><span style="color: white; font-family: Courier New, Courier, monospace;">appletviewer applet.htm</span></div></blockquote><div style="text-align: justify;"><span style="color: white;">Deve surgir uma linha diagonal sendo traçada do canto superior esquerdo ao canto inferior direito:</span></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><table cellpadding="3" cellspacing="0" style="text-align: center; width: 400px;"><tbody>
<tr><td><br />
<center><span style="color: white;"><img alt="" src="http://static.hsw.com.br/gif/java-appletviewer.gif" /></span></center></td></tr>
</tbody></table></div><div style="text-align: justify;"><span style="color: white;"></span></div><div style="text-align: justify;"><span style="color: white;">Aumente um pouco a janela de visualização do applet para conseguir ver a linha toda. Além disso, também dá para abrir a página HTML em qualquer navegador moderno como o Netscape Navigator ou o Microsoft Internet Explorer e ver quase a mesma coisa.</span></div><div style="text-align: justify;"><span style="color: white;">É isso aí! Você acabou de criar se primeiro programa!!! </span></div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com2tag:blogger.com,1999:blog-3462192306320757254.post-80381792345756535532011-03-27T08:46:00.001-03:002011-03-27T08:46:00.878-03:00Como funciona a linguagem java<h1 class="articlePageTitle" style="text-align: justify;"><span style="color: white;">Introdução </span></h1><!-- dtl_id=7796 //--><div style="text-align: justify;"><span style="color: white;">Já parou para imaginar como funcionam os programas de computador? Já quis aprender como criar seus próprios programas? Se você tem 14 anos de idade e gostaria de aprender a criar seu primeiro jogo, ou se tem 70 e faz 20 anos que está curioso sobre programação de computadores enfim não importa a idade, este artigo foi feito especialmente para você. Nesta edição, ensinaremos como os programas de computador funcionam. Vamos começar com a <b>linguagem de programação Java</b>. </span></div><div style="text-align: justify;"><span style="color: white;">E para ensiná-lo, vamos supor várias coisas: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;">presumiremos que você não saiba nada sobre programação. No entanto, se já conhece um pouco sobre isso, a primeira parte deste artigo vai parecer fácil demais para você. Sinta-se à vontade para pular as seções até chegar algo que você não conheça; </span></div><div style="text-align: justify;"></div></li>
<li><div style="text-align: justify;"><span style="color: white;">presumiremos que você <i>conhece</i> um pouco sobre o computador que está usando, ou seja já sabe editar, copiar, apagar e renomear arquivos, encontrar informações no seu sistema e outras coisas do tipo; </span></div><div style="text-align: justify;"></div></li>
<li><div style="text-align: justify;"><span style="color: white;">para simplificar as coisas, vamos supor também que você está usando uma máquina com Windows 95, 98, 2000, NT ou XP, e para aqueles que não estão usando um desses sistemas operacionais, já sabem que terão de transpor os conceitos para o sistema que estiverem usando, certo? </span></div><div style="text-align: justify;"></div></li>
<li><div style="text-align: justify;"><span style="color: white;">e, por último, mas não menos importante, vamos supor que você tem vontade de aprender. </span></div></li>
</ul><div style="text-align: justify;"><span style="color: white;">Todas as ferramentas de que precisa para começar a programar em Java estão disponíveis na internet, de graça. Também há uma grande quantidade de material educativo sobre o assunto, o que significa que dá para continuar a aprender mais mesmo depois que terminar de ler este artigo. É possível aprender a programação em Java sem gastar dinheiro com compiladores, ferramentas de desenvolvimento, material para leitura, etc. E depois que tiver aprendido Java, fica fácil aprender outras linguagens. Por isso, não se preocupe pelo fato de ser um iniciante no assunto, você veio para o lugar certo. </span></div><div style="text-align: justify;"><span style="color: white;">Bem, considerando tudo isso, estamos prontos para continuar. Mãos à obra!</span></div><div style="text-align: justify;"><br />
</div><h1 class="articlePageTitle" style="text-align: justify;"><span style="color: white;">Alguns termos </span></h1><div style="text-align: justify;"><!-- dtl_id=7798 //--><span style="color: white;">Lembre-se vamos supor que você não sabe nada sobre programação. Aqui vão alguns termos para deixar as coisas mais compreensíveis: </span></div><ul><li><div style="text-align: justify;"><span style="color: white;"><b>programa de computador</b> - um programa de computador é um conjunto de instruções que diz ao computador exatamente o que deve fazer. Estas instruções podem dizer ao computador para somar alguns números ou comparar 2 números. E, também, tomar uma decisão dependendo do resultado da comparação ou o que quer que você consiga imaginar! Mas um programa de computador não é nada mais do que um conjunto de instruções para o computador, assim como uma receita é um conjunto de instruções para um cozinheiro ou notas musicais são um conjunto de instruções para um músico. O computador segue suas instruções à risca e acaba fazendo algo que você precisa (como calcular o seu orçamento mensal, exibir um jogo na tela ou executar um processador de textos). </span></div><div style="text-align: justify;"></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>linguagem de programação</b> - para que o computador consiga reconhecer as instruções que você deu, elas precisam ser escritas em um idioma que ele entenda: uma linguagem de programação. Da mesma maneira que há vários idiomas diferentes, também há muitas linguagens de programação por aí (Fortran, Cobol, Basic, Pascal, C, C++, Java, Perl). No fundo, todas elas expressam mais ou menos os mesmos conceitos, mas de maneiras diferentes. </span></div><div style="text-align: justify;"></div></li>
<li><div style="text-align: justify;"><span style="color: white;"><b>compilador</b> - um compilador traduz um programa de computador escrito em uma linguagem que pode ser lida por humanos (como o Java) para uma forma que o computador possa entender e <b>executar</b>. Sabe aqueles arquivos EXE que existem no seu computador? Então! Eles são os arquivos que os compiladores geram e contêm programas<strong> executáveis</strong>, programas em linguagem de máquina que foram traduzidos a partir de programas escritos em linguagem de humanos. </span></div></li>
</ul><div style="text-align: justify;"><span style="color: white;">Para que você possa começar a escrever programas na linguagem de programação chamada de Java, vai precisar de um compilador específico para essa linguagem. A próxima seção vai guiá-lo por todo o processo de download e instalação de um compilador. Depois de ter obtido um compilador, estaremos prontos para começar. Mas, dependendo da sua conexão Internet, esta parte do processo vai levar algum tempo, com uma grande parte dele sendo usada para fazer o download de vários arquivos grandes. E, além disso, você também vai precisar de cerca de 40 megabytes de espaço livre em disco rígido (certifique-se de que tem esse espaço disponível antes de começar!) </span></div>Dangdunhttp://www.blogger.com/profile/01143734570330896079noreply@blogger.com0