• Nenhum resultado encontrado

Atividade de laboratório 002. Prof: Carlos Eduardo de Brito Novaes 1 de abril de Alunos RA Nome Curso Semestre

N/A
N/A
Protected

Academic year: 2021

Share "Atividade de laboratório 002. Prof: Carlos Eduardo de Brito Novaes 1 de abril de Alunos RA Nome Curso Semestre"

Copied!
6
0
0

Texto

(1)

Atividade de laboratório 002

Prof: Carlos Eduardo de Brito Novaes

1 de abril de 2016

Alunos

RA Nome Curso Semestre

Resumo

Atividade da unidade curricular: Laboratório Integrado de Microprocessadores e Microcontroladores. O objetivo desta atividade é praticar e escrever funções na linguagem C para a plataforma Arduíno.

Parte I

Descrição

No linkhttps://123d.circuits.io/circuits/1868593-atividade_laboratorio_002esta disponível uma montagem com o Arduíno Uno. Vamos utilizar essa montagem para compreender como funcionam os loops do tipo for e sua utilização para calcular séries numéricas.

(2)

Rotinas setup() e loop() ' & $ % / / I n c l u i a b i b l i o t e c a p a r a a c e s s a r o d i s p l a y / / I n s t r u ç õ e s de u s o e e x e m p l o s em h t t p s : / / www. a r d u i n o . c c / en / R e f e r e n c e / L i q u i d C r y s t a l # i n c l u d e < L i q u i d C r y s t a l . h> / / i n i c i a l i z a e c o n f i g u r a o s p i n o s u s a d o s p a r a c o n t r o l a r o D i s p l a y / / DisplayLCD é d e c l a r a d a como uma v a r i á v e l g l o b a l e

/ / p o d e r á s e r chamada de q u a l q u e r o u t r a f u n ç ã o . L i q u i d C r y s t a l DisplayLCD ( 1 3 , 1 2 , 1 1 , 1 0 , 9 , 8 ) ; / / d e f i n e nomes p a r a o s p i n o s de E / S u t i l i z a d o s # d e f i n e s a i d a 0 # d e f i n e e n t r a d a A 7 # d e f i n e e n t r a d a B 6 v o i d s e t u p ( ) { / / c o n f i g u r a o D i s p l a y que e s t a m o s u s a n d o , 16 c o l u n a s e 2 l i n h a s . DisplayLCD . b e g i n ( 1 6 , 2 ) ; / / c o n f i g u r a p i n o s de s a i d a pinMode ( s a i d a , OUTPUT ) ; / / c o n f i g u r a p i n o s de e n t r a d a pinMode ( e n t r a d a A , INPUT ) ; pinMode ( e n t r a d a B , INPUT ) ; / / p o s i c i o n a o c u r s o r do d i s p l a y na c o l u n a 0 e na l i n h a 0 DisplayLCD . s e t C u r s o r ( 0 , 0 ) ; / / E s c r e v e uma mensagem de b o a s v i n d a s DisplayLCD . p r i n t ( ” Boa n o i t e ” ) ; DisplayLCD . p r i n t ( ” Turma ” ) ; } v o i d l o o p ( ) { f l o a t r e s p ; f l o a t r ; i n t n ; r = 0 . 5 ; n = 5 ; / / r e s p = s e r i e _ g e o m e t r i c a ( r , n ) ; / / r e s p = s e r i e _ h a r m o n i c a ( n ) ; r e s p = s e r i e _ p i ( n ) ; DisplayLCD . s e t C u r s o r ( 0 , 1 ) ; DisplayLCD . p r i n t ( ” r e s p = ” ) ; DisplayLCD . p r i n t ( r e s p ) ; }

(3)

Rotinas auxiliares ' & $ % / / c a l c u l a a soma d o s n t e r m o s de uma s e r i e g e o m é t r i c a / / com r a z a o r . / / r ^1 + r ^2 + r ^3 + . . . + r ^ n / / a f u n ç ã o ” pow ( r , a ) ” r e t o r n a o v a l o r de / / ” r ” e l e v a d o a p o t e n c i a ” a ” / / f l o a t s e r i e _ g e o m e t r i c a ( f l o a t r , i n t n ) { f l o a t soma = 0 . 0 ; f o r ( i n t a = 1 ; a <=n ; a + + ) { soma = soma + pow ( r , a ) ; } r e t u r n soma ; } / / c a l c u l a a soma d o s n t e r m o s de uma s e r i e h a r m o n i c a / / 1 / 1 + 1 / 2 + 1 / 3 + 1 / 4 + . . . + 1 / n / / f l o a t s e r i e _ h a r m o n i c a ( i n t n ) { f l o a t soma = 0 . 0 ; f l o a t p a r c e l a ; f o r ( i n t a = 1 ; a <=n ; a + + ) { p a r c e l a = a ; soma = soma + 1 / p a r c e l a ; } r e t u r n soma ; } / / c a l c u l a a soma d o s n t e r m o s da s e r i e / / que t e n d e ao numero p i / / 4 / ( 0 + 1 ) − 4 / ( 2 + 1 ) + 4 / ( 4 + 1 ) −4/(6+1) + 4 / ( 8 + 1 ) / / f l o a t s e r i e _ p i ( i n t n ) { f l o a t soma = 0 . 0 ; f l o a t p a r c e l a ; f o r ( i n t a = 0 ; a <=n ; a + + ) { p a r c e l a = 4 . 0 / ( 2 . 0 * a + 1 ) ; p a r c e l a = p a r c e l a * pow (−1 , a ) ; soma = soma + p a r c e l a ; } r e t u r n soma ; }

