Capitulo03 04 Exercicios
571 palavras
3 páginas
Estruturas de DadosExercícios – Capítulos 3 e 4
6/4/2006
(c) Dept. Informática - PUC-Rio
1
Questão 1
6/4/2006
(c) Dept. Informática - PUC-Rio
2
Questão 1
/* programa para calcular a série Harmônica */
#include <stdio.h>
/* Função auxiliar */ float harmonico (int n)
{
float s = 0.0; int i; for (i=1; i <=n; i++)
{s = s + 1.0/i;} return s;
}
6/4/2006
(c) Dept. Informática - PUC-Rio
3
Questão 1
/* Função principal */ int main (void)
{
int n; float t;
/* mostra mensagem para o usuário */ printf("Digite o número do termo desejado: ");
/* captura valor entrado via teclado */ scanf("%d",&n); /* chama a função */ t = harmonico(n);
/* exibe resultado */ printf("Valor do n-ésimo termo harmonico: %f\n", t); return 0;
}
6/4/2006
(c) Dept. Informática - PUC-Rio
4
Questão 1
• Erro de precisão:
/* programa para calcular a série Harmônica */
#include <stdio.h>
/* Função auxiliar */ float harmonico (int n)
{ float s = 0.0; int i; for (i=1; i <=n; i++)
{s = s + 1/i;} /* a expressão em vermelho retorna sempre 0 */ return s;
/* para i>1 pois será realizada sobre inteiros */
}
6/4/2006
(c) Dept. Informática - PUC-Rio
5
Questão 2
6/4/2006
(c) Dept. Informática - PUC-Rio
6
Questão 2
/* Programa para cálculo de PI pela fórmula de Leibnitz */
#include <stdio.h>
/* Função auxiliar */ float pi (int n)
{ float s = 0.0;
/* somatorio */ int num = -1;
/* numerador do somatorio */ int i;
/* contador de termos */ for (i=0; i<n; i++)
{
num = (-1)*num; s = s + (float)num/(float)(2*i+1);
}
return 4*s;
}
6/4/2006
(c) Dept. Informática - PUC-Rio
7
Questão 2
/* Função principal */ int main (void)
{
int n; float t;
/* mostra mensagem para o usuário */ printf("Digite o número do termo desejado: ");
/* captura valor entrado via teclado */ scanf("%d",&n); if (n<1)
{printf("Erro: numero de termos menor do que 1"); return 1;};
/* chama a função e exibe resultado */ printf("Valor de pi com n termos: %f\n", pi(n)); return 0;
}
6/4/2006
(c) Dept. Informática - PUC-Rio
8