Atps Programação Estruturada
Dissertações: Atps Programação Estruturada. Pesquise 862.000+ trabalhos acadêmicosPor: • 28/9/2013 • 3.364 Palavras (14 Páginas) • 1.023 Visualizações
SUMÁRIO
INTRODUÇÃO............................................................................................................4
Relatório 1 – Planejamento Inicial...........................................................................5
1.Menu........................................................................................................................5
2.Operação de Soma..................................................................................................5
3.Operação de Subtração...........................................................................................5
4.Operação de Multiplicação.......................................................................................6
5.Operação de Divisão................................................................................................6
6.Operação de Exponenciação...................................................................................6
7.Operação de Raiz Quadrada...................................................................................7
8.Operação de Porcentagem......................................................................................7
Relatório 2 – Comando System................................................................................7
Código do Aplicativo.................................................................................................8
Conclusão.................................................................................................................15
Referência Bibliográfica..........................................................................................16
INTRODUÇÃO
O desafio proposto pela Atividade Prática Supervisionada (ATPS), na disciplina de Programação Estruturada I, solicita a elaboração de um aplicativo para a realização de cálculos básicos (calculadora) nas primeiras etapas, e operações mais avançadas nas etapas posteriores.
Sem dúvida a matemática é indispensável para a resolução de problemas no dia-a-dia, portanto, o desenvolvimento de um aplicativo que facilite a realização de operações matemáticas é interessante.
No que respeito às aplicações da Matemática, o computador tem contribuído para alargar tremendamente o seu âmbito e o seu alcance, automatizando processos, constituindo um meio insubstituível para gerar, tratar e analisar dados e para tomar decisões. (PONTE e CANAVARRO, p.8, 1997)
Com a grande contribuição da informática, o aplicativo solicitado pelo desafio trabalha não só as operações matemáticas, mas também a lógica na programação em linguagem C, contribuindo grandemente para o aprendizado na estrutura de programação e no reconhecimento da importância da matemática.
PROGRAMAÇÃO ESTRUTURADA I
Relatório 1 - Planejamento Inicial
Abaixo serão apresentados os itens que farão parte do programa Calculadora. Os itens são: “Soma”, “Subtração”, “Multiplicação”, “Divisão”, “Exponenciação”, “Raiz Quadrada”, “Porcentagem” e “Sair”.
Itens
1 – Menu. 5 – Divisão.
2 – Soma. 6 – Exponenciação.
3 – Subtração 7 – Raiz Quadrada.
4 – Multiplicação. 8 – Porcentagem.
Abaixo o esboço do programa “Calculadora”, em uma descrição estruturada.
1 – Menu.
Variável: (operacao) do tipo “Char”.
Ações:
1. Apresentação de um menu com opções de fácil entendimento para o usuário (“Soma”, “Subtração”, “Multiplicação”, “Divisão”, “Exponenciação”, “Raiz Quadrada”, “Porcentagem” e “Sair”).
2. Receber a opção escolhida pelo usuário e armazenar na variável (operacao).
2 – Operação de Soma.
Variável: (num1; num2; resultado) do tipo “Float”.
Ações:
1. Solicitar ao usuário um valor e armazenar na variável (num1).
2. Solicitar ao usuário um segundo valor e armazenar na variável (num2).
3. É realizado um calculo de soma entre as variáveis (num1) e (num2) e armazenar o resultado na variável (resultado).
4. O valor dentro da variável (resultado) é impresso para o usuário.
3 – Operação de Subtração.
Variável: (num1; num2; resultado) do tipo “Float”.
Ações:
1. Solicitar ao usuário um valor e armazenar na variável (num1).
2. Solicitar ao usuário um segundo valor e armazenar na variável (num2).
3. É realizado um calculo de subtração entre as variáveis (num1) e (num2) e armazenar o resultado na variável (resultado).
4. O valor dentro da variável (resultado) é impresso para o usuário.
4 – Operação de Multiplicação.
Variável: (num1; num2; resultado) do tipo “Float”.
Ações:
1. Solicitar ao usuário um valor e armazenar na variável (num1).
2. Solicitar ao usuário um segundo valor e armazenar na variável (num2).
3. É realizado um calculo de multiplicação entre as variáveis (num1) e (num2) e armazenar o resultado na variável (resultado).
4. O valor dentro da variável (resultado) é impresso para o usuário.
5 – Operação de Divisão.
Variável: (num1; num2; resultado) do tipo “Float”.
Ações:
1. Solicitar ao usuário um valor e armazenar na variável (num1).
2. Solicitar ao usuário um segundo valor e armazenar na variável (num2).
3. Se nenhum dos valores dentro das variáveis (num1) e (num2) é 0 então é realizado um calculo de divisão entre as variáveis (num1) e (num2) e armazenar o resultado na variável (resultado).
4. O valor dentro da variável (resultado) é impresso para o usuário.
5. Se algum dos valores dentro das variáveis (num1) ou (num2) é 0 então é impresso na tela (- ERRO - Divisão por Zero.).
6 – Operação de Exponenciação.
Variável: (num1) do tipo “Float”. (num3) do tipo “Int”. (expoente) do tipo “Double”.
Ações:
1. Solicitar ao usuário um valor e armazenar na variável (num1).
2. Solicitar ao usuário um valor de expoente e armazenar na variável (num3).
3. É realizado um calculo de exponenciação entre as variáveis (num1) e (num3) e armazenar o resultado na variável (resultado).
4. O valor dentro da variável (resultado) é impresso para o usuário.
7 – Operação de Raiz Quadrada.
Variável: (num1; resultado) do tipo “Float”.
Ações:
1. Solicitar ao usuário um valor e armazenar na variável (num1).
2. É realizado um calculo com a função “sqrt” com a variável (num1) e armazenar o resultado na variável (resultado).
3. O valor dentro da variável (resultado) é impresso para o usuário.
8 – Operação de Porcentagem.
Variável: (num1; num2; resultado) do tipo “Float”.
Ações:
1. Solicitar ao usuário um valor e armazenar na variável (num1).
2. Solicitar ao usuário um segundo valor e armazenar na variável (num2).
3. É realizado um calculo de multiplicação entre as variáveis (num1) e (num2), e desse resultado dividir por 100. O resultado dessa função é armazenado na variável (resultado).
4. O valor dentro da variável (resultado) é impresso para o usuário.
Relatório 2 - Comando System( )
Abaixo uma listagem com o nome e descrições das funcionalidades utilizadas no programa, a fim de tornar o programa “Calculadora” mais atraente e amigável.
Comandos Descriçao
system(“pause”) Interrompe a continuação do programa, até o usuário pressionar qualquer tecla.
system(“cls”) Limpa a tela do programa.
system(“title”) Adiciona um titulo ao programa.
system(“color”) Adiciona cor ao fundo e as letras do programa.
CÓDIGO DO APLICATIVO (CALCULADORA)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
system("title Calculadora");
system("color 17");
char se;
se = '%';
// Aqui foram declaradas as variaveis utilizadas no programa.
float resultado, num1, num2;
/* As variaveis acimas foram usadas na funções de Soma, Subtração, Multiplicação, Divisão, Raiz Quadrada
e Porcentagem. As variaveis 'num1' e 'num2' recebem os valores digitados pelo usuario, enquando a variavel
resultado recebe o resultado da função matematica e imprimi ao usuario. */
char operacao;
// A Variavel acima foi usado com Switch para dar ao programa um Menu.
int num3;
// A Variavel acima foi usada na função Exponenciação. Ela recebe o valor digitado pelo usuario.
double expoente;
/* A Variavel acima foi usada na função Exponenciação. Ele recebe o resultado da função Exponenciação e
imprime para o usuario */
while (1)
/*A função acima permite um loop no programa. Permitindo o usuario usar novamente o programa sem a
necessidade de fechar e abrir novamente.*/
{
printf("\n\t\t-----------------------------------------");
printf("\n\t\t\t\tCALCULADORA");
printf("\n\t\t-----------------------------------------");
printf("\n\n\t[+] - SOMA [E] - EXPONENCIACAO");
printf("\n\t[-] - SUBTRACAO [R] - RAIZ QUADRADA");
printf("\n\t[*] - MULTIPLICACAO [P] - PORCENTAGEM");
printf("\n\t[/] - DIVISAO [S] - SAIR");
printf("\n\n\n - Entre com a opcao desejada: ");
// Entre as linhas 23 e 30 está o visual da calculadora, assim como instruções para o usuario.
operacao = getchar();
switch (operacao)
/* A Função Switch permite a interação do usuario com o menu. Entre cada um dos casos contem a função
que o usuario escolher. O usuario irá entrar com os valores desejados e o programa irá imprimir o
resultado. As função 'system("pause");' permite o usuario visualizar o resultado antes da função 'system("cls")
limpar a tela e iniciar novamente o programa.*/
{
case '+':
printf("\n\n\t S O M A");
printf("\n\n - Entre com o primeiro valor: ");
scanf("%f",&num1);
fflush(stdin);
printf("\n - Entre com o segundo valor: ");
scanf("%f",&num2);
fflush(stdin);
resultado = num1 + num2;
printf("\n\n - Resultado da soma entre os dois numeros: %.2f\n\n",resultado);
system("pause");
system("cls");
break;
case '-':
printf("\n\n\t S U B T R A C A O");
printf("\n\n - Entre com o primeiro valor: ");
scanf("%f",&num1);
fflush(stdin);
printf("\n - Entre com o segundo valor: ");
scanf("%f",&num2);
fflush(stdin);
resultado = num1 - num2;
printf("\n\n - Resultado da subtracao entre os dois numeros: %.2f\n\n",resultado);
system("pause");
system("cls");
break;
case '*':
printf("\n\n\t M U L T I P L I C A C A O");
printf("\n\n - Entre com o primeiro valor: ");
scanf("%f",&num1);
fflush(stdin);
printf("\n - Entre com o segundo valor: ");
scanf("%f",&num2);
fflush(stdin);
resultado = num1 * num2;
printf("\n\n - Resultado da multiplicacao entre os dois numeros: %.2f\n\n",resultado);
system("pause");
system("cls");
break;
case '/':
printf("\n\n\t D I V I S A O");
printf("\n\n - Entre com o primeiro valor: ");
scanf("%f",&num1);
fflush(stdin);
printf("\n - Entre com o segundo valor: ");
scanf("%f",&num2);
fflush(stdin);
if ( num2 == 0 || num1 == 0 )
{
printf("\n\n - ERRO - Divisao por Zero.\n\n");
}
else
{
resultado = num1 / num2;
printf("\n\n - Resultado da divisao entre os dois numeros: %.2f\n\n",resultado);
}
system("pause");
system("cls");
break;
case 'E':
case 'e':
printf("\n\n\t E X P O N E N C I A C A O");
printf("\n\n - Entre com a base: ");
scanf("%f",&num1);
fflush(stdin);
printf("\n - Entre com o expoente: ");
scanf("%d",&num3);
fflush(stdin);
expoente = pow(num1,num3);
printf("\n\n - Resultado: %.0f elevado a %d e %g.\n\n",num1,num3,expoente);
system("pause");
system("cls");
break;
case 'R':
case 'r':
printf("\n\n\t R A I Z Q U A D R A D A");
printf("\n\n - Entre com um valor: ");
scanf("%f",&num1);
fflush(stdin);
resultado = sqrt(num1);
printf("\n\n - A Raiz quadrada de %.0f e: %.2f.\n\n",num1,resultado);
system("pause");
system("cls");
break;
case 'P':
case 'p':
printf("\n\n\t P O R C E N T A G E M");
printf("\n\n - Entre com um valor: ");
scanf("%f",&num1);
fflush(stdin);
printf("\n - Entre com a porcentagem: ");
scanf("%f",&num2);
fflush(stdin);
resultado = num1 * num2 / 100;
printf("\n\n - Resultado: %.2f %c de %.2f = %.2f.\n\n",num2,se,num1,resultado);
system("pause");
system("cls");
break;
case 'S':
case 's':
return 0;
default:
printf("\n\n - ERRO - Opcao Invalida.\n\n");
system("pause");
fflush(stdin);
system("cls");
}
}
system("pause");
system("cls");
return 0;
}
CONCLUSÃO
O esboço do aplicativo apresenta as funções do menu que devem ser visualizadas pelo usuário, para então decidir qual operação deseja realizar. É apresentado também o passo a passo da realização de cada operação matemática, bem como as varáveis necessárias para o funcionamento e armazenamento dos resultados. No relatório 2 o comando system permite o melhoramento na aparência do aplicativo, como a escolha de cor de fundo e de letras, e oferece funcionalidades importantes na construção do aplicativo.
REFERÊNCIA BIBLIOGRÁFICA
MIZRAHI, Victorine Viviane. Treinamento em Linguagem C. PLT nº 706. 1ª ed. São Paulo: Pearson, 2007.
MODERADOR. Código C em Cores: Fórum Linha Defensiva. Disponível em: <www.linhadefensiva.org/forum/topic/132523-codigo-c-em-cores/> Acesso em: 21 de set. de 2013
PONTE, J. P., & CANAVARRO, P. (1997). Relação entre a Matemática e a Informática Lisboa. In: Matemática e novas tecnologias: Universidade Aberta, 1997. Disponível em: <http://www.matematica.pucminas.br/profs/web_silvi/calculo2/artigos/show_file.pdf> Acesso em: 22 de set. de 2013
SCHILD, Herbert. C Completo e Total. 3ªed. Tradução Roberto Carlos Mayer. São Paulo: Makron Books, 1996.
XAVIER, Denys William. Usando Comandos de Sistema MS-DOS. TIexpert.net. Disponível em: < http://www.tiexpert.net/programacao/c/usando-comandos-de-sistema-ms-dos.php > Acesso em: 21 de set. de 2013
...