Mudanças entre as edições de "Vídeo-tutoriais de ensino como ferramentas de auxílio - aplicação na área de circuítos lógicos"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 1: Linha 1:
 +
Link curto http://bit.ly/IFSC-ProjetoVTE-1
 +
 
=Introdução e Justificativa da Proposição=
 
=Introdução e Justificativa da Proposição=
 
Há muitos anos midias com recursos de audio-visuais, vídeos e captura de telas são utilizadas de forma eficiente no ensino, principalmente na EaD. Diferentes ferramentas tem sido usado para a geração desses recursos, tais como câmeras filmadoras, mesas digitalizadoras, etc. Recentemente, em 2008, Salman Khan iniciou usando o YouTube um projeto denominado Khan Academy, através do qual os vídeos gravados com simples tablets, que tem revolucionado o ensino em muitas áreas tais como: Matemática, Ciências, Humanidades, atualmente milhões de alunos ao redor do mundo assistem as pequenas aulas gravadas. No ano de 2013 o professor Sérgio Florentino da Silva e a professora Madeline Odete Silva Corrêa desenvolveram o “Projeto Ensino e Aprendizagem de Matemática com Vídeos”, no qual um conjunto de vídeos sobre o tema Matemática foi listado em uma página da wiki do IFSC.  Neste tipo de projeto, uma das principais dificuldades é a obtenção de materiais de boa qualidade em idioma português que estejam adequados aos alunos alvo.  Uma possível solução é a geração de materiais com a qualidade desejada, que neste caso depende principalmente de uma boa interface entre o tutor/professor e a máquina. Para uma boa qualidade é necessário capturar a voz e também as explicações dadas em alguma plataforma de digitalização.  Na área de ensino de Circuitos Lógicos percebe-se claramente uma deficiência de materiais de boa qualidade como ferramentas de auxilio no processo ensino-aprendizagem, mesmo em outros idiomas.  Nesta proposta, visamos dar inicio ao desenvolvimento de alguns vídeo-tutoriais de ensino (VTE), utilizando como plataforma de entrada um simples “Tablet” acrescido de uma caneta para a entrada dos diagramas e textos através da tela sensível ao toque.  
 
Há muitos anos midias com recursos de audio-visuais, vídeos e captura de telas são utilizadas de forma eficiente no ensino, principalmente na EaD. Diferentes ferramentas tem sido usado para a geração desses recursos, tais como câmeras filmadoras, mesas digitalizadoras, etc. Recentemente, em 2008, Salman Khan iniciou usando o YouTube um projeto denominado Khan Academy, através do qual os vídeos gravados com simples tablets, que tem revolucionado o ensino em muitas áreas tais como: Matemática, Ciências, Humanidades, atualmente milhões de alunos ao redor do mundo assistem as pequenas aulas gravadas. No ano de 2013 o professor Sérgio Florentino da Silva e a professora Madeline Odete Silva Corrêa desenvolveram o “Projeto Ensino e Aprendizagem de Matemática com Vídeos”, no qual um conjunto de vídeos sobre o tema Matemática foi listado em uma página da wiki do IFSC.  Neste tipo de projeto, uma das principais dificuldades é a obtenção de materiais de boa qualidade em idioma português que estejam adequados aos alunos alvo.  Uma possível solução é a geração de materiais com a qualidade desejada, que neste caso depende principalmente de uma boa interface entre o tutor/professor e a máquina. Para uma boa qualidade é necessário capturar a voz e também as explicações dadas em alguma plataforma de digitalização.  Na área de ensino de Circuitos Lógicos percebe-se claramente uma deficiência de materiais de boa qualidade como ferramentas de auxilio no processo ensino-aprendizagem, mesmo em outros idiomas.  Nesta proposta, visamos dar inicio ao desenvolvimento de alguns vídeo-tutoriais de ensino (VTE), utilizando como plataforma de entrada um simples “Tablet” acrescido de uma caneta para a entrada dos diagramas e textos através da tela sensível ao toque.  
Linha 27: Linha 29:
 
