11
FACULDADE ANHANGUERA DE TAUBATÉ – UNIDADE II ATIVIDADES PRÁTICAS SUPERVISIONADAS Programação Estruturada I 2º Bimestre / 2013 Curso: Ciência da Computação Semestre: 1º e 2º - Turma A – Ano: 2013 1

ATPS - Programação Estruturada I

Embed Size (px)

DESCRIPTION

etapas 3 e 4

Citation preview

Page 1: ATPS - Programação Estruturada I

FACULDADE ANHANGUERA DE TAUBATÉ – UNIDADE II

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Programação Estruturada I

2º Bimestre / 2013

Curso: Ciência da Computação

Semestre: 1º e 2º - Turma A – Ano: 2013

1

Page 2: ATPS - Programação Estruturada I

ETAPA 3.

Passo 4.

Redigir o relatório 4 – Algoritmos Avançados. Contendo a descrição das técnicas utilizadas para realizar as opções: Fatorial, Exponenciação e Raiz quadrada.

Fatorial.

A variável fat é inicializada como valor 1 e recebe-se do usuário o valor a ser calculado (num). Um laço for (), com decremento de 1, inicializa o seu contador (i) com o valor a ser calculado, que será decrementado a cada iteração. Na primeira iteração, a variável fat acumula seu valor atual, que é 1 multiplicado pelo valor da variável i. Nas demais iterações, fat acumula o produto do seu valor atual com o valor de i decrementado, até que i seja igual a 1.

Exponenciação.

Uso da função pow(a,b) da biblioteca <math.h>. É uma double, com a e b; também double. Por usar inteiros, fez uso da conversão (casting), como na figura 5 (A): (int)pow(2,10), fazendo uso da variável tipo “double”.

Raiz quadrada.

Uso da função sqrt() da biblioteca <math.h>, que calcula a raiz quadrada de um número, como na figura 5 (B): (int)sqrt(81), fazendo assim, a radiciação da variável (valor1).

2

Page 3: ATPS - Programação Estruturada I

ETAPA 4.

Passo 3.

Redigir o relatório 5 – Aplicativo Final. Contendo o código fonte e telas do aplicativo avançado, que utiliza as estruturas de iteração e as estruturas de dados compostas para complementar o aplicativo com as funcionalidades propostas nas etapas 3 e 4.

#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <conio.h>#include <string.h>

