Você está na página 1de 10

Universidade Federal de Catalão

Curso de Engenharia de Minas

Cálculo Numérico

Algoritmo: Linguagem C

Aluna: Laiane Caixeta

Professor: Claudio Lemos De Souza

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 de programação é uma linguagem escrita e formal que possui um


conjunto de regras específicas e instruções utilizadas para a criação de um software.
Atualmente são inúmeras linguagens existentes com diversas finalidade, como por exemplo a
Linguagem C.

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.

O C é utilizada para a criação de programas diversos como processadores de texto,


planilhas eletrônicas, sistemas operacionais, programas de comunicação, programas para a
automação industrial, gerenciadores de bancos de dados, programas de projeto assistido por
computador, programas para a solução de problemas da Engenharia, Física, Química e outras.

No decorrer do trabalho iremos abordar mais sobre como funciona a tradução de


algoritmos para a linguagem C. Irá ser abordado também alguns termos importantes presentes
dentro da linguagem que são de extrema importância na hora da tradução.

2.0 - Conceitos Básicos

O C é uma linguagem de programação de finalidade geral, ou seja, é utilizada no


desenvolvimento de diversos tipos de aplicação, como processadores de texto e outros. Um
dos primeiros conceitos que temos é o código-fonte de um programa C, este pode ser escrito
em qualquer editor de texto, desde que seja capaz de gerar arquivos em código. Como o
ambiente de programação utilizado é para o sistema operacional em disco, esses arquivos

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.

2.1 - Características da Linguagem

O programa em C tem a capacidade de diferenciar tipos de dados, ou seja, números


inteiros são números inteiros, números com vírgula são números com vírgula, e textos. A
partir do momento em que for declarado uma variável de números inteiros, poderá somente
colocar números inteiros nela. Abaixo são listados alguns caracteres básicos:

• Alta portabilidade inerente da padronização ANSI, ou seja, é possível tomar um


código-fonte escrito para uma máquina, compilá-lo e rodá-lo em outra com pouca ou
nenhuma alteração;

• Gera programas formados basicamente por funções, o que facilita a modularização e


a passagem de parâmetros entre os módulos;

• Inicia a execução a partir da função main(), necessária em todos os programas;

• Uso de chaves ({ }) para agrupar comandos pertencentes a uma estrutura lógica (ex:
if else, do-while, for, etc.) ou a uma função;

• Uso do ponto e vírgula (;) ao final de cada comando;

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.

2.2 - Declaração de Variáveis

Como já visto, uma variável é uma posição de memória de um determinado tipo de


dado e que possui um nome, que é usada para guardar valores que podem sofrer mudanças
durante a execução do programa.Todas as variáveis do C devem ser declaradas antes de
serem usadas. A forma geral de uma declaração é:
tipo lista_de_variáveis;
Sendo tipo um tipo de dado válido em C mais quaisquer modificadores e
Lista_de_variáveis um ou mais nomes de identificadores separados por vírgula. As variáveis
podem ser declaradas em três lugares básicos: dentro de funções, na definição dos parâmetros
das funções e fora de todas as funções. Estas são, respectivamente, variáveis locais,
parâmetros formais e variáveis globais

3.0 - Aplicação em exercícios

Exercício 1: Iremos traduzir o algoritmo que está em Matlab para Linguagem C da


página 44-45 da apostila de Calculo Numérico do PROF. JOSÉ EDUARDO CASTILHO,
2003.

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

M[i][j] = M[i][j] - fator*M[k][j];

X[N-1] = M[N-1][N] / M[N-1][N-1]; // Primeria variavel que obtamos

//Test

printf("\n");

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

for(j = 0; j<=N; j++){

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]);
}

Exercício 2: Iremos traduzir o algoritmo que está em Matlab para Linguagem C da


página 69-70 da apostila de Calculo Numérico do PROF. JOSÉ EDUARDO CASTILHO,
2003.

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

O C é uma linguagem de programação de finalidade geral, utilizada no


desenvolvimento de diversos tipos de aplicação, como processadores de texto, sistemas
operacionais, sistemas de comunicação, programas para solução de problemas de engenharia,
física, química e outras ciências, etc.

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

MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos: Lógica para desenvolvimento de


programação de computadores. São Paulo: Saraiva Educação.

MARTINS, L. G. A. Apostila de Linguagem C. Uberlândia: UFU.

Você também pode gostar