Algoritmos II - exemplificando
Anteriormente falamos sobre algoritmos, neste artigo pretendo exemplificar como resolver, em algumas linguagens, alguns deles.
Antes, veremos um pouco mais da parte teórica:
1 - Comentando linhas de um Algoritmo:
Podemos inserir em um Algoritmo comentários para aumentar a compreensão do mesmo, para isso basta que o texto fique entre Chaves (“{}”).
Exemplo:
LER (RAIO); {ENTRADA, recebendo valor para a variável “RAIO”}
2 - Literais:
Valores que devem possuir significado literal para o usuário, portanto o processador não deve processá-los.
Quando queremos exibir uma mensagem para a tela ou impressora ela deve estar contida entre aspas simples, caso contrário, o computador irá identificar a mensagem como variável que não foi definida (Identificador não definido).
ESCREVER (‘AREA OBTIDA =’, AREA) {COMANDO DE SAÍDA, exibindo o valor da variável “AREA” formatada pela concatenação com o literal ‘AREA OBTIDA =’}
3 - Estruturas de Decisão:
Executa uma seqüência de comandos de acordo com o resultado de um teste. A estrutura de decisão pode ser Simples ou Composta, baseada em um resultado lógico.
As estruturas de decisão também são conhecidas como “desvio condicional”. A partir de uma expressão lógica, testa-se o resultado: Se verdadeiro, segue um fluxo de comandos. Caso falso, segue um outro fluxo alternativo.
Exemplo:As estruturas de decisão também são conhecidas como “desvio condicional”. A partir de uma expressão lógica, testa-se o resultado: Se verdadeiro, segue um fluxo de comandos. Caso falso, segue um outro fluxo alternativo.
3.1) Estrutura de decisão simples:
Se <<condição >> Então
<<Comando1>>;
3.2) Estrutura de decisão composta:
Se <<condição>> Então
<<ComandoX1>>
Senão
<<ComandoY1>>;
4 - Exemplo de construção de algoritmo: exemplificando o que falamos acima.
Versão 1 - Algoritmo que lê dois números e escreve o maior.
PROGRAMA ACHA_MAIOR;
VAR A, B : INTEIRO;
INICIO
Leia (A);
Leia (B);
SE (A > B) ENTÃO
Escreva(A)
SENÃO
Escreva(B);
FIM.
Versão 2 - Algoritmo que lê dois números e escreve o maior.
PROGRAMA ACHA_MAIOR;
VAR A, B : INTEIRO;
INICIO
{Solicitando a entrada do primeiro valor}
Escreva(‘Digite o primeiro número:’);
Leia (A); {Recebendo na variável “A” o valor digitado}
{Solicitando a entrada do segundo valor}
Escreva(‘Digite o Segundo número:’);
Leia (B); {Recebendo na variável “B” o valor digitado}
{Exibindo mensagem lieral}
Escreva(‘O Maior valor digitado foi: ’)
{testando qual das duas variáveis recebeu o maior valor}
SE (A > B) ENTÃO
Escreva(A);
SENÃO
Escreva(B);
FIM.
5 - Passando o algoritmo para a linguagem de programação Delphi:
Inicie uma nova aplicação no Delphi, selecionado no menu “File” ▶ “New” ▶ “Application”.

Adicione um TButton (da Palheta “Standard”) no Form1. Na Propriedade “Caption” do Form1 digite: Programa ACHA MAIOR.

Na propriedade “Caption” do Button1, digite: Iniciar Programa

Aumente também a largura. Propriedade “width” para 104.
Para acessar as propriedade dos componentes mencionados acima selecione o componente,
no Object Inspector, na aba “Properties” você pode alterar a propriedade desejada.
Para acessar as propriedade dos componentes mencionados acima selecione o componente,
no Object Inspector, na aba “Properties” você pode alterar a propriedade desejada.

No evento OnClick do Button1, digite o código abaixo:
procedure TForm1.Button1Click(Sender: TObject); var NumA_Zn, NumB_Zn, Zn_Maior: Integer; StrNumA_Zn, StrNumB_Zn: String; begin (*Garantindo que o Button1 não atrapalhe a saída do nosso programa. hehehe ...*) Button1.Top := 12; Button1.Left := 12; (* Início do Algoritmo *) Self.Canvas.TextOut(12, 120, 'Iniciando o Programa - Estação ZN'); (* Entrada de Dados *) {A través da função "InputBox" solicito a entrada do valor e atribui o valor digitado para variável do tipo "String"} StrNumA_Zn := InputBox('Digite o Primeiro valor que irá ser testado', ' Valor: ', '0'); StrNumB_Zn := InputBox('Digite o Segundo valor que irá ser testado', ' Valor: ', '0'); (* Processamento *) NumA_Zn := StrToInt(StrNumA_Zn); // Convertendo o dado para um tipo númerico NumB_Zn := StrToInt(StrNumB_Zn); // Convertendo o dado para um tipo númerico {testando qual das duas variáveis recebeu o maior valor} if (NumA_Zn > NumB_Zn) then Zn_Maior := NumA_Zn else Zn_Maior := NumB_Zn; (* Saída *) Self.Canvas.TextOut(12, 140, Format('O Maior Valor Digitado foi: %d', [Zn_Maior])); Self.Canvas.TextOut(12, 160, 'Final do Programa - Estação ZN'); end;

