1º TRABALHO DE CALCULO NUMÉRICO

7

Click here to load reader

Transcript of 1º TRABALHO DE CALCULO NUMÉRICO

Page 1: 1º TRABALHO DE CALCULO NUMÉRICO

CONVERSÃO DE BASE Trabalho apresentado ao Professor Giovane Christian Nunes como exigências da disciplina de Cálculo Numérico pelos discentes Karith Mesquita, Lincoln Barony, Lúcio Flávio e Marina Bornachi.

2012

Faculdade de Engenharia - FaEnge Universidade do Estado de Minas Gerais

05/09/2012

Page 2: 1º TRABALHO DE CALCULO NUMÉRICO

2

1. IMPLEMENTAR UM MÉTODO DE CONVERSÃO DE BASE DECIMAL

FRACIONÁRIA PARA BASE BINÁRIA E BINÁRIA FRACIONÁRIA PARA

DECIMAL.

#include <stdio.h>

#include <stdlib.h>

#include<conio.h>

main(){

{

int MENU;

printf("\n\t\t* * Escolha o tipo de Conversao * *\n");

printf("\t\t* *\n");

printf("\t\t* 0 - Sair *\n");

printf("\t\t* 1 - decimal para binario *\n");

printf("\t\t* 2 - binario para decimal *\n");

printf("\t\t* *\n");

printf("\t\t* * * * * * * * * * * * * * * * * * *\n");

printf("\n\t\t\tA opcao escolhida:");

scanf("%d",&MENU);

if(MENU!=0)

{

if(MENU==1)

{

printf("\nConversao de binario para decimal.\n\n");

float numero1, numero2, sobra, res=-1, x2=0.5, soma2=0, soma3;

int ptint1, ptint2, dgt1, dgt2, soma1=0, x1=1;

printf("Informe um numero Binario:\n");

scanf("%f", &numero1);

Page 3: 1º TRABALHO DE CALCULO NUMÉRICO

3

numero2 = numero1;

ptint1 = numero1;

sobra = numero1 - ptint1;

while(ptint1 >= 1){

dgt1 = ptint1%10;

ptint1 = ptint1/10;

soma1 = soma1 + dgt1 * x1;

x1 = x1 * 2;

}

while(res != 0){

numero2 = numero2 * 10;

ptint2 = numero2;

dgt2 = ptint2%10;

res = numero2 - ptint2;

soma2 = soma2 + dgt2 * x2;

x2 = x2 * 0.5;

}

soma3 = soma1 + soma2;

printf("%f\n", soma3);

system("PAUSE");

}

if(MENU==2)

{

printf("\nConversao de decimal para binario.\n\n");

int pi, pi2, vet1[100], vet2[100], i=0, cont1=-1, cont2=0;

float num, pf, aux;

Page 4: 1º TRABALHO DE CALCULO NUMÉRICO

4

printf("Informe um numero Decimal:\n");

scanf("%f", &num);

pi = num;

pi2 = pi;

pf = num - pi;

while(pi >= 1){

vet1[i] = pi%2;

pi = pi/2;

i++;

cont1 = cont1 + 1;

}

printf("%f \n", num);

if(pi2 == 0){

printf("0");

}

for(i = cont1; i >= 0; i--){

printf("%d", vet1[i]);

}

printf(",");

i=0;

while(pf != 0){

aux = pf * 2;

pi = aux;

pf = aux - pi;

vet2[i] = pi;

i++;

cont2 = cont2 + 1;

Page 5: 1º TRABALHO DE CALCULO NUMÉRICO

5

}

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

printf("resultado = %d\n", vet2[i]);

}

system("PAUSE");

}

else

{

printf("BYE BYE");

getchar();

}

}

}

}

2. CONVERTA OS SEGUINTES NÚMEROS DECIMAIS PARA SUA FORMA

BINÁRIA.

A) X = 37

37 / 2 = 16 resto 1

16/2 = 8 resto 0

8/2 = 4 resto 0

4/2 = 2 resto 0

2/2 = 1 resto 0

Logo o número 37 na base binária fica 1000001

B) Y = 2345

2345/2 = 1172 resto 1

1172/2 = 586 resto 0

586/2 = 293 resto 0

Page 6: 1º TRABALHO DE CALCULO NUMÉRICO

6

293/2 = 146 resto 1

146/2 = 73 resto 0

73/2 = 36 resto 1

36/2 = 18 resto 0

18/2 = 9 resto 0

9/2 = 4 resto 1

4/2 = 2 resto 0

2/2 = 1 resto 0

Logo o número 2345 na base binária fica 100100101001

C) Z = 0,1217

Primeiramente analisamos as casas antes da vírgula. O número zero na base binária também é zero.

0,1217 x 2 = 0,2434 primeira casa 0

0,2434 x 2 = 0,4868 primeira casa 0

0,4868 x 2 = 0,9736 primeira casa 0

0,9736 x 2 = 1,9472 primeira casa 1

0,9472 x 2 = 1,8944 primeira casa 1

0,8944 x 2 = 1,7888 primeira casa 1

0,788 x 2 = 1,5776 primeira casa 1

0,5776 x 2 = 1,1552 primeira casa 1

0,1552 x 2 = 0,3104 primeira casa 0

0,3104 x 2 = 0,6208 primeira casa 0

0,6208 x 2 = 1,2416 primeira casa 1

0,2416 x 2 = 0,4832 primeira casa 0

0,4832 x 2 = 0,9664 primeira casa 0

0,9664 x 2 = 1,9328 primeira casa 1

0,9328 x 2 = 1,8656 primeira casa 1

Provavelmente é uma dízima periódica, por isso encerrarei o processo por aqui, sendo assim a

representação de 0,1217 na base binária é 0,000111110010011

Page 7: 1º TRABALHO DE CALCULO NUMÉRICO

7

3. CONVERTA OS SEGUINTES NÚMEROS BINÁRIOS PARA BASE DECIMAL:

A) X = 101101

1 x 25 + 0 x 2

4 + 1 x 2³ + 1 x 2² + 0 x 2¹ + 1 x 2

0 = 32 + 0 + 8 + 4 + 0 + 1 = 45

B) Z = 0,1101

0 x 20 + 1 x 2

-1 + 1 x 2

-2 + 0 x 2

-2 + 1 x 2

-3 = 0 +

+

+ 0 +

= 0,875

C) Y = 110101011

1 x 28 + 1 x 2

7 + 0 x 2

6 + 1 x 2

5 + 0 x 2

4 + 1 x 2³ + 0 x 2² + 1 x 2

1 + 1 x 2

0 = 256 + 128 + 0 + 32 + 0 + 8 + 0 + 2

+ 1 = 427

D) W = 0,1111111

0 x 20 + 1 x 2

-1 + 1 x 2

-2 + 1 x 2

-3 + 1 x 2

-4 + 1 x 2

-5 + 1 x 2

-6 + 1 x 2

-7 = 0 +

+

+

+

+

+

+

=

0,9921875