• Matéria: Informática
  • Autor: ilidiozefanias
  • Perguntado 3 anos atrás

Utilizando o comando while, faça um programa que receba um número n positivo e some-os desde 1 ate o número n digitado. Isto é, se n = 7, somar : 1+2+3+4+5+7+6.

Respostas

respondido por: ShinyComet
5

De acordo com a explicação abaixo, o código para realizar esta função será o seguinte:

n = int(input())

print("Valor Introduzido:", n)

if n <= 0:

 print("Por favor, introduza um valor inteiro positivo")

else:

 total_numbers = n

 sum = 0

 while n>0:

   sum += n

   n -= 1

 print("Soma:", sum)

Vamos entender o porquê?

Nota inicial: Uma vez que não está especificado em que liguagem o código deve ser apresentado, tomei a liberdade de o escrever em Python.

Vamos começar por analisar o que o código precisa de fazer:

1. - Usar um input do user

2. - Verificar se este é positivo, negativo ou nulo

3. - Se o número for negativo ou nulo, avisar o user de que só deve introduzir valores positivos

4. - Se o valor for positivo, fazer a soma dos termos de 1 até n

5. - Mostrar a soma

Com as etapas divididas, vamos tratar delas individualmente.

  • Usar um input do user

Para isto, podemos usar o código

n = int(input())

que vai pegar no valor que o user digitar e associá-lo à variável n.

Neste ponto, podemos mostrar ao user o valor que introduziu, usando o código

print("Valor Introduzido:", n)

  • Verificar se o valor é negativo ou nulo e avisar o user de que só deve introduzir valores positivos

Podemos fazer isto usando uma condição (função if). Para isso, usamos o código
if n <= 0:

 print("Por favor, introduza um valor inteiro positivo")

  • Verificar se o valor é positivo e prosseguir com a soma

Para isto, e como esta é a única situação que não cai no código anterior, podemos usar o código

else:

  • Calcular a soma propriamente dita

Agora que já só temos os valores positivos para n, podemos usar o comando while e criar um loop que faça a soma começando no valor de n e terminando em 0.

Para tal, podemos usar o seguinte código:

 while n>0:

   sum += n

   n -= 1

Este código faz o seguinte:

pega no nosso valor (n)

soma-o ao número inteiro que o antecede (n-1), se este for positivo

guarda o resultado

soma-o ao número que antecede o anterior (n-2), se este for positivo

e por aí em diante até que o termo a somar seja 0.

  • Apresentar o resultado ao user

Com os cálculos feitos, basta-nos usar o comando print associado ao resultado da soma:

print("Soma:", sum)

Desta forma, obtemos o seguinte código:

n = int(input())

print("Valor Introduzido:", n)

if n <= 0:

 print("Por favor, introduza um valor inteiro positivo")

else:

 total_numbers = n

 sum = 0

 while n>0:

   sum += n

   n -= 1

 print("Soma:", sum)

Podes ver mais exercícios com código em Python em:

  • https://brainly.com.br/tarefa/46781031
  • https://brainly.com.br/tarefa/33538717
Anexos:
Perguntas similares