Você está na página 1de 17

UNVERSDADE FEDERAL SO JOAO DEL-RE

CAMPUS ALTO PARAOPEBA


ENGENHARA DE TELECOMUNCAES
3 LSTA DE EXERCCOS - ALGORTMOS E ESTRUTURA DE DADOS
Antonio Martins de Araujo Neto
Ouro Branco
16/06/2014
1) Corrija os erros de compilao do cdigo abaixo:
Resposta:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int inteiro, variavel1 = 5;
float outra_variavel = 3.14;
char ch = 's', email = 'noname@example.com';
inteiro = 2 * variavel1 + 1;
if(ch == 's')
printf("sim\n");
else
printf("nao\n");
int i;
scanf("%d", &i);
while (i < 10)
printf("%d ", i++);
for (i = 0; i < 10; i++)
printf("aaa\n");
}
2) Corrija os erros de compilao do cdigo abaixo:
Resposta:
#include <stdio.h>
#include <stdlib.h>
int funcao1(int a)
{
int b = 0, c = 0, d = 0;
b = a % 2;
c = a * b;
d = (c * 2) + 1;
return d;
}
int main()
{
int variavel, res;
printf("Entre com o valor a calcular:\n");
scanf("%d", &variavel);
res = funcao1(variavel);
printf("O valor de x e: %d\n", res);
}
3) Crie uma funo que receba o valor de e calcule! f"x) # x$ % &x
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int funcao(int a)
{
int b = 0;
b = pow(a, 2) + (4 * a);
return b;
}
int main()
{
int variavel;
printf("Entre com o valor a calcular:\n");
scanf("%d", &variavel);
printf("O resultado da funcao de x^2 + 4.x eh: %d\n", funcao(variavel));
}
&) Crie uma funo que receba o valor de x e calcule:
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float funcao(float a)
{
float b = 0.0;
b = pow(2.718, 2*a) - pow(a,5) + (a - 2)/sin(a);
return b;
}
int main()
{
float variavel, res;
printf("Entre com o valor a calcular:\n");
scanf("%f", &variavel);
res = funcao(variavel);
printf("A funcao de e^2*x - x^5 + (x - 2)/sen(x) eh: %f\n", res);
}
') Crie uma funo que receba o valor de x e ( e calcule: f"x! () # x$ ) ($ % ':
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int funcao(int a, int b)
{
int c = 0;
c = pow(a, 2) - pow(b, 2) + 5;
return c;
}
int main()
{
int v1, v2, res;
printf("Entre com o valor de x:\n");
scanf("%d", &v1);
printf("Entre com o valor de y:\n");
scanf("%d", &v2);
res = funcao(v1, v2);
printf("O resultado da funcao x^2 - y^2 + 5 eh: %d\n", res);
}
*) +screva uma funo que receba o raio de uma esfera e retorne o seu volume
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float volume_esfera(float a)
{
float b = 0.0;
b = 1.3333333333333 * M_P * pow(a, 2);
return b;
}
int main()
{
float v1, res;
printf("Entre com o valor do raio:\n");
scanf("%f", &v1);
res = volume_esfera(v1);
printf("O volume eh = %f\n", res);
}
,) +screva uma funo que receba um ano a partir de -'.3 e determine em que
dia ser/ "ou foi) a p/scoa naquele ano0
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int pascoa(int ano)
{ int dia;
int a, b, c, d, e, k, m, n, p, q;
a = ano % 19, b = ano % 4, c = ano % 7, k = ano / 100;
q = (3 * k + 3)/4, p = (8 * k + 13)/25, m = (15 + q - p)%30;
d = (19 * a + m)%30, n = (4 + q)%7, e = (2 * b + 4 * c + 6 * d + n)%7 ;
if (d + e <= 9)
{ dia = 22 + d + e;
printf("Dia %d de ", dia);
printf("Marco\n");
} else if (d == 29 && e==6)
{
printf("Dia 19 de ");
printf("Abril\n");
} else if (d == 28 && e == 6 && a > 10)
{
printf("Dia 18 de ");
printf("Abril\n");
} else
{
dia = d + e -9;
printf("Dia %d de ", dia);
printf("Abril\n");
}
system("PAUSE");
return 0;
}
int main()
{
int ano;
printf("nsira o ano que deseja saber o dia da pascoa: \n");
scanf("%d", &ano);
while (ano < 1583)
{
printf("nsira o ano que deseja saber o dia da pascoa: \n");
scanf("%d", &ano);
} printf("%d", pascoa(ano));
return 0;
}
.) 1m n2mero 3 dito perfeito se ele 3 igual 4 soma de seus divisores!
excetuando ele prprio0 "+x0: * 3 perfeito! pois * # - % 2 % 3)0 +screva uma
funo que determine se um n2mero 3 perfeito0 +la deve retornar - em caso
verdadeiro! e 5ero caso contr/rio0
Resposta:
#include <stdio.h>
#include <stdlib.h>
int perfeito(int a)
{
int i, soma = 0;
for (i = 1; i <= a; i++)
{
while(i < a)
{
if(a % i == 0)
{
soma += i;
} i++;
}if (soma == a)
return 1;
else
return 0;
}
}
int main()
{
int n;
printf("Se o numero for perfeito, ou seja a soma de seus divisores eh igual a ele
mesmo, a saida eh 1, caso contrario a saida eh 0.\n\n");
printf("Qual o numero a verificar se eh perfeito?\n ");
scanf("%d", &n);
printf("%d", perfeito(n));
}
6) 7 expanso da s3rie de 8a(lor da funo e
x
em torno de a # 9 3 dada pela
frmula:
Crie uma funo que determine o valor de e
x
usando a s3rie de 8a(lor at3 a &
ordem0 Como exemplo! calcule o valor para x # 9! x # 902! e x # 903 e x # -0
Compare o resultado com o valor obtido pela funo exp em C e verifique o
erro obtido0
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float taylor(float x)
{
float a;
a = 1 + x + pow(x, 2)/2 + pow(x, 3)/6 + pow(x,4)/24;
return a;
}
int main()
{
float x;
printf("Entre com o valor a calcular a serie de taylor e^x: \n");
scanf("%f", &x);
printf("O resultado eh %f\n", taylor(x));
return 0;
}
X = 0 - sada: 1.000000
X = 0.2 - sada: 1.221400
X = 0.3 - sada: 1.349838
X = 1 - sada: 2.708333
Com a funo e
x
utilizando o valor de 2,718 ela ficam muito prximas uma da outra,
ou seja, o e
x
chega a aproximar-se demais da srie de Taylor, conforme mostram os
resultados acima.
-9) +m derivada o c/lculo de uma funo 3 definido como:
Crie uma funo em C que receba os valores de a e : e calcule a derivada da
funo f"x) # x
3
) 3
x
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float derivada(float a, float h)
{
float resultado;
resultado = (pow(a+h, 3) - pow(3, a + h)) - pow(a, 3) + pow (3,a)/h;
return resultado;
}
int main()
{
float a, h;
printf("Entre com os valor de a: \n");
scanf("%f", &a);
printf("Entre com os valor de h: \n");
scanf("%f", &h);
printf("%f\n", derivada(a, h));
return 0;
}
--) Corrija o erro do cdigo abaixo e escreva o que ele imprime na sa;da
"compile)o em C%%):
Resposta:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
void funcao1(int a)
{
a = 3;
}
void funcao2(int a)
{
a = 5;
}
int main()
{
int a = 2;
printf("%d\n", a);
funcao1(a);
printf("%d\n", a);
funcao2(a);
printf("%d\n", a);
funcao2(3);
}
<a;da:
2
2
2
-2) Crie uma funo recursiva que escreva os d;gitos de um n2mero0 =or
exemplo: +ntrada: *.60 <a;da: seis oito nove
Resposta:
#include <stdio.h>
#include <stdlib.h>
void escreve(int N)
{
if (N < 10)
{
switch(N)
{
case 1:
printf("um ");
break;
case 2:
printf("dois ");
break;
case 3:
printf("tres ");
break;
case 4:
printf("quatro ");
break;
case 5:
printf("cinco ");
break;
case 6:
printf("seis ");
break;
case 7:
printf("sete ");
break;
case 8:
printf("oito ");
break;
case 9:
printf("nove ");
break;
case 0:
printf("zero ");
break;
}
}
else
{
escreve(N/10);
int = N%10;
switch()
{
case 1:
printf("um ");
break;
case 2:
printf("dois ");
break;
case 3:
printf("tres ");
break;
case 4:
printf("quatro ");
break;
case 5:
printf("cinco ");
break;
case 6:
printf("seis ");
break;
case 7:
printf("sete ");
break;
case 8:
printf("oito ");
break;
case 9:
printf("nove ");
break;
case 0:
printf("zero ");
break;
}
}
}
int main()
{
int N;
printf("Entre como valor: ");
scanf("%d", &N);
escreve(N);
}
-3) Crie uma funo que preenc:a com n2meros aleatrios um vetor0 1tili5a as
fun>es rand e srand em C0
Resposta:
#include <stdio.h>
#include <stdlib.h>
#define LM 500
void imprime_vetor(int vetor[], int t)
{
int i;
for (i = 0; i < t; i++)
printf("%d ", vetor[i]);
printf("\n");
}
void vetor_aleatorio(int vetor[], int t)
{
int i, a;
printf("Entre com o valor semente: ");
scanf("%d", &a);
srand(a);
for (i = 0; i < t; i++)
{
int r = rand();
vetor[i] = r;
}
}
int main()
{
int vetor[LM], b;
while(b > LM);
{
printf("Entre com um tamanho valido do vetor: \n");
scanf("%d", &b);
}
vetor_aleatorio(vetor, b);
imprime_vetor(vetor, b);
return 0;
}
-&) Crie uma funo que preenc:a com n2meros aleatrios inteiros de 9 a -99
um vetor0
Resposta:
#include <stdio.h>
#include <stdlib.h>
void imprime_vetor(int vetor[], int t)
{
int i;
for (i = 0; i < t; i++)
printf("%d ", vetor[i]);
printf("\n");
}
void vetor_aleatorio(int vetor[], int t)
{
int i, a;
printf("Entre com o valor semente: ");
scanf("%d", &a);
srand(a);
for (i = 0; i < t; i++)
{
int r = rand();
while (r > 100)
r = rand();
vetor[i] = r;
}
}
int main()
{
int vetor[10];
vetor_aleatorio(vetor, 10);
imprime_vetor(vetor, 10);
return 0;
}
-') Crie uma funo que receba um vetor de n2meros inteiros de 9 a -99 e
some todos os n2meros pares0
Resposta:
#include <stdio.h>
#include <stdlib.h>
#define LM 500
void imprime_vetor(int vetor[], int t)
{
int i, soma = 0, j;
printf("\n");
for (i = 0; i < t; i++)
{ printf("%d ", vetor[i]);
} printf("\n");
for (j = 0; j < t; j++)
{
if(vetor[j]%2 == 0)
{ soma += vetor[j];
}
} printf("\nA Soma dos vetores pares eh: %d", soma);
}
void vetor_aleatorio(int vetor[], int t)
{
int i, a;
printf("Entre com o valor semente: ");
scanf("%d", &a);
srand(a);
for (i = 0; i < t; i++)
{
int r = rand();
while (r > 100)
r = rand();
vetor[i] = r;
}
}
int main()
{
int vetor[LM], b, j, soma = 0;
while(b > LM);
{
printf("Entre com um tamanho valido do vetor: ");
scanf("%d", &b);
printf("\n");
}
vetor_aleatorio(vetor, b);
imprime_vetor(vetor, b);
return 0;
}
-*) Crie uma funo que receba tr?s vetores u! v! e w! todos de taman:o 3 e
calcule o produto vetorial u # v x w
Resposta:
#include <stdio.h>
#include <stdlib.h>
void imprime_vetor(int vetor1[3], int vetor2[3], int vetor3[3])
{
int i;
printf("Vetor V: ");
for (i = 0; i < 3; i++)
{
printf("%d ", vetor1[i]);
}
printf("\n\n");
printf("Vetor W: ");
for (i = 0; i < 3; i++)
{
printf("%d ", vetor2[i]);
}
printf("\n\n");
printf("O produto de Vetor V x Vetor W = Vetor U\n\n");
printf("Vetor U: ");
for (i = 0; i < 3; i++)
{
printf("%d ", vetor3[i]);
}
}
void produto(int vetor1[3], int vetor2[3], int vetor3[3])
{
int i, a, b;
printf("Entre com o valor semente para escoha do valores do vetor1: ");
scanf("%d", &a);
srand(a);
for (i = 0; i < 3; i++)
{
int r = rand();
vetor1[i] = r;
}
printf("Entre com o valor semente para escoha do valores do vetor2: ");
scanf("%d", &b);
srand(b);
for (i = 0; i < 3; i++)
{
int r = rand();
vetor2[i] = r;
}
printf("\n");
for (i = 0; i < 3; i++)
{
vetor3[i] = vetor1[i] * vetor2[i];
}
}
int main()
{
int vetor1[3], vetor2[3], vetor3[3];
produto(vetor1, vetor2, vetor3);
imprime_vetor(vetor1, vetor2, vetor3);
return 0;
}
-,) Crie uma funo que receba dois vetores! um vetor de entrada! contendo
n2meros inteiros aleatrios e outro de sa;da0 +le deve conter os & maiores
valores presentes no vetor de entrada0
Resposta:
#include <stdio.h>
#include <stdlib.h>
#define LM 500
void imprime_vetor(int vetor[], int vetor2[], int t)
{
int i, j;
printf("Vetor 1: ");
for (i = 0; i < t; i++)
{
printf("%d ", vetor[i]);
}
printf("\n\n");
printf("Vetor 2: ");
for (j = 1; j < 5; j++)
{
printf("%d ", vetor2[j]);
}
}
void vetor_aleatorio2(int vetor1[], int vetor2[3], int t)
{
int i, a;
printf("Entre com o valor semente para escoha do valores: ");
scanf("%d", &a);
srand(a);
for (i = 0; i < t; i++)
{
int r = rand();
vetor1[i] = r;
}
vetor2[1] = vetor1[1];
printf("\n");
for (i = 0; i < t; i++)
{
if(vetor1[i] >= vetor2[1])
{
vetor2[2] = vetor2[1];
vetor2[1] = vetor1[i];
}
else if(vetor1[i] < vetor2[1] && vetor1[i] >= vetor2[2])
{
vetor2[3] = vetor2[2];
vetor2[2] = vetor1[i];
}
else if(vetor1[i] < vetor2[2] && vetor1[i] >= vetor2[3])
{
vetor2[4] = vetor2[3];
vetor2[3] = vetor1[i];
}
else if(vetor1[i] < vetor2[3] && vetor1[i] >= vetor2[4])
vetor2[4] = vetor1[i];
}
}
int main()
{
int vetor[LM], vetor2[4], b;
while(b > LM);
{
printf("Entre com um tamanho valido do vetor: ");
scanf("%d", &b);
printf("\n");
}
vetor_aleatorio2(vetor, vetor2, b);
imprime_vetor(vetor, vetor2, b);
return 0;
}
BBLOGRAFA
ASCENCO, Ana F. G. CAMPOS, Edilene A. V.. Fundamentos da Programao de
Computadores. 2 ed. So Paulo: Pearson Prentice Hall, 2007.
SOFFNER, Renato. Algoritmos e programao em linguagem C. 1 ed. - So Paulo:
Saraiva, 2013.