0% acharam este documento útil (0 voto)
53 visualizações6 páginas

Calc Num FM Lista 01

1. O documento apresenta uma lista de revisão sobre programação básica na linguagem C, com o objetivo de revisar conceitos que possibilitem a elaboração de algoritmos na disciplina de Cálculo Numérico. 2. É introduzida a estrutura básica de um programa em C, com a função main() sendo o ponto de entrada. Conceitos como variáveis, entrada e saída de dados, loops e vetores também são revisados. 3. O documento contém vários exercícios para aplicar os conceitos aprendidos, como criar vari

Enviado por

Maria Silva
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
53 visualizações6 páginas

Calc Num FM Lista 01

1. O documento apresenta uma lista de revisão sobre programação básica na linguagem C, com o objetivo de revisar conceitos que possibilitem a elaboração de algoritmos na disciplina de Cálculo Numérico. 2. É introduzida a estrutura básica de um programa em C, com a função main() sendo o ponto de entrada. Conceitos como variáveis, entrada e saída de dados, loops e vetores também são revisados. 3. O documento contém vários exercícios para aplicar os conceitos aprendidos, como criar vari

Enviado por

Maria Silva
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 6

Lista de Revisão - Programação Básica em C

Murilo Melhem - [email protected]


2 de março de 2020

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.

2 A função main() [1]


Ao executar um código em C, o computador procura no arquivo C por uma
função chamada ”main()”.
Essa função é definida da seguinte forma:

#include <stdio.h> // Biblioteca para as funç~


oes básicas a utilizar

int main() { // Define a funç~


ao main
// Toda funç~
ao precisa retornar um valor (há exceç~
oes)

return 0; // Nesse caso a funç~


ao retorna 0 quando n~
ao há erros
}

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 1: Qual a diferença entre double e float?

Exercı́cio 2: Crie e dê um valor para uma variável que:

a) armazena uma string (texto);


b) armazena um número inteiro;
c) armazena um número decimal.

4 Funções input-output [1]


Um dos recursos mais utilizados na programação é a entrada de informações por
parte do usuário e a saı́da de dados processados pelo programa. Essa interface
usuário-programa (input-output) é traduzida pelas funções scanf() e printf().
Outra forma de entrada de informações por parte do usuário é utilizar o próprio
código para definir valores ou constantes, da mesma forma que foi feito no
Exercı́cio 2. Esse método é o que se recomenda utilizar para a resolução dos
exercı́cios pois economiza tempo, é mais fácil e mais elegante.

Exercı́cio 3: Exiba o valor da variável criada no Exercı́cio 2.

Exercı́cio 4: Faça um algoritmo que colete o nome e sobrenome de uma pessoa


e exiba o nome completo na tela.

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.

5 Definição de constantes [2]


Muitas vezes iremos definir valores constantes no topo do código para facilitar
o uso dentro do código e deixá-lo mais organizado. Para definir um valor con-

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.

Exercı́cio 8: Faça um código que exiba os 100 primeiros números da Sequência


de Fibonacci.
Dica: Procure usar o #define descrito anteriormente para definir o valor máximo
N=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.

printf(vetor inteiros[3]); //Exibe o valor 95.

Note que a posição do primeiro elemento de um vetor é a posição zero (0):

printf(vetor inteiros[0]); //Exibe o valor 20.

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.

Exercı́cio 9: Crie um vetor de tamanho 5 que armazena números inteiros,


atribua valores para os cinco elementos e exiba cada elemento do vetor através
da função printf().
Dica: Procure utilizar um loop em for para a exibição do vetor.

Exercı́cio 10: Experimente agora atribuir apenas quatro elementos de cinco


(4/5) para o exercı́cio anterior. O que acontece com o valor do elemento que
não foi inserido?

Exercı́cio 11: Crie um vetor que armazene a Sequência de Fibonacci do Ex-


ercı́cio 8. Qual o 57o elemento da sequência?

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:

#define M m //Define uma constante M = m para a ordem da matriz


#define N n //Define uma constante N = n para a ordem da matriz

int main() {
float A[M][N]; //Define a matriz AM xN
}

Desse modo, o elemento aij pode ser chamado por:

printf("%f", A[i][j]); //Exibe o elemento aij da matriz A.

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.

Exercı́cio 18 (Desafio): Faça um algoritmo que calcule a seguinte multiplicação:


Cmxp = Amxn · Bnxp .
Dica: Utilize três loops em for.

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:

Considere a função f (x) = x2 + 3.


Em C a representação por meio de código seria:

#include <math.h> //Biblioteca para a funç~


ao pow()

float f(float x) { //Inicializa a funç~


ao f

return pow(x, 2)+3; //Retorna o valor de f(x)


}

Em seguida poderı́amos apenas:

printf("%f", f(3)); //Retorna o valor de f(3)


2
Exercı́cio 19: Defina a função f (x) = e−x e exiba f (−4.5).

Exercı́cio 20 (Desafio): A partir da definição matemática de integral por


Soma de Riemann, calcule a integral da função do exercı́cio anterior de x = 0
até x = 1.

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:

if (1 == 2) { //se 1 for igual a 2


//condiç~
ao falsa, n~
ao irá executar esta parte do código
}
else { //se 1 n~ao for igual a 2
//condiç~
ao verdadeira, executa-se esta parte do código
}

Exercı́cio 21 (Desafio): Faça um algoritmo de validação de CPF, em que


o usuário insere o CPF e o código retorne se o CPF informado é válido ou não.
Dica: Procure a condição de existência de um CPF, bem como as condições dos
dı́gitos verificadores.

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/.

Você também pode gostar