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

Escreva um programa que receba apenas números positivos. Enquanto o usuário
digitar números positivos o programa funcionará. O programa encerra caso um
número negativo seja digitado. em C


cledersonbc: O enunciado pede apenas para armazenar números positivos e o programa encerra se for lido um número negativo.
cledersonbc: Perceba que não há tratamento para o ZERO que é nulo, então vou adaptar o algoritmo para receber números não-negativos em vez de números positivos. Converse com seu professor sobre isso
eguiberto: ok

Soluções para a tarefa

Respondido por cledersonbc
2
Teoria
Antes de escrever um programa é preciso criar um algoritmo. Perceba que há um laço de repetição aí, porque existe uma condição para o programa continuar solicitando números mas o mesmo aparentemente não irá tratá-los.
Precisaremos apenas de uma única variável do tipo real, que será para leitura. Perceba que existem números positivos tanto inteiros como fracionários, por isso uma variável do tipo real. +1,555 é real por exemplo.

Algoritmo
algoritmo "lepositivos"
var
   n: real
inicio
   n ←1.0 //a variável n deve ser inicializada com um valor não-negativo.

enquanto (n >= 0) faca
   escreva("Informe um valor positivo: ")
   leia(m)
fimenquanto
fimalgoritmo


Realize o Teste de Mesa no algoritmo com a Massa de Dados desejada. Se estiver tudo ok, então codifique o mesmo na linguagem C.

Código em C
#include <stdio.h>
#include <stdlib.h> //Se você usa Windows, deixe essa biblioteca

int main() {
   float n = 1.0; //Variável do tipo real de precisão simples

  while (n >= 0) {
       printf("\nInforme um valor positivo: ");
       scanf("%f", &n);
   }

   return 0;
}

Está aí.
Perguntas interessantes