segunda-feira, 22 de fevereiro de 2016

Escolhendo uma linguagem e uma IDE

Bom dia!

Hoje vamos prosseguir com nossos exercícios de uma forma diferente. Escolhi a linguagem de programação C para continuarmos o aprendizado. A escolha desta linguagem deve-se as suas caracteristicas:  estruturada, simples e fácil de se usar.

Mas não se apegue a uma linguagem de programação. O importante é saber programar, independente da linguagem. Programar é como saber dirigir, você pode se acostumar a dirigir um carro de determinada marca, mas se é habilitado pode dirigir qualquer carro. Você pode precisar de um tempo de adaptação, mas vai acabar dirigindo normalmente. A mesma coisa acontece com a programação, uma vez que você domine uma linguagem, sua curva de aprendizagem é muito mais rápida. Eu mesmo não sou um especialista em linguagem C. Toda linguagem de programação tem uma estrutura de decisão, estruturas de repetição, conexões a banco de dados, etc.

Outro erro comum de quem está nessa fase de aprendizagem, é querer aprender logo a construir telas e fazer acesso a banco de dados. Não que isso não é importante, mas não é nem de longe o mais essencial. Portanto, o conselho que fica é: se esforcem na lógica. Mas vou deixar que suas futuras experiências falem por vocês.

Voltando a linguagem C, escolhi a ferramenta Dec C++. É simples, leve e ideal para iniciantes. Você também a encontra facilmente na internet.

Depois de instalada a ferramenta, vamos ao nosso primeiro projeto:
File > New > Project> Console Application ( C Project).




Salve o projeto em um diretório de sua preferencia.
Como uma boa IDE, já nos traz algum código:

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
                return 0;
}


A duas primeiras linhas, os includes stdio.h e stlib.h são headers,  em que o comando include,  traz todas as funções destes dois arquivo e os deixa disponível para nossa utilização, de modo resumido.

Os comentários em C são iniciados por /* e finalizados por */.

O comando Int main, corresponde ao nosso INICIO. Tudo que estiver entre as chaves, estará entre nosso INICIO/ FIM.

E por fim, o que esse nosso mini-programa de exemplo faz? Aperte F10 para compilar esse código fonte:



E ele retorna 0!
Nós próximos post’s nos aprofundaremos mais na ferramenta e realizaremos alguns exercícios nele.
Obrigado.



segunda-feira, 15 de fevereiro de 2016

Algoritmo dos Números Primos resolvido e comentado!



Um dos mais comuns exercícios passados nas faculdades e cursos que ensinam programação é o do número primo. Hoje vamos resolve-lo.

1) Escreva um algoritmo que receba a quantidade de números primos que o usuário deseja visualizar, e os escreva.
Um número primo é aquele que só é divisível por ele e por um, onde o resto da divisão é diferente de 0 para todos os demais números.

Portanto para resolver esse algoritmo, vamos nos utilizar dos contadores e divisões( ou o resto das mesmas).

Vale lembrar que o que for marcado em aspas são comentários para seu melhor entendimento do algoritmo.

INICIO.

VARIAVEIS v_qde, v_contador, v_contador_2, v_cont_primo, v_resto_div;

v_contador = 0;
v_cont_primo = 1;

ESCREVA "Digite a quantidade de números primos que deseja receber";
LEIA v_qtde; " Entrada de dados

ESCREVA "Seguem os números primos :"

ENQUANTO v_qtde <> 0; "A ideia é dimunir a quantidade até 0"
   
      v_contador = v_contador + 1;
      v_contador2 = 0;
      v_cont_primo = 0;

                ENQUANTO v_contador <> v_contador2. "Enquanto os contadores forem diferentes, o contador 2 percorrerá de 1 até contador1 para verificar a quantidade de números divisíveis onde o resto for igual a 0.

v_resto_div = RESTO ( v_contador / v_contador2). " A ideia é pegar o resto da divisão. Corresponde ao comando MOD / % em muitas linguagens de programação.

                 SE v_resto_div = 0;
                           v_cont_primo = v_cont_primo + 1;
                FIMSE;

    v_contador2 = v_contador2 + 1;

FIM ENQUANTO.
     
               SE v_cont_primo = 2. "Quer dizer que ele só foi dividido com resto 0 por 1 e por ele mesmo. Portanto, é número primo
           
               ESCREVA v_contador.
               v_qtde = v_qtde -1. "Diminui a quantidade até que a mesma zere.

                FIMSE.


