You are on page 1of 3

Experimento 1 linguagem C

Microprocessadores e microcontrolador
Joo Paulo da Silva Pires 110124332
Joo Guimares 120122405

1. Objetivo
Apresentar conceitos de programao
em linguagem C bastante utilizados no
desenvolvimento
de
sistemas
microcontrolados.
2. Introduo
Em meio diversidade de linguagens
de programao disponveis no mercado
atual, a linguagem C mostra-se eficiente e
bastante flexvel diante de outras
linguagens como, por exemplo, COBOL,
PASCAL, linguagens de terceira gerao.
Por se adaptar facilmente a diferentes
projetos
como
interfaces
grficas,
processamento de registros e at mesmo
para escrever compiladores para outras
linguagens. 1
A linguagem C se torna uma linguagem
robusta e malevel por ser uma linguagem
rpida que consegue atingir um melhor
desempenho, com instrues de alto nvel,
uma simples por possuir uma sintaxe de
fcil entendimento, portvel, popular,
modular, Alto nvel entre outras
caractersticas.
A evoluo das linguagens fez com que
tambm C evolusse no sentido das
linguagens Orientadas a Objetos, dando
origem a uma nova linguagem C++, na qual
mantm a sintaxe da linguagem C e
permitindo um conjunto adicional de
caractersticas
(encapsulamento,
hereditariedade, polimorfismo, sobrecarga,
entre outras).
A Linguagem C considerada uma
linguagem de nvel mdio, visto oferecer
elementos de uma linguagem de alto nvel e
recursos tpicos de Assembler. Por isso, a

Linguagem C muito utilizada em


programao de sistemas (compiladores,
sistemas operativos), pois permite a
manipulao de bits, bytes e endereos com
que o computador funciona.
3. Desenvolvimento
Parte I
Foi criada uma funo para
separao dos dgitos de um numero, com
nome Base10, recebendo dados por meio de
ponteiros para retornar mais de um valor na
funo. O algoritmo para separar os dgitos
de um nmero em unidades, dezenas, e
centenas pode ser implementado a partir do
fato, que na linguagem C ao dividir um
numero do tipo inteiro (int), o resultado da
diviso sempre um numero inteiro, e ao
dividir qualquer numero inteiro por um
numero na base 10, desloca-se seus
algarismos para sua direita, dando assim o
resto da diviso por 10 suas unidades.
Assim a diviso de um nmero por
100 devolve como resultado as centenas,
tendo assim:
centenas = numero / 100
Possvel obter as dezenas por
meio da multiplicao da casa das centenas
por 100, subtrair do numero e em seguida
realizar a diviso por 10:
dezenas =
= (numero centenas*100)/10
Por fim para encontrar as unidades
subtrai-se o numero pelas centenas
multiplicadas por 100 e as dezenas
multiplicadas por 10, o resultado da
subtrao so as unidades:
unidades = numero dezenas*10 - centenas *100

Foi utilizado a funo scanf para


poder realizar o recebimento do numero.
scanf("%d",&numero);
Parte II
A segunda parte do experimento foi
criada uma funo void ShowBase10
para a impresso de um nmero entre 000 e
999.
Para isto foi criado um vetor de
caracteres para impresso de cada linha de
um numero qualquer, e um uma matriz
auxiliar utilizada para imprimir as posies
do vetor de acordo com o numero
selecionado utilizando assim de forma mais
compacta a impresso por meio das
posies do vetor de caracteres, conforme
mostrada nas linhas 4 e 5 do anexo [1].
Para impresso da matriz foi
criando um lao for de 5 interaes para
impresso das 5 linhas que compem os
nmeros imprimindo a primeira linha de
cada numero para assim seguir para a
segunda linha conforme as linhas 10 e 11
do anexo [1].
Parte III
Na terceira parte foram associadas
ambas as funes criadas para a realizao
da listagem do numero recebido em
seqncia, utilizando a primeira funo para
separar os dgitos em unidades, dezenas e
centenas, e em seguida foi enviado os

nmeros para a segunda funo para assim


realizar a impresso do numero na tela.
4. Resultados
Os objetivos e metas impostos no
roteiro foram compridos, obtendo os
resultados esperados, porem algumas
alteraes no cdigo poderiam melhorar o
desempenho do programa para realizao
futura e otimizada, tirando a limitao de 3
casas decimais, para um nmero maior,
atravs de uma pequena modificao na
lgica de separao dos nmeros.
5. Concluso
Com esse experimento foi possvel
exercitar uma lgica para implementao
possvel em microcontroladores utilizando
duas matrizes para impresso de diferentes
caracteres, e futuramente, utilizao do
cdigo para impresso de palavras por meio
de pequenas modificaes, para desenho em
monitores VGA ou displays.
6. Referencias
[1] Frazo, Jos. Linguagem C.
Disponvel
em:
<http://josefrazao.com/images/LingC.pdf>
Acesso em 22 de Maro de 2015.

7. Anexo
[1] Programa com todas as funes

You might also like