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