FIMENQUANTO.

FIM.


       A lógica é um pouco complicada de se entender no inicio, mas a melhor forma de fazer isso é utilizar o teste de mesa. Simule o funcionamento do algoritmo acima, assim fazendo seu passo-a-passo fica mais fácil, entender, seguir e estimular sua lógica.

Obrigado!

quarta-feira, 10 de fevereiro de 2016

Exercicio de lógica e Teste de mesa.


      1) Uma loja de tênis possui 2 funcionários. Cada funcionário ganha 5% de comissão sobre cada par de sapato vendido. O salário base de cada funcionário é de 800,00 reais, mais a comissão. Escreva um algoritmo que receba a quantidade de sapatos vendida por cada vendedor e o preço de cada sapato. Calcular a comissão e o total do salário de cada funcionário, e exibi-los em tela.

Pode parecer um pouco complicado a primeira vista, mas vou resolver e comentar a resposta, é só acompanhar o raciocínio. Tudo que for marcado com aspas,  são comentários no algoritmo.

Primeiro declararemos nossas variáveis :

Inicio.

Variável SalarioFixo = 800,00
Variável ValorComissao,ValorComissao1, ValorComissao2;
Variável Qtde,QtdeComissao1, QtdeComissao2;
Variável Salario1, Salario2;
Variável Contador;


“Entrada de dados do usuário

Escreva “Digite a quantidade de sapatos vendidos pelo vendedor 1”;
Leia QtdeComissao1;
Contador = QtdeComissao1;
ENQUANTO contador <> 0;
               Escreva “Digite o valor da venda do Vendedor 1”;
               Leia ValorComissao;
               ValorComissao1 = ValorComissao + ValorComissao1;       
               Subtraia 1 de contador;
FIM ENQUANTO  ;

Contador = 0;

Escreva “Digite a quantidade de sapatos vendidos pelo vendedor 2”;
Leia QtdeComissao2;
Contador = QtdeComissao2;
ENQUANTO contador <> 0;
               Escreva “Digite o valor da venda do vendedor 2” ;
               Leia ValorComissao;
               ValorComissao2 = ValorComissao + ValorComissao2;
               Subtraia 1 de contador;
FIM ENQUANTO;

“Vamos ao processamento de dados

“Calculando a porcentagem do vendedor 1, temos na variável ValorComissao1  o valor total dos produtos que devem ser calculado o valor da comissão, com isso, vamos ao seguinte cálculo.

ValorComissao1 = ValorComissao1 * 0,05.
ValorComissao2 = ValorComissao2 * 0,05.

“Calculo dos salários

Salario1 = SalarioFixo + ValorComissao1;
Salario2 = SalarioFixo + ValorComissao2;

“Saida dos dados

Escreva  “ O salario do funcionário 1 é de” +  Salario 1 “ e a comissão é de “ ValorComissao1”;

Escreva  “ O salario do funcionário 2 é de” +  Salario 2 “ e a comissão é de “ ValorComissao2”;

FIM.

E está resolvido nosso exercício. Porém, como podemos ter a certeza de que está certo?

TESTE DE MESA

Sugestão: Pegar uma folha em separado e escrever o nome de todas as variáveis de um lado, e simular o funcionamento do programa do outro, substituindo os valores das variáveis conforme forem mudando no programa.
Se o usuário acessa-se esse programa, o que ele veria?

“Digite a quantidade de sapatos vendidos pelo vendedor 1” :

Vamos supor que o usuário digite “2”

2

(Acompanhe os valores das variáveis com uma folha sua)

Então seguindo os passos do programa, o usuário verá:

“Digite o valor da venda do vendedor1”: 100
“Digite o valor da venda do vendedor 1” : 200

Seguindo esses passos, a variável contador deve se igual a 0, saindo do laço ENQUANTO/ FIM ENQUANTO,   retornando o valor dele para 0, mas acompanhe mais detalhadamente por sua conta. Prosseguindo com o processamento, o programa deve pedir os mesmos valores para o vendedor 2, e supondo as mesmas entradas do usuário,  a saída do programa deverá ser:

O salario do funcionário 1 é de 815 e a comissão é de 15;
O salario do funcionário 2 é de 815 e a comissão é de 15;

Para seu próprio entendimento, resolva e detalhe seu teste de mesa!

