Eis um
tutorial ilustrado de como somar células entre um intervalo e guardar o
resultado em uma célula:
sexta-feira, 1 de maio de 2015
quarta-feira, 29 de abril de 2015
Roteador IP - Introdução
Um roteador
é um aparelho de redes de computadores que trabalha a nível 3 da camada OSI/ISO
(Rede), utilizando o protocolo IP (explicado aqui), é por isso que o
roteador é capaz de conectar máquinas de redes distintas, essa função faz do
roteador o aparelho que torna a internet possível de existir.
A maioria
dos roteadores são domésticos e possuem apenas duas portas de roteador, e estão
embutidos em um aparelho híbrido, hoje em dia esse aparelho híbrido é um
modem+roteador+switch+AP Wifi. Em um
aparelho híbrido moderno doméstico uma das portas é ligada a um switch (clique
aqui pra entender esse termo), logo esta porta representa a rede interna do
local, a outra porta é conectada ao modem interno do aparelho como a função do
modem é se conectar a internet, que é a rede externa, essa outra porta
representa a internet.
Veja uma foto de um aparelho desses com as partes supracitadas destacadas:
segunda-feira, 27 de abril de 2015
O que é um computador (Software)
Um programa de computador é toda e qualquer
sequência programável de ações (daí o nome programa) que o computador vai fazer,
por isso robôs são computadores, eles fazem o que lhes foi designado fazer.
O que seria um programa na vida real e
natural?
Poderia ser na sequência:
Poderia ser na sequência:
1- Sair de casa
2- Pegar o ônibus
3- Se encontrar com a namorada no
shopping
4- Tomar sorvete juntos
5- Cinema
6- Casa
Reparou que envolve toda uma sequência de
eventos? No computador, acontece a mesma coisa, eis uma situação
em que vários programas entram em ação, um após o outro:
(1) Busca pelo Sistema Operacional (no
caso, Windows) efetuado pelo software da BIOS na placa mãe:
1- Um programa instalado na placa
mãe do computador segue um algoritmo, para que ele procure por um Sistema Operacional
em uma ordem definida, através de um método definido e repetitivo.
2- O Windows é encontrado e o
software da placa mãe passa o controle do processador para o Windows.
(2) Windows
se preparando para uso:
1- O Windows inicia procedimentos
diversos (o que o define como um programa) pra permitir que o usuário possa
utilizar o computador de forma cômoda e com acesso a todos os recursos (rede,
teclado, mouse).
2- Término da inicialização do
Windows.
domingo, 26 de abril de 2015
Linguagem C - Matriz unidimensional - Exemplo 1
O objetivo desse
programa em C é preencher uma matriz unidimensional inteira (int) qualquer e
imprimir seus números distintos na tela (ou seja, sem repeti-los).
Nível de dificuldade: 3 (difícil) O código (verde) está explicado com comentários (em azul), pronto para ser copiado e colado no seu ambiente de edição favorito: |
#include <stdio.h>
int main( void)
{
int i;
int j;
int iguais; /* para contar quantos
numeros do numerosjalidos [] sao iguais a detemrinado numero em determinada
posicao do vetornumeros[]*/
int posicaonumerosjalidos=0; /* inteiro
auxiliar que guarda a posicao no vetor do numerosjalidos[] */
int vetornumeros[9]; /* o vetor com todos os números */
int numerosjalidos[9]; /* o vetor que vai
ter todos os numeros do vetornumeros[] e na mesma ordem,
so que sem
repetir nenhum numero*/
/* Esse programa tem como funcao
receber numeros de um vetor de numeros e imprimir a tela esses numeros sem
repeti-los e na ordem em que entraram no vetor */
printf ("declare agora os numeros do
vetor de numeros: \n");
for (i=0;i<=9;i++)
{
printf ("\nEntre com o valor
do numero na posicao %d no vetor de numeros: ",i);
scanf ("%d",
&vetornumeros[i]);
}
numerosjalidos[0]=vetornumeros[0];
for (i=0;i<=9;i++)
{
iguais=0;
for
(j=0;j<=posicaonumerosjalidos;j++) /* hora de fazer a varredura (loop ou
laco de repeticao) */
{
if (vetornumeros[i]==numerosjalidos[j])
{
iguais++;
}
}
if (iguais == 0 )
{
numerosjalidos[posicaonumerosjalidos +1] = vetornumeros[i];
posicaonumerosjalidos++;
}
}
for (i=0;i<=posicaonumerosjalidos;i++)
{
printf ("\n Numero posicao
%d eh: %d",i,numerosjalidos[i]);
}
printf ("\n\n Seu programa terminou!
\n",i,numerosjalidos[i]);
system ("pause");
}
|
quarta-feira, 22 de abril de 2015
O que é um computador (hardware)
O que é um
computador? A resposta para essa pergunta parece ser difícil até mesmo para a
maioria dos usuários com mais de 5 anos de experiência utilizando esse aparato,
muitos diriam que computador é aquele negócio onde a gente digita texto no
Word, ou prepara apresentações de PowerPoint.
O
computador é apenas uma máquina de calcular que recebe dados sobre os cálculos
a serem realizados, os realiza, e toma decisões que realizarão funções, como
ligar ou desligar algo, fazer aparecer algo na tela, transmitir algo pela
internet, e muito mais.
Seu
celular, seu PC de mesa, seu notebook, os caixas 24 horas e até mesmo seu forno
microondas são computadores.
O que é
hardware? Nada mais é do que as peças utilizadas pelo computador para fazer a
lógica computacional em forma de algoritmos (software) funcionar.
A
ilustração animada abaixo mostra a arquitetura básica de um computador
funcionando, abaixo dela está uma imagem com as descrições desses componentes
básicos (enfatizando o hardware).
1- Placa mãe: Responsável por permitir
que os componentes do computador listados abaixo se comuniquem
2- CPU: (unidade central de
processamento, ou simplesmente processador): Processa dados realizando cálculos
demandados pelos programas do sistema e toma decisões após os cálculos, ou seja
ele é instruído pelos programas e faz o sistema funcionar, por isso é a unidade
central de processamento, ele está no centro, o sistema gira em torno dele.
Exemplo de atuação da CPU: Processar um email que você acaba de receber e enviá-lo para a tela.
Exemplo de atuação da CPU: Processar um email que você acaba de receber e enviá-lo para a tela.
Dispositivos de entrada e saída principais:
3 - Memória temporária: Usada como uma fonte rápida de dados para serem
utilizados por outros dispositivos, se os dados são acessados mais rapidamente,
por exemplo, o processador irá realizar os cálculos sobre estes dados mais
rapidamente, a memória mais utilizada para essa tarefa é de longe a memória RAM.
Exemplo de atuação da RAM: guardar planilhas de Excel nela para os
cálculos do gráfico ficarem mais rápidos.
Suas principais características são:
- Muito rápida
- Capacidade muito pequena de armazenamento
- Perde todos os dados quando o computador é desligado
- Muito rápida
- Capacidade muito pequena de armazenamento
- Perde todos os dados quando o computador é desligado
4 - Dispositivos
de armazenamento em massa principais: São memórias também pois guardam dados,
costumam ser bem mais capazes de armazenar dados do que a memória temporária, ela
tem o objetivo de guardar seus dados sem que eles dependam do sistema ligado
para ter sua integridade garantida (por isso que a gente usa o termo “salvar”) é
onde fica salvo seu sistema operacional (Windows, Android, Linux, iOS, etc),
seus programas, suas fotos, documentos, etc... (Por isso ele tem uma grande
capacidade) Principais características:
- Lento.
- Grande capacidade de armazenamento.
- Não depende do computador ligado para manter os dados gravados nele.
- Lento.
- Grande capacidade de armazenamento.
- Não depende do computador ligado para manter os dados gravados nele.
5- Dispositivos de entrada: Utilizados
para enviar dados remotamente para o computador, normalmente para controlar a
máquina, pode ser o touch-screen, touch-pad, mouse, teclado, webcam, etc...
6- Dispositivos de saída: O contrário
dos dispositivos de entrada, eles recebem dados do computador e normalmente são
controlados por ele, são adaptadores de vídeo (recebem dados gráficos do
computador e enviam para a tela), adaptadores de áudio (recebem dados de áudio
do computador e enviam o sinal de som para o aparelho de som ou fone de ouvido),
ou qualquer outro dispositivo controlado remotamente pelo computador.
7 - Dispositivos de entrada e saída
externos: São externos porque não são dispositivos principais do sistema, o
sistema não depende deles para funcionar. Eles recebem e enviam dados para o
computador, podem ser uma multifuncional, ou alguns dispositivos de
armazenamento em massa externos como pendrives, cartões de memória flash, HDs externos, etc...
A
explicação do porque alguns dispositivos são mais lentos e possuem menos espaço
para armazenamento que outros é simples, qualquer benefício, também no mundo da
informática, custa dinheiro, uma memória ram (temporária) de 8GB custa o mesmo
que um HD (armazenamento em massa) de 500GB, ela é muito inferior na capacidade
porém é várias vezes mais veloz.
sábado, 18 de abril de 2015
Protocolo IP (internet protocol) (IPv4)
O Internet Protocol como foi dito NESSE ARTIGO, é um protocolo da camada de redes.
O protocolo de InterRedes ou Internet
Protocol, como é conhecido, é um dos protocolos de redes de computadores mais
baixo entre os responsáveis por permitir comunicações entre redes diferentes
(daí o nome Inter Net Protocol), é análoga ao conceito de “Internacional”, não
coincidentemente causou um aumento nos relacionamentos internacionais também.
O protocolo IP versão 4 (IPV4) praticamente
definiu a internet em meados da década de 1990 e está muito aos poucos entrando
em desuso em alguns setores de algumas corporações (o motivo você verá ao
estudar o cabeçalho IP abaixo), sendo substituído pelo IPV6 gradualmente.
Cada computador dentro de uma rede possuiu
uma credencial para se comunicar através desse protocolo, chamada IP, detalhes
sobre o cabeçalho do protocolo, incluindo o endereço IP estão incluídos na
tabela abaixo:
Cabeçalho do IPV4
|
|||||||
Offsets
|
Octeto
|
0
|
1
|
2
|
3
|
||
0
|
0
|
Version
|
IHL
|
DSCP
|
ECN
|
Total Length
|
|
4
|
32
|
Identification
|
Flags
|
Fragment Offset
|
|||
8
|
64
|
Time To Live
|
Protocol
|
Header Checksum
|
|||
12
|
96
|
Source IP Address
|
|||||
16
|
128
|
Destination IP Address
|
|||||
20
|
160
|
Options (if IHL > 5)
|
|||||
Version
(Versão):
- O primeiro campo de cabeçalho do pacote IP
IHL (Internet Header Lenght/ Comprimento do cabeçalho Internet):
- Determina o tamanho do cabeçalho, valor
mínimo = 5 bytes (5*32bits), valor
máximo = 15 bytes (15*32bits).
DSCP (Differentiated Services Code Point):
- Originalmente chamado de Type of Service
(tipo de serviço), serve para informar os receptores do pacote sobre do que se
trata a transmissão (voz, prioritário, crítico) para que servidores e
roteadores tomem decisões melhores sobre o que fazer com o pacote.
Total
Lenght (Tamanho Total):
- Um campo de 16 bits que define o tamanho
total do pacote (ou fragmento de pacote) incluindo dados e cabeçalho, em bytes,
o tamanho mínimo de um pacote seria 20 bytes (cabeçalho mais nenhum dado), o
máximo seria 2 elevado à 16 bytes (64k bytes).
Identification
(identificação):
- Costuma ser usado para identificar de
forma única grupos de fragmentos de um datagrama IP,
Flags
(bandeiras, sinalização):
- É um campo de 3 bits utilizado para
identificar os controlar fragmentos, do mais significativo pro menos
significativo:
-- Bit 0: Reservador (deve ser zero)
-- Bit 1: Não fragmente
-- Bit 2: Mais fragmentos
Fragment
offset (posição em bits, de determinado fragmento em relação ao fragmento
inicial)
- O primeiro fragmento possui zero neste
campo, como o campo pussui 13 bits, permitindo que um fragmento tenha 2 elevado
a 13, multiplicado por 8 bytes.
Time to
Live (TTL, tempo de vida):
- Tempo de vida de um pacote, usado pra
evitar que o pacote fique circulando depois de muito tempo de transmissão.
Protocol
(Protocolo usado):
- Define protocolo sobre IP utilizado,
normalmente o TCP ou o UDP.
Header
Checksum (Somatório de bits para checagem de erro de transmissão):
- É um campo de 16 bits de complemento de 1
da soma de todas as palavras de 16 bits no cabeçalho.
Nesse ARTIGO é explicado
como é feito esse complemento de 1.
Source
Address (Endereço do remetente):
- Contém o endereço IP do remetente, 32
bits.
Destination
Address (Endereço do distinatário):
Options:
- Não é muito utilizado.
terça-feira, 24 de março de 2015
Engenharia de Software - Debugging - Interpretando um editor hexadecimal
Interpretando informações básicas exibidas por um editor
hexadecimal
Coluna 1 (esquerda) – Valor da posição representada em
hexadecimal do primeiro byte da segunda coluna desta linha.
Coluna 2 (meio) - Contém bytes do arquivo aberto, em ordem, representados
em hexadecimal por 2 numerais hexadecimais cada byte.
Coluna 3 (direita) - Contém caracteres ASCII, cada caractere
está associado a um byte da coluna 2, muito útil para alterar textos, como pode
ser observado na figura 1.a abaixo
Com o auxílio da figura 1.a abaixo e do texto abaixo,
podemos ver exemplos que ajudam a entender:
- Linha 00000030 (marcada com retângulo verde), o valor 00000030 está em hexadecimal e é referente à posição do primeiro byte desta linha na segunda coluna (retângulo à direita, com valor “EE”) o valor EE está em hexadecimal, ele é um byte, porque 4 bits dao 16 possibilidades de valor, o que caracteriza um numeral hexadecimal, logo 2 numerais hexadecimais formam 8 bits, que é um byte.
- Linha 00000030 (marcada com retângulo verde), o valor 00000030 está em hexadecimal e é referente à posição do primeiro byte desta linha na segunda coluna (retângulo à direita, com valor “EE”) o valor EE está em hexadecimal, ele é um byte, porque 4 bits dao 16 possibilidades de valor, o que caracteriza um numeral hexadecimal, logo 2 numerais hexadecimais formam 8 bits, que é um byte.
- Linha 00000010, veja o primeiro byte (primeiro retângulo
vermelho desta linha), mais adiante na mesma linha veja o caractere ASCII
marcado com o segundo retângulo vermelho, ele é a representação do byte marcado
pelo primeiro retângulo. Observe o mesmo na linha 00000020.
- Linha 00000120, veja os retângulos vermelhos dessa linha,
e agora observe que o caractere “r” é formado pelos bits representados pelo
valor hexadecimal “72” (lembrando mais uma vez 2 numeros hexadecimais são 8
bits, ou 1 byte e um caractere ASCII é um byte)
Fonte: http://www.codeproject.com/KB/miscctrl/488296/partition_explain1.jpg
Assinar:
Postagens (Atom)




