Vamos supor que queremos transmitir informação da língua portuguesa entre 2 pontos numa comunicação dedicada.
Suponhamos que queremos transmitir letras - a) apenas minúsculas, b) dígitos de 0 a 9, e os seguintes caracteres ---> ponto final, vírgula, ponto de exclamação e ponto interrogativo, espaço em branco --- .,!?
Ora a) a b c d e f g h i j l m n o p q r s t u v x y z - 24 elementos diferentes
b) 0 1 2 3 4 5 6 7 8 9 --- 10 elementos
c) . , ! ? - 5 elementos
No total temos 39 elementos diferentes. Neste elemento de comunicação para simplificar não se admite acentos, nem letras maiúsculas.
Este exemplo é didáctico.
Para já temos de codificar os elementos em informação binária -
como temos 39 elementos diferentes, temos de saber quantos bits temos de atribuir a cada elemento para a transmissão ser de qualidade.
2 levantado a n é o número de combinações diferentes para um determinado n. Por exemplo n=3,
2 levantado a 3 =8 ---
logo
000
001
010
011
100
101
110
111 --- 8 elementos diferentes com 3 bits .
Como temos 39 elementos---
2 levantado a 5 =32 --- não chega
2 levantado a 6 =64 --- já chega - ---- logo 6 bits para transmitir cada caracter - letra do abecedário, dígito, ou ponto c)
Se por exemplo queremos transmitir a informação:
para saber informatica preciso estudar muito.
temos 39 letras do abecedário 5 espaços e 1 ponto de interrogação.
No total temos 45 elementos para transmitir com 6 bits cada um logo ---- 45 X 6= 270 bits a transmitir.
________ ___________________
teclado codificador _________________
-> cada elemento em 6 bits -> canal de transmissão
(50 metros, por exemplo) ->
________ _____________________ __________________
_________
descodificador
cada 6 bits em elementos -> monitor - mostra os 45 elementos transmitidos
__________________
exemplo de codificação de 6 bits:
000000
000001
000010
000011
000100
000101
...
111111 (64 elementos)
Na prática existem formas de dificultar os erros de comunicação (como por exemplo o bit de paridade, etc.).
Isto é uma amostra de como se pode implementar uma comunicação de dados ao longo de 50 metros.
O canal de transmissão pode ser por exemplo linhas de cobre ou cabo coaxial.
Vamos só ver uma última coisa hoje:
Se o débito binário for de 2700 bits/s (velocidade de transmissão) - isto significa que esta mensagem demora:
tempo=270/2700=0,1 segundos
Uma mensagem com 450 elementos demoraria 1 segundo e uma com 4500 elementos demoraria 10 segundos a transmitir.
O homem e a sua adaptação à tecnologia existente, para melhorar o seu estilo de vida.
segunda-feira, 4 de junho de 2012
sexta-feira, 1 de junho de 2012
Linguagens de programação - exemplo assembly
Para um computador ou sistema informático funcionar, é necessário software - programas. Esses programas são criados por um ou mais programadores. Para se criar um programa (software), é preciso utilizar uma linguagem de programação.
Entre 1990 e 1995, altura em que frequentei a faculdade era considerado norma as seguintes linguagens de programação e a sua designação:
Pascal - linguagem de alto nível
C - linguagem de nível intermédio
Assembly - Linguagem de baixo nível.
Para criar software, podia-se utilizar uma linguagem de alto nível ( a forma de programar era mais parecida com a linguagem natural do ser humano), mas o programa tinha tendência a ficar menos eficiente - mais lento por exemplo.
Na linguagem de nível intermédio, o programa tem tendência a ficar mais eficiente, mas a forma de programar assemelha-se mais ao funcionamento do computador.
Na linguagem de baixo nível, a eficiência é máxima, mas é preciso usar uma linguagem praticamente máquina (apenas com mnemónicas). Muito útil para casos em que é preciso um programa rápido, mas é necessário programadores concentrados.
Eu já trabalhei com estes 3 tipos de linguagem e tenho boa consciência do que estou a falar.
O vídeo é interessante e dá uma noção de como programar em linguagem assembly.
Etiquetas:
assembly,
C,
Linguagem,
linguagem alto nível,
linguagem assembly,
linguagem máquina,
linguagem nível intermédio,
linguagem programação,
Pascal
Subscrever:
Mensagens (Atom)