Calc Num FM Lista 01
Calc Num FM Lista 01
1 Introdução
Essa lista busca revisar o básico da linguagem de programação C de modo que
o conhecimento revisado aqui possibilite a elaboração da maioria dos algoritmos
propostos pelo docente na disciplina de Cálculo Numérico.
É esperado que o aluno desenvolva a capacidade de criar pseudo-códigos a partir
das informações aqui apresentadas. É de boa prática comentar o código en-
quanto se escreve ou após terminá-lo. Desse modo também se pratica a criação
de pseudo-códigos.
Nota: Procurei dividir a lista por seções para facilitar a revisão, usando uma
metodologia de construção de conhecimento da linguagem C. Acompanhado de
cada seção há uma referência para algum site que achei suficiente para explicar
com mais detalhes cada assunto abordado.
Alguns exercı́cios estão marcados como ”Desafios”. Criei esses exercı́cios com
o intuito de aplicar o conhecimento que foi apresentado até o momento. São ex-
ercı́cios com um nı́vel de dificuldade maior e requerem mais tempo para pensar
em como se resolver ou como elaborar os códigos.
1
Tudo o que estiver dentro da função main() será executado e essa estrutura
servirá de base para a execução de todos os códigos aqui descritos.
3 Variáveis [1]
Em C é comum usarmos variáveis e atribuir valores a elas para conseguir ar-
mazenar e utilizar/modificar em alguma parte do código. Existem alguns tipos
de variáveis em C. As que iremos utilizar são:
- char (armazena texto),
- int (armazena números inteiros),
- double e float (armazenam números decimais).
Exercı́cio 5: A nota final de uma pessoa é calculada como sendo a média ar-
itmética das notas de três provas com pesos 1, 2 e 3 para as respectivas provas.
Faça um programa que receba as notas das três provas, calcule a média final e
mostre seu valor.
2
stante usa-se a expressão #define. Como por exemplo:
#define ICMS 0.18
#define N 100
#define ERRO "Erro!"
Dica: Algo que pouco se menciona é que expressões #define utilizam pouca,
ou quase nenhuma memória para serem alocadas. Isso não é muito útil aqui na
disciplina de Cálculo Numérico, mas em ambientes como a programação de ar-
duino, onde o espaço de memória é muito limitado, a utilização dessa expressão
é imprescindı́vel.
Exercı́cio 6: Defina um valor qualquer e use a função printf() para exibir esse
valor.
6 Loops [3]
Em C existem blocos de código que facilitam a execução de processos repetitivos
(loops). Os mais utilizados são:
- for
- while,
- do... while.
O que mais utilizaremos durante a disciplina é o ”for loop”.
Exercı́cio 7: Faça uma rotina que exiba os números naturais de 1 até 100.
7 Vetores [4]
Algo bastante importante para a disciplina de Cálculo Numérico é a capaci-
dade de trabalhar com vetores e matrizes. O equivalente na linguagem de pro-
gramação C é feito por meio de arrays (vetores). Por exemplo:
int vetor inteiros[5] = {20, 40, 50, 95, 42}; //Vetor com os elementos
20, 40, 50, 95 e 42.
3
Dica: É possı́vel criar um vetor sem especificar seu tamanho. Ao inicializar
os elementos o compilador faz a contagem dos itens e determina o tamanho do
vetor automaticamente. Por exemplo:
int vetor inteiros sem especificar[] = {1, 3, 78}; //Vetor com os elementos
1, 3 e 78.
8 Matrizes [4]
Uma matriz de duas dimensões na linguagem C pode ser expressa por meio de
um conjunto de dois vetores. É importante neste momento saber traduzir a
linguagem matemática para a linguagem de programação.
Considere então uma matriz genérica Amxn de elementos aij quaisquer. A rep-
resentação da matriz A traduzida para a linguagem de programação C ficaria:
int main() {
float A[M][N]; //Define a matriz AM xN
}
Dica: Vale lembrar que o primeiro elemento (a11 ) é obtido por A[0][0] e não
por A[1][1]!!
Exercı́cio 12: Defina uma matriz A3x3 e atribua valores manualmente para
os elementos da matriz. Utilize a função printf() para exibir cada valor da ma-
triz.
4
Exercı́cio 13: Com a matriz A3x3 do exercı́cio anterior, exiba a matriz B = 2·A.
Dica: Use dois loops em for para varrer todos os elementos da matriz.
Exercı́cio 14: Defina uma matriz C3x3 , juntamente com as matrizes dos ex-
ercı́cios anteriores, e exiba a matriz C = A + B.
Exercı́cio 15: Defina valores para as matrizes D3x3 e E3x3 . Exiba a matriz
F = D + E.
Exercı́cio 16: Defina valores para uma matriz A3x3 . Exiba a soma dos ele-
mentos da primeira linha.
Exercı́cio 17: Com a matriz A3x3 do Exercı́cio 16, exiba a soma dos elementos
da terceira coluna.
9 Funções [5]
Considere uma função matemática f(x). Assim como se fez com matrizes,
é possı́vel traduzir a linguagem matemática para a programação. A melhor
maneira de apresentar esse tópico é através de um exemplo:
5
10 Estrutura condicional (if... else) [6]
Essa é uma estrutura de comparação bastante utilizada pela Lógica Booleana
em que se compara dois valores na condição ”if”. Caso a condição seja ver-
dadeira, executa-se o código dentro do bloco ”if”, caso contrário, o programa
executa o código dentro do bloco ”else”.
Por exemplo:
References
[1] Márcio Sarroglia Pinho. Introdução à linguagem c. https://www.inf.
pucrs.br/~pinho/LaproI/IntroC/IntroC.htm.
[2] Eduardo Casavella. Constantes em c usando #define e const. http://
linguagemc.com.br/constantes-em-c-usando-define/.
[3] W3Schools. C++ for loop. https://www.w3schools.com/cpp/cpp_for_
loop.asp.
[4] Márcio Sarroglia Pinho. Introdução à linguagem c. https://www.inf.
pucrs.br/~pinho/LaproI/Vetores/Vetores.htm.
[5] Márcio Sarroglia Pinho. Introdução à linguagem c. https://www.inf.
pucrs.br/~pinho/LaproI/Funcoes/AulaDeFuncoes.htm.
[6] Eduardo Casavella. Estrutura de decisão if em linguagem c. http:
//linguagemc.com.br/estrutura-de-decisao-if-em-linguagem-c/.