Escolar Documentos
Profissional Documentos
Cultura Documentos
Neste trabalho esto expostas as sugestes de resoluo dos problemas apresentados pela
mestria, sendo utilizado o aprendizado obtido em sala de aula e pesquisas realizadas pelos
alunos. Para a concluso e confirmao da funcionalidade foram utilizados o software VisualG
e Dev C++.
SUMMARY
In this work are exposed suggestions for resolution of the problems presented by the mastery,
and used the knowledge gained in the classroom and research conducted by the students. For
completion and confirmation of functionality we used the software VisualG and Dev C++.
SUMRIO
1- Introduo: 13
2- Relatrio 1 Planejamento Inicial ................................................................. 14
2.1 Esboo do Programa em Portugus Estruturado .................................... 14
3- Relatrio 2 Comando system () .................................................................... 20
4- Relatrio 3 Aplicativo Bsico ...................................................................... 25
4.1 Cdigo Fonte.......................................................................................... 25
4.2 Apresentao de Telas ............................................................................ 31
5- Relatrio 4 Algoritmos Avanados .............................................................. 35
5.1 Fatorial .................................................................................................... 35
5.2 Exponenciao ........................................................................................ 35
5.3 Raiz Quadrada ........................................................................................ 36
6- Relatrio Final - Aplicativo: ............................................................................ 39
6.1 Cdigo Fonte do Aplicativo ................................................................... 39
6.2 Telas do Aplicativo ................................................................................ 46
7- Bibliografia ...................................................................................................... 59
8- Referencias ...................................................................................................... 59
1 - INTRODUO:
No contexto abaixo, sero apresentadas as sugestes para resoluo dos problemas sugeridos
na atividade de ATPS (Atividades Prticas Supervisionadas), da disciplina Programao
Estruturada I.
2 Relatrio 1 Planejamento Inicial
Para a soluo do problema apresentado, sero utilizadas as variveis abaixo, seguindo de um
esboo em portugus estruturado.
Opo * (Multiplicao):
Opo E (Exponenciao):
Foi criada uma funo chamada potencia para calcular a potencia de um numero inteiro
positivo. solicitado ao usurio que informe a base e o expoente, que so incrementados nas
variveis base e expoente respectivamente. Se o expoente for igual a 0 ento ser
incrementado o valor 1 na varivel resultado, pois todo nmero inteiro positivo elevado a 0
resulta em 1. Se o expoente for diferente de 0, a funo potencia ser chamada, e sero
passados os valores atravs das variveis base e expoente, para que ela possa efetuar o
calculo.
Na funo potencia a varivel resultado e inicializada com valor 1 que o elemento neutro da
multiplicao. Foi criado um lao com a funo do/while( ), que far o acumulo na varivel
resultado, o produto da multiplicao dasvariveis resultado e base.
Esta funo retorna o valor da exponenciao para a funo principal, atravs da varivel
resultado.
return binario;
}
//Funo que calcula a Raiz Quadrada com 2 poioes decimais
// utilizando o processo de subtrao dos impares.
float raiz_quadrada(float valorRaiz)
{
float resultado_1,subtrai_1,passo_1;
float resultado_2,subtrai_2,passo_2;
float resultado_3,subtrai_3,passo_3;
float raiz;
subtrai_1 = 1;
passo_1 = 0;
passo_2 = 0;
passo_3 = 0;
resultado_1 = valorRaiz;
}
}
}
else
{
passo_2 = 0;
passo_3 = 0;
}
raiz = ((passo_1 * 100) + (passo_2 * 10) + passo_3) / 100;
return raiz;
}
//Funo para calculo da Exponenciao
int potencia (int base,int expoente){
int resultado = 1;
do {
resultado *= base;
expoente--;
}while (expoente > 0);
return resultado;
}
//Funo Principal
int main(int argc, char *argv[])
{
int numero1, numero2, resultado, fat;
int base, expoente;
int binario[8];
float numeroPorcentagem,resultadoPorcentagem;float valorRaiz,resultadoRaiz;
char oper;
do
{
// Alterao do Ttulo na caixa
system("title Administrador: CALCULARODA V1.0");
// Alteao das cores
system("color 84");
// Construo do Menu Principal
printf("\t\t\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD");
printf("\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB\n");
printf("\t\t\t\xBA C A L C U L A D O R A \xBA\n");
printf("\t\t\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD");
printf("\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n");
printf("\n\n");
case '/':
printf("\n\n\tDIVISAO");
printf("\n\tPrimeiro valor: ");
scanf("%d", &numero1);
printf("\tSegundo valor: ");
scanf("%d", &numero2);
if(numero2 == 0)
{
printf("\tErro divisao por zero");
break;
}
resultado = numero1 / numero2;
printf("\n\t%d / %d = %d", numero1, numero2, resultado);
break;
// Operao Exponenciao
case 'e':
case 'E':
printf("\n\n\tEXPONENCIACAO");
printf("\n\n\tBase: ");
scanf("%d", &base);
printf("\tExpoente: ");
scanf("%d", &expoente);
if (expoente == 0){
resultado = 1;
}
else{
resultado = potencia(base,expoente);
}
printf("\n\t%d elevado a %d = %d", base, expoente, resultado);break;
// Operao Raiz Quadrada
case 'r':
case 'R':
printf("\n\n\tRAIZ QUADRADA");
printf("\n\n\tValor: ");
scanf("%f", &valorRaiz);
resultadoRaiz = raiz_quadrada(valorRaiz);
printf("\n\tRaiz quadrada de %.2f = %.2f", valorRaiz, resultadoRaiz);
break;
// Operao Porcentagem
case 'p':
case 'P':
printf("\n\n\tPORCENTAGEM");
printf("\n\n\tValor: ");
scanf("%d", &numero1);
printf("\tPorcentagem: ");
scanf("%d", &numero2);
resultado = (numero1 * numero2) / 100;
printf("\n\t%d %% de %d = %d", numero2, numero1, resultado);
break;
// Operao Fatorial
case 'f':
case 'F':
printf("\n\n\tFATORIAL");
printf("\n\n\tValor: ");
scanf("%d", &numero1);
resultado = fatorial(numero1);
printf("\n\tO fatorial de %d = %d", numero1, resultado);
break;
// Converso Binrio em Decimal
case 'b':
case 'B':
printf("\n\n\tBINARIO PARA DECIMAL");
printf("\n\n\tDigite o numero binario(8 bits): ");
scanf("%d", &numero1);
resultado = binario_decimal(numero1);
printf("\n\tEquivalente em Decimal: %d", resultado);
break;
// Converso Decimal em Binrio
case 'd':
case 'D':
printf("\n\n\tDECIMAL PARA BINARIO");printf("\n\n\tDigite o numero em decimal(256): ");
scanf("%d", &numero1);
resultado = decimal_binario(numero1);
printf("\n\tEquivalente em Binario: %d", resultado);
break;
// Saida do Sistema
case 's':
case 'S':
printf("\n\n\tPrograma finalizado");
break;
// Opes no previstas
default:
printf("\n\n\tOpcao Invalida");
}
printf("\n\n\t");
system("PAUSE");
system("cls || clear");
}while(oper != 'S' && oper != 's');
return 0;
}
Mensagem de Erro
7 - Bibliografia:
Livro: Treinamento em Linguagem C
Autor: Victorine Viviane Mizrahi
Editora: Person Patrice Hall
Livro: Fundamentos da Programao de Computadores: algoritmos, pascal e C/C++
Autores: Ana Fernanda Gomes Ascencio
Edilene Aparecida Veneruchi de Campos
Editora: Person Patrice Hall
8 - Referencias:
Utilizao do comando SYSTEM( )
https://docs.google.com/file/d/0B114oKTDsLjnQWQwYnhtWjFTLTA/edit?pli=1
Resoluo da Raiz Quadrada, disponvel:
http://pt.wikipedia.org/wiki/Raiz_quadrada
Resoluo da Exponenciao, disponvel:
http://www.assimsefaz.com.br/sabercomo/como-calcular-exponenci