domingo, 15 de janeiro de 2012

' Como Descobrir o Maior e o Menor Número? '

' Como descobrir o maior e o menor número em uma sequencia? '... Eis a questão!

Hoje vamos exercitar um pouco o cérebro pensando como programador...

Vamos ter que descobrir dentre 500 números, qual é o maior e qual é o menor deles.

Se fossem apenas 3 números seria muito fácil fazer a comparação entre eles através da estrutura de 'decisão', mas com 500 números, não seria impossível, mas com toda certeza gastaríamos um bom tempo comparando um a um na marra, para chegar ao resultado final...

Mas, podemos facilitar esse processo e é exatamente isso que iremos fazer!

Desenvolva um algoritmo que receba 500 números inteiros e positivos e exiba para o usuário, o maior e o menor deles.



> Entradas: As entradas do algoritmo serão os números que o usuário irá digitar (VALOR);
> Processamentos: Os processamentos serão as comparações entre um valor e outro para saber qual é o maior e o menor;
> Saídas: As saídas serão os resultados exibidos para o usuário (MAIOR e MENOR).





declare  I, MAIOR, MENOR, VALOR: inteiro;
início
        I <- 1;
        MAIOR <- 0;
        MENOR <- 0;
        enquanto ( I <= 500 ) faça
                  escreva ( ' Entre com o número: ' );
                  leia ( VALOR );
                             se ( VALOR > MENOR ) então
                                          MAIOR <- VALOR:
                             fim_se;
                             se ( I = 1 ) então
                                           MENOR <- VALOR;
                             senão
                                           se ( VALOR < MENOR ) então
                                                         MENOR <- VALOR;
                                           senão
                                                         escreva ( ' Valor Inválido ' );
                                                         avance fim;
                                           fim_se;
                              fim_se;
                   I <- I + 1;
        fim_enquanto;
        escreva ( ' Maior = '; MAIOR; ' Menor = '; MENOR);
fim
         
Espero que tenham gostado do exercício de hoje e até a próxima!

terça-feira, 3 de janeiro de 2012

' Entendendo o Algoritmo '

Olá amigos e amigas!

Na nossa postagem anterior, entendemos um pouquinho sobre o mundo da tão temida 'Lógica de Programação'. Hoje iremos focar um pouco mais nos algoritmos...

Por que precisamos dos algoritmos?
> Para representar o raciocínio lógico do problema em questão e absorver detalhes que podem ser adicionados posteriormente;
> Após esse 'passo a passo', podemos traduzir a solução do problema para qualquer linguagem de programação;

Regras básicas para a construção de um algoritmo:
> Não economize nos comentários. Lembre-se que seu algoritmo deve ser lido e compreendido não só por você, mas pelos outros também;
> Nomeie as variáveis com nomes significativos, porém não muito longos;
> Quando utilizar o 'pseudocódigo', destaque as palavras de comando do código.
    Exemplo.: 
              declare N1, N2: inteiro;
                            MEDIA: real;
               inicio
                      escreva ( 'Digite o valor das notas' );
                      ler N1, N2;
                      MEDIA < (N1 + N2) / 2;
                      se (MEDIA >= 7) então
                              escreva ( 'Aluno Aprovado' );
                              senão
                                     escreva ( 'Aluno Reprovado' );
                      fim_se;
               fim 
> Utilize os espaços que forem necessários para que o algoritmo fique bem visível, por isso, é aconselhável colocar somente um comando por linha;
 > Procure alinhar os comandos de mesmo nível, como no exemplo acima.

Simbologia de um 'Fluxograma':


Pessoal.. hoje vamos ficar por aqui!
Não percam as próximas postagens!


' A Temida Lógica de Programação '


Olá 'caçadores de conhecimento'. Hoje vamos viajar no mundo da lógica de programação e dos temidos algoritmos. Vocês irão descobrir que não é nenhum 'bicho de sete cabeças' e que pode salvar a pele de muitos programadores.

O que é a Lógica de Programação?
Podemos resumir a lógica de programação como sendo a técnica utilizada para unir pensamentos, com o objetivo de alcançar determinado resultado.

O que são os algoritmos?
O algoritmo nada mais é do que uma sequencia de passos finita, desenvolvida para executar determinada tarefa.

Tendo esses dois conceitos em mente, a elaboração de um aplicativo se torna muito mais fácil, já que um é o complemento do outro.
O primeiro passo para desenvolver um programa é pensar em como desenvolver (lógica de programação) e depois elaborar uma espécie de receita, com o passo a passo do sistema (algoritmo).

Depois de utilizarmos a lógica de programação e desenvolver o algoritmo do aplicativo, devemos escolher a linguagem de programação que o programa será criado e através dessa linguagem (expressa em códigos), o aplicativo será interpretado e executado por uma máquina (computador, celular, tablet, etc).

Fases de um algoritmo?
1º) Entrada: São os dados de entrada do sistema. Ou seja, aquilo que for necessário para     solucionar o problema em questão. 
 2º) Processamento: Os processamentos necessários para se chegar ao resultado final.
 3º) Saída: Resultado dos dados já processados.

Como elaborar um algoritmo?
1º) Entenda o problema a ser resolvido e faça anotações dos pontos principais;
2º) Abstraia do problema todas as entradas, todos os processamentos e todas as saídas;
3º) Teste todas as etapas do processo para verificar se o caminho está realmente levando ao resultado esperado;

Como podemos representar um algoritmo?
> Pseudocódigo ou Portugol;
> Fluxograma ou Diagrama de Bloco.

Exemplo de pseudocódigo:

declare
    A, B, R: inteiro;
inicio
    escreva ( 'Insira dois números inteiros');
    ler (A, B);
    R < A + B;
    escreva ( 'O resultado é', R);
fim

Exemplo de fluxograma:





















Bom pessoal, espero que tenham gostado do post de hoje.
Para continuar por dentro do mundo da lógica, não deixe de conferir a postagem 'Entendendo o Algoritmo'.