*[http://www.youtube.com/user/khanacademy Khan Academy em Inglês]
 
*[http://www.youtube.com/user/khanacademy Khan Academy em Inglês]
 
*[http://on.ted.com/pjmC Let's use video to reinvent education] - Portuguese, Brazilian translation by Francisco Paulino Dubiela, reviewed by Elena Crescia
 
*[http://on.ted.com/pjmC Let's use video to reinvent education] - Portuguese, Brazilian translation by Francisco Paulino Dubiela, reviewed by Elena Crescia
 +
 +
=Relatório do Projeto=
 +
 +
 +
A maioria dos aplicativos pesquisados é de uso pessoal, no geral, para manter a organização diária, de eventos e compromissos através de eventuais anotações/lembretes. Alguns possuem a possibilidade de inserir gravação de áudio, vídeo e foto, acessados através da biblioteca do aparelho ou realizados no instante desejado.
 +
 +
O foco da pesquisa dos aplicativos era encontrar algum que possuísse um quadro iterativo, com gravação de áudio e imagem simultâneos, assim seria possível gravar a imagem do quadro, realizando explicações e observações importantes para o vídeo tutorial de ensino em questão.
 +
 +
Visto isso, houve certa dificuldade em encontrar algum aplicativo que atendesse essas funções. Praticamente todos os aplicativos free, encontrados na Google Play, que possuíam um quadro iterativo, não tinham a possibilidade de gravá-lo juntamente com o áudio. Os que aparentemente teriam o necessário, eram incompatíveis com o aparelho utilizado (neste caso, o Tablet Educacional da Positivo).
 +
 +
 +
'''Tabela de Apps de anotações/quadro interativo'''
 +
 +
OBS: Avaliação de escrita e gravação de áudio/vídeo no quadro iterativo variando de 1 a 5, onde 5 é a nota máxima.
 +
 +
{| class="wikitable sortable"  border="1" cellpadding="3" cellspacing="0" style="text-align:left; font-size:100%" bgcolor="#efefef"
 +
! scope="col" width=40% align="left"| App
 +
! scope="col" width=10% align="center" | IOS
 +
! scope="col" width=10% align="center" | Android
 +
! scope="col" width=10% align="center" | Escreve
 +
! scope="col" width=10% align="center" | Grava
 +
! scope="col" width=10% align="center"| Compartilha pelo YouTube
 +
! scope="col" width=10% align="center"| Possui site de Controle
 +
! scope="col" width=10% align="left"| Compatível com o Tablet
 +
 +
!
 +
|-
 +
| [http://www.lensoo.com/ Lensoo]
 +
| align="center" | -
 +
| align="center" | [https://play.google.com/store/apps/details?id=com.lensoo.create&hl=pt_BR/ X]
 +
| align="center" | 2
 +
| align="center" | 4
 +
| align="center" | -
 +
| align="center" | X
 +
| align="center" | X
 +
|-
 +
| [https://doceri.com/ Doceri]
 +
| align="center" | [https://itunes.apple.com/br/app/doceri-interactive-whiteboard/id412443803?mt=8/ X]
 +
| align="center" | -
 +
| align="center" | 5
 +
| align="center" | 5
 +
| align="center" | -
 +
| align="center" | X
 +
| align="center" | -
 +
|-
 +
| [http://www.educreations.com/ Educreations]
 +
| align="center" | [https://itunes.apple.com/br/app/educreations-interactive-whiteboard/id478617061?mt=8/ X]
 +
| align="center" | -
 +
| align="center" | 4
 +
| align="center" | 4
 +
| align="center" | -
 +
| align="center" | X
 +
| align="center" | -
 +
|-
 +
| iTouch
 +
| align="center" | -
 +
| align="center" | [https://play.google.com/store/apps/details?id=jp.anlab.ita.iTouch/ X]
 +
| align="center" | 3
 +
| align="center" | -
 +
| align="center" | -
 +
| align="center" | -
 +
| align="center" | X
 +
|-
 +
| [http://www.kdanmobile.com/en/ NoteLedge]
 +
| align="center" | [https://itunes.apple.com/us/app/noteledge-premium-take-notes/id483101556?mt=8/ X]
 +
| align="center" | [https://play.google.com/store/apps/details?id=com.kdanmobile.android.noteledgelite&hl=pt_BR/ X]
 +
| align="center" | 4
 +
| align="center" | -
 +
| align="center" | -
 +
| align="center" | X
 +
| align="center" | X
 +
|-
 +
| [http://www.utgreat.com/ UTGreat Whiteboard]
 +
| align="center" | [https://itunes.apple.com/app/id726845111/ X]
 +
| align="center" | [https://play.google.com/store/apps/details?id=com.timmii.utgreat&hl=pt_BR/ X]
 +
| align="center" | 5
 +
| align="center" | 5
 +
| align="center" | -
 +
| align="center" | X
 +
| align="center" | X
 +
|-
 +
| [http://suishouxie.com/ Free Note]
 +
| align="center" | -
 +
| align="center" | [https://play.google.com/store/apps/details?id=com.suishouxie.freenote&hl=pt_BR/ X]
 +
| align="center" | 5
 +
| align="center" | -
 +
| align="center" | -
 +
| align="center" | X
 +
| align="center" | X
 +
|-
 +
| [http://www.softxperience.mobi/23-1-Note-Everything.html/Note Everything]
 +
| align="center" | -
 +
| align="center" | [https://play.google.com/store/apps/details?id=de.softxperience.android.noteeverything&hl=pt_BR/ X]
 +
| align="center" | 3
 +
| align="center" | -
 +
| align="center" | -
 +
| align="center" | X
 +
| align="center" | X
 +
|-
 +
| [http://www.softxperience.mobi/23-1-Note-Everything.html/ INKredible]
 +
| align="center" | [https://itunes.apple.com/br/app/inkredible/id712303681?mt=8/ X]
 +
| align="center" | [https://play.google.com/store/apps/details?id=com.viettran.INKredible&hl=pt_BR/ X]
 +
| align="center" | 4
 +
| align="center" | -
 +
| align="center" | -
 +
| align="center" | X
 +
| align="center" | X
 +
|-
 +
|}
 +
 +
 +
Portanto, foi considerada a possibilidade de usarmos dois apps de forma simultânea. Um para a gravação da imagem da tela do Tablet, juntamente com o áudio, e outro para o desenvolvimento da aula em si, de forma paralela.
 +
 +
Após uma pesquisa sobre aplicativos que atendessem as funções citadas anteriormente, segue-se a tabela:
 +
 +
{| class="wikitable sortable"  border="1" cellpadding="3" cellspacing="0" style="text-align:left; font-size:100%" bgcolor="#efefef"
 +
! scope="col" width=40% align="left"| App
 +
! scope="col" width=10% align="center" | IOS
 +
! scope="col" width=10% align="center" | Android
 +
! scope="col" width=10% align="center" | Com acesso Root
 +
! scope="col" width=10% align="center" | Sem acesso Root
 +
|-
 +
| [http://benzul.com/ ASC]
 +
| align="center" | -
 +
| align="center" | [https://play.google.com/store/apps/details?id=com.benzul.asc&hl=pt_BR/ X]
 +
| align="center" | X
 +
| align="center" | X
 +
|-
 +
| [http://forum.xda-developers.com/showthread.php?p=45033931/ SRC grátis]
 +
| align="center" | -
 +
| align="center" | [https://play.google.com/store/apps/details?id=com.iwobanas.screenrecorder.free/ X]
 +
| align="center" | X
 +
| align="center" | -
 +
|-
 +
| [http://recordable.mobi/ Recordable Free]
 +
| align="center" | -
 +
| align="center" | [https://play.google.com/store/apps/details?id=uk.org.invisibility.recordablefree/ X]
 +
| align="center" | X
 +
| align="center" | X
 +
|-
 +
| ScreenCast
 +
| align="center" | -
 +
| align="center" | [https://play.google.com/store/apps/details?id=com.kerby.screencast/ X]
 +
| align="center" | X
 +
| align="center" | -
 +
|-
 +
|}
 +
 +
Os aplicativos que não necessitam acesso ROOT, não puderam ser instalados no Tablet por não ser compatível com as características do mesmo. Sendo assim, usaremos o app Lensoo Create para desenvolver os testes de vídeo-tutoriais.
 +
 +
Os vídeos tutorias serão produzidos de forma a se complementar, criando uma rede onde cada vídeo depende conceitualmente de outro para ser entendido da maneira correta.
 +
 +
==Estudo dos Apps==
 +
Requisitos avaliados no aplicativo para atender ao projeto:
 +
* Quadro Iterativo
 +
* Gravação de imagem
 +
* Gravação de áudio
 +
* Funções de edição
 +
* Modo de Compartilhamento do material
 +
 +
==Assuntos Video-Aulas de ensino de CIL29003 a serem gravadas==
 +
*VTE1 - Divisão Binária
 +
*VTE2 - Complemento de dois
 +
*VTE3 - Representação Binária
 +
*VTE4 - Soma Binária
 +
*VTE5 - Subtração Binária com C2
 +
*VTE6 - Mapa de Karnaugh.
 +
*VTE7 - Funcionamento de um decodificador 2 para 4.
 +
 +
 +
 +
<graphviz caption='Hello SVG and PNG' alt='phylogenetic tree' format='png'>
 +
digraph G {
 +
              node [shape=plaintext];
 +
              REPRESENTAÇÃO_BINÁRIA[URL="http://create.lensoo.com/watch/b6pW/"];
 +
              SOMA_BINÁRIA[URL="http://create.lensoo.com/watch/b6pV/"];
 +
              COMPLEMENTO_DE_DOIS[URL="http://create.lensoo.com/watch/b6pW/"];
 +
              SUBTRAÇÃO_BINÁRIA[URL=""];
 +
              DIVISÃO_BINÁRIA[URL="http://create.lensoo.com/watch/b68d/"];
 +
              X1[shape=point,label=""];
 +
              X2[shape=point,label=""];
 +
           
 +
             
 +
REPRESENTAÇÃO_BINÁRIA->X1
 +
X1->SOMA_BINÁRIA->X2
 +
X1->COMPLEMENTO_DE_DOIS->X2
 +
X1->SUBTRAÇÃO_BINÁRIA->X2
 +
X2->DIVISÃO_BINÁRIA;
 +
             
 +
 +
 +
</graphviz>
 +
 +
 +
 +
*Ver como gerar em: http://www.mediawiki.org/wiki/Extension:GraphViz
 +
 +
==Desenvolvendo um VTE==
 +
 +
;O processo de produção de vídeos
 +
 +
O processo de produção de um vídeo tem, basicamente, três etapas:
 +
 +
'''Pré-Podução:''' Onde há a preparação e o planejamento do vídeo a ser produzido. É abrangido nessa etapa todas as demais atividades que serão realizadas, desde a concepção da ideia inicial até a finalização do vídeo:
 +
 +
 +
* Sinopse: resumo geral do que será apresentado no vídeo.
 +
 +
* Roteiro: Tem o objetivo de orientar e informar textualmente aquilo que o espectador verá e ouvirá no vídeo.
 +
 +
* ''Storyboard'': É uma representação das cenas do roteiro em forma de desenhos sequenciais. Tem como objetivo facilitar a visualização das cenas antes que sejam gravadas.
 +
 +
 +
'''Produção:''' Etapa onde são realizadas as gravações das cenas que irão compor o vídeo.
 +
 +
'''Pós Produção:''' É a última etapa, a qual recobre todas as atividades até então realizadas para a finalização do vídeo.
 +
 +
Em nosso projeto, não possuímos/realizamos a última etapa, pois não é possível editarmos o vídeo diretamente do aplicativo escolhido após o salvarmos.
 +
 +
'''Importante:'''
 +
*Fazer um ''storyboard'' contendo a disposição que se pretende no vídeo;
 +
*Anotar conceitos/explicações que terão que ser mencionadas;
 +
*Pressupor que quem for assistir ao vídeo saiba os pré-requisitos necessários para o bom entendimento do mesmo; 
 +
*Realizar a apresentação do vídeo sem poluição visual.
 +
 +
 +
;Processo de desenvolvimento
 +
 +
 +
Ao iniciarmos o desenvolvimento de um vídeo tutorial, devemos levar em consideração algumas características presentes no software escolhido que possam nos auxiliar, como:
 +
 +
 +
* Inserção de documentos em formato PDF;
 +
* Escrita ou desenho a mão livre através de uma caneta touch ou o próprio dedo;
 +
* Opção para inserção de texto digitado;
 +
* Opção para inserção de imagens;
 +
* Remoção de todos os desenhos, ou imagens inseridas ou apenas do que for desejado;
 +
* Possibilidade de alterar a cor de fundo para qualquer uma que o aplicativo dispõe ou para uma imagem semelhante à um quadro de aula ou até mesmo uma folha de caderno;
 +
* Opção para inserção de figuras geométricas.
 +
* Opção para iniciar/parar a gravação de áudio e imagem do aplicativo, num total de 15 minutos de gravação.
 +
* Possibilidade de utilizar mais de uma lâmina/página por vídeo.
 +
 +
 +
Para facilitar o processo, optamos por organizar o quadro (alterar fundo, adicionar imagens, adicionar textos, número de lâminas) antes de iniciar a gravação, assim não perdemos tempo de gravação e tornamos o vídeo mais objetivo.
 +
 +
Como um dos pontos adotados para a produção dos VTEs é que eles não sejam tão longos, a opção de iniciar e parar a gravação para depois retomá-la é de grande utilidade e indispensável nesse caso.
 +
 +
Os primeiros testes foram realizados sem que essa vantagem fosse aproveitada, além de utilizarmos o escrita a mão livre, porém os vídeos ficaram mais extensos do que o desejado e a manipulação da escrita/desenho a mão livre não é tão prática para ser usada nas nossas produções. Portanto, nos vídeos seguintes, foi adotada a opção de inserção de texto e a escrita a mão livre ficou limitada somente para a identificação/sinalização de alguns pontos no decorrer dos vídeos, permitindo assim uma apresentação visual mais agradável àqueles que assistirão aos VTEs.
 +
 +
Nos segundos testes de Complemento de 2 e Soma Binária, foi adotado outro atributo que o aplicativo dispõe, que é a inserção de imagens. Como foram usadas tabelas para facilitar o entendimento sobre representação binária (explicada junto ao complemento de dois) e soma binária e seus carrys, utilizamos o opção que temos no [https://drive.google.com/ Google Drive] de criar um desenho para depois o adicionarmos ao nosso VTE em um formato png. Assim, a princípio, não obtivemos problemas com a disposição de imagens/textos no quadro de uma forma geral, o que pôde ser notado em produções anteriores.
 +
 +
==Vídeos Teste==
 +
 +
 +
 +
''' Divisão Binária '''
 +
 +
[http://create.lensoo.com/watch/b689/ Divisão Binária - Teste 1]
 +
 +
[http://create.lensoo.com/watch/b68d/ Divisão Binária - Teste 2]
 +
 +
'''Comentários'''
 +
 +
O primeiro vídeo teste foi produzido com o intuito de testar o aplicativo para um desenvolvimento completo de uma vídeo aula em si, sem levar em consideração quesitos de organização, os quais foram observados e considerados no segundo vídeo teste, no qual optou-se pela mudança de cores para melhor identificação e diferenciação dos números num todo, bem como um aspecto mais agradável ao quadro.
 +
 +
Ao analisarmos o primeiro teste, concluiu-se que o uso da escrita livre não se adequou da maneira esperada, pois os formatos irregulares e distorcidos, algumas vezes, podem prejudicar o entendimento do espectador e deixar o quadro com um aspecto confuso, portanto, no segundo teste foi utilizada a escrita em modo texto e o modo manuscrito apenas para sinalização/identificação de algo.
 +
 +
Para que o teste 2 não ficasse tão extenso como o teste 1, decidiu-se abranger apenas um assunto específico, no caso, divisão binária ( assuntos pré-requisitos serão explicados de forma detalhada em vídeos exclusivos para casa um deles), passou-se a parar e retomar a gravação de tela/áudio de modo com que houvesse continuidade da aula e economia de tempo, e os traços de sinalização passaram a ser removidos após serem usados para evitar uma poluição visual no VTE.
 +
 +
'''OBS:''' Ao salvar o vídeo no aplicativo, ele altera a posição do que foi escrito de forma manual. Podemos notar tal fato no segundo teste, onde, antes de começar o vídeo(quando esta carregando), o quadro esta organizado de forma correta, e a partir do momento que o vídeo inicia, a "barra" de divisão fica posicionada sobre o divisor.
 +
 +
 +
----
 +
 +
 +
''' Complemento de Dois '''
 +
 +
[http://create.lensoo.com/watch/b697/ Complemento de Dois - Teste 1]
 +
 +
[http://create.lensoo.com/watch/b6pW/ Complemento de Dois (e Representação Binária) - Teste 2]
 +
 +
[http://create.lensoo.com/watch/b6ut/ Complemento de Dois (e Representação Binária) - Teste 3]
 +
 +
''' Sugestões de melhoria '''
 +
* Iniciar mostrando o peso dos bits e a soma(decimal) resultante;
 +
* Referenciar no exemplo a representação binária sem sinal, com sinal positivo e com sinal negativo;
 +
* Ressaltar que o MSB corresponde ao sinal(tanto para número negativos quanto positivos);
 +
* Falar dos pesos dos bits, destacando o primeiro MSB terá peso negativo(para número negativos representados por C2);
 +
* Mostrar que, de acordo com a representação que esta se utilizando, é possível que a mesma sequência de bits represente valores diferentes.
 +
 +
;Procedimento planejado para o Teste 2
 +
 +
-Inicia com representação binária e posteriormente explica o complemento de dois.
 +
 +
[[Arquivo:representacao.png|200px]]   
 +
 +
Cada espaço preenchido com o valor 1, corresponde ao valor de 2 elevado a potência correspondente a cada espaço(crescente da direita para a esquerda) multiplicado por 1, e cada espaço preenchido com o valor zero, corresponde ao valor de 2 elevado à potência correspondente ao espaço multiplicado por zero.
 +
 +
Por exemplo, o número binário 10111, quando utilizamos uma representação '''sem sinal''', equivale à '''1'''x2^4 + '''0'''x2^3 + '''1'''x2^2 + '''1'''x2^1 + '''1'''x2^0 = 16 + 0 + 4 + 2 + 1 = 23 decimal.
 +
 +
Para representar um número em complemento de dois, acrescenta-se um zero a frente do bit mais significativo, que será o bit de sinal.
 +
 +
 +
10111 -> '''0'''10111 (+23 em decimal)
 +
 +
 +
Depois disso, para obtermos o número negativo em complemento de dois invertemos todos os bits do número positivo e somamos à ele o valor 1.
 +
 +
 +
0 10111 ->  101000 + 1 = '''101001'''
 +
 +
 +
Nesse tipo de representação(complemento de 2) é importante lembrar que o bit mais significativo representará o sinal. Portanto o bit 1 no início representará um número negativo, e um bit zero no início representará um número positivo, e os demais números, independente do bit, serão positivos. Quando fazemos complemento de 2 de um número, apenas vamos representá-lo com seu sinal invertido, se o número de origem é positivo, ele ficará negativo, se for negativo, ficará positivo.
 +
 +
Voltemos ao exemplo:
 +
 +
 +
O número encontrado anteriormente, 101001, equivale então à '''-1'''x2^5 + '''0'''x2^4 + '''1'''x2^3 + '''0'''x2^2 + '''0'''x2^1 + '''1'''x2^0 = -32 + 0 + 8 + 0 + 0 + 1 = -23 decimal.
 +
 +
 +
Algumas representação em complemento de dois:
 +
 +
 +
100010  - é um número negativo, -32 + 2 = -30
 +
 +
010010 - é um número positivo, +16 + 2 = 18
 +
 +
0111 - é um número positivo +4 + 2 + 1 = 7
 +
 +
111 - é um número negativo -4 + 2 + 1 = -1
 +
 +
Reforçando, o bit mais significativo (MSB) '''sempre''' definirá o sinal.
 +
 +
 +
É importante lembrar também que a representação utilizada pode alterar o valor de uma mesma sequência de bits. Tomando como exemplo a sequência resultante do complemento de dois:
 +
 +
 +
101001 = 41 (sem sinal)
 +
 +
101001 = -23 (complemento de dois)
 +
 +
101001 = -9 (sinal magnitude)
 +
 +
101001 = -22 (complemento de um)
 +
 +
 +
 +
----
 +
 +
 +
''' Soma Binária '''
 +
 +
[http://create.lensoo.com/watch/b698/ Soma Binária - Teste 1]
 +
 +
[http://create.lensoo.com/watch/b6pV/ Soma Binária - Teste 2]
 +
 +
[http://create.lensoo.com/watch/b6uu/ Soma Binária - Teste 3]
 +
 +
''' Sugestões de melhoria '''
 +
* Inverter tabela. Partir do 00 até 11;
 +
* Fazer tabela adicional com Carry In(Cin);
 +
* Mostrar um caso em que ocorre um Carry no último bit;
 +
 +
;Procedimento planejado para o Teste 2
 +
 +
- Iniciar com tabelas de soma e Cin.
 +
 +
;Tabela 1: Representa o valor da soma de dois números binários e o carry correspondente à ela.
 +
 +
[[Imagem:somab.png|200px]]
 +
 +
 +
 +
;Tabela 2: Representa a soma de dois números binários e considera o Cin, que é o carry proveniente de uma soma anterior e que é considerado para realizar a soma autal, e o Cout, que é o carry resultante da soma atual.
 +
 +
[[Imagem:cin.png|200px]]
 +
 +
 +
Antes de somar dois números binários, é necessário verificar se a quantidade de bits é a mesma. Caso não seja, é preciso adicionar zeros à esquerda do número que possui menos bits, com o objetivo de igualar essa quantidade. É importante também colocarmos um zero a mais à frente dos números para que, caso haja carry no último bit, o resultado da operação seja correto.
 +
 +
O carry no último bit irá existir quando, ao somarmos dois números, o resultado necessite de um bit a mais para representar o valor correto. Por exemplo, em geral, com N bits podemos representar números inteiros positivos de 0 a 2^n - 1, então, se somarmos dois números com quatro bits (N=4), poderemos ter como resultado apenas números entre '''zero''' e  '''15''' (2^4-1). Se esses números fossem 9 e 10(como veremos no Exemplo 2), nosso resultado seria 19, que não pode ser representado apenas por quatro bits. Neste caso, é preciso um bit a mais para a representação correta do resultado.
 +
 +
Outro modo de realizar a operação é simplesmente somarmos os bits, e caso o último carry seja igual à '''1''', utilizamos um bit a mais para representar o número(resultado).
 +
 +
 +
;Exemplo 1:
 +
 +
Ao somarmos o valor 1001 e 101 (considerando a representação '''sem sinal''') que correspondem, respectivamente, ao 9 e 5 decimal, é necessário colocarmos um zero à esquerda do valor 101 para que este tenha o mesmo número de bits que o primeiro, e também mais um zero na frente de ambos, para garantir a validade do resultado ao realizarmos a operação.
 +
 +
[[Imagem:soma1.png|200px]]
 +
 +
Neste exemplo não possuímos carry no último bit, mas é importante colocarmos os zeros do mesmo jeito.
 +
Chegamos ao resultado 01110 que equivale ao 14 decimal, portanto, nossa conta esta correta.
 +
 +
;Exemplo 2:
 +
 +
Ao somarmos o valor 1001 e 1010 (considerando a representação '''sem sinal'''), que correspondem, respectivamente, ao 9 e 10 decimal, também devemos colocar o zero a mais na frente de ambos para que o resultado esteja certo.
 +
 +
[[Imagem:soma2.png|200px]]
 +
 +
Neste exemplo, possuímos um carry no último bit. Se não colocássemos os zeros a mais no números, obteríamos um resultado errado, pois não haveria bit para que o carry descesse e ficaríamos com um resultado '''0011''' (3 decimal), e não o resultado '''10011'''(19 decimal) que é o correto.
 +
 +
'''OBS:''' Após algumas alterações feitas no procedimento planejado do teste 2, na gravação do teste 3 foi utilizado apenas o segundo exemplo, devido ao tempo máximo de gravação permitido pelo aplicativo.
 +
 +
 +
----
 +
 +
 +
''' Subtração Binária com Complemento de 2'''
 +
 +
 +
;Procedimento planejado
 +
 +
Podemos realizar a subtração binária entre dois números sendo eles dois números positivos, dois números negativos, ou um número negativo e outro positivo. Em nosso exemplo iremos realizar a subtração considerando positivo ambos os números.
 +
 +
Sendo assim, há dois modos possíveis de se realizar essa operação:
 +
* Podemos subtrair direto os números como se fazemos na representação decimal, mas ao invés de se usar o carry (vai um), usa-se o '''borrow''' (empresta um).
 +
* Podemos utilizar o '''complemento de dois''' para inverter um número, e aplicar o algoritmo de '''soma binária''', uma vez que, considerando os operando A e B e seus complementos de dois A* e B*, a entrada de A e B no somador resultará na soma A+B, a entrada de A e B* resultará em A+(-B), a de A* e B resultará em -A+B e a de A* e B* resultará em -A+(-B). Sendo assim, é preciso ter atenção com a '''análise de overflow''', que ocorrerá quando os '''dois últimos bits de carry''' forem '''diferentes''' ou quando os '''MSBs dos operandos forem iguais''' e o '''MSB do resultado for diferente''' deles.
 +
Usaremos essa abordagem pois é a mais utilizada na maioria das implementações reais, segundo Pedroni(2010).
 +
 +
 +
Por isso, é necessário que ambos os termos tenham a mesma quantidade de bits para que a operação possa ser realizada e é necessário adicionarmos um bit para representar o sinal também. Portanto, deve-se lembrar que o '''bit 1''' como bit de sinal tem peso '''negativo''', e o '''bit 0''' tem peso '''positivo'''.
 +
 +
No caso da representação '''sem sinal''', basta colocarmos quantos zeros forem preciso a frente do número original, se estivermos utilizando '''números em complemento de dois''', devemos preencher utilizando o bit de sinal, se for '''1''', preenchemos com '''1''', se for '''zero''', preenchemos com '''zero'''.
 +
 +
 +
'''sem sinal''':
 +
111 (4+2+1 = 7) em 3 bits  = 00000111 (4+2+1 = 7) em 8 bits
 +
 +
'''complemento de dois''':
 +
0111 (4+2+1 = 7) em 4 bits = 000111 (4+2+1 = 7) em 6 bits 
 +
1001 (-8+1 = -7) em 4 bits = 111001 (-32+16+8+1 = -7) em 6 bits
 +
 +
 +
Exemplo:
 +
 +
Ao subtrairmos de 10111 o número 100, que correspondem ao número 23 e 5 decimal, respectivamente. É necessário igualarmos os bits e adicionarmos o bit de sinal em ambos ( '''0'''10111 - '''000'''100), para depois, fazermos o complemento de dois do segundo termo e realizarmos a soma do primeiro termo com o oposto do segundo.
 +
O complemento de dois do número binário 000100 é igual à 111100 (-4 decimal).
 +
 +
[[Imagem:sub (1).png|200px]]
 +
 +
Em algumas subtrações, como essa do exemplo, há ocorrência de overflow, ou seja, o número de bits ultrapassa o número de bits da subtração. O que devemos fazer, em casos assim, é desconsiderar esse bit.
 +
 +
Obtemos através do exemplo o resultado binário 010011, que equivale, em decimal à '''+''' 0x2^5 + 1x2^4 + 0x2^3 + 0x2^2 + 1x2^1 + 1x2^0 = 0 + 16 + 0 + 0 + 2 + 1 = '''+19'''.
 +
 +
Caso troquemos os termos e realizemos a operação 000100 - 010111, iremos obter o resultado negativo. Vejamos a seguir:
 +
O complemento de dois do número binário 010111 é igual à 101001(-23 decimal).
 +
 +
[[Imagem:sub1.png|200px]]
 +
 +
Obtemos através desse exemplo, o resultado binário 101101, que equivale, em decimal à '''-''' 1x2^5 + 0x2^4 + 1x2^3 + 1x2^2 + 0x2^1 + 1x2^0 = -32 + 0 + 8 + 4 + 0 + 1 = '''-19'''.

Edição das 00h46min de 28 de junho de 2014

Link curto http://bit.ly/IFSC-ProjetoVTE-1

Introdução e Justificativa da Proposição

Há muitos anos midias com recursos de audio-visuais, vídeos e captura de telas são utilizadas de forma eficiente no ensino, principalmente na EaD. Diferentes ferramentas tem sido usado para a geração desses recursos, tais como câmeras filmadoras, mesas digitalizadoras, etc. Recentemente, em 2008, Salman Khan iniciou usando o YouTube um projeto denominado Khan Academy, através do qual os vídeos gravados com simples tablets, que tem revolucionado o ensino em muitas áreas tais como: Matemática, Ciências, Humanidades, atualmente milhões de alunos ao redor do mundo assistem as pequenas aulas gravadas. No ano de 2013 o professor Sérgio Florentino da Silva e a professora Madeline Odete Silva Corrêa desenvolveram o “Projeto Ensino e Aprendizagem de Matemática com Vídeos”, no qual um conjunto de vídeos sobre o tema Matemática foi listado em uma página da wiki do IFSC. Neste tipo de projeto, uma das principais dificuldades é a obtenção de materiais de boa qualidade em idioma português que estejam adequados aos alunos alvo. Uma possível solução é a geração de materiais com a qualidade desejada, que neste caso depende principalmente de uma boa interface entre o tutor/professor e a máquina. Para uma boa qualidade é necessário capturar a voz e também as explicações dadas em alguma plataforma de digitalização. Na área de ensino de Circuitos Lógicos percebe-se claramente uma deficiência de materiais de boa qualidade como ferramentas de auxilio no processo ensino-aprendizagem, mesmo em outros idiomas. Nesta proposta, visamos dar inicio ao desenvolvimento de alguns vídeo-tutoriais de ensino (VTE), utilizando como plataforma de entrada um simples “Tablet” acrescido de uma caneta para a entrada dos diagramas e textos através da tela sensível ao toque.

Objetivos do Projeto

Neste projeto será proposta uma forma de gerar materiais de VTE para auxílio na disciplina de Circuitos Lógicos, devendo o conjunto inicial de VTE ser publicado em um canal no YouTube. O conjunto de tutoriais a ser produzido deverá explorar tanto temas considerados de menor como os de maior complexidade pelos alunos. Serão produzidas e publicadas variações de tutoriais sobre o mesmo tema, para que os alunos possam a avaliar qual é a melhor solução para o processo de ensino-aprendizagem. Ao final do projeto além de um conjunto de VTE disponibilizados em um canal do YouTube, também serão apresentados em um relatório técnico os métodos utilizados para a geração dos tutoriais, bem como o resultado da avaliação dos alunos. Note, que apesar de o projeto ser inicialmente voltado para a área de Circuitos lógicos, espera-se que com o resultado desta pesquisa se consiga desenvolver uma técnica e ferramentas que permitam fazer com que professores do IFSC possam produzir seus próprios matérias de auxilio (em VTE) para as aulas de forma rápida e simples com baixo custo.

Detalhamento das atividades

As etapas previstas são as seguintes:

  1. . Definição dos temas a serem trabalhados nos VTE.
  2. . Preparação do storyboard de cada VTE;
  3. . Gravação e avaliação dos VTE.
  4. . Criação de um canal no YouTube para a publicação dos VTE
  5. . Publicação dos VTE no YouTube.
  6. . Avaliação pelos alunos sobre a efetividade do uso do VTE no processo de ensino-aprendizagem
  7. . Relatório técnico com resultado dos estudos realizados.

Forma de acompanhamento do bolsista

  • Diário de trabalho do bolsista.
  • Canal do YouTube com os VTE
  • Relatório Técnico Final

Local de trabalho do bolsista

  • Laboratório de Iniciação a Pesquisa

Links de auxilio

Relatório do Projeto

A maioria dos aplicativos pesquisados é de uso pessoal, no geral, para manter a organização diária, de eventos e compromissos através de eventuais anotações/lembretes. Alguns possuem a possibilidade de inserir gravação de áudio, vídeo e foto, acessados através da biblioteca do aparelho ou realizados no instante desejado.

O foco da pesquisa dos aplicativos era encontrar algum que possuísse um quadro iterativo, com gravação de áudio e imagem simultâneos, assim seria possível gravar a imagem do quadro, realizando explicações e observações importantes para o vídeo tutorial de ensino em questão.

Visto isso, houve certa dificuldade em encontrar algum aplicativo que atendesse essas funções. Praticamente todos os aplicativos free, encontrados na Google Play, que possuíam um quadro iterativo, não tinham a possibilidade de gravá-lo juntamente com o áudio. Os que aparentemente teriam o necessário, eram incompatíveis com o aparelho utilizado (neste caso, o Tablet Educacional da Positivo).


Tabela de Apps de anotações/quadro interativo

OBS: Avaliação de escrita e gravação de áudio/vídeo no quadro iterativo variando de 1 a 5, onde 5 é a nota máxima.

App IOS Android Escreve Grava Compartilha pelo YouTube Possui site de Controle Compatível com o Tablet
Lensoo - X 2 4 - X X
Doceri X - 5 5 - X -
Educreations X - 4 4 - X -
iTouch - X 3 - - - X
NoteLedge X X 4 - - X X
UTGreat Whiteboard X X 5 5 - X X
Free Note - X 5 - - X X
Everything - X 3 - - X X
INKredible X X 4 - - X X


Portanto, foi considerada a possibilidade de usarmos dois apps de forma simultânea. Um para a gravação da imagem da tela do Tablet, juntamente com o áudio, e outro para o desenvolvimento da aula em si, de forma paralela.

Após uma pesquisa sobre aplicativos que atendessem as funções citadas anteriormente, segue-se a tabela:

App IOS Android Com acesso Root Sem acesso Root
ASC - X X X
SRC grátis - X X -
Recordable Free - X X X
ScreenCast - X X -

Os aplicativos que não necessitam acesso ROOT, não puderam ser instalados no Tablet por não ser compatível com as características do mesmo. Sendo assim, usaremos o app Lensoo Create para desenvolver os testes de vídeo-tutoriais.

Os vídeos tutorias serão produzidos de forma a se complementar, criando uma rede onde cada vídeo depende conceitualmente de outro para ser entendido da maneira correta.

Estudo dos Apps

Requisitos avaliados no aplicativo para atender ao projeto:

  • Quadro Iterativo
  • Gravação de imagem
  • Gravação de áudio
  • Funções de edição
  • Modo de Compartilhamento do material

Assuntos Video-Aulas de ensino de CIL29003 a serem gravadas

  • VTE1 - Divisão Binária
  • VTE2 - Complemento de dois
  • VTE3 - Representação Binária
  • VTE4 - Soma Binária
  • VTE5 - Subtração Binária com C2
  • VTE6 - Mapa de Karnaugh.
  • VTE7 - Funcionamento de um decodificador 2 para 4.


<graphviz caption='Hello SVG and PNG' alt='phylogenetic tree' format='png'> digraph G {

             node [shape=plaintext];
             REPRESENTAÇÃO_BINÁRIA[URL="http://create.lensoo.com/watch/b6pW/"];
             SOMA_BINÁRIA[URL="http://create.lensoo.com/watch/b6pV/"];
             COMPLEMENTO_DE_DOIS[URL="http://create.lensoo.com/watch/b6pW/"];
             SUBTRAÇÃO_BINÁRIA[URL=""];
             DIVISÃO_BINÁRIA[URL="http://create.lensoo.com/watch/b68d/"];
             X1[shape=point,label=""];
             X2[shape=point,label=""];
           
             

REPRESENTAÇÃO_BINÁRIA->X1 X1->SOMA_BINÁRIA->X2 X1->COMPLEMENTO_DE_DOIS->X2 X1->SUBTRAÇÃO_BINÁRIA->X2 X2->DIVISÃO_BINÁRIA;


</graphviz>


Desenvolvendo um VTE

O processo de produção de vídeos

O processo de produção de um vídeo tem, basicamente, três etapas:

Pré-Podução: Onde há a preparação e o planejamento do vídeo a ser produzido. É abrangido nessa etapa todas as demais atividades que serão realizadas, desde a concepção da ideia inicial até a finalização do vídeo:


  • Sinopse: resumo geral do que será apresentado no vídeo.
  • Roteiro: Tem o objetivo de orientar e informar textualmente aquilo que o espectador verá e ouvirá no vídeo.
  • Storyboard: É uma representação das cenas do roteiro em forma de desenhos sequenciais. Tem como objetivo facilitar a visualização das cenas antes que sejam gravadas.


Produção: Etapa onde são realizadas as gravações das cenas que irão compor o vídeo.

Pós Produção: É a última etapa, a qual recobre todas as atividades até então realizadas para a finalização do vídeo.

Em nosso projeto, não possuímos/realizamos a última etapa, pois não é possível editarmos o vídeo diretamente do aplicativo escolhido após o salvarmos.

Importante:

  • Fazer um storyboard contendo a disposição que se pretende no vídeo;
  • Anotar conceitos/explicações que terão que ser mencionadas;
  • Pressupor que quem for assistir ao vídeo saiba os pré-requisitos necessários para o bom entendimento do mesmo;
  • Realizar a apresentação do vídeo sem poluição visual.


Processo de desenvolvimento


Ao iniciarmos o desenvolvimento de um vídeo tutorial, devemos levar em consideração algumas características presentes no software escolhido que possam nos auxiliar, como:


  • Inserção de documentos em formato PDF;
  • Escrita ou desenho a mão livre através de uma caneta touch ou o próprio dedo;
  • Opção para inserção de texto digitado;
  • Opção para inserção de imagens;
  • Remoção de todos os desenhos, ou imagens inseridas ou apenas do que for desejado;
  • Possibilidade de alterar a cor de fundo para qualquer uma que o aplicativo dispõe ou para uma imagem semelhante à um quadro de aula ou até mesmo uma folha de caderno;
  • Opção para inserção de figuras geométricas.
  • Opção para iniciar/parar a gravação de áudio e imagem do aplicativo, num total de 15 minutos de gravação.
  • Possibilidade de utilizar mais de uma lâmina/página por vídeo.


Para facilitar o processo, optamos por organizar o quadro (alterar fundo, adicionar imagens, adicionar textos, número de lâminas) antes de iniciar a gravação, assim não perdemos tempo de gravação e tornamos o vídeo mais objetivo.

Como um dos pontos adotados para a produção dos VTEs é que eles não sejam tão longos, a opção de iniciar e parar a gravação para depois retomá-la é de grande utilidade e indispensável nesse caso.

Os primeiros testes foram realizados sem que essa vantagem fosse aproveitada, além de utilizarmos o escrita a mão livre, porém os vídeos ficaram mais extensos do que o desejado e a manipulação da escrita/desenho a mão livre não é tão prática para ser usada nas nossas produções. Portanto, nos vídeos seguintes, foi adotada a opção de inserção de texto e a escrita a mão livre ficou limitada somente para a identificação/sinalização de alguns pontos no decorrer dos vídeos, permitindo assim uma apresentação visual mais agradável àqueles que assistirão aos VTEs.

Nos segundos testes de Complemento de 2 e Soma Binária, foi adotado outro atributo que o aplicativo dispõe, que é a inserção de imagens. Como foram usadas tabelas para facilitar o entendimento sobre representação binária (explicada junto ao complemento de dois) e soma binária e seus carrys, utilizamos o opção que temos no Google Drive de criar um desenho para depois o adicionarmos ao nosso VTE em um formato png. Assim, a princípio, não obtivemos problemas com a disposição de imagens/textos no quadro de uma forma geral, o que pôde ser notado em produções anteriores.

Vídeos Teste

Divisão Binária

Divisão Binária - Teste 1

Divisão Binária - Teste 2

Comentários

O primeiro vídeo teste foi produzido com o intuito de testar o aplicativo para um desenvolvimento completo de uma vídeo aula em si, sem levar em consideração quesitos de organização, os quais foram observados e considerados no segundo vídeo teste, no qual optou-se pela mudança de cores para melhor identificação e diferenciação dos números num todo, bem como um aspecto mais agradável ao quadro.

Ao analisarmos o primeiro teste, concluiu-se que o uso da escrita livre não se adequou da maneira esperada, pois os formatos irregulares e distorcidos, algumas vezes, podem prejudicar o entendimento do espectador e deixar o quadro com um aspecto confuso, portanto, no segundo teste foi utilizada a escrita em modo texto e o modo manuscrito apenas para sinalização/identificação de algo.

Para que o teste 2 não ficasse tão extenso como o teste 1, decidiu-se abranger apenas um assunto específico, no caso, divisão binária ( assuntos pré-requisitos serão explicados de forma detalhada em vídeos exclusivos para casa um deles), passou-se a parar e retomar a gravação de tela/áudio de modo com que houvesse continuidade da aula e economia de tempo, e os traços de sinalização passaram a ser removidos após serem usados para evitar uma poluição visual no VTE.

OBS: Ao salvar o vídeo no aplicativo, ele altera a posição do que foi escrito de forma manual. Podemos notar tal fato no segundo teste, onde, antes de começar o vídeo(quando esta carregando), o quadro esta organizado de forma correta, e a partir do momento que o vídeo inicia, a "barra" de divisão fica posicionada sobre o divisor.




Complemento de Dois

Complemento de Dois - Teste 1

Complemento de Dois (e Representação Binária) - Teste 2

Complemento de Dois (e Representação Binária) - Teste 3

Sugestões de melhoria

  • Iniciar mostrando o peso dos bits e a soma(decimal) resultante;
  • Referenciar no exemplo a representação binária sem sinal, com sinal positivo e com sinal negativo;
  • Ressaltar que o MSB corresponde ao sinal(tanto para número negativos quanto positivos);
  • Falar dos pesos dos bits, destacando o primeiro MSB terá peso negativo(para número negativos representados por C2);
  • Mostrar que, de acordo com a representação que esta se utilizando, é possível que a mesma sequência de bits represente valores diferentes.
Procedimento planejado para o Teste 2

-Inicia com representação binária e posteriormente explica o complemento de dois.

Representacao.png

Cada espaço preenchido com o valor 1, corresponde ao valor de 2 elevado a potência correspondente a cada espaço(crescente da direita para a esquerda) multiplicado por 1, e cada espaço preenchido com o valor zero, corresponde ao valor de 2 elevado à potência correspondente ao espaço multiplicado por zero.

Por exemplo, o número binário 10111, quando utilizamos uma representação sem sinal, equivale à 1x2^4 + 0x2^3 + 1x2^2 + 1x2^1 + 1x2^0 = 16 + 0 + 4 + 2 + 1 = 23 decimal.

Para representar um número em complemento de dois, acrescenta-se um zero a frente do bit mais significativo, que será o bit de sinal.


10111 -> 010111 (+23 em decimal)


Depois disso, para obtermos o número negativo em complemento de dois invertemos todos os bits do número positivo e somamos à ele o valor 1.


0 10111 -> 101000 + 1 = 101001


Nesse tipo de representação(complemento de 2) é importante lembrar que o bit mais significativo representará o sinal. Portanto o bit 1 no início representará um número negativo, e um bit zero no início representará um número positivo, e os demais números, independente do bit, serão positivos. Quando fazemos complemento de 2 de um número, apenas vamos representá-lo com seu sinal invertido, se o número de origem é positivo, ele ficará negativo, se for negativo, ficará positivo.

Voltemos ao exemplo:


O número encontrado anteriormente, 101001, equivale então à -1x2^5 + 0x2^4 + 1x2^3 + 0x2^2 + 0x2^1 + 1x2^0 = -32 + 0 + 8 + 0 + 0 + 1 = -23 decimal.


Algumas representação em complemento de dois:


100010 - é um número negativo, -32 + 2 = -30

010010 - é um número positivo, +16 + 2 = 18

0111 - é um número positivo +4 + 2 + 1 = 7

111 - é um número negativo -4 + 2 + 1 = -1

Reforçando, o bit mais significativo (MSB) sempre definirá o sinal.


É importante lembrar também que a representação utilizada pode alterar o valor de uma mesma sequência de bits. Tomando como exemplo a sequência resultante do complemento de dois:


101001 = 41 (sem sinal)

101001 = -23 (complemento de dois)

101001 = -9 (sinal magnitude)

101001 = -22 (complemento de um)




Soma Binária

Soma Binária - Teste 1

Soma Binária - Teste 2

Soma Binária - Teste 3

Sugestões de melhoria

  • Inverter tabela. Partir do 00 até 11;
  • Fazer tabela adicional com Carry In(Cin);
  • Mostrar um caso em que ocorre um Carry no último bit;
Procedimento planejado para o Teste 2

- Iniciar com tabelas de soma e Cin.

Tabela 1
Representa o valor da soma de dois números binários e o carry correspondente à ela.

Somab.png


Tabela 2
Representa a soma de dois números binários e considera o Cin, que é o carry proveniente de uma soma anterior e que é considerado para realizar a soma autal, e o Cout, que é o carry resultante da soma atual.

Cin.png


Antes de somar dois números binários, é necessário verificar se a quantidade de bits é a mesma. Caso não seja, é preciso adicionar zeros à esquerda do número que possui menos bits, com o objetivo de igualar essa quantidade. É importante também colocarmos um zero a mais à frente dos números para que, caso haja carry no último bit, o resultado da operação seja correto.

O carry no último bit irá existir quando, ao somarmos dois números, o resultado necessite de um bit a mais para representar o valor correto. Por exemplo, em geral, com N bits podemos representar números inteiros positivos de 0 a 2^n - 1, então, se somarmos dois números com quatro bits (N=4), poderemos ter como resultado apenas números entre zero e 15 (2^4-1). Se esses números fossem 9 e 10(como veremos no Exemplo 2), nosso resultado seria 19, que não pode ser representado apenas por quatro bits. Neste caso, é preciso um bit a mais para a representação correta do resultado.

Outro modo de realizar a operação é simplesmente somarmos os bits, e caso o último carry seja igual à 1, utilizamos um bit a mais para representar o número(resultado).


Exemplo 1

Ao somarmos o valor 1001 e 101 (considerando a representação sem sinal) que correspondem, respectivamente, ao 9 e 5 decimal, é necessário colocarmos um zero à esquerda do valor 101 para que este tenha o mesmo número de bits que o primeiro, e também mais um zero na frente de ambos, para garantir a validade do resultado ao realizarmos a operação.

Soma1.png

Neste exemplo não possuímos carry no último bit, mas é importante colocarmos os zeros do mesmo jeito. Chegamos ao resultado 01110 que equivale ao 14 decimal, portanto, nossa conta esta correta.

Exemplo 2

Ao somarmos o valor 1001 e 1010 (considerando a representação sem sinal), que correspondem, respectivamente, ao 9 e 10 decimal, também devemos colocar o zero a mais na frente de ambos para que o resultado esteja certo.

Soma2.png

Neste exemplo, possuímos um carry no último bit. Se não colocássemos os zeros a mais no números, obteríamos um resultado errado, pois não haveria bit para que o carry descesse e ficaríamos com um resultado 0011 (3 decimal), e não o resultado 10011(19 decimal) que é o correto.

OBS: Após algumas alterações feitas no procedimento planejado do teste 2, na gravação do teste 3 foi utilizado apenas o segundo exemplo, devido ao tempo máximo de gravação permitido pelo aplicativo.




Subtração Binária com Complemento de 2


Procedimento planejado

Podemos realizar a subtração binária entre dois números sendo eles dois números positivos, dois números negativos, ou um número negativo e outro positivo. Em nosso exemplo iremos realizar a subtração considerando positivo ambos os números.

Sendo assim, há dois modos possíveis de se realizar essa operação:

  • Podemos subtrair direto os números como se fazemos na representação decimal, mas ao invés de se usar o carry (vai um), usa-se o borrow (empresta um).
  • Podemos utilizar o complemento de dois para inverter um número, e aplicar o algoritmo de soma binária, uma vez que, considerando os operando A e B e seus complementos de dois A* e B*, a entrada de A e B no somador resultará na soma A+B, a entrada de A e B* resultará em A+(-B), a de A* e B resultará em -A+B e a de A* e B* resultará em -A+(-B). Sendo assim, é preciso ter atenção com a análise de overflow, que ocorrerá quando os dois últimos bits de carry forem diferentes ou quando os MSBs dos operandos forem iguais e o MSB do resultado for diferente deles.

Usaremos essa abordagem pois é a mais utilizada na maioria das implementações reais, segundo Pedroni(2010).


Por isso, é necessário que ambos os termos tenham a mesma quantidade de bits para que a operação possa ser realizada e é necessário adicionarmos um bit para representar o sinal também. Portanto, deve-se lembrar que o bit 1 como bit de sinal tem peso negativo, e o bit 0 tem peso positivo.

No caso da representação sem sinal, basta colocarmos quantos zeros forem preciso a frente do número original, se estivermos utilizando números em complemento de dois, devemos preencher utilizando o bit de sinal, se for 1, preenchemos com 1, se for zero, preenchemos com zero.


sem sinal: 111 (4+2+1 = 7) em 3 bits = 00000111 (4+2+1 = 7) em 8 bits

complemento de dois: 0111 (4+2+1 = 7) em 4 bits = 000111 (4+2+1 = 7) em 6 bits 1001 (-8+1 = -7) em 4 bits = 111001 (-32+16+8+1 = -7) em 6 bits


Exemplo:

Ao subtrairmos de 10111 o número 100, que correspondem ao número 23 e 5 decimal, respectivamente. É necessário igualarmos os bits e adicionarmos o bit de sinal em ambos ( 010111 - 000100), para depois, fazermos o complemento de dois do segundo termo e realizarmos a soma do primeiro termo com o oposto do segundo. O complemento de dois do número binário 000100 é igual à 111100 (-4 decimal).

Sub (1).png

Em algumas subtrações, como essa do exemplo, há ocorrência de overflow, ou seja, o número de bits ultrapassa o número de bits da subtração. O que devemos fazer, em casos assim, é desconsiderar esse bit.

Obtemos através do exemplo o resultado binário 010011, que equivale, em decimal à + 0x2^5 + 1x2^4 + 0x2^3 + 0x2^2 + 1x2^1 + 1x2^0 = 0 + 16 + 0 + 0 + 2 + 1 = +19.

Caso troquemos os termos e realizemos a operação 000100 - 010111, iremos obter o resultado negativo. Vejamos a seguir: O complemento de dois do número binário 010111 é igual à 101001(-23 decimal).

Sub1.png

Obtemos através desse exemplo, o resultado binário 101101, que equivale, em decimal à - 1x2^5 + 0x2^4 + 1x2^3 + 1x2^2 + 0x2^1 + 1x2^0 = -32 + 0 + 8 + 4 + 0 + 1 = -19.