Problema 1
Entrada: dois números naturais A e B informados pelo usuário
Saída: Se A for maior que B:
Informar se A é divisível por B (A/B?)
Senao:
Informar todos os múltiplos de A de zero até B
Solução:
- Linguagem natural
- Pseudocodigo
- Código fonte em C
Linguagem natural
1) Solicitar do usuário dois numeros naturais (A e B)
2) Ler as duas entradas (A e B)
3) Se A for maior que B
3.1) Calcular o resto da divisão de A por B
3.2) Se o resto for zero
3.2.1) Informar que B divide A
3.3) Senão
3.3.1) Informar que B NÃO divide A
4) Senao (A é menor ou igual a B)
4.1) Para cada número de zero até B de A em A
4.1.1) Exibir o número
Ex: A=8, B=3-> testar se A é divisível por B -> não é divisivel (8 MOD 3 != 0)
Ex: A=5, B=34-> listar os multiplos de A de zero até B -> 0, 5, 10, 15 ... 30
Pseudocódigo
algoritmo "semnome"
// Função :
// Autor :
// Data : 28/10/2015
// Seção de Declarações
var
a, b, c, r: inteiro
inicio
// Seção de Comandos
escreval("Digite dois numeros naturais:")
leia(a)
leia(b)
se a > b entao // a maior que b
r <- a mod b // resto da div. de a por b
se r = 0 entao
escreval("B divide A")
senao
escreval("B NAO divide A")
fimse
senao // a menor ou igual a b
para c de 0 ate B passo a faca
escreval(c)
fimpara
fimse
fimalgoritmo
Código Fonte em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
// variaveis
int a, b, c, r;
// entrada
printf("Digite dois números inteiros:");
scanf("%d %d", &a, &b);
// processamento
if (a > b){
r = a % b; // modulo
if (r == 0){
printf("B divide A\n");
} else {
printf("B NAO divide A\n");
}
} else{
for (c = 0; c <= b; c = c + a){
printf("%d\n", c);
}
}
system("PAUSE");
return 0;
}
Nenhum comentário:
Postar um comentário