Академический Документы
Профессиональный Документы
Культура Документы
RIO CLARO SP
06/06/2015
Etapa 1
1. Relatrio 1 Planejamento inicial
1.1 - Esboo do programa
Item 1: Menu principal.
Varivel: op do tipo caractere.
Aes:
1. Apresentar na tela as opes do aplicativo bsico. (Soma, Subtrao,
Multiplicao, Diviso, Exponenciao, Raiz Quadrada, Porcentagem e Sair).
2. Receber a opo e armazenar (op).
Item 5: Exponenciao.
Variveis: val1, val2 do tipo inteiro e resDouble do tipo double.
Aes:
1. Solicitar e armazenar o primeiro valor (val1).
2. Solicitar e armazenar o segundo valor (val2).
3. Realizar o clculo e armazenar o resultado (resDouble).
4. Apresentar o resultado na tela (resDouble).
Item 6: Sair.
Aes:
Apenas executa a sada do Programa.
Etapa 2
3. Relatrio 3 Aplicativo Bsico
3.1 - Cdigo Fonte do aplicativo
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
#include <math.h>
int main() {
// Declarao das variveis necessrias para a execuo do Aplicativo
char op;
int val1, val2, res;
float resFloat;
double resDouble;
\xBA\n");
C A L C U L A D O R A \xBA\n");
printf("\t\t\xBA
\xBA\n");
printf("\t\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\x
CD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n");
// Apresentao do Menu de Operaes
printf("\n\n\t\t(+) - Soma");
printf("\n\t\t(-) - Subtracao");
printf("\n\t\t(*) - Multiplicacao");
printf("\n\t\t(/) - Divisao");
printf("\n\t\t(E) - Exponenciacao");
printf("\n\t\t(R) - Raiz quadrada");
printf("\n\t\t(P) - Porcentagem");
printf("\n\t\t(S) - Sair");
printf("\n\t\tOpcao:");
// Armazena a tecla digitada pelo Usurio
op = getch();
// Exibe na tela a Tecla digitada pelo Usurio
printf("%c", op);
// Tranforma a tecla digitada para caracter maisculo para comparao
op = toupper(op);
// Realiza o teste para saber qual tecla (opo) foi escolhida
switch (op) {
system("cls");
// Limpa a tela
system("title ** Operao Soma **");
// Altera o titulo da Janela do Aplicativo
system("color 05");
// Altera a cor do texto do aplicativo
printf("\n\n\n\t\tSOMA");
// Mostra na tela o texo "SOMA"
printf("\n\n\t\tPrimeiro Valor: ");
scanf("%d", &val1);
// Armazena o texto digitado pelo Usurio
printf("\n\t\tSegundo Valor: ");
scanf("%d", &val2);
res = val1 + val2;
// Realiza a soma dos valores
printf("\n\n\t\t%d + %d = %d \n\n", val1, val2, res);
break;
/* Operao Subtrao, disparada pela processamento do caracter '-'.
Recebe os valores do Usurio, realiza o calculo
e apresenta o resultado na tela
*/
case '-':
system("cls");
system("cls");
system("title ** Operao Multiplicao **");
system("color 08");
printf("\n\n\n\t\tMULTIPILCACAO");
printf("\n\n\t\tPrimeiro Valor: ");
scanf("%d", &val1);
printf("\n\n\t\tSegundo Valor: ");
scanf("%d", &val2);
res = val1 * val2;
printf("\n\n\t\t%d * %d = %d \n\n", val1, val2, res);
break;
/* Operao Diviso, disparada pela processamento do caracter '/'.
Recebe os valores do Usurio, realiza o calculo
e apresenta o resultado na tela
*/
case '/':
system("cls");
system("title ** Operao Diviso **");
system("color 09");
printf("\n\n\n\t\tDIVISAO");
printf("\n\n\t\tPrimeiro Valor: ");
scanf("%d", &val1);
printf("\n\t\tSegundo Valor: ");
scanf("%d", &val2);
system("cls");
system("title ** Operao Exponenciao **");
system("color 01");
printf("\n\n\n\t\tEXPONENCIACAO");
printf("\n\n\t\tBase: ");
scanf("%d", &val1);
printf("\n\n\t\tExpoente: ");
scanf("%d", &val2);
resDouble = (pow(val1, val2));
printf("\n\n\t\t%d elevado a %d = %g \n\n", val1, val2, resDouble);
break;
/* Opero Raiz Quadrada, disparada pela processamento do caracter 'R'.
Recebe os valores do Usurio, realiza o calculo
e apresenta o resultado na tela
case 'R':
system("cls");
resFloat = sqrt(val1);
printf("\n\t\tRaiz Quadrada de %d = %1.0f \n\n", val1, resFloat);
break;
/* Opero Porcentagem, disparada pela processamento do caracter 'P'.
Recebe os valores do Usurio, realiza o calculo
e apresenta o resultado na tela
*/
case 'P':
system("cls");
system("title ** Operao Porcentagem **");
system("color 06");
printf("\n\n\n\t\tPORCENTAGEM");
printf("\n\n\t\tValor: ");
scanf("%d", &val1);
printf("\n\t\tPorcentagem: ");
scanf("%d", &val2);
resFloat = (val1 * val2 / 100);
printf("\n\n\t\t%d %% de %d = %1.0f \n\n", val2, val1, resFloat);
break;
/* Opero que realiza a sada do programa, disparada pela processamento do
caracter 'S'
*/
case 'S':
system("cls");
printf("\n\n\t\tPrograma Finalizado\n\n");
break;
/* Operao invlida, disparada quando nenhuma das opes acima so digitadas */
default:
system("cls");
printf("\n\n\t\tOpcao Invalida\n\n");
break;
}
// Espera por um comando a ser digitado para finaliazar o programa
system("pause");
Etapa 3
Relatrio 4 Algortimos Avanados
Item: fatorial.
Varivel: val1, i, res, do tipo inteiro.
Descrio: A varivel i inicializada como valor 1 e recebe-se do usurio o
valor a ser calculado (val1). Um lao for(), com decremento de 1, inicializa o seu
contador (i) com o valor a ser calculado, que ser decrementado a cada iterao. Na
primeira iterao a varivel val1 acumula seu valor atual, que 1 multiplicado pela
valor da varivel i. Nas demais iteraes, val1 acumula o produto do seu valor atual
com o valor de i decrementado, at que i seja igual a 1.
Item: Exponenciao
Varivel: val1, val2, i, do tipo inteiro
resDouble, do tipo double
Descrio: a varivel val1 recebe do usurio o valor da base, enquanto val2
recebe o valor do expoente. Inicia-se o lao for(), com a varivel i recebendo o valor 1,
e repetindo, recebendo o acrssimo de 1 a cada volta (i++) enquanto i seja menor ou
igual varivel val2. Dentro deste lao, resDouble recebe seu valor atual multiplicado
por val1. No fim do lao, o resultado estar armazenado em resDouble.
Descrio: val1 recebe o valor do nmero a ser encontrada sua raiz quadrada.
resFloat, recebe val1. Inicia-se um lao aparentemente em looping infinito onde
resFloat recebera o resultado da seguinte expresso: (resFloat/2) + (val1/
(2*resFloat)).
Dentro deste lao, uma condio if() far o papel de finaliza-lo com o comando
break, nesta etapa entra a varivel tempResFloat que receber o valor que determina o
fim do lao. Este valor ser quando a resFloat for igual a tempResFloat, ou seja, imita
o padro resposta de uma raiz, onde um nmero vezes ele mesmo seria igual ao
nmero do qual estamos encontrando a raiz quadrada.
Etapa 4
Relatrio 5 Aplicativo Final
5.1 Cdigo fonte do aplicativo
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
int main() {
// Declarao das variaveis necessrias para a execuo do Aplicativo
char op;
int dec=0, d=1;
int val1, val2, res;
float resFloat, tempResFloat = 0;
double resDouble;
char binario[8];
system("color 1e");
system ("title Calculadora v1.0");
do {
// Responsvel por montar o Quadrado na parte Superior da tela do aplicativo
printf("\t\t\xC9");
for(int i = 1; i < 40; i++) {
printf("\xCD");
}
printf("\xBB\n");
printf("\t\t\xBA
printf("\t\t\xBA
\t\xBA\n");
CALCULADORA
printf("\t\t\xBA
\t\xBA\n");
printf("\t\t\xC8");
for(int i = 1; i < 40; i++) {
printf("\xCD");
}
printf("\xBC\n");
// Apresentao do Menu de Operaes
printf("\n\t(+) - Soma");
printf("\t\t\t(P) - Porcentagem");
printf("\n\t(-) - Subtracao");
printf("\t\t\t(F) - Fatorial");
printf("\n\t(*) - Multiplicacao");
printf("\t\t(B) - Conversor Binario > Decimal");
printf("\n\t(/) - Divisao");
printf("\t\t\t(D) - Conversor Decimal > Binario");
printf("\n\t(E) - Exponenciacao");
printf("\t\t(S) - Sair");
printf("\n\t(R) - Raiz quadrada");
\t\xBA\n");
printf("\n\n\tOpcao:");
// Armazena a tecla digitada pelo Usurio
op = getch();
// Exibe na tela a Tecla digitada pelo Usurio
printf("%c", op);
// Tranforma a tecla digitada para caracter maisculo para comparao
op = toupper(op);
// Realiza o teste para saber qual tecla (opo) foi escolhida
switch (op) {
/* Opero soma disparada, pela processamento do caracter '+'. Recebe os valores do
Usurio, realiza o calculo e apresenta o resultado na tela
*/
case '+':
case 'F':
resFloat);
}
break;
/* Opero E,xponenciao disparada pela processamento do caracter 'E'.
Recebe os valores do Usurio, realiza o calculo e apresenta o resultado na tela
*/
case 'E':
printf("\n\n\tExpoente: ");
scanf("%d", &val2);
resDouble = 1;
for(int i = 1; i <= val2; i++) {
resDouble = resDouble * val1;
}
printf("\n\n\t%d elevado a %d = %g \n\n", val1, val2, resDouble);
break;
/* Opero Raiz Quadrada, disparada pela processamento do caracter 'R'.
Recebe os valores do Usurio, realiza o calculo e apresenta o resultado na tela
*/
case 'R':
if(resFloat == tempResFloat) {
break;
}
tempResFloat = resFloat;
}
printf("\n\tRaiz Quadrada de %d = %1.2f \n\n", val1, resFloat);
break;
do {
dec = dec+(val1%10)*d;
d = d*2;
val1 = val1/10;
} while(val1!=0);
printf("\n\n\tEquivalente em Decimal: %d", dec);
break;
system("cls");
printf("\n\n\tPrograma Finalizado\n\n");
break;
/* Operao invlida, disparada quando nenhuma das opes acima so digitadas */
default:
printf("\n\n\tOpcao Invalida\n\n");
break;
}
// Espera por um comando a ser digitado para finaliazar o programa
getch();
system("cls");
} while (op != 'S');
}
fig. 1
fig. 2
fig.3
Bibliografa: