• Nenhum resultado encontrado

E aí? Por onde começo?

No documento Programação 1 Linguagem C (UFRPE) (páginas 39-43)

Antes de destrinchar melhor a linguagem algorítmica, há uma questão que muitos alunos costumam me perguntar: quando eu vou construir um algoritmo, por onde eu começo? Bem, vou dar umas dicas que podem ser úteis para você nesse sentido.

1. Primeiro: antes de começar, tente entender o que o problema está pedindo. Como fazer isso? Leia o enunciado do problema com atenção, para tentar entender, em linhas gerais, o que está sendo pedido. Se você não entender o que o problema quer dizer, fatalmente vai construir o algoritmo errado que, provavelmente, não vai resolver o problema, não vai satisfazer

chegar ao lugar desejado (o objetivo). Se a pessoa dissesse para você dobrar na próxima rua à direita e você entendesse errado e dobrasse na próxima rua à esquerda, com certeza você não chegaria ao destino desejado, não é?

2. Segundo: leia novamente o problema para identificar as três fases de resolução do problema que são:

ENTRADA – o que você identificou que vai precisar que o usuário

ou alguém lhe informe? (via teclado, leitor de código de barras ou mouse). Ou seja, os valores de trabalho do algoritmo, o que precisa ser perguntado ao usuário. Normalmente, na descrição dos problemas elas aparecem, mais ou menos, assim:

• “Escreva um programa que recebe 2 notas de aluno e calcula a média aritmética delas.”

• “Escreva um algoritmo para ler o preço e a quantidade de um produto e calcula o preço a pagar pelo mesmo.”

• “Escreva um algoritmo para calcular o salário líquido de um funcionário, a partir do número de horas trabalhadas e da quantidade de dependentes. Sabe-se que o valor da hora é de 12 reais, que se recebe 40 reais por cada dependente e que é descontado um total de imposto de 12% do valor do salário bruto (salário sem descontos)”.

Você consegue identificar nos enunciados (descrições do problema) acima os valores que deverão ser fornecidos na entrada? Leia atentamente. Os valores estão indicados em itálico. Veja que é justamente o que você precisa ter para poder calcular o que o problema está pedindo. Por exemplo, no primeiro exemplo, você precisa das duas notas (entrada) para poder calcular a média solicitada. No segundo exemplo, você precisa do preço e da quantidade para calcular o valor a pagar. E, no último exemplo, você precisa do número de horas trabalhadas e da quantidade de dependentes para poder calcular o salário do funcionário. Qualquer dado que precise ser informado pelo usuário (por exemplo, através de digitação de valores) é considerado um dado de entrada.

PROCESSAMENTO - que tipo de cálculos serão necessários para

resolver o problema? Há alguma checagem a ser feita com os dados? Existe alguma decisão a ser tomada dentro do algoritmo? Existem

operações de processamento que precisarão ser realizadas mais de uma vez? Ou seja, o que é preciso fazer para que o algoritmo gere as saídas esperadas? Vejamos os mesmos exemplos anteriores.

• No primeiro exemplo, para calcular a média aritmética,

sabemos que o processamento é somar as duas notas e dividir por dois: (nota1 + nota2)/2

• No segundo exemplo, para calcular o valor a pagar, seria multiplicar o preço do produto, pela quantidade comprada: preço unitário x quantidade comprada

• O terceiro exemplo é o mais elaborado, pois precisaríamos fazer em mais de um passo o cálculo. Vamos lá! Se você reler o problema, teríamos que:

Para calcular o valor do salário bruto (só os ganhos da pessoa, sem os decontos), teríamos de multiplicar as horas trabalhadas pelo valor da hora fornecido (12 reais) e somar com a quantidade de dependentes, multiplicada pelo valor pago por dependente (fornecido como 40 reais). Dessa forma:

Salário bruto = (horas trabalhadas x 12) + (no. Dependentes * 4) Agora, para calcular o salário líquido, teríamos de descontar os impostos do salário bruto. O problema diz que é descontado do salário bruto, 12% de impostos . Dessa forma, ficaríamos com:

Salário líquido = salário bruto – ((12 * salário bruto)/100) • Um exemplo adicional de processamento seria “Leia um

número qualquer e diga se ele é maior ou menor que zero, imprimindo uma mensagem apropriada”. Nesse caso, o

processamento não seria calcular alguma coisa, mas sim fazer uma checagem (no caso se o número é maior ou menos que zero).

SAÍDA – quais os resultados que necessitarão ser

apresentados aos usuários? O que deve ser impresso pelo algoritmo na tela/monitor do computador? Geralmente, essa parte vem expressa no enunciado do problema, é o que o problema ta pedindo. Por exemplo, a saída do primeiro exemplo, é a média aritmética das notas. A saída do segundo

pode precisar, também, dar alguma mensagem. Por exemplo, naquele caso de checar se o número é maior ou menor que zero, você, provavelmente, precisaria escrever na tela “O número é maior do que zero” ou “o número é menor do que zero”. Isso também é saída

Identificadores

Identificadores são nomes únicos definidos pelos programadores para identificar/distinguir os elementos de um algoritmo, tais como: o nome do algoritmo, as constantes e as variáveis (essas duas últimas, veremos daqui a pouco o que são). Para definir esses nomes únicos, algumas regras devem ser seguidas:

• O nome do identificador deve sempre começar por uma letra (caractere alfabético). Ou seja, o primeiro caractere do nome deve ser uma letra.

• Depois, os outros caracteres depois do primeiro podem ser letras ou números.

• Não é permitido o uso de espaço em branco ou de caracteres especiais, tais como: @, #, &, *, -, +, ?, $, etc. O único

caractere especial permitido é o _ (subescrito). Por exemplo, nome_completo.

• Maiúsculas e minúsculas são consideradas letras iguais, logo a palavra Nome é igual a palavra nome.

• O nome dos identificadores não deve ter acentuação, nem fazer uso do cedilha (ç).

• O nome do identificador não pode ser igual a nenhuma palavra reservada da linguagem algorítmica.

• O nome deve ser significativo. Ou seja, deve expressar o valor que ele pretende representar. Por exemplo, um identificador chamado X, não diz nada. Você não terá a menor idéia do que valor está guardado nele. Porém um identificador chamado nota1, você sabe que, provavelmente, o valor guardado nesse identificador é o da primeira nota.

• Você não pode ter dois identificadores de mesmo nome dentro do algoritmo.

Baseados nessas regras, alguns exemplos de identificadores válidos, corretos, são: salario_minimo, nome, cpf, numeroChassi. Agora, alguns exemplos de identificadores inválidos, incorretos, com o problema apresentado entre parênteses:

• vm (o nome não é significativo)

• 13salario (identificador tem de começar por uma letra) • salárioR$, %desconto, km/h, (o nome do identificador não

poder ter símbolos especiais)

• horário, preço (não se deve usar acentuação ou cedilha) • valor total (o identificador não pode ter espaço em branco) • logico, passo, algoritmo (o nome do identificador não pode ser

uma palavra reservada)

No documento Programação 1 Linguagem C (UFRPE) (páginas 39-43)