Olá pessoal,
Venho falar neste Post sobre um problema em que muitos alunos iniciantes em programação enfrentam durante o aprendizado sobre algoritmos, que é o de INTERPRETAR exercicíos de algoritmos. Existem números fatores que contribuem para tal dificuldade.
Bom, o objetivo desse Post é ensinar a INTERPRETAR exercícios de algoritmos através de dicas que vou mostrar daqui para frente.
Se lembrarmos a definição do significado da palavra ALGORITMO, consiste em um conjuto de passos finitios cujo objetivo é solucionar um determinado problema. Esse PROBLEMA é identificado através o enunciado do exercício que nós é fornecido para desenvolvermos o algoritmo. Vamos ver um exemplo aqui:
1) Fazer um programa em Java para LER um número e no final, MOSTRAR esse número na tela.”
Uma das coisas que precisamos analisar no enunciado são os VERBOS. Observe que eu destaquei os verbos do exercício EM NEGRITO, para facilitar a explicação.
Quando queremos fazer um programa para LER um número, significa que esse número será obtido por meio da leitura de dados VIA TECLADO, logo , precisamos fazer uso de um comando que obtém os dados via teclado. No algoritmo, o comando de leitura de dados via teclado é conhecido como LEIA.
Outro detalhe: Observe que foi pedido para se ler um número, mas não foi especificado qual tipo do número a ler lido, se é número inteiro ou fracionário, logo, qualquer tipo de número lido é valido para este exercício.
Se lermos o exercício acima , observe que após a leitura do número que pede para MOSTRAR o número lido na tela. Quando usamos o verbo MOSTRAR, significa que devemos exibir esse número lido na tela, por meio da instrução ESCREVA.
Se fizermos o programa, ele ficaria assim:
programa “numero”
var
num:inteiro
inicio
escreva(“Digite um número”)
leia(num)
escreva(“O numero digitado foi:”, num)
fim
Observe que eu preferi utilizar o tipo INTEIRO para a minha variável “num” mas, se quisesse, poderia utilizar o tipo REAL, para tipos fracionários, que o programa TAMBEM estaria correto.
Esse exercício poderia estar escrito de várias formas diferentes, conforme é mostrado abaixo:
– Desenvolver um programa para OBTER DO TECLADO um número e no final, IMPRIMIR esse número na tela.”
– Criar uma aplicação para LER DO TECLADO um número e depois APRESENTAR esse número na tela.”
Observem que foram dois enunciados escritos diferentes, porém, com a mesma finalidade.
Agora, observe esse enunciado:
1) Fazer um programa para LER um número INTEIRO e no final, MOSTRAR esse número na tela.”
Esse programa será o mesmo que o anterior mas, qual é o detalhe ? Observe eu o número a ler lido do teclado deverá ser um número INTEIRO, conforme foi explicado acima. Então, só podemos nesse trabalhar nesse programa com tipos inteiros.
Bom, vamos analisar o próximo enunciado:
2) Fazer um programa para LER dois número FRACIONÁRIOS e no final, MOSTRAR a soma dos dois números.”
Até aqui nenhum mistério. Os verbos do enunciado acima já foram explicados e você com certeza já consegue interpretar o exercício acima. Vamos lá, o programa acima pede a leitura de dois números fracionários, e no final, deve ser exibida na tela a soma dos dois números. Nesse programa haverá a existência de três variáveis do tipo REAL (para números fracionários): duas variáveis para armazenar os dois números lidos pelo teclado e uma variável para armazenar a soma dos dois números. O programa então ficará assim:
programa “soma numeros”
var
num1,num2,soma:real
inicio
escreva(“Digite dois numeros”)
leia(num1)
leia(num2)
soma <- num1 + num2
escreva(“A soma dos dois numeros é :”, soma)
fim
Agora vamos a um exercício mais interessante:
3) Fazer um programa que LEIA dos números inteiros e depois MOSTRAR ao usuário quatro opções de operações aritméticas : adição, subtração, multiplicação e divisão. Se o usuário escolheu adição, mostrar a soma dos dois números ; se escolheu subtração, mostrar a subtração dos dois números e assim sucessivamente.
Vamos lá, nesse programa está sendo pedido que sejam lidos dois números do teclado, pode ser tanto números inteiros quanto fracionários, pois no enunciado, não foi especificado qual tipo de número a ser lido. Até ai tudo bem. Depois, o programa precisa mostrar na tela quatro opções de operações aritméticas : adição, subtração, multiplicação e divisão. De acordo com a opção selecionada, efetuar a operação aritmética sobre os dois números lidos.
Se o programa mostra OPÇÕES NA TELA para que o usuário possa seleciona uma opção, é preciso criar uma TERCEIRA VARIÁVEL, que ira armazenar a opção selecionada. Também , será preciso criar mais uma variável que irá armazenar o resultado da operação sobre os dois números lidos sobre o teclado.
Como ficaria esse programa:
programa “calculadora”
var
num1,num2,res:inteiro
opcao: inteiro
inicio
escreva(“Digite dois numeros”)
leia(num1)
leia(num2)
escreva(‘Escolha sua opção”)
escreva(“1 – Adição”)
escreva(“2- Subtracao”)
escreva(“3 -Multiplicacao”)
escreva(“4 -Divisao”)
escreva(“Sua opcao:”)
leia(opcao)
escolha opcao
caso 1 : res <- num1 + num2
caso 2 : res <- num1 – num2
caso 3 : res <- num1 * num2
caso 4 : res <- num1 / num2
fim escolha
escreva(” resultado é “,res)
fim
Agora vamos ver um último exercício de algoritmo, esse é bem interessante e gostaria que, para quem tem dificuldade, siga o passo a passo que é explicado abaixo:
Algoritmo
1 – Obter o valor para a variável HT (Horas trabalhadas no mês)
2 – Obter o valor para a variável VH (Valor da hora trabalhada)
3 – Obter o valor para a variável PD (Percentual de desconto)
4 – Calcular o salário bruto (SB): SB = HT * VH;
5 – Calcular o total de desconto (TD): TD = (PD / 100) * SB;
6 – Calcular o salário líquido (SL): SL = SB – TD;
7 – Apresentar o valor do salário líquido:SL.
Vamos interpretar o enunciado acima. Observe que cada passo deve ser seguido EM ORDEM. A primeira que devemos fazer é :
1 – Obter o valor para a variável HT (Horas trabalhadas no mês)
Bom, “Obter valor para a variável HT”, significa ler do teclado um valor para a variável HT, que representa as horas trabalhadas no mês. Qual o tipo dessa variável ? Bom, essa variável irá armazenar as horas trabalhadas. Esse tipo de valor não pode ser FRACIONÁRIO, logo, o tipo dessa variável é INTEIRO.
2 – Obter o valor para a variável VH (Valor da hora trabalhada)
Como já foi explicado “Obter valor para a variável VT”, significa ler do teclado um valor para a variável VH, que representa o valor da hora trabalhada. Qual o tipo dessa variável ? Bom, essa variável irá armazenar um valor monetário, logo, esse tipo de valor é FRACIONÁRIO.
3 – Obter o valor para a variável PD (Percentual de desconto)
Qual o tipo dessa variável ? Bom, essa variável irá armazenar um valor percentual,que é normalmente um valor FRACIONÁRIO.
4 – Calcular o salário bruto (SB): SB = HT * VH;
Observe que o passo acima pede que seja efetuado o calculo do salário bruto (representado pela variável SB), informando também como é feito seu calculo.
5 – Calcular o total de desconto (TD): TD = (PD / 100) * SB;
Acima pede-se que seja efetuado o calculo do total de desconto (representado pela variável TD), informando também como é feito seu calculo.
6 – Calcular o salário líquido (SL): SL = SB – TD;
Acima pede-se que seja efetuado o calculo do salário líquido (representado pela variável SL), informando também como é feito seu calculo.
7 – Apresentar o valor do salário líquido:SL.
Acho que o passo acima já explica tudo.
Como ficaria o nosso programa ?
programa “salario”
var
ht,vh,pd,sb,sl,td : real
inicio
escreva(“Digite as horas trabalhadas”)
leia(ht)
escreva(“digite o valor da hora”)
leia(vh)
escreva(“Digite o precentual de desconto”)
leia(pd)
sb <- ht * vh
td <- ((sb / 100) * pd)
sl <- sb – td
escreva(“Salario líquido”, sl)
fim
Então pessoal, a dica para realizar os exercícios propostos de algoritmos, quaisquer que sejam, e seguir essas dicas que lhe mostrei que, com certeza, vocês não vão se perder no caminho.