Informática, perguntado por edilenemeira, 1 ano atrás


2ª QUESTÃO
Amanda quer fazer um programa em linguagem C, que leia um número inteiro qualquer e apresente a listagem desse número, menos ele mesmo, e cada um dos seus antecessores até 0. Observe o código-fonte abaixo e escolha a alternativa correta.

Soluções para a tarefa

Respondido por gustavofveloso
0
Olá!
Para responder a sua questão, iremos utilizar uma estrutura muito comum da linguagem C, os Laços de Repetição.

Para que servem os Laços de Repetição?

Os Laços de Repetição servem para automatizar, agilizar e otimizar o nosso código, fazendo com que determinada instrução seja repetida até que se atinja determinada condição.
Com ele também economizamos código escrito, pois iremos evitar de escrever o mesmo código uma série de vezes.

Estes laços são: for(), while(), do...while().

Neste exercício, iremos utilizar o laço de repetição for().

É possível utilizar qualquer um dos três laços para solucionar este problema, más há situações em que cada um deles é utilizado de maneira mais eficiente.

A Estrutura do Laço de Repetição FOR():

for(inicialização da variável; condição; incremento);

Inicialização da variável: Será a nossa variável inicial, que a cada incremento será comparada com a nossa condição.

Condição: É a condição de parada do laço de repetição, assim que essa condição for atingida, ou seja, assim que a nossa variável de inicialização atingir a condição, o laço será encerrado.

Incremento: É a quantidade de incremento que será feito a nossa variável de inicialização a cada iteração do laço de repetição.

É denominado iteração do laço de repetição cada bloco de instruções que forem executados dentro do nosso laço.
Assim que a última instrução for executada, dizemos que este laço completou uma iteração, então é feito um incremento e todo o bloco de instruções é executado novamente.

Agora vamos implementar o código que você pediu. Me acompanhe :) será muito mais simples do que parece.

Só uma dica: é importante sempre comentar os seus códigos para que possa facilitar a compreensão e a manutenção.

#include <stdio.h>

int main()
{
    int numero_qualquer;

    printf("Insira um número inteiro qualquer:  ");
    //Agora iremos utilizar o scanf para armazenar o valor inserido.
    scanf("%d", &numero_qualquer);
    //E o printf("\n") para quebrar uma linha, para a nossa saida ficar padronizada.
    printf("\n");

    int subtracoes;

    //Inicialização do laço de repetição:
    for(subtracoes = 1; subtracoes <= numero_qualquer; subtracoes++)
    {
        printf("%d", (numero_qualquer - subtracoes) );
        printf("\n");
    }

    return 0;
}

Prontinho!

Veja que a cada iteração do for() o valor subtração é acrescentado em +1 e em seguida é impresso na tela o número que o usuário imprimiu - o valor acumulado na variável "subtração".

Repare também que a nossa condição é "subtração <= numero_qualquer", ou seja, enquanto a variável subtração for menor ou igual ao número inserido pelo usuário, o laço de repetição será executado.

É isso :) espero poder ter lhe ajudado, qualquer dúvida pode me perguntar aqui.
Perguntas interessantes