<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>teoria-de-programacao &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/teoria-de-programacao/</link>
	<description>Feed of posts on WordPress.com tagged "teoria-de-programacao"</description>
	<pubDate>Thu, 21 Aug 2008 03:46:04 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Manipulação de Strings - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=52</link>
<pubDate>Fri, 23 May 2008 18:43:08 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=52</guid>
<description><![CDATA[Este é o código fonte de um programa que ilustra a manipulação de Strings. Ele realiza a leitura]]></description>
<content:encoded><![CDATA[<p>Este é o código fonte de um programa que ilustra a manipulação de Strings. Ele realiza a leitura de uma variável do tipo string. Em seguida testa o tamanho da variável e guarda este resultado na variável Tam. Caso o tamanho seja maior que 3 ele coloca em uma outra variável do tipo String os caracteres restantes a partir do 4º. É a primeira vez neste blog que é utilizada a função Length() que retorna a quantidade de caracteres presentes em uma variável do tipo String.</p>
<p><strong>Program</strong> Strings;<br />
<strong>Var</strong><br />
      NomeInicial, NomeFinal : <strong>String</strong>;<br />
      i, tam : <strong>Integer</strong>;<br />
<strong> Begin</strong><br />
       <strong>Write</strong>('Informe o nome: ');<br />
      <strong> Readln</strong>(NomeInicial);<br />
       Tam:=<strong>Length</strong>(NomeInicial);<br />
       NomeFinal:='';<br />
      <strong> If</strong> Tam&#62;3 <strong>then<br />
</strong>       <strong>Begin</strong><br />
              <strong>For </strong>i:=4 <strong>to </strong>Tam <strong>do<br />
</strong>              <strong>Begin<br />
</strong>                     NomeFinal:=NomeFinal+NomeInicial[i];<br />
              <strong>End</strong>;<br />
       <strong>End<br />
      Else<br />
</strong>           <strong>Write</strong>('O nome possui menos que 4 caracteres.');<br />
       <strong>Write</strong>(NomeFinal);<br />
 <strong>End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Exemplo de Vetor 3 - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=51</link>
<pubDate>Fri, 23 May 2008 17:16:40 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=51</guid>
<description><![CDATA[&#8220;Um vetor é uma estrutura de dados que contém um número fixo de dados agrupados por um mesm]]></description>
<content:encoded><![CDATA[<p>"Um vetor é uma estrutura de dados que contém um número fixo de dados agrupados por um mesmo tipo, que pode ser qualquer um dos tipos predefinidos na linguagem Pascal ( integer, char, boolean ou string ), um tipo vetor, um tipo registro ou ainda um tipo definido pelo usuário.<br />
O número de elementos de um vetor é determinado pelo seu índice, especificado entre colchetes por duas constantes ordinais, separadas por dois pontos.</p>
<p>Sintaxe: <strong>array</strong>[ limiteInferior .. limiteSuperior ]  <strong>of</strong>  tipo;"</p>
<p>Exemplificando a declaração de um vetor:<br />
<strong>Var<br />
</strong> Nome : <strong>array</strong>[1..5] <strong>of string</strong>;</p>
<p>Ou seja, foi declarado um vetor, identificado como Nome, que possui 5 posições do tipo String. Para acessar uma de suas posições basta fazer referência a uma delas através do índice do vetor, com a seguinte sintaxe: Nome[i], onde i é um número inteiro qualquer de 1 a 5(pois como foi definido 5 é o limite máximo do índice). Por exemplo, Nome[3]:='Suzana'; desta forma foi atribuído a posição 3 do vetor Nome a palavra Suzana.</p>
<p>Porém queremos criar um programa para realizar a leitura de 5 nomes que irão preencher as posições deste vetor declarado. Não é necessário repetir a leitura 5 vezes, é possível poupar trabalho. Para tanto utilizaremos a estrutura de repetição For to do da seguinte forma:<br />
<strong> For</strong> i:=1 <strong>to</strong> 5 <strong>do<br />
 Begin<br />
</strong>       <strong>Write</strong>('Informe o Nome ',i,': ');<br />
  <strong>     ReadLn</strong>(Nome[i]);<br />
 <strong>End</strong>;</p>
<p>E para finalizar iremos exibir os nomes na tela na ordem inversa em que foram digitados. Mas uma vez não é necessário escrever 5 vezes o comando WriteLn(). Usaremos neste caso o comando For Downto Do, da seguinte forma.</p>
<p><strong>For</strong> i:=5 <strong>downto</strong> 1 <strong>do</strong><br />
      <strong>WriteLn</strong>(Nome[i]);</p>
<p>Como existe apenas um comando dentro da estrutura for, não é necessário a utilização de Begin e End; Segue abaixo o código fonte completo deste programa exemplo de vetor unidimensional.<br />
<strong>Program</strong> ExemploVetor3;<br />
<strong>Var<br />
</strong>      Nomes  : <strong>array </strong>[1..5] <strong>of string</strong>;<br />
      i  :<strong> integer</strong>; <br />
<strong> Begin<br />
</strong>       <strong>For</strong> i:=1 <strong>to</strong> 5 <strong>do<br />
</strong>       <strong>Begin<br />
</strong>             <strong>Write</strong>('Informe o nome ',i,': ');<br />
           <strong>  Readln</strong>(Nomes[i]);<br />
       <strong>End</strong>;<br />
       <strong>For</strong> i:=5 <strong>downto</strong> 1<strong> do<br />
</strong>            <strong>WriteLn</strong>(Nomes[i]); <br />
 <strong>End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Jogo da Memória - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=49</link>
<pubDate>Mon, 19 May 2008 00:34:03 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=49</guid>
<description><![CDATA[Este tópico contém a implementação de um algoritmo do jogo da memória em linguagem Pascal. Ne]]></description>
<content:encoded><![CDATA[<p>Este tópico contém a implementação de um algoritmo do jogo da memória em linguagem Pascal. Neste código fonte pode-se observar o uso de vetores (array), estrutura For to do, case, readkey, keypressed, random... É mais um jogo que coloco a disposição para download. Foi criado com o PascalZim. Estudem e comentem. Saudações.</p>
<p><a href="http://codigosfonte.files.wordpress.com/2008/05/jogodamemoria.pdf">Jogo da Memoria</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Programa Tabuada - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=46</link>
<pubDate>Fri, 16 May 2008 15:40:32 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=46</guid>
<description><![CDATA[Este é o código fonte de um algoritmo de tabuada em linguagem Pascal. Utiliza a estrutura de repe]]></description>
<content:encoded><![CDATA[<p>Este é o código fonte de um algoritmo de tabuada em linguagem Pascal. Utiliza a estrutura de repetição While Do, e como esta é uma tabuada de 1 a 10 a condição para a execução do while é que a variável cont(contador) seja menor ou igual a 10. A variável op indica qual será a operação exibida. Para realizar esta seleção é, neste exemplo, utilizada a estrutura de seleção Case of. De acordo com a opção desejada é acionada a função referente a operação escolhida.</p>
<p>Obs.: Funções são um bloco de programa que pode ser acionado a qualquer momento e retorna um valor de acordo com o tipo declarado.</p>
<p><strong>Program</strong> Tabuada;<br />
<strong>Var<br />
</strong>   Cont, N : <strong>Integer</strong>;<br />
   Op  : <strong>Char</strong>;<br />
<strong>Function</strong> Soma(Cont, N: <strong>integer</strong>):<strong>integer</strong>;<br />
<strong>Begin<br />
</strong>         Soma:=Cont+N; <br />
<strong>End</strong>;<br />
<strong>Function</strong> Divisao(Cont, N: <strong>integer</strong>):<strong>real</strong>;<br />
<strong>Begin</strong><br />
         Divisao:=N/Cont; <br />
<strong>End</strong>;<br />
<strong>Function</strong> Mult(Cont, N: <strong>integer</strong>):<strong>integer</strong>;<br />
<strong>Begin<br />
</strong>         Mult:=Cont*N; <br />
<strong>End</strong>;<br />
<strong>Function</strong> Subtrair(Cont, N: <strong>integer</strong>):integer;<br />
<strong>Begin</strong><br />
         Subtrair:=N-Cont; <br />
<strong>End</strong>;<br />
<strong> Begin<br />
</strong>         Cont:=1;<br />
         <strong>Write</strong>('Digite o Número: ');<br />
         <strong>ReadLn</strong>(N);<br />
         <strong>Write</strong>('Informe a Operação(* / + -): ');<br />
         <strong>ReadLn</strong>(Op);<br />
         <strong>While</strong> Cont&#60;=10 <strong>do<br />
</strong>         <strong>Begin</strong><br />
               <strong>Case</strong> Op <strong>of<br />
</strong>               '*': <strong>WriteLn</strong>(N,' * ',Cont,' = ',Mult(Cont,N));<br />
               '/': <strong>WriteLn</strong>(N,' / ',Cont,' = ',Divisao(Cont,N):1:2);<br />
               '+': <strong>WriteLn</strong>(N,' + ',Cont,' = ',Soma(Cont,N));<br />
               '-': <strong>WriteLn</strong>(N,' - ',Cont,' = ',Subtrair(Cont,N));<br />
               <strong>Else</strong> <strong>Begin</strong><br />
                             <strong>WriteLn</strong>('Operação não encontrada.');<br />
                             Cont:=10;<br />
                       <strong>End</strong>;<br />
              <strong>End</strong>;   <br />
              Cont:=Cont+1;<br />
       <strong>End</strong>;<br />
 <strong>End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Decimal para Hexadecimal - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=45</link>
<pubDate>Wed, 14 May 2008 14:16:57 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=45</guid>
<description><![CDATA[Algoritmo para conversão de base decimal para hexadecimal. Feito em linguagem Pascal e implementado]]></description>
<content:encoded><![CDATA[<p>Algoritmo para conversão de base decimal para hexadecimal. Feito em linguagem Pascal e implementado no Pascalzim. Este código fonte faz a leitura de um número decimal inteiro e o exibe em sua forma hexadecimal.</p>
<p><strong>Program</strong> DecimalparaHexa;<br />
<strong>Const</strong><br />
      MaxCasas=8;<br />
<strong>Type</strong><br />
      Hexas = <strong>array</strong>[1..MaxCasas] <strong>of String</strong>[1];<br />
<strong>Var<br />
</strong>      Hexa: Hexas;<br />
      escreve : <strong>boolean</strong>;<br />
      Valor, aux, i, cont : <strong>Integer</strong>;<br />
<strong> Begin</strong><br />
         <strong>Write</strong>('Informe o número decimal: ');<br />
         <strong>ReadLn</strong>(Valor);<br />
         aux:=valor;<br />
         escreve:=<strong>false</strong>;<br />
        <strong> For</strong> i:=1 <strong>to </strong>MaxCasas<strong> Do</strong> // Inicializa o vetor Hexadecimal.<br />
                Hexa[i]:='0';<br />
         <strong>For</strong> i:=1 <strong>to</strong> MaxCasas <strong>Do<br />
</strong>         <strong>Begin<br />
</strong>                 <strong>if</strong> aux <strong>mod</strong> 16 &#60; 10 <strong>then</strong><br />
                       <strong>str</strong>(aux <strong>mod</strong> 16,Hexa[i])<br />
                 <strong>else</strong><br />
                      <strong>case</strong> aux <strong>mod</strong> 16<strong> of<br />
</strong>                      10:Hexa[i]:='A';<br />
                      11:Hexa[i]:='B';<br />
                      12:Hexa[i]:='C';<br />
                      13:Hexa[i]:='D';<br />
                      14:Hexa[i]:='E';<br />
                      15:Hexa[i]:='F';<br />
                      <strong>End</strong>;<br />
                      aux:=aux <strong>div</strong> 16;<br />
                <strong> End</strong>;<br />
                <strong> Write</strong>('Resultado em Hexadecimal: '); <br />
                 <strong>For</strong> i:=MaxCasas <strong>downto</strong> 1 <strong>Do<br />
</strong>                 <strong>Begin<br />
</strong>                       <strong>If</strong> Hexa[i]&#60;&#62;'0' <strong>then</strong><br />
                            escreve:=<strong>true</strong>;<br />
                       <strong>If </strong>escreve <strong>then</strong><br />
                            <strong>Write</strong>(Hexa[i]);<br />
              <strong>  End</strong>; <br />
<strong> End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Volume do Cilindro - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=44</link>
<pubDate>Mon, 12 May 2008 19:23:59 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=44</guid>
<description><![CDATA[Este é o código fonte em linguagem Pascal implementado no Pascalzim de um algoritmo que calcula o ]]></description>
<content:encoded><![CDATA[<p>Este é o <strong>código fonte</strong> em linguagem<strong> Pascal</strong> implementado no <strong>Pascalzim</strong> de um algoritmo que calcula o <strong>volume de um cilindro reto</strong> (de bases iguais) através da fórmula: volume é igual a área da base (dois vezes pi ao quadrado) vezes a altura.</p>
<p><strong>Program</strong> VolumeCilindro;<br />
<strong>Const<br />
</strong>         pi  = 3.1416;<br />
<strong>Var<br />
</strong>         Raio, Altura : <strong>Real</strong>;<br />
<strong>Function</strong> CalcArea(pi,Raio:<strong>Real</strong>):<strong>Real</strong>;<br />
<strong>Begin</strong><br />
         CalcArea:=pi*raio*raio;<br />
<strong>End</strong>;<br />
<strong>Function</strong> CalcVolume(Altura: <strong>Real</strong>):<strong>Real</strong>;<br />
<strong>Begin<br />
</strong>        CalcVolume:=CalcArea(pi,raio)*Altura;<br />
<strong>End</strong>;<br />
<strong> Begin<br />
</strong>         <strong>Write</strong>('Para calcular o volume do cilindro informe o valor do raio da base: ');<br />
         <strong>ReadLn</strong>(Raio);<br />
        <strong> Write</strong>('Agora informe a altura do cilindro: ');<br />
       <strong>  ReadLn</strong>(Altura);<br />
      <strong>   Write</strong>('O volume do cilindro é = ',CalcVolume(Altura):0:2);<br />
<strong> End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Decimal para Binário - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=41</link>
<pubDate>Thu, 08 May 2008 15:37:55 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=41</guid>
<description><![CDATA[Este é o código fonte de uma implementação em linguagem Pascal de um algoritmo que converte faz ]]></description>
<content:encoded><![CDATA[<p>Este é o código fonte de uma implementação em linguagem Pascal de um algoritmo que <span style="text-decoration:line-through;">converte</span> faz a conversão de um valor da base decimal para a binária. Atentar para o valor de bits que no exemplo é 8, com este número de bits é possível representar 256 valores(2^8) de zero até o valor 255 na base decimal.</p>
<p><strong>Program</strong> DecimalparaBinario;<br />
<strong>Const</strong><br />
      Bits=8;<br />
<strong>Type</strong><br />
      Binarios = <strong>array</strong>[1..Bits] <strong>of char</strong>;<br />
<strong>Var</strong><br />
      Binario: Binarios;<br />
      Valor, aux, i : <strong>Integer</strong>;<br />
<strong> Begin<br />
</strong>         <strong>Write</strong>('Informe o número decimal: ');<br />
         <strong>ReadLn</strong>(Valor);<br />
         aux:=valor;<br />
         <strong>For</strong> i:=1 <strong>to</strong> Bits<strong> Do<br />
</strong>                Binario[i]:='0';<br />
        <strong> For</strong> i:=1 <strong>to</strong> Bits<strong> Do</strong><br />
         <strong>Begin<br />
</strong>               <strong> if</strong> aux <strong>mod</strong> 2 = 0 <strong>then<br />
</strong>                      Binario[i]:='0'<br />
                <strong>else<br />
</strong>                      Binario[i]:='1';<br />
                aux:=aux <strong>div</strong> 2;<br />
         <strong>End</strong>;<br />
         <strong>Write</strong>('Resultado em binário: '); <br />
         <strong>For</strong> i:=Bits <strong>downto</strong> 1 <strong>Do<br />
</strong>         <strong>Begin<br />
</strong>               <strong>Write</strong>(Binario[i]);<br />
         <strong>End</strong>; <br />
<strong> End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Conversão de km/h para m/s - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=40</link>
<pubDate>Wed, 07 May 2008 11:47:34 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=40</guid>
<description><![CDATA[Este é o código fonte da implementação de um algoritmo que realiza a conversão de km/h para m/s]]></description>
<content:encoded><![CDATA[<p>Este é o<strong> código fonte</strong> da implementação de um <strong>algoritmo </strong>que realiza a conversão de km/h para m/s em <strong>linguagem Pascal</strong>. É uma conversão bem simples pois após informada a velocidade em km/h basta dividir o valor por 3.6 que encontramos o resultado em m/s. Para tanto é necessário que as variáveis sejam do tipo real.</p>
<p><strong>Program</strong> Kmhparams;<br />
<strong>Var<br />
</strong>      kmh, ms : <strong>real</strong>;<br />
<strong>Begin</strong><br />
      <strong>WriteLn</strong>('Este programa faz a conversão de km/h para m/s.');<br />
      <strong>Write</strong>('Informe a velocidade em km/h: ');<br />
     <strong> ReadLn</strong>(kmh);<br />
      ms:=kmh/3.6;<br />
      <strong>Write</strong>(kmh:0:2,' km/h equivale a ',ms:0:2,' m/s.');<br />
<strong> End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Exemplo de Matriz 1 - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=39</link>
<pubDate>Tue, 06 May 2008 17:34:07 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=39</guid>
<description><![CDATA[Este é o código fonte de um algoritmo que ilustra a utilização de uma matriz bidimensional (Linh]]></description>
<content:encoded><![CDATA[<p>Este é o <strong>código fonte</strong> de um <strong>algoritmo</strong> que ilustra a utilização de uma <strong>matriz bidimensional</strong> (Linhas x Colunas) em <strong>linguagem Pascal</strong>. Para percorrer todos os elementos desta matriz utiliza-se duas estruturas de repetição <strong>For to Do</strong> agrupadas sendo uma para percorrer as linhas e outra para percorrer as colunas. Com este exemplo é possível entender a declaração deste tipo de matriz, bem como seu preenchimento e exibição.<br />
<strong>Program</strong> MatrizEx1;<br />
<strong>Const</strong><br />
      Linhas=3;<br />
      Colunas=3;<br />
<strong>Type</strong><br />
      Matrizes = <strong>array</strong>[1..Linhas,1..Colunas] <strong>of integer</strong>;<br />
<strong>Var<br />
</strong>      Matriz : Matrizes;<br />
      i,j    : <strong>integer</strong>;<br />
<strong> Begin<br />
</strong>     <strong> For</strong> i:=1<strong> to</strong> Linhas <strong>do<br />
</strong>            <strong>For</strong> j:=1 <strong>to</strong> Colunas <strong>do<br />
</strong>            <strong>Begin</strong> <br />
                 <strong>Write</strong>('Informe o valor do elemento (',i,',',j,'): ');<br />
                 <strong>ReadLn</strong>(Matriz[i,j]);<br />
          <strong>  End</strong>;<br />
          <strong>  For</strong> i:=1 <strong>to</strong> Linhas <strong>do</strong><br />
                 <strong>For</strong> j:=1 <strong>to</strong> Colunas<strong> do</strong><br />
                <strong> Begin</strong> <br />
                      <strong>WriteLn</strong>('Valor do elemento (',i,',',j,'): ',Matriz[i,j]);<br />
                 <strong>End</strong>; <br />
<strong> End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Par ou Ímpar - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=36</link>
<pubDate>Fri, 02 May 2008 12:02:00 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=36</guid>
<description><![CDATA[Esta é a implementação de um algoritmo muito simples. Ele lê um número informado pelo usuário ]]></description>
<content:encoded><![CDATA[<p>Esta é a implementação de um algoritmo muito simples. Ele lê um número informado pelo usuário e em seguida testa se o número é par ou ímpar. Para realizar este teste basta utilizar a função mod, ela retorna o resto da divisão de dois número inteiros.</p>
<p><strong>Program</strong> ParImpar;<br />
<strong>Var<br />
</strong>     Num : <strong>integer</strong>;<br />
     Par : <strong>boolean</strong>;<br />
<strong> Begin<br />
</strong>     <strong>Write</strong>('Informe o número a ser testado: ');<br />
     <strong>ReadLn</strong>(Num);<br />
     <strong>If </strong>Num <strong>mod</strong> 2 = 0 <strong>then<br />
</strong>        Par:=<strong>true<br />
</strong>     <strong>Else<br />
</strong>        Par:=<strong>false</strong>;<br />
     <strong>If </strong>Par <strong>Then</strong><br />
        <strong>Write</strong>('O número é par.')<br />
     <strong>Else<br />
</strong>        <strong>Write</strong>('O número é ímpar.');<br />
 <strong>End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Jogo da Velha - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=34</link>
<pubDate>Thu, 01 May 2008 21:20:29 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=34</guid>
<description><![CDATA[Preparei um post especial para hoje. Este é um código fonte que implementa o algoritmo de um jogo ]]></description>
<content:encoded><![CDATA[<p>Preparei um post especial para hoje. Este é um código fonte que implementa o algoritmo de um jogo da velha em linguagem de programação pascal. Implementado no PascalZim. A criação de jogos em Pascal auxilia no desenvolvimento e conhecimento da linguagem. Este introduz conceitos até então não explorados nos códigos anteriores como leitura de teclas como as setas e o enter. São 219 linhas de programação. Muitas outras linhas são necessárias para explicar o funcionamento do programa. Para auxiliar no entendimento do código vou explicar algumas funções do Pascal: <strong>Gotoxy()</strong> posiciona o curso na tela no eixo x e y após receber dois valores inteiros que são os argumentos da função. <strong>Keypressed</strong> é uma função booleana que não recebe argumentos, ela simplesmente assume um valor true(verdadeiro) caso alguma tecla seja pressionada ou false(falso) no caso de não existirem teclas pressionadas. <strong>ReadKey</strong> realiza a leitura de uma tecla e retorna o valor da mesma. Dúvidas comente.</p>
<p> <a class="alignleft" title="Jogo da Velha  - Codigo" href="http://codigosfonte.wordpress.com/files/2008/05/jogodavelhapascal.pdf" target="_blank">jogodavelhapascal.pdf</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Calculo de Potência - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=32</link>
<pubDate>Wed, 30 Apr 2008 13:59:42 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=32</guid>
<description><![CDATA[Este é o código fonte de um programa em linguagem Pascal que implementa um algoritmo para calcular]]></description>
<content:encoded><![CDATA[<p>Este é o <strong>código fonte</strong> de um programa em linguagem <strong>Pascal</strong> que implementa um algoritmo para calcular a potência (<strong>potenciação / exponenciação</strong>) de um número inteiro por um expoente inteiro. Através da utilização de<strong> estruturas de repetição</strong> (For to do) e <strong>seleção</strong>(If then else).</p>
<p><strong>Program</strong> CalcPotencia;<br />
<strong>Var</strong><br />
      expoente, i, potencia, num      : <strong>integer</strong>;  { variáveis inteiras expoente, i(índice),  num(base) e a potência.}<br />
<strong>Begin</strong>                                                    <br />
         <strong>Write</strong>(’Informe um número para a base: ‘); <br />
         <strong>ReadLn</strong>(num);<br />
         <strong>Write</strong>(’Informe um número inteiro para o expoente: ‘);<br />
         <strong>ReadLn</strong>(expoente);<br />
         potencia:=num; {potencia inicia com a própria base.}<br />
        <strong> if</strong> (expoente=0) <strong>then<br />
</strong>                potencia:=1 {se o expoente for 0 então a valor da potencia será sempre igual a 1.}<br />
      <strong>   else<br />
</strong>          <strong>  if</strong> (expoente&#62;0)<strong> then</strong> {se expoente for positivo.}<br />
         <strong>   begin</strong><br />
                  <strong>for</strong> i:=2 <strong>to</strong> expoente <strong>do</strong>  {o índice inicia em 2 pois quando expoente igual a 1 a potencia é igual a própria base.}<br />
                      potencia:=num*potencia;                <br />
                 <strong>write</strong>(’O resultado da potencia quando a base é ‘,num, ‘ e o expoente é ‘,expoente,’ é igual a ‘,potencia);<br />
           <strong> end</strong>      <br />
            <strong>else<br />
</strong>                 <strong> if</strong> (expoente&#60;0) <strong>then</strong> {se o expoente for negativo}<br />
                <strong>  begin<br />
</strong>                           expoente:=expoente*-1; {multiplica-se o expoente por -1 para obter o número de repetições}<br />
                           <strong>for</strong> i:=2 <strong>to</strong> expoente <strong>do</strong>   <br />
                                potencia:=num*potencia;<br />
                          <strong>write</strong>(’O resultado da potencia quando a base é ‘,num, ‘ e o expoente é ‘,expoente,’ é igual a 1/’,potencia);  {o resultado é igual a 1 dividido pela potencia encontrada. pois o expoente é negativo.}<br />
                  <strong>end</strong>;                        </p>
<p><strong>End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Área do Triângulo - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=31</link>
<pubDate>Tue, 29 Apr 2008 12:07:49 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=31</guid>
<description><![CDATA[Este é código fonte de um programa em pascal que calcula a área de um triangulo qualquer desde qu]]></description>
<content:encoded><![CDATA[<p>Este é <strong>código fonte</strong> de um programa em <strong>pascal</strong> que <strong>calcula a área de um triangulo</strong> qualquer desde que conhecidos os valores de uma das bases e da altura do mesmo. É um programa simples que faz a leitura da base e da altura. Utiliza a seguinte <strong>formula: Área é igual a base vezes altura do triângulo dividido por dois.</strong> Área é uma função real que recebe como argumentos base e altura também reais.</p>
<p><strong>Program</strong> AreaTriangulo;<br />
<strong>Var<br />
</strong>         base, altura :<strong> real</strong>;<br />
<strong>Function</strong> Area(b, h : real): <strong>real</strong>;<br />
<strong>Begin<br />
</strong>         Area:=(b*h)/2;<br />
<strong>End</strong>;<br />
<strong> Begin</strong><br />
       <strong> Write</strong>('Informe o valor da base: ');<br />
        <strong>ReadLn</strong>(base);<br />
        <strong>Write</strong>('Informe o valor da altura: ');<br />
       <strong> ReadLn</strong>(altura);<br />
        <strong>WriteLn</strong>('A área deste triângulo é ',Area(base,altura):0:2);<br />
 <strong>End</strong>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Vetores Exemplo 2 - Linguagem Pascal]]></title>
<link>http://codigosfonte.wordpress.com/?p=30</link>
<pubDate>Mon, 28 Apr 2008 13:43:48 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=30</guid>
<description><![CDATA[Segue o código fonte de outro exemplo da utilização de vetores na linguagem de programação Pasc]]></description>
<content:encoded><![CDATA[<p>Segue o <strong>código fonte</strong> de outro <strong>exemplo</strong> da <strong>utilização de vetores</strong> na linguagem de programação <strong>Pascal</strong>. Neste programa é criado um <strong>tipo</strong> chamado nomes que é um vetor de 5 posições, 1 a 5, do tipo string. É feita a declaração de duas <strong>variáveis</strong>: nome do tipo nomes e i, que é utilizada como índice, do tipo inteiro. Dentro do corpo principal do programa é utilizada a estrutura de repetição for to do para ler cada nome deste vetor. Em seguida é solicitado que o utilizador do <strong>programa</strong> informe qual posição deseja visualizar na tela. Por fim é escrito na tela o nome da <strong>posição</strong> solicitada.</p>
<p><strong>Obs</strong>.: Um variável do tipo <strong>String </strong>  - <em> "Define uma cadeia de caracteres. Se nenhuma restrição de tamanho for especificada, um dado do tipo string é capaz de armazenar uma sequência contendo até <strong>255 caracteres</strong>, onde cada caracter ocupa um byte de espaço na memória".</em></p>
<p><strong>Program</strong> Vetores2;<br />
<strong>Type<br />
</strong>        nomes = <strong>array</strong>[1..5] <strong>of</strong> <strong>string</strong>;<br />
<strong>Var</strong><br />
        nome : nomes;<br />
        i : <strong>integer</strong>; <br />
 <strong>Begin<br />
</strong>        <strong>For</strong> i:=1 <strong>to</strong> 5 <strong>do<br />
</strong>        <strong>Begin <br />
</strong>                <strong>Write</strong>('Posição: ',i,' - Informe o nome: ');<br />
                <strong>ReadLn</strong>(Nome[i]);<br />
       <strong> End</strong>;<br />
        <strong>Write</strong>('Indique qual posição do vetor deseja visualizar: ');<br />
        <strong>ReadLn</strong>(i);<br />
        <strong>WriteLn</strong>('Posição: ',i,' - ',Nome[i]);<br />
 <strong>End</strong>.</p>
<p>    </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Teoria sobre Lógica de Programação - Exemplo Cálculo de Média]]></title>
<link>http://codigosfonte.wordpress.com/?p=19</link>
<pubDate>Sat, 19 Apr 2008 22:57:53 +0000</pubDate>
<dc:creator>codigosfonte</dc:creator>
<guid>http://codigosfonte.wordpress.com/?p=19</guid>
<description><![CDATA[Pode se aprender lógica de programação observando e analisando códigos fonte como estes escritos]]></description>
<content:encoded><![CDATA[<p>Pode se aprender <strong>lógica de programação</strong> observando e <strong>analisando códigos fonte</strong> como estes escritos em <a href="http://codigosfonte.wordpress.com">http://codigosfonte.wordpress.com</a>. Porém ninguém aprende programação sem conhecer na <strong>teoria</strong> os <strong>conceitos de lógica de programação</strong>. O que pode acontecer é que uns aprendem melhor com exemplos práticos, enquanto outros acham mais fácil aprender com os conceitos. Ambos são importantes e complementares. Este artigo fala de conceitos teóricos de lógica de programação.</p>
<p>Iniciar as explicações com problemas simples não deve ser um fator causador de desmotivação, tenho certeza que todo o <strong>conhecimento teórico</strong> adquirido será útil para produzir um programador mais eficiente.</p>
<p>Quando utilizamos o computador para resolver um problema precisamos conhecer o problema, a resolução para produzir resultado esperado e as variáveis dele. Isto serve para qualquer problema até para os mais complexos.</p>
<p>O <strong>problema</strong> exemplo é: <strong>calcular a média entre dois valores e exibir o resultado</strong>. O programador deve saber como resolver este problema antes de iniciar a programação. Pois, deverá orientar o computador sobre como resolvê-lo.<br />
 <br />
A <strong>resolução</strong> é: <strong>1- Obter os dois valores. 2- Somar os valores e dividir a soma por dois. 3- Apresentar o resultado.</strong></p>
<p>As <strong>variáveis</strong> são duas: os dois valores. Para construir um <strong>programa dinâmico</strong> é necessário que os valores sejam variáveis. O objetivo é calcular a média entre dois valores. Estes não estão definidos. <strong>Devem variar a cada vez que o programa é acionado.</strong></p>
<p>Seguindo este <strong>método</strong> você irá conseguir resolver outros <strong>problemas mais complexos</strong>.</p>
<p>Saudações.</p>
]]></content:encoded>
</item>

</channel>
</rss>
