Buscar

Avaliação II - Individual Microcontroladores e Microprocessadores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

1Linguagens de programação são responsáveis por transmitir instruções para o 
computador, para que certas tarefas possam ser realizadas. Os computadores 
entendem apenas sequências de números binários, e para um ser humano seria 
difícil decorar inúmeras combinações desses números como representações de 
instruções. Para que a transmissão de instruções para o computador ocorra de 
maneira mais fácil, foram criadas as linguagens de programação. Desde o 
surgimento da primeira linguagem de programação (Assembly), na década de 
1950, várias outras surgiram. Com base nesse contexto, classifique V para as 
sentenças verdadeiras e F para as falsas: 
( ) Estruturas de repetição são utilizadas quando um determinado bloco de 
código deve ser executado várias vezes, evitando, assim, que as mesmas instruções 
sejam declaradas repetidamente. 
( ) Ponteiros oferecem a possibilidade de armazenar vários elementos de um 
mesmo tipo em uma única variável. Neles, cada elemento é indexado através de um 
índice. 
( ) Strings são basicamente vetores de caracteres. Cada string deve terminar com 
o caractere nulo, sendo necessário inclui-lo ao contar a quantidade de elementos 
da string. 
( ) Constantes são trechos de código separados intencionalmente, de modo a 
serem reaproveitados em vários pontos do código. 
Assinale a alternativa que apresenta a sequência CORRETA: 
A) F - V - F - V. 
B) V - F - V - F. 
C) F - F - V - V. 
D) V - V - F - F. 
2 
Em 1985, foi lançada a primeira edição do livro The C++ Programming Language, 
contendo referências para a utilização da linguagem, já que ainda não era uma 
norma oficial. A primeira versão comercial foi lançada em outubro do mesmo 
ano. Em 1989, a segunda versão foi lançada, contendo novas características 
como herança múltipla, classes abstratas, métodos estáticos, métodos constantes e 
membros protegidos, incrementando o suporte a orientação a objeto. Em 1990, foi 
lançado o livro The Annotated C++ Reference Manual, que se tornou base para o 
futuro padrão. 
Com base nesse contexto, assinale a alternativa CORRETA: 
A) Outra forma de deixar o código mais claro e entendível é através dos 
comentários. Os comentários são textos que o programador pode inserir no código 
https://pt.wikipedia.org/wiki/1985
sem que estes sejam considerados pelo compilador. Em C++, para inserir um 
comentário em apenas uma linha, basta incluir no início desta o caractere (/*). 
B) Outra forma de deixar o código mais claro e entendível é através dos 
comentários. Os comentários são textos que o programador pode inserir no código 
sem que estes sejam considerados pelo compilador. Em C++, para inserir um 
comentário em apenas uma linha, basta incluir no início desta o caractere (/&). 
C) Outra forma de deixar o código mais claro e entendível é através dos 
comentários. Os comentários são textos que o programador pode inserir no código 
sem que estes sejam considerados pelo compilador. Em C++, para inserir um 
comentário em apenas uma linha, basta incluir no início desta o caractere (/%). 
D) Outra forma de deixar o código mais claro e entendível é através dos 
comentários. Os comentários são textos que o programador pode inserir no código 
sem que estes sejam considerados pelo compilador. Em C++, para inserir um 
comentário em apenas uma linha, basta incluir no início desta o caractere (//). 
 
3C++ é uma linguagem de programação compilada multiparadigma, ou seja, seu 
suporte inclui linguagem imperativa, orientada a objetos e genérica, e de uso geral. 
Desde os anos 1990 é uma das linguagens comerciais mais populares, sendo 
bastante usada também na academia por seu grande desempenho e base de 
utilizadores. Ela é utilizada na programação de microcontroladores, seguida pela 
linguagem Assembly. Com base nesse contexto, classifique V para as sentenças 
verdadeiras e F para as falsas: 
( ) Um tipo de dado na linguagem C++ é o inteiro (denotado por int). 
( ) O dado Flutuante na linguagem C++ é utilizado para armazenar dados 
numéricos positivos e sem casas decimais. 
( ) O dado Lógico é utilizado para armazenar números inteiros expressos por 
vírgula, ou seja, os famosos números decimais. 
( ) Uma variável do tipo float utiliza 32 bits de memória. 
Assinale a alternativa que apresenta a sequência CORRETA: 
A) V - F - V - F. 
B) F - V - F - V. 
C) F - V - V - F. 
D) V - F - F - V. 
4 
O nome Arduino vem de um bar em Ivrea, Itália, onde alguns dos fundadores do 
projeto costumavam se reunir. O bar foi nomeado após Arduíno de Ivrea, que foi o 
marquês da Marca de Ivrea e Rei da Itália de 1002 a 1014. Com base nesse 
contexto, classifique V para as sentenças verdadeiras e F para as falsas: 
( ) O Arduino Mega é bem parecido com a placa de desenvolvimento Arduino 
Uno, mas com algumas melhorias. Entre elas podemos citar a maior 
disponibilidade de porta de E/S, e o protocolo de comunicação USB integrada ao 
microcontrolador. 
( ) O Arduino LilyPad foi pensado para ser uma placa mais robusta em relação às 
citadas anteriormente. A primeira diferença está na maior disponibilidade de 
portas E/S, entradas analógicas, portas PWM e portas seriais. 
( ) O Arduino Nano é a menor placa desenvolvida pela Arduino. 
( ) Da mesma forma que o Arduino Uno, o Leonardo possui uma entrada para 
alimentação por fonte externa. 
Assinale a alternativa que apresenta a sequência CORRETA: 
A) V - V - F - F. 
B) F - F - V - V. 
C) V - F - F - V. 
D) F - V - F - F. 
 
5“A primeira versão oficial do C++ apareceu em 1985, juntamente com o livro “The 
C++ Programming Language”, que esclareceu vários pontos sobre o C++. Em 1989, 
foi lançada uma segunda versão da linguagem, com acréscimo das características: 
Herança múltipla, classes abstratas, métodos estáticos, métodos constantes e 
membros protegidos, incrementando também um suporte de orientação a objeto. 
Um ano depois foi lançado o livro “The Annotated C++ Reference Manual”, que se 
tornou uma base”. Com base nesse assunto, analise as sentenças a seguir: 
I- Nem todo código em linguagem C++ possui uma estrutura padrão onde é 
realizada a declaração das instruções e variáveis. 
II- É dentro da função “structure” que a execução principal do código em C++ está 
inserida. 
III- Apesar de eventualmente existirem desvios, é nela que são declaradas as 
variáveis, estruturas de repetição, operadores lógicos e tudo que precisamos para 
desenvolver um algoritmo em C++. 
Assinale a alternativa CORRETA: 
A) As sentenças I e II estão corretas. 
B) As sentenças I e III estão corretas. 
C) As sentenças II e III estão corretas. 
D) Somente a sentença III está correta. 
6 
No livro In The Design and Evolution of C++ (1994), Bjarne Stroustrup descreve 
algumas regras que ele utiliza para desenvolver a linguagem. Analise essas regras a 
seguir: 
 
- C++ é desenvolvido para ser uma linguagem tipada estaticamente e de propósito 
geral que é tão eficiente e portátil quanto o C. 
- C++ é desenvolvido para suportar múltiplos paradigmas. 
- C++ é desenvolvido para fornecer ao programador escolhas, mesmo que seja 
possível ao programador escolher a opção errada. 
- C++ é desenvolvido para ser o mais compatível com C possível, fornecendo 
transições simples para código C. 
- C++ evita fornecer facilidades que são específicas a certas plataformas ou a certos 
grupos de desenvolvedores. 
- C++ não exige overhead para facilidades que não são utilizadas. 
- C++ é desenvolvido para ser utilizado mesmo sem um ambiente de 
desenvolvimento sofisticado. 
Com base nesse contexto, assinale a alternativa CORRETA: 
A) Outra regra na linguagem C++ é que não podemos utilizar caracteres 
especiais como *, %, ou # em nenhuma parte do identificador da variável. 
B) Outra regra na linguagem C++ é que não podemos utilizar caracteres 
especiais como $, @, ou # em nenhuma parte do identificador da variável 
C) Outra regra na linguagem C++ é que não podemos utilizar caracteres 
especiais como *, @, ou& em nenhuma parte do identificador da variável. 
D) Outra regra na linguagem C++ é que não podemos utilizar caracteres 
especiais como $, %, ou & em nenhuma parte do identificador da variável. 
 
7Apesar de a lógica de programação ser a base de qualquer código, é importante 
que saibamos nos comunicar com o dispositivo que vai executá-lo. Essa 
comunicação fica a cargo de uma linguagem de programação, que determina 
exatamente como o dispositivo deve se comportar. Com base nesse assunto, 
analise as sentenças a seguir: 
I- Na programação de microcontroladores, a linguagem C++ se destaca como sendo 
uma das mais utilizadas atualmente, e com mais projetos escritos. 
II- A linguagem Fortran pode ser utilizada também para a programação dos mais 
diferentes dispositivos, como microcontroladores PIC, Raspberry, ESP32, e até 
mesmo para programar diretamente os microcontroladores Atmega, presentes na 
placa de desenvolvimento Arduino. 
III- A forma que podemos programar o Arduino é extremamente semelhante, não 
sendo exatamente igual, com a forma de programar em C++. 
Assinale a alternativa CORRETA: 
A) Somente a sentença III está correta 
B) As sentenças I e III estão corretas 
C) As sentenças I e II estão corretas. 
D) As sentenças II e III estão corretas. 
8 
As variáveis estão por toda parte dentro de um código em C++, sendo importante 
denotar o tipo correto e também um nome adequado para a identificar. O nome 
pelo qual referenciamos uma variável é conhecido como identificador. Para 
escolher um identificador adequado para uma variável precisamos nos ater a 
algumas regras presentes. 
Com base nesse contexto, assinale a alternativa CORRETA: 
A) Primeiro, não é possível iniciar o identificador de uma variável com 
números. Todo identificador deve iniciar com uma letra ou até mesmo o underline. 
B) Primeiro, não é possível iniciar o identificador de uma variável com 
números. Todo identificador deve iniciar com uma letra ou até mesmo o bool. 
C) Primeiro, não é possível iniciar o identificador de uma variável com 
números. Todo identificador deve iniciar com uma letra ou até mesmo o char. 
D) Primeiro, não é possível iniciar o identificador de uma variável com 
números. Todo identificador deve iniciar com uma letra ou até mesmo o main. 
 
9A programação de microcontroladores se baseia em uma lógica bem próxima com 
a que pensamos e tomamos decisões. Você, provavelmente, já pensou coisas do 
tipo: “se estiver chovendo amanhã eu levo um guarda-chuva”. Esse tipo de 
estrutura condicional, “se isso acontecer, faça aquilo”, é uma das que ocorrem com 
bastante frequência na programação e uma das que vamos estudar durante o 
tópico. Apesar de a lógica ser a mesma para qualquer linguagem de programação, 
algumas são mais adequadas para determinados propósitos que outras. O 
desenvolvimento web, por exemplo, utiliza linguagens como Javascript e PHP, que 
já não são vistas tão facilmente para a programação de microcontroladores. Com 
base nesse assunto, analise as sentenças a seguir: 
I- Outra linguagem que vem crescendo bastante em diversas áreas é a linguagem 
Fortran, ultrapassando inclusive a linguagem C++ no rank das linguagens mais 
utilizadas em 2020 para programação de embarcados. 
II- Apesar do crescimento da linguagem Python, ainda é natural começar o 
aprendizado com a linguagem C++, principalmente por ser a linguagem mais 
próxima da utilizada para programação do Arduino. 
III- Apesar de ainda ser requerida em algumas áreas específicas, e ser 
especialmente útil para aprender a arquitetura de processadores, a linguagem 
Basic não é mais tão utilizada assim na programação de microcontroladores. 
Assinale a alternativa CORRETA: 
A) As sentenças II e III estão corretas. 
B) As sentenças I e III estão corretas. 
C) As sentenças I e II estão corretas. 
D) Somente a sentença II está correta. 
 
10Por muito tempo, o C++ foi encarado como um superconjunto do C. Entretanto, 
em 1999, o novo padrão ISO para a linguagem C tornou as duas linguagens ainda 
mais diferentes entre si. Devido a essas incompatibilidades, muitas empresas que 
desenvolvem compiladores não oferecem suporte à versão mais recente da 
linguagem C. Pode-se dizer que C++ foi a única linguagem entre tantas outras que 
obteve sucesso como uma sucessora à linguagem C, inclusive servindo de 
inspiração para outras linguagens como Java, a IDL de CORBA e C#. 
Com base nesse contexto, assinale a alternativa CORRETA: 
A) As constantes podem ter diferentes tipos de dados, não se limitando apenas 
ao tipo inteiro. E, ao contrário das variáveis, não precisamos declarar o tipo de uma 
constante, bastando, como vimos, utilizar a diretiva #define, seguido do nome da 
constante e do valor. 
B) As constantes podem ter diferentes tipos de dados, não se limitando apenas 
ao tipo inteiro. E, ao contrário das variáveis, não precisamos declarar o tipo de uma 
constante, bastando, como vimos, utilizar a diretiva #main, seguido do nome da 
constante e do valor. 
C) As constantes podem ter diferentes tipos de dados, não se limitando apenas 
ao tipo inteiro. E, ao contrário das variáveis, não precisamos declarar o tipo de uma 
constante, bastando, como vimos, utilizar a diretiva #struct, seguido do nome da 
constante e do valor. 
D) As constantes podem ter diferentes tipos de dados, não se limitando apenas 
ao tipo inteiro. E, ao contrário das variáveis, não precisamos declarar o tipo de uma 
constante, bastando, como vimos, utilizar a diretiva #org, seguido do nome da 
constante e do valor.

Continue navegando