int main(){ system("color 1E"); system("title C A L C U L A D O R A");

char operation, binario[8]; int value1, value2, result, i, aux, sum; int binarioMap[8] = {128, 64, 32, 16, 8, 4, 2, 1}; double aux1, aux2;

while(operation != 'S') { printf("\t\t\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\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\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n\n"); printf("\t(+) - Soma\t\t(P) - Porcentagem\n"); printf("\t(-) - Subtracao\t\t(F) - Fatorial\n"); printf("\t(*) - Multiplicacao\t(B) - Conversao Binario -> Decimal\n"); printf("\t(/) - Divisao\t\t(D) - Conversao Decimal -> Binario\n"); printf("\t(E) - Exponenciacao\t(S) - Sair\n");

3

Page 4: ATPS - Programação Estruturada I

printf("\t(R) - Raiz Quadrada\n"); printf("\n\tOpcao: ");

operation = getche();

switch(operation = toupper(operation)) {

case '+' : printf("\n\n\tS O M A"); printf("\n\n\tPrimeiro valor: "); scanf("%d", &value1); printf("\tSegundo valor: "); scanf("%d", &value2);

result = value1 + value2;

printf("\n\t%d + %d = %d\n\n", value1, value2, result); break;

case '-' : printf("\n\n\tS U B T R A C A O"); printf("\n\n\tPrimeiro valor: "); scanf("%d", &value1); printf("\tSegundo valor: "); scanf("%d", &value2);

result = value1 - value2;

printf("\n\t%d - %d = %d\n\n", value1, value2, result); break;

case '*' : printf("\n\n\tM U L T I P L I C A C A O"); printf("\n\n\tPrimeiro valor: "); scanf("%d", &value1); printf("\tSegundo valor: "); scanf("%d", &value2);

4

Page 5: ATPS - Programação Estruturada I

result = value1 * value2;

printf("\n\t%d x %d = %d\n\n", value1, value2, result); break;

case '/' : printf("\n\n\tD I V I S A O"); printf("\n\n\tPrimeiro valor: "); scanf("%d", &value1); printf("\tSegundo valor: "); scanf("%d", &value2);

if (value2 == 0) { printf("\n\n\tErro divisao por zero\n\n"); break; }

result = value1 / value2;

printf("\n\t%d / %d = %d\n\n", value1, value2, result); break;

case 'E' : printf("\n\n\tE X P O N E N C I A C A O"); printf("\n\n\tBase: "); scanf("%d", &value1); printf("\tExpoente: "); scanf("%d", &value2);

result = value1;

for (i = 1; i < value2; i++) { result *= value1; }

printf("\n\t%d elevado a %d = %d\n\n", value1, value2, result); break;

case 'R' :

5

Page 6: ATPS - Programação Estruturada I

printf("\n\n\tR A I Z Q U A D R A D A"); printf("\n\n\tValor: "); scanf("%d", &value1); result=sqrt(value1); printf("\n\tRaiz quadrada de %d = %d\n\n\n", value1,result); break;

case 'P' : printf("\n\n\tP O R C E N T A G E N"); printf("\n\n\tValor: "); scanf("%d", &value1); printf("\tPorcentagem: "); scanf("%d", &value2);

result = (value1 * value2) / 100;

printf("\n\t%d %% de %d = %d\n\n", value2, value1, result); break;

case 'F' : printf("\n\n\tF A T O R I A L"); printf("\n\n\tValor: "); scanf("%d", &value1);

for (i = value1, result = 1; i > 1; i--) { result *= i; }

printf("\n\tO Fatorial de %d e = %d\n\n", value1, result); break;

case 'B' : printf("\n\n\tBINARIO PARA DECIMAL"); printf("\n\n\tDigite o numero binario (8 bits): "); scanf("%s", &binario);

result = 0;

for ( i = 0; i < 8; i++) {

6

Page 7: ATPS - Programação Estruturada I

if (binario[i] == '1') { result += binarioMap[i]; } }

printf("\n\tEquivalente em decimal = %d", result);

printf("\n\n");

break;

case 'D' : printf("\n\n\tDECIMAL PARA BINARIO"); printf("\n\n\tDigite o numero decimal (<256): "); scanf("%d", &value1);

result = value1;

for ( i = 0; i <= 7; i++) { if (result % 2 == 0) { binario[i] = '0'; } else { binario[i] = '1'; result /= 2; }

}

printf("\n\tEquivalente em binario = %d", result);

for ( i = 7; i >= 0; i--) { printf("%c", binario[i]); }

printf("\n\n");

7

Page 8: ATPS - Programação Estruturada I

break;

case 'S' : printf("\n\n\tPrograma finalizado\n\n"); break;

default: printf("\n\n\tOpcao invalida\n\n"); break; }

printf("\t"); system("pause"); system("cls");

}

return 0;}

8

Page 9: ATPS - Programação Estruturada I

Fonte de pesquisas.

https://docs.google.com/file/d/

0B114oKTDsLjnTTFQY0c1SWJvSGc/edit?usp=sha

ring

https://docs.google.com/file/d/

0B114oKTDsLjnQWQwYnhtWjFTLTA/edit?usp=s

haring

http://www.juliobattisti.com.br/tutoriais/katiaduarte/

cbasico006.asp

http://marceloweb.info/introdução-à-linguagem-c-

tutorial-i/

http://diegodonah.wordpress.com/2009/09/05/binario-

para-decimal/

9