Palheta de Componentes:

Palheta Standard:

Quem é o TButton na Palheta??

6 - Versão em JavaScript:
Você pode codificar o exemplo abaixo no Notepad. Para testar, salve o arquivo com estenção html (.html) e poderá abri-lo no próprio browser.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> Estação ZN </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> document.write("<br> Iniciando o Programa - Estação ZN - Implementando Algoritmo <br> "); var NumA_Zn = prompt ("Digite o Primeiro valor que irá ser testado","0"); var NumB_Zn = prompt ("Digite o Segundo valor que irá ser testado","0"); document.write(" *********************** "); document.write("<br> Primeiro valor: " + NumA_Zn); document.write("<br> Segundo valor: " + NumB_Zn); if (NumA_Zn > NumB_Zn){ ZNMaior = NumA_Zn; } else { ZNMaior = NumB_Zn; }; alert (" O Maior Valor Digitado foi: " + ZNMaior); document.write("<br> Final do Programa JavaScript -- Estação ZN"); // --> </script> </head> <body> </body> </html>
Uma versão em Java do algoritmo, rola?
/* /* * Este é um exemplo de implementação * de uma algoritmo. * www.estacaozn.blogspot.com */ package verificamaiorzn; import javax.swing.JOptionPane; // Importando pacote de extenção Java API /** * * @author GMottaZn */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { String strNum1Zn, strNum2Zn, msgSaida; int intNum1Zn, intNum2Zn, ZnMaior; boolean saoIguais; // Entrada de dados strNum1Zn = JOptionPane.showInputDialog("Digite o primeiro número"); strNum2Zn = JOptionPane.showInputDialog("Digite o segundo número"); // processamento intNum1Zn = Integer.parseInt(strNum1Zn); // convertendo de string para integer intNum2Zn = Integer.parseInt(strNum2Zn); // convertendo de string para integer // Comparando para encontrar o maior saoIguais = (intNum1Zn == intNum2Zn); if (saoIguais){ msgSaida = "Os números são iguais - "; ZnMaior = intNum1Zn; } else { msgSaida = "O maior número é: "; if (intNum1Zn > intNum2Zn){ ZnMaior = intNum1Zn; } else { ZnMaior = intNum2Zn; }; }; // Saída de dados JOptionPane.showMessageDialog(null, " Estação Zn - " + msgSaida + ZnMaior, "www.estacaozn.blogspot.com", JOptionPane.INFORMATION_MESSAGE); // Finaliza programa System.exit(0); } }
Se Você esta procurando uma boa ferramenta para programar para web, uma que seja free , teste o Notepad ++: http://notepad-plus.sourceforge.net/br/site.htm
Dê um confere no Notepad ++.
Uma opção excelente, alternativa também Free, OJEdit é mais do que você imagina, vai ultrapassar suas espectativas: http://www.jedit.org/
- Syntax highlighting para mais de 70 tipos de arquivos.
- Suporte para indentação inteligente para códigos Java, C e Python.
- Suporte a "Regular Expressions".
- Faz verificação de bracket ("{}", "( )" e "[ ]");
- Gravação de Macros;
O Felipe tem usado bastante essa ferramenta ultimanente. Ele destacou o suporte a Plugins como um grande diferencial do JEdit. Através desse recurso você pode aumentar a capacidade do editor, adicionando diversas funcionalidades de grande valia no dia a dia de trabalho. Os exemplos vão desde a edição do código fonte até operações como compilação, gerenciamento e edição de arquivos via FTP, integração com CVS, Visual Source Safe, Jakarta Ant, Tomcat e não para por ai, dezenas de outras funcionalidades podem ser incorporadas. Veja users group do JEdit.
Mais sobre JavaScript:
http://en.wikipedia.org/wiki/JavaScript_syntax
www.deitel.com/ResourceCenters/Programming/JavaScript/tabid/1038/Default
No Estação ZN
Nenhum comentário:
Postar um comentário