Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Algoritmo desenvolvido como solução ao problema apresentado em sala de aula na
- disciplina Matemática Discreta ministrada pelo professor André Almeida, onde
- o mesmo propôs que o Algoritmo de Divisibilidade fosse implementado em alguma
- línguagem de programação.
- Alunos:
- Dhian Kelson de Oliveira Leite
- Lucas Henrique Martins Soares
- Maria Eliana da Silva Holanda
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- main() {
- // Faz com que o prompt permita acentuações.
- setlocale(LC_ALL, "");
- /*
- As variáveis "dividendo" e "divisor" armazenam o valor informado pelo
- usuário até o fim da execução do programa.
- As variáveis "quociente" e "resto" serão calculadas à partir das variáveis
- "dividendo" e "divisor".
- A variável "temp" será usada para armazenar os valores que serão passados de
- uma variável a outra durante a execução.
- */
- int dividendo, divisor, quociente, resto, temp;
- // É usado para verificar se o usuário quer continuar a execução do pograma.
- char opcao;
- do {
- // Limpa a tela.
- system("cls");
- // Define a cor de fundo e da letra.
- system("color 1F");
- printf("\n\t\t######### Algoritmo da Divisibilidade #########\n\n\n");
- // Recebe e valida o primeiro algarismo.
- do {
- printf("\n Informe o primeiro algarismo: ");
- // Lê o valor informado pelo usuário.
- scanf("%d", ÷ndo);
- // Se o valor informado for igual a zero...
- if(dividendo == 0) {
- // Limpa a tela.
- system("cls");
- printf("\nO valor informado é menor ou igual a zero. \nTente novamente.\n");
- }
- // O laço repetirá enquanto o valor informado for igual a zero.
- } while((dividendo == 0));
- // Recebe e valida o segundo algarismo.
- do {
- printf("\n Informe o segundo algarismo: ");
- // Lê o valor informado pelo usuário.
- scanf("%d", &divisor);
- // Se o valor informado for igual a zero...
- if(divisor == 0) {
- // Limpa a tela.
- system("cls");
- printf("\nO valor informado é igual a zero. \nTente novamente.\n");
- }
- // O laço repetirá enquanto o valor informado for igual a zero.
- } while(divisor == 0);
- // Verifica se o divisor é maior que o dividendo.
- if (divisor > dividendo) {
- // Caso sim, inverte seus valores.
- temp = divisor;
- divisor = dividendo;
- dividendo = temp;
- }
- // Calcula o quociente.
- quociente = dividendo / divisor;
- // Calcula o resto.
- resto = dividendo % divisor;
- // Verifica se a expressão é realmente válida.
- if(dividendo == (divisor * quociente + resto)) {
- // Se sim, exibe os valores recebidos, calculados e a expressão.
- printf("\n\tQuociente = %d\n", quociente);
- printf("\tResto = %d\n", resto);
- printf("\n\tSeu Algorítmo de divisão é: \n\n\tD = d * q + r");
- // Verifica se o resto é igual a zero.
- if(resto == 0) {
- // Se não houver resto, exibe a expressão sem o resto.
- printf("\n\t%d = %d * %d", dividendo, divisor, quociente);
- printf("\n\n\t%d é múltiplo de %d!\n", dividendo, divisor);
- // Define a cor de fundo e da letra.
- system("color 2A");
- } else {
- // Se houver algum resto, exibe a expressão com o resto.
- printf("\n\t%d = %d * %d + %d\n\n", dividendo, divisor, quociente, resto);
- printf("\t%d não é divisível por %d.\n", dividendo, divisor);
- // Define a cor de fundo e da letra.
- system("color 4C");
- }
- } else {
- printf("\nNão foi possível calcular a igualdade!\n");
- }
- printf("\n Deseja continuar? (Pressione C e confirme): ");
- // Recebe a opção que o usuário deseja.
- scanf("%s", &opcao);
- // Repete enquanto o usuário informar "C" ou "c".
- } while((opcao == 'c') || (opcao == 'C'));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement