Escolar Documentos
Profissional Documentos
Cultura Documentos
Cálculo Numérico
Algoritmo: Linguagem C
Turma: IBT0184
SUMÁRIO
1.0 - Introdução 2
2.0 - Conceitos Básicos 3
2.1 - Características da Linguagem 4
2.2 - Declaração de Variáveis 4
3.0 - Aplicação em exercícios 4
5.0 - Considerações Finais 8
6.0 - Referências Bibliográficas 9
1
1.0 - Introdução
Os algoritmos estão presentes no dia a dia de todos, seja nos detalhes mais simples
quanto nos mais difíceis. Na programação a denominação de algoritmo é a formulação de
uma “receita”, onde a partir dela vai ser executada uma tarefa, ação ou a resolução de um
problema. Entretanto esta receita pode ser infinita ou finita.
A linguagem C foi desenvolvida por volta dos anos 70 por Dennis Ritchie. O C é
derivado de uma outra linguagem: o B, criado por Ken Thompson. O B, por sua vez, veio da
linguagem BCPL, inventada por Martin Richards. Uma das vantagens desta linguagem é a
sua estruturação, pois deste modo podem ser escritos laços que tenham condições de entrada
e saída claras e podem ser escritos funções cujos argumentos sejam sempre verificados para
sua completa exatidão.
2
devem ter um nome de no máximo 8 caracteres, sendo a última letra (extensão) o “C”, como
por exemplo: (NANAME.C).
Após a elaboração do código-fonte, o programa-fonte (um ou mais arquivos-fonte) é
submetido aos processos de compilação e linkedição para gerar o programa executável (com
extensão “exe”). Durante o processo de compilação, cada arquivo-fonte é compilado
separadamente, produzindo um arquivo de código-objeto com a extensão “obj”. Estes
arquivos-objeto contêm instruções em linguagem de máquina (códigos binários) entendidas
somente pelos microprocessadores. Na linkedição, todos os arquivos-objetos pertencentes ao
projeto, bem como as bibliotecas declaradas nos códigos-fonte são processadas em conjunto,
visando a produção do arquivo executável correspondente.
A linguagem C possui algumas características como por exemplo o uso de chaves
“{}” que auxiliam no agrupamento dos comandos que pertencem à estrutura lógica. Toda vez
que iniciar a execução de um comando deve-se colocar a função chamada main “()”, caso
contrário o programa acusará erro. Conforme deve colocar uma função ao iniciar um
comando, também deve-se colocar a função ponto e vírgula “;” ao final de cada comando.
• Uso de chaves ({ }) para agrupar comandos pertencentes a uma estrutura lógica (ex:
if else, do-while, for, etc.) ou a uma função;
3
• É “case sensitive”, ou seja, o compilador difere maiúsculas de minúsculas. Assim, se
declarar uma variável de nome idade, esta será diferente de Idade, IDADE, etc. Além disso,
todos os comandos da linguagem devem ser escritos em minúsculo.
Resposta:
#include <stdio.h>
#include <stdlib.h>
#define N 3 //O numero de equações (linhas do sistema linear)
void main (){
int i, j, k;
float fator, soma;
float X[N];
float M[N][N+1] = {{3, -0.1, -0.2, 7.85},
{0.1, 7, -0.3, -19.3},
4
{0.3, -0.2, 10, 71.4}};
for(i = 0; i<N; i++){
for(j = 0; j<=N; j++){
printf("|%.3f\t", M[i][j]);
}
printf("\n");
}
// ELIMINACAO PROGRESSIVA
for(k = 0; k<N-1; k++){//Laco exterior se refere a coluna pivo que se altera.
(linha pivo ou equacao pivo = equacao referencial para as eliminacoes)
for(i = (k+1); i<N; i++){//Este laco se refere as linhas que sofrerao as
eliminacoes, que sempre iniciarao na linha seguinte da linha pivo
fator = M[i][k] / M[k][k];//fator de correcao que sera multiplicada pela linha
pivo
for(j=0; j<=N; j++){//loco interno se refere a cada coluna da linha que sofrerao
modificacoes da linha i
//Test
printf("\n");
printf("|%.3f\t", M[i][j]);
}
5
printf("\n");
}
// SUBSTITUICAO PROGRESSIVA
for(i=N-2; i>=0; i--){ //Laco exterior se refere a linha que recebera os valores das variaveis
ja encontradas para descobrirmos as outras. Ela se inicia na penultima linha e vai ate a
primeira
soma = 0;
for(j=(i+1); j<N; j++){ //Laco interno se refere as colunas da linha i
soma = soma + M[i][j]*X[j]; // soma todos os numeros da linha que ja tem
o valor de x
}
X[i] = (M[i][N] - soma)/M[i][i]; // Calcula o x da coluna i
}
printf("\nResultado: " );
for(i=0; i<N; i++)
printf("\nX%d = %f\n", i+1, X[i]);
}
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
float a, b, c, d, e;
printf("Digite o primeiro valor:");
scanf("%f", &a);
printf("\nDigite o segundo valor:");
scanf("%f", &b);
printf("\nDigite o terceiro valor:");
scanf("%f", &c);
printf("\nDigite o quarto valor:");
scanf("%f", &d);
printf("\nDigite o quinto valor:");
6
scanf("%f", &e);
float x = c*a - c*b - d*a + d*b;
float y = (c-e);
float z = x/y;
float h = -z + a;
printf("\nResultado é: %f \n", h);
return 0;
}
7
5.0 - Considerações Finais
Todavia ela é muito usada no dia a dia, sendo assim de grande importância para o
desenvolvimento de softwares, aplicativos que possam vir a facilitar a vida das pessoas mais
e mais.
8
6.0 - Referências Bibliográficas