Você está na página 1de 42

Microprocessadores e

Microcontroladores
PROFESSOR WESLEY SUZUKI
O Que Vimos Na Última Aula?
Introdução à Linguagem de Estruturas Condicionais
Programação C ◦ if – else
◦ Palavras Reservadas ◦ switch – case
◦ Declaração de Variáveis Estruturas de Repetição
◦ Operações ◦ while
◦ Operações Compactas ◦ do – while
◦ Construção do Código ◦ for
Desvios e Rótulos
Assuntos de Hoje
Bibliotecas e Cabeçalhos Vetores
Diretivas Matrizes
◦ #include
Estruturas
◦ #define e #undef
◦ #if, #else e #endif Funções
◦ #if, #elif, #else e #endif
◦ #ifdef e #ifndef
Bibliotecas e Cabeçalhos
A linguagem C é baseada em blocos de construção, ou seja, o código
é um conjunto de funções básicas ordenadas pelo programador
Algumas instruções não fazem parte do conjunto de palavras padrão
da linguagem C, e formam blocos de instruções que realizam um
determinado processamento
Bibliotecas e Cabeçalhos
Todo código-fonte desenvolvido em linguagem C utiliza bibliotecas e
cabeçalhos para serem compilados.
Cabeçalho (headers): pequenos arquivos contendo bits de código de
programa utilizados para referenciar e descrever o conteúdo de
outros módulos, as bibliotecas (libraries).
Isso facilita o trabalho do programador, pois o arquivo de cabeçalho
contém informações que mudam a cada atualização do código,
enquanto o arquivo da biblioteca contém as modificações estruturais
Bibliotecas e Cabeçalhos
Os arquivos de cabeçalho contêm as definições das funções para
cada interface e parte da documentação para funcionamento
O sistema verifica a data do arquivo de cabeçalho para saber se é
necessária recompilar o código-fonte
Quando se realiza uma modificação na biblioteca, também é
necessário modificar o arquivo de cabeçalho
#include
Copia o conteúdo de um arquivo para determinado ponto do código-
fonte, normalmente arquivos de cabeçalho de funções de entrada e
saída de dados
Torna o reuso de código simples, porém pode gerar múltiplas
inclusões de arquivos
#include
O uso dos sinais < e > é adequado quando deseja-se buscar os
arquivos no diretório padrão, com ele são inclusas apenas as partes
realmente necessárias
O uso das aspas “ e “ é adequado quando deseja-se buscar os
arquivos no diretório de trabalho atual.
#define
Utilizada para:
1. Definir um símbolo
2. Definir uma constante
3. Definir uma macro e seus parâmetros
#undef
Esta diretiva apaga as definições da diretiva #define e a sequência
deixa de ser reconhecida
#if, #else e #endif
Estas diretivas são utilizadas como estruturas condicionais
#if, #elif, #else e #endif
É preciso tomar cuidado com a sintaxe, que é diferente da estrutura
condicional comum
#ifdef e #ifndef
São usadas para implementar um código de forma condicional à
existência (#ifdef) ou não existência (#ifndef) de um símbolo
#ifdef e #ifndef
A principal aplicação desta diretiva é com a lógica de proteção para
evitar a inclusão de arquivos repetidos
Envolve-se o arquivo inteiro com um bloco condicional que só será
compilado se o arquivo não tiver sido incluído, essa estrutura é
chamada de include guard
include guard
Se o arquivo não tiver sido incluído, o pré-processador não
encontrará o símbolo e continuará, caso contrário o pré-processador
pulará todo o conteúdo
Vetores
Um vetor é uma estrutura de dados indexada com uma única
dimensão, que pode armazenar uma determinada quantidade de
valores do mesmo tipo
Os valores armazenados são chamados de itens do vetor
Para localizar um item em um vetor usamos um número inteiro
denominado índice do vetor que determina a posição do item
procurado
Vetores
Formas de declarar um vetor:
Exemplo
Ler um conjunto de números reais, armazenando-o num vetor e
calcular o quadrado das componentes deste vetor, armazenando os
resultados em outro vetor. Os conjuntos têm 10 elementos cada.
Imprimir todos os conjuntos.
Exemplo
Exercícios
1. Faça um programa que receba do usuário um vetor com 10
posições. Em seguida deverá ser impresso o maior e o menor
elemento do vetor.
2. Escreva um programa que leia 10 números inteiros e os armazene
em um vetor. Imprima o vetor, o maior elemento e a posição em
que ele se encontra.
Matrizes
Uma matriz é uma estrutura de dados indexada com duas ou mais
dimensões, que pode armazenar uma determinada quantidade de
valores do mesmo tipo
Os dados armazenados são chamados de itens da matriz
Para localizar um item numa matriz usamos dois números inteiros
denominados índices da matriz que determina a posição do item
procurado
Matrizes
Formas de declarar uma matriz:
Exemplo
Construa uma matriz de 3 linhas e 4 colunas contendo números
inteiros. Em seguida escreva a soma dos elementos de cada linha e
de cada coluna.
Exemplo
Exercícios
1. Faça um algoritmo que construa uma matriz de 5 linhas e 4
colunas contendo números inteiros. Em seguida verifique quantos
elementos pares há em cada linha e quantos elementos ímpares
há em cada coluna.
2. Faça um algoritmo que construa uma matriz 10x10 de números
inteiros, colocar o conteúdo de sua diagonal principal dentro de
um vetor e imprimi-lo.
Estruturas
Uma struct (estrutura) é uma variável especial que pode conter
diversas outras variáveis de tipos diferentes
Estas variáveis internas contidas pela struct (estrutura) são
denominadas membros
As structs (estruturas) da linguagem C são o equivalente dos
registros em outras linguagens de programação
Estruturas
Estruturas
Exemplo
Implemente um programa que leia o nome, a idade e o endereço de
uma pessoa e armazene os dados em uma estrutura
Exemplo
Exercícios
1. Considerando a estrutura a seguir, que representa um ponto no plano tridimensional,
implemente um programa que calcule a soma de dois pontos.
Funções
Uma função é uma sub-rotina, onde são alocados comandos para a
execução das tarefas
Elas são utilizadas para simplificar o código e evitar a repetição de
comandos
As funções devem executar uma tarefa modular
Cada uma deve possuir seu nome e a lista de argumentos de entrada
Funções
Forma de declarar uma função:
Funções
É preciso primeiro declarar os protótipos das funções:
Funções
Dentro do código principal as funções são chamadas:
Funções
As funções são declaradas no final do código:
Exemplo
Desenvolva um código que contenha uma função que converta a
temperatura de graus Celsius para graus Fahrenheit
Exemplo
Exercícios
1. Desenvolva um código que contenha uma função que converta a
temperatura de graus fahrenheit para graus celsius
2. Desenvolva um código que contenha uma função que converta a
temperatura de graus celsius para graus kelvin
3. Desenvolva um código que contenha uma função que converta a
temperatura de graus kelvin para graus celsius
Referências
Lima, Charles Borges de AVR e Arduino : técnicas de projeto / Charles Borges de
Lima, Marco Valério Miorim Villaça. 2. ed. – Florianópolis: Ed. dos autores, 2012.

Exemplo de uso do struct: https://www.youtube.com/watch?v=anjQuD0zVIs


O Que Vimos Hoje?
Bibliotecas e Cabeçalhos Vetores
Diretivas Matrizes
◦ #include
Estruturas
◦ #define e #undef
◦ #if, #else e #endif Funções
◦ #if, #elif, #else e #endif
◦ #ifdef e #ifndef

Você também pode gostar