image

Access unlimited bootcamps and 650+ courses forever

60
%OFF
Article image
Fernando Araujo
Fernando Araujo10/05/2023 12:33
Share

Codecamp - explicação sobre o desafio: Armazenamento de dados é vida

    Olá, dev,

    Esta publicação explica o básico para você resolver o desafio de código abaixo. Eu não vou dar aqui o código, mas apenas desenvolver um algoritmo adequado para a solução do problema, dar dicas de como o código pode ser completado a partir do algoritmo criado e do código já dado pala plataforma e resumir o conhecimento técnico básico da linguagem C para ajudar na codificação.

    Desafio: Armazenamento de dados é vida

    (o enunciado foi omitido, para economizar espaço na publicação.)

    Entrada: Dois valores inteiros positivos, representando a capacidade atual total em teraflops e o aumento percentual, separados por espaço.

    Saída: A nova capacidade total em teraflops.

    Exemplos: A tabela abaixo apresenta exemplos com alguns dados de entrada e suas respectivas saídas esperadas. Certifique-se de testar seu programa com esses exemplos e com outros casos possíveis.

    Entrada | Saída
    100 20  | 120
    50 10   | 55
    200 50  | 300
    

    Algoritmo para a solução

    Este é um caso simples de acréscimo de um percentual sobre um determinado valor inicial. São 2 valores inteiros, o inicial e o percentual.

    Portanto, os passos do algoritmo são:

    1.   Ler os 2 valores de entrada

    2.   Calcular quanto representa o percentual sobre o valor inicial

    3.   Somar o valor inicial ao valor calculado do percentual

    4.   Imprimir o valor inicial atualizado

    Código já oferecido

    No código oferecido pela plataforma, a entrada de dados é feita pela função scanf(), que lê os 2 valores inteiros e os atribui a duas variáveis (capacidadeAtual e aumentoPercentual), automaticamente.

    Código a ser completado pelo usuário

    O usuário só precisa calcular o valor do percentual aplicado ao valor inicial e somá-lo ao valor inicial.

    O percentual é igual ao aumentoPercentual dividido por 100, para transformar o aumento (inteiro) em uma percentagem (decimal);

    percentagem = aumentoPercentual/100;

    Depois, é preciso calcular quanto este percentual representa do valor inicial:

    valorAumento = valorAtual * percentagem

    Finalmente, basta adicionar este valor ao valor inicial:

    ValorNovaCapacidade = valorAtual + valorAumento.

    Para finalizar o programa, basta imprimir a nova capacidade.

    Explicação da Linguagem C

    Na linguagem C, os cálculos de uma operação aritmética são realizados da esquerda para a direita, respeitando-se as precedências de operações, logo, todos estes cálculos mostrados anteriormente podem ser realizados em apenas uma linha de cálculo, sem a necessidade de se criar cada variável dos cálculos intermediários.

    A divisão de 2 valores inteiros usando o operador (/) resulta em um valor inteiro, truncado. Para garantir que ele isso não ocorra, é preciso realizar uma divisão real, ou seja, com um dos 2 números sendo real, assim, é bom usar 100.0 ao invés de 100, no denominador.

    Na linguagem C, uma saída é feita pelo comando printf, que consiste no texto a ser impresso, do valor da variável e do nome da variável.

    Por exemplo, para imprimir uma variável (idade) com valor 25:

    Printf(“%d\n”, idade);  // imprime 25 
    Printf(“sua idade é: %d anos\n“, idade);  // imprime sua idade é: 25 anos
    

    O comando printf pode ter formatação para indicar o tipo de dado que será impresso, com um caractere específico, segundo a tabela a seguir, para os tipos de variáveis mais usados (embora haja outros):

    Tipo da variável | Caractere de formatação
    Caractere        | %c
    String           | %s
    Decimal          | %d
    Float            | %f
    Double           | %d
    

    Neste caso, a variável é inteira, portanto, o caractere de formatação é %d.

    Ao final da string de impressão, há um comando de quebra de linha (\n), que resulta no início da próxima impressão em uma nova linha. Caso ele não haja esse caractere, uma nova impressão começará na mesma linha, em seguida ao último caractere impresso pelo comando print anterior.

    Share
    Comments (2)
    Herton Andrade
    Herton Andrade - 16/03/2024 08:47

    Obrigado por sua explicação Mestre Fernando! Show!

    Luiz Café
    Luiz Café - 10/05/2023 22:37

    Uma explicação clara e muito útil para todos aqueles que desejam aprender uma linguagem tão importante como é a linguagem C. Ótima contribuição Fernando, parabéns.