Obs. DESAFIO: Tratar a entrada de dados para não aceitar valores negativos.







domingo, 7 de fevereiro de 2016

Variáveis, Escrever e Ler;


Bom dia!

Vamos nos aproximar mais dos primeiros programas que criaremos e incrementar um pouco mais nosso português estruturado, resolvendo problemas mais comuns em computadores. Basicamente todo programa se baseia em uma entrada, um processamento e uma saída de dados. Por exemplo, quando você abre seu navegador, digita um site (entrada) o navegador busca e processa todos os dados necessários (processamento) , e o formata para sua exibição(saída).

Para assimilar esse conceito nos nossos exercícios, vamos incorporar os comandos ESCREVA e LEIA nos nossos algoritmos. E juntamente com o comando leia, vamos utilizar o conceito de variável.

As Variáveis são um espaço que o programa reserva na memória do computador, que obviamente podem mudar seu valor. Por enquanto, vamos utilizar somente essa simples definição.

                Resolverei um exercício bem simples e irei comenta-lo, para deixar como modelo para os próximos.

1)      Receber dois números e apresentar a soma, divisão e multiplicação entre eles.

Inicio. “Começo da resolução
Variável Numero1;                                “Preferencialmente declarar todas as variáveis juntas
Variável Numero2;                                “Utilizar nomes sugestivos para cada variável
Variável ResultadoSoma;
Variável ResultadoSubtracao;
Variável ResultadoDivisao;
Variável ResultadoMultiplicacao;

Escreva “Digite número 1”;                      “Saída de dados para o usuário, solicitando informação
Leia Numero1;                                         “Aguarda usuário digitar o número 1;
Escreva “Digite número 2”;
Leia Numero2;                                         “Termino da entrada de dados

Calcular ResultadoSoma = Numero1 + Numero2;                    “Inicio do processamento
Calcular ResultadoSubtracao = Numero1 – Numero2;
Calcular ResultadoDivisao = Numero1 / Numero2;
Calcular ResultadoMultiplicacao = Numero1 * Numero2;    “Fim do processamento

Escreva “ O resultado da soma é”+ ResultadoSoma;                              “Saída de dados
Escreva “O resultado da subtração é” + ResultadoSubtracao;
Escreva “O resultado da divisão é” + ResultadoDivisão;
Escreva “O resultado da Multiplicação é” ResultadoMultiplicacao;

Fim.

O exercício acima poderia utilizar menos variáveis, mas o importante nesse momento é ser didático, e ainda não performático. 

        É importante também observar a ordem, entrada, processamento e saída. Poderiam ser feitas saídas assim que o processamento é feito e o resultado final seria o mesmo, mas isso pode tornar seu futuro código confuso. Imagine sempre que alguém irá dar manutenção nele, e nesse momento você não quer que ninguém lembre de sua mãe, rs.


No próximo post, irei pegar alguns exercícios um pouco mais complexos e resolve-los.

sábado, 6 de fevereiro de 2016

Comandos SE e ENQUANTO


Bom dia!

Hoje vamos conceituar os comandos SE e ENQUANTO nos nossos exercícios de português estruturado,para futuros algoritmos.

O comando SE representa uma decisão, sobre uma condição que pode ser verdadeiro ou falso. Exemplo:

SE está chovendo:
Pegar o guarda chuva; ( Condição verdadeira)
SENÃO;
Pegar o boné; ( Condição falsa)
FIMSE.

A estrutura em si é bem simples.

Comando ENQUANTO serve justamente para fazer o que o nome sugere: Enquanto determinada condição não for atingida( retorno falso) o programa/ algoritmo repetirá determinado bloco de instruções (até o comando FIM ENQUANTO). 

Quando a condição for verdadeira, o programa/algoritmo seguirá seu fluxo normalmente, não repetindo mais aquele bloco de instruções

 Exemplo: Lavar a louça;

Inicio. "Vamos delimitar o inicio e fim do programa
Ir a pia;

ENQUANTO existir louça suja.

Pegue um talher/copo/prato;
Lavar com a buchinha;
Enxaguar;
Secar;
Guardar;

FIMENQUANTO.  “Se ainda existir louça suja, volta para o comando enquanto. Se não, prossegue com os comandos abaixo.

Lavar a buchinha;
Secar a pia;
Fim.

Nas próximas postagens irei assimilar mais nossos exercícios com alguns algoritmos simples.