introdução à linguagem c - departamento de físicaarosas/fisicacomputacional/aula01... ·...
TRANSCRIPT
VariáveisEstruturas de controle
OperadoresRepresentando números
Introdução à Linguagem C
Alexandre Rosas
Departamento de FísicaUniversidade Federal da Paraíba
26 de Março de 2009
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Tipos de dados
Constantes, variáveis, resultados de funções.Declaração: tipo_de_dado nome
int k;→ Define k como inteirodouble x;→ Define x como realdouble f(int x);→ f é função que recebe um inteiroe retorna um realchar nome[100];→ Define nome como um array de100 caracteres (string)
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Tipos de dados
Constantes, variáveis, resultados de funções.Declaração: tipo_de_dado nome
int k;→ Define k como inteirodouble x;→ Define x como realdouble f(int x);→ f é função que recebe um inteiroe retorna um realchar nome[100];→ Define nome como um array de100 caracteres (string)
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Tipos de dados
Constantes, variáveis, resultados de funções.Declaração: tipo_de_dado nome
int k;→ Define k como inteirodouble x;→ Define x como realdouble f(int x);→ f é função que recebe um inteiroe retorna um realchar nome[100];→ Define nome como um array de100 caracteres (string)
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Variáveis: tamanho e intervalo de validade
Tipo de dado Bits Intervalo de validadechar 1 -128 a 127
unsigned char 1 0 a 255int 4 -2147483648 a 2147483647
unsigned int 4 0 a 4294967295short int 2 -32768 a 32767
unsigned short 2 0 a 65535long int 4 -2147483648 a 2147483647
unsigned long 4 0 a 4294967295float 4 1.17549× 10−38 a 3.40282× 10+38
double 8 2.22507× 10−308 a 1.79769× 10+308
long double 12 3.362103× 10−4932 a 1.189731× 10+4932
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros
Variável que contem o endereço de um dadoEm contraposição ao valor do dado
int *ponteiro
endereço de memória
int inteiro
valor
ponteiro = &inteiro
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros
Variável que contem o endereço de um dadoEm contraposição ao valor do dado
int *ponteiro
endereço de memória
int inteiro
valor
ponteiro = &inteiro
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros
Variável que contem o endereço de um dadoEm contraposição ao valor do dado
int *ponteiro
endereço de memória
int inteiro
valor
ponteiro = &inteiro
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros
Variável que contem o endereço de um dadoEm contraposição ao valor do dado
int *ponteiro
endereço de memória
int inteiro
valor
ponteiro = &inteiro
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros
Variável que contem o endereço de um dadoEm contraposição ao valor do dado
int *ponteiro
endereço de memória
int inteiro
valor
ponteiro = &inteiro
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Os operadores * e &
inteiro é o valor de inteiro
& inteiro é o endereço de inteiro
ponteiro é o valor de ponteiro (i.e. endereço deinteiro)
* ponteiro é o valor apontado por ponteiro (i.e. valorde inteiro)
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Os operadores * e &
inteiro é o valor de inteiro
& inteiro é o endereço de inteiro
ponteiro é o valor de ponteiro (i.e. endereço deinteiro)
* ponteiro é o valor apontado por ponteiro (i.e. valorde inteiro)
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Os operadores * e &
inteiro é o valor de inteiro
& inteiro é o endereço de inteiro
ponteiro é o valor de ponteiro (i.e. endereço deinteiro)
* ponteiro é o valor apontado por ponteiro (i.e. valorde inteiro)
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Os operadores * e &
inteiro é o valor de inteiro
& inteiro é o endereço de inteiro
ponteiro é o valor de ponteiro (i.e. endereço deinteiro)
* ponteiro é o valor apontado por ponteiro (i.e. valorde inteiro)
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros são variáveis
int inteiro1=1, inteiro2=2;int *ponteiro;ponteiro = & inteiro1;ponteiro = & inteiro2;
define inteirosdefine ponteiro*ponteiro =1
*ponteiro =2
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros são variáveis
int inteiro1=1, inteiro2=2;int *ponteiro;ponteiro = & inteiro1;ponteiro = & inteiro2;
define inteirosdefine ponteiro*ponteiro =1
*ponteiro =2
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros são variáveis
int inteiro1=1, inteiro2=2;int *ponteiro;ponteiro = & inteiro1;ponteiro = & inteiro2;
define inteirosdefine ponteiro*ponteiro =1
*ponteiro =2
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros são variáveis
int inteiro1=1, inteiro2=2;int *ponteiro;ponteiro = & inteiro1;ponteiro = & inteiro2;
define inteirosdefine ponteiro*ponteiro =1
*ponteiro =2
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Ponteiros são variáveis
int inteiro1=1, inteiro2=2;int *ponteiro;ponteiro = & inteiro1;ponteiro = & inteiro2;
define inteirosdefine ponteiro*ponteiro =1
*ponteiro =2
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Matrizes
Definição: int inteiros[100]char string[50] double real[50][50]Em C, o primeiro elemento de uma matriz é o [0]Matrizes são ponteiros constantesseu valor pode mudar, seu endereço não!matriz é o endereço de matriz[0]
*(matriz+1) = matriz[1]
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Matrizes
Definição: int inteiros[100]char string[50] double real[50][50]Em C, o primeiro elemento de uma matriz é o [0]Matrizes são ponteiros constantesseu valor pode mudar, seu endereço não!matriz é o endereço de matriz[0]
*(matriz+1) = matriz[1]
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Matrizes
Definição: int inteiros[100]char string[50] double real[50][50]Em C, o primeiro elemento de uma matriz é o [0]Matrizes são ponteiros constantesseu valor pode mudar, seu endereço não!matriz é o endereço de matriz[0]
*(matriz+1) = matriz[1]
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Matrizes
Definição: int inteiros[100]char string[50] double real[50][50]Em C, o primeiro elemento de uma matriz é o [0]Matrizes são ponteiros constantesseu valor pode mudar, seu endereço não!matriz é o endereço de matriz[0]
*(matriz+1) = matriz[1]
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Matrizes
Definição: int inteiros[100]char string[50] double real[50][50]Em C, o primeiro elemento de uma matriz é o [0]Matrizes são ponteiros constantesseu valor pode mudar, seu endereço não!matriz é o endereço de matriz[0]
*(matriz+1) = matriz[1]
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Matrizes
Definição: int inteiros[100]char string[50] double real[50][50]Em C, o primeiro elemento de uma matriz é o [0]Matrizes são ponteiros constantesseu valor pode mudar, seu endereço não!matriz é o endereço de matriz[0]
*(matriz+1) = matriz[1]
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Validade das variáveis
Tipo da variável Validade
Variável local é definida dentro de uma função,sendo válida apenas dentro da função
Variável global é definida fora da função, sendo válidaem todo arquivo
externdeve constar em todos os arquivos emque a variável deve ser vista
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Validade das variáveis
Tipo da variável Validade
Variável local é definida dentro de uma função,sendo válida apenas dentro da função
Variável global é definida fora da função, sendo válidaem todo arquivo
externdeve constar em todos os arquivos emque a variável deve ser vista
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Validade das variáveis
Tipo da variável Validade
Variável local é definida dentro de uma função,sendo válida apenas dentro da função
Variável global é definida fora da função, sendo válidaem todo arquivo
externdeve constar em todos os arquivos emque a variável deve ser vista
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cabeçalho
#include <stdio.h>#include <stdlib.h>#include <math.h>
#define PI 3.14159
double time;double f(int x);
main(){
bibliotecas
definição
variável globalprotótipo de função global
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cabeçalho
#include <stdio.h>#include <stdlib.h>#include <math.h>
#define PI 3.14159
double time;double f(int x);
main(){
bibliotecas
definição
variável globalprotótipo de função global
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cabeçalho
#include <stdio.h>#include <stdlib.h>#include <math.h>
#define PI 3.14159
double time;double f(int x);
main(){
bibliotecas
definição
variável globalprotótipo de função global
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cabeçalho
#include <stdio.h>#include <stdlib.h>#include <math.h>
#define PI 3.14159
double time;double f(int x);
main(){
bibliotecas
definição
variável globalprotótipo de função global
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cabeçalho
#include <stdio.h>#include <stdlib.h>#include <math.h>
#define PI 3.14159
double time;double f(int x);
main(){
bibliotecas
definição
variável globalprotótipo de função global
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Corpo do programa
main(){
int i, j=10;char nome[100];
for(i=0; i<j; i++){if(j%i == 0){printf("%d\n", i);
}}
variáveis locais
estrutura de controle – for
estrutura de controle – if
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Corpo do programa
main(){
int i, j=10;char nome[100];
for(i=0; i<j; i++){if(j%i == 0){printf("%d\n", i);
}}
variáveis locais
estrutura de controle – for
estrutura de controle – if
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Corpo do programa
main(){
int i, j=10;char nome[100];
for(i=0; i<j; i++){if(j%i == 0){printf("%d\n", i);
}}
variáveis locais
estrutura de controle – for
estrutura de controle – if
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Corpo do programa
main(){
int i, j=10;char nome[100];
for(i=0; i<j; i++){if(j%i == 0){printf("%d\n", i);
}}
variáveis locais
estrutura de controle – for
estrutura de controle – if
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Laços
for(i=0; i<j; i++)i=0 valor iniciali<j condição de repetição do laçoi++ incremento
while(condição)
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Laços
for(i=0; i<j; i++)i=0 valor iniciali<j condição de repetição do laçoi++ incremento
while(condição)
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Estruturas lógicas
if(i<j) { bloco de comandos }else {bloco alternativo }
x = (condição) ? (valor severdadeira):(valor se falsa);
switch (variável)case 1: { bloco de comandos; break;}case 2: { bloco de comandos; break;}
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Estruturas lógicas
if(i<j) { bloco de comandos }else {bloco alternativo }
x = (condição) ? (valor severdadeira):(valor se falsa);
switch (variável)case 1: { bloco de comandos; break;}case 2: { bloco de comandos; break;}
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Estruturas lógicas
if(i<j) { bloco de comandos }else {bloco alternativo }
x = (condição) ? (valor severdadeira):(valor se falsa);
switch (variável)case 1: { bloco de comandos; break;}case 2: { bloco de comandos; break;}
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Operadores aritiméticos e relacionais
Aritiméticos Relacionaisoperador efeito operador efeito− subtração > maior+ soma >= maior ou igual∗ multiplicação < menor/ divisão <= menor ou igual% resto da divisão == igual−− decremento ! = diferente++ incremento
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Operadores lógicos
operador efeito0 Falso1 Verdadeiro!x negação lógica
x&&y E lógicox ||y OU lógico
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Operadores binários
operador nome – efeito∼ i Complemento – inverte todos os bitsi&j E binário – 1 se ambos os bits forem 1i ∧ j OU exclusivo – 1 se pelo menos um dos bits for 1i |j OU inclusivo – 1 se apenas um dos bits for 1
i << j deslocamento à esquerda – move j bits para esquerdai >> j deslocamento à direita – move j bits para direita
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Números Inteiros
1 1 0 1 0 0 0 . . . 0 1 1
sinal
armazenamento do número
int
1 · 214 +0 · 213 +1 · 212 +0 · 211 +0 · 210 + 0 · 29 + . . . + 0 · 22 + 1 · 21 + 1 · 20
1 · 215
unsigned int
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Números Inteiros
1 1 0 1 0 0 0 . . . 0 1 1
sinal
armazenamento do número
int
1 · 214 +0 · 213 +1 · 212 +0 · 211 +0 · 210 + 0 · 29 + . . . + 0 · 22 + 1 · 21 + 1 · 20
1 · 215
unsigned int
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Números Inteiros
1 1 0 1 0 0 0 . . . 0 1 1
sinal
armazenamento do número
int
1 · 214 +0 · 213 +1 · 212 +0 · 211 +0 · 210 + 0 · 29 + . . . + 0 · 22 + 1 · 21 + 1 · 20
1 · 215
unsigned int
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Números Inteiros
1 1 0 1 0 0 0 . . . 0 1 1
sinal
armazenamento do número
int
1 · 214 +0 · 213 +1 · 212 +0 · 211 +0 · 210 + 0 · 29 + . . . + 0 · 22 + 1 · 21 + 1 · 20
1 · 215
unsigned int
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Números Inteiros
1 1 0 1 0 0 0 . . . 0 1 1
sinal
armazenamento do número
int
1 · 214 +0 · 213 +1 · 212 +0 · 211 +0 · 210 + 0 · 29 + . . . + 0 · 22 + 1 · 21 + 1 · 20
1 · 215
unsigned int
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Números reais
Notação científica normalizada
58.4358=0.584358× 102
mantissa
expoente
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Números reais
Em geral, um número decimal x pode ser representadocomo
x = ±r × 10n
1/10 ≤ r < 1
De forma análoga, escrevemos um número binário como
x = (−1)sq × 2m
expoentesinal
1/2 ≤ q < 1
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Números reais
Em geral, um número decimal x pode ser representadocomo
x = ±r × 10n
1/10 ≤ r < 1
De forma análoga, escrevemos um número binário como
x = (−1)sq × 2m
expoentesinal
1/2 ≤ q < 1
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Precisão numérica
float doublesinal 1 1
expoente 8 11mantissa 23 52precisão 2−23 ∼ 10−6 −−10−7 2−52 ∼ 10−15 −−10−16
dígitos 6 – 7 15–16
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Fontes de erros numéricos
OverflowUnderflowErro de arredondamentoPerda de precisão
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Overflow
int float doublex 1000 1.1× 1010 1.1× 10100
x2 1000000 1.21× 1020 1.21× 10200
x3 1000000000 1.331× 1030 1.331× 10300
x4 -727379968 inf inf
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Underflow
x 1.1× 10−10 1.1× 10−100
x2 1.21× 10−20 1.21× 10−200
x3 1.331× 10−30 1.331× 10−300
x4 1.4641× 10−40 0x5 0 0
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Erro de arredondamento
x = 12.3456789111315777 = 0.123456789111315777× 102
armazenado perdido
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Perda de precisão
A + B − C = A− C + B ?
Não no computador...
1.0× 1020 − 1.0× 1020 + 1.0 = 1.0
1.0× 1020 + 1.0− 1.0× 1020 = 0.0
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Perda de precisão
A + B − C = A− C + B ?
Não no computador...
1.0× 1020 − 1.0× 1020 + 1.0 = 1.0
1.0× 1020 + 1.0− 1.0× 1020 = 0.0
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Perda de precisão
A + B − C = A− C + B ?
Não no computador...
1.0× 1020 − 1.0× 1020 + 1.0 = 1.0
1.0× 1020 + 1.0− 1.0× 1020 = 0.0
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Como calcular e−x?
1 Somar a série:∑∞
n=0(−1)n xn
n!
2 Usar uma relação de recorrência:∑∞
n=0 sn, sn = sn−1xn
3 Calcular ex e depois inverter
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Como calcular e−x?
1 Somar a série:∑∞
n=0(−1)n xn
n!
2 Usar uma relação de recorrência:∑∞
n=0 sn, sn = sn−1xn
3 Calcular ex e depois inverter
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Como calcular e−x?
1 Somar a série:∑∞
n=0(−1)n xn
n!
2 Usar uma relação de recorrência:∑∞
n=0 sn, sn = sn−1xn
3 Calcular ex e depois inverter
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Série
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Série
n e−x
55.000000 6875763.84955.500000 367388.849156.000000 1920305156.500000 -33269152.7357.000000 -69743335.3857.500000 nan
Fatorial→ 171! OVERFLOW
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Série
n e−x
55.000000 6875763.84955.500000 367388.849156.000000 1920305156.500000 -33269152.7357.000000 -69743335.3857.500000 nan
Fatorial→ 171! OVERFLOW
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Relação de Recorrência
Não há overflow, não calculamos o fatorialResultados continuam inconsistentesSoma de números grandes com sinal contrárioErro devido à perda de precisão maior que resultado
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Relação de Recorrência
Não há overflow, não calculamos o fatorialResultados continuam inconsistentesSoma de números grandes com sinal contrárioErro devido à perda de precisão maior que resultado
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Relação de Recorrência
Não há overflow, não calculamos o fatorialResultados continuam inconsistentesSoma de números grandes com sinal contrárioErro devido à perda de precisão maior que resultado
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Relação de Recorrência
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cálculo de 1/ex
Todos os termos são positivosNão há problema com a perda de precisão
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cálculo de 1/ex
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cálculo de 1/ex
Todos os termos são positivosNão há problema com a perda de precisãoO cálculo do fatorial volta a causar problema
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cálculo de 1/ex
Todos os termos são positivosNão há problema com a perda de precisãoO cálculo do fatorial volta a causar problema
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cálculo de 1/ex
Alexandre Rosas Introdução à Linguagem C
VariáveisEstruturas de controle
OperadoresRepresentando números
Cálculo de 1/ex via série
Alexandre Rosas Introdução à Linguagem C