Utilizando pontos de parada (breakpoints)

(4)

surgirá uma marca azul no número da linha, indicando que ali existe um ponto de parada.

Uma vez que a execução foi interrompida pelo ponto de parada, podemos resumir a execução normal (continua até o próximo ponto de parada) ou seguir passo a passo (linha por linha)

Estando a execução interrompida, podemos verificar os valores atribuídos a cada variável dentro do bloco em execução. Para isso, basta passar o mouse por cima da variável e aguardar alguns instantes

(5)

1

Verifique o código da função loop

1. Qual o tipo declarado para a variável “r” e que valor é atribuído à ela? 2. Qual o tipo declarado para a variável “n” e que valor é atribuído à ela?

3. Descomente apenas a chamada à função serie_geometrica (linha 40), insira um ponto de parada na linha 38 e inicie a execução do programa.

(a) Qual o valor presente na variável “r”?

(b) Execute apenas uma linha e verifique novamente. Desta vez, qual o valor presente na variável “r”? Explique o que aconteceu.

(c) Qual o valor presente na variável “n”?

(d) Execute apenas uma linha e verifique novamente. Desta vez, qual o valor presente na variável “n”? Explique o que aconteceu.

(e) Qual o valor presente na variável “resp”?

(f) Execute apenas uma linha e explique o que você observou:

2

Verifique o código da função serie_geometrica

1. Se tudo seguiu corretamente, neste momento estamos prontos para executar a chamada à rotina serie_geometrica (linha 56). Qual o valor presente nas variáveis “r” e “n”?

2. Execute apenas uma linha e verifique novamente. Quais os valores presentes nas variáveis “r” e “n”? 3. Qual o valor presente na variável “soma”?

4. Execute apenas uma linha e verifique novamente. Qual o valor presente na variável “soma”? Explique o que aconteceu.

5. Qual o valor presente na variável “a”?

6. Execute apenas uma linha e verifique novamente. Qual o valor presente na variável “a”? Explique o que aconteceu. 7. Execute apenas uma linha e verifique novamente. Qual o valor presente na variável “soma”?

8. Execute apenas uma linha e verifique novamente. Qual o valor presente na variável “soma”?

9. Continue a execução linha por linha do programa e observe os valores assumidos em cada passo, pelas variáveis “a” e “soma”.

10. Eventualmente, o programa chegará novamente à execução da rotina loop (Isso deve ocorrer na linha de número 43). Verifique dentro do bloco da rotina loop, qual o valor presente na variável “resp”? Explique o que aconteceu. 11. Execute o programa passo a passo até que a resposta apareça no display. Qual o valor que é visualizado?

(6)

fun-4

Comente a chamada à função serie_harmonica (na linha 41) e descomente a

chamada à função serie_pi (na linha 42). Rode o programa para diferentes

valores atribuídos à variável “n” e responda.

1. Qual o valor exibido no display quando atribuímos n=1: 2. Qual o valor exibido no display quando atribuímos n=2: 3. Qual o valor exibido no display quando atribuímos n=3: 4. Qual o valor exibido no display quando atribuímos n=4: 5. Qual o valor exibido no display quando atribuímos n=20: 6. Qual o valor exibido no display quando atribuímos n=21: 7. Qual o valor exibido no display quando atribuímos n=50: 8. Qual o valor exibido no display quando atribuímos n=51:

Referências

Documentos relacionados

São considerados custos e despesas ambientais, o valor dos insumos, mão- de-obra, amortização de equipamentos e instalações necessários ao processo de preservação, proteção

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Para Souza (2004, p 65), os micros e pequenos empresários negligenciam as atividades de planejamento e controle dos seus negócios, considerando-as como uma

Foram analisados a relação peso-comprimento e o fator de condição de Brycon opalinus, em três rios do Parque Estadual da Serra do Mar-Núcleo Santa Virgínia, Estado de São

Measurements of the corneal front keratometry values (K flat , K steep , and K max ), central corneal thickness, corneal apex thickness, thinnest corneal thickness, corneal

Keywords: Retinal vein occlusion; Macular edema; Lens implanta- tion, intraocular; Tomography, optical coherence; Dexamethasone/ administration &amp; dosage; Drug

In the right eye, the posterior cham- ber intraocular lens (PCIOL) was subluxated superiorly behind the iris with vitreous in the anterior chamber (AC).. There was no detection

Methods: Retrospective chart review of patients diagnosed with Acanthamoeba keratitis with pro- gressive corneal melting who were treated with accelerated collagen cross-linking..