terça-feira, 31 de março de 2015

Vetores e Matrizes

Vetores e Matrizes são estruturas de dados muito simples que podem nos ajudar muito quando temos muitas variáveis do mesmo tipo em um algoritmo. Imagine o seguinte problema: Você precisa criar um algoritmo que lê o nome e as 4 notas de 50 alunos, calcular a média de cada aluno e informar quais foram aprovados e quais foram reprovados. Conseguiu imaginar quantas variáveis você vai precisar? Muitas né? Vamos fazer uma conta rápida: 50 variáveis para armazenar os nomes dos alunos, (4 * 50 = ) 200 variáveis para armazenar as 4 notas de cada aluno e por fim, 50 variáveis para armazenar as médias de cada aluno. 300 variáveis no total, sem contar a quantidade de linhas de código que você vai precisar para ler todos os dados do usuário, calcular as médias e apresentar os resultados. Mas eu tenho uma boa notícia pra você. Nós não precisamos criar 300 variáveis! Podemos utilizar Vetores e Matrizes (também conhecidos como ARRAYs)!


Gostou ? Se cadastre no blog clicando aqui 

O que são Vetores e Matrizes?

Vetor (array uni-dimensional) é uma variável que armazena várias variáveis do mesmo tipo. No problema apresentado anteriormente, nós podemos utilizar um vetor de 50 posições para armazenar os nomes dos 50 alunos.
Matriz (array multi-dimensional) é um vetor de vetores. No nosso problema, imagine uma matriz para armazenar as 4 notas de cada um dos 50 alunos. Ou seja, um vetor de 50 posições, e em cada posição do vetor, há outro vetor com 4 posições. Isso é uma matriz.
Cada item do vetor (ou matriz) é acessado por um número chamado de índice.
Vamos representar os vetores e matrizes graficamente para facilitar o entendimento do conceito.

Podemos ver na imagem acima que cada posição do vetor é identificado por um número (chamado de índice), no caso da matriz são dois números (um na vertical e um na horizontal).


Conclusão

Como você pode perceber nesse artigo, Vetores e Matrizes são, na verdade, a mesma coisa: array a diferença é que o vetor é um array de apenas 1 dimensão e a matriz é um array de 2 (ou mais) dimensões.
Array é uma das estruturas de dados mais simples que existe e uma das mais utilizadas também. Acho que todas as linguagens de programação têm arrays, pelo menos ainda não conheço uma linguagem que não tem. Porém, os índices podem mudar dependendo da linguagem, algumas começam os índices do array com 1 e outras com 0, essa é a grande diferença que geralmente encontramos entre linguagens. No caso das linguagens que começam os arrays com o índice 0, o último elemento do array recebe o índice (<tamanho do array> – 1).





Fonte : www.dicasdeprogramação.com.br

quinta-feira, 26 de março de 2015

Oque é e como funciona um desfragmentador ?

Você provavelmente já deve ter visto vários sites ou ouvido muitos técnicos comentarem o quão importante é realizar uma desfragmentação periódica em seu PC. Contudo, ninguém nunca te explicou o porquê de fazer isso, a única frase que utilizam sempre é: faça a desfragmentação, porque ela deixa o computador mais rápido. Como o Baixaki gosta de levar você a conhecer melhor o mundo da informática, hoje explicaremos um pouco sobre a desfragmentação e o real motivo para você fazê-la.

Gostou do blog ? Se cadastre aqui




 



Entulhando o disco rígido


Para você ter uma ideia do porquê de fazer a desfragmentação, é necessário primeiramente entender como os arquivos são armazenados no disco rígido.Pois bem, vamos a uma explicação simples. O armazenamento de arquivos depende principalmente do sistema operacional, porém vamos abordar somente a maneira como o Windows trabalhar com os arquivos, porque ele é o sistema que mais necessita de desfragmentação.
Primeiramente confira o infográfico abaixo e então leia o texto explicativo.

HD novo com conteúdo recém-instalado
Legenda: HD com o sistema recém-instalado 



CheckDisk/ScanDisk





A geração mais nova de usuários de computador provavelmente nem sabe o que é o “Scandisk”, já que o nome não é mais usado como era na época do Windows 95, 98 e Millenium. Contudo, usuários que já eram habituados a utilizar computadores na década de 90 sabem bem o que é ficar várias horas “passando” o Scandisk no PC para que ele reparasse os erros.


Gostou ? Se cadastre no blog clicando aqui 

O que é e para que serve


O Checkdisk é justamente isso: um programa residente em todas as versões do Windows, destinado a corrigir possíveis erros no sistema de arquivos, dados de arquivos incompletos e outros problemas. O software também varre o HD em busca de setores físicos defeituosos. Em termos técnicos: o Checkdisk consegue corrigir erros lógicos e diagnosticar erros nos setores físicos do disco.
Perceba que, apesar de o nome ter mudado a partir do Windows XP, o objetivo do programa é essencialmente o mesmo — corrigir erros no seu disco rígido —, com algumas variações no funcionamento e na operação — o Scandisk podia ser executado a qualquer momento, o Checkdisk só pode ser executado antes que o sistema inicialize.

Picos de luz, desligamentos inadvertidos, choques e outros fatores podem fazer com que alguns dados sejam salvos de maneira errada no disco rígido. O erro acontece quando o dispositivo de gravação está executando algum tipo de operação de escrita no disco e é interrompido abruptamente por algum motivo. Quando o HD for religado, ele não se “lembrará” do que estava fazendo e o dado ficará parcialmente salvo, causando perda de informações e espaço, já que o arquivo que começou a ser salvo acabou ficando no HD, mas de forma incompleta.

Hoje em dia se tornou mais difícil que problemas como os citados acima causem danos ao HD. Os estabilizadores e nobreaks já dão conta de segurar a maior parte dos picos e quedas de energia. Entretanto, a possibilidade ainda existe e, por isso o Checkdisk não está mais tão evidente no sistema, mas continua sendo usado e extremamente recomendado.






Oque é uma Máquina Virtual ?




Uma máquina virtual é um software de ambiente computacional em que um sistema operacional ou programa pode ser instalado e executado. De maneira mais simplificada, podemos dizer que a máquina virtual funciona como um “computador dentro do computador”. Mas como isso pode ser feito?
Hoje em dia, criar uma máquina virtual é muito simples: basta apenas instalar um programa específico dentro do seu computador como qualquer outro. É dentro desse programa que você irá criar um disco rígido virtual e poderá executar um sistema operacional inteiro a partir dele.
Máquinas virtuais são extremamente úteis no dia a dia, pois permitem ao usuário rodar outros sistemas operacionais dentro de uma janela, tendo acesso a todos os softwares que precisa. Elas são usadas em diversos casos, como no lançamento de programas e SOs ainda em estágio de desenvolvimento. Dessa forma, você não se torna refém de aplicativos inacabados que podem apresentar diversos bugs.
A máquina virtual irá alocar, durante a execução de sistemas operacionais, uma quantidade definida de memória RAM. Ela normalmente emula um ambiente de computação física, mas requisições de CPU, memória, disco rígido, rede e outros recursos de hardware serão todos geridos por uma “camada de virtualização” que traduz essas solicitações para o hardware presente na máquina.
As máquinas virtuais são capazes de “enganar” os programas e sistemas operacionais, pois eles acreditam que estão sendo executados diretamente no hardware físico, e não dentro de uma simulação. Por isso, eles podem ser instalados da mesma forma que seriam dentro do sistema operacional.

Gostou ? Se cadastre no blog clicando aqui 


Debugando aplicações no Netbeans






Este tutorial descreve técnicas sobre como depurar o programa e descobrir o que está errado com ele. Primeiro vamos começar com algumas terminologias sobre depuração, e depois vou mostrar um pouco da depuração apresenta Netbeans tem para oferecer.

Gostou ? Se cadastre no blog clicando aqui

Parte 1: Terminologia

     Breakpoint - uma linha de código onde você quer "pausar" a execução de um programa. Por exemplo, se você quiser fazer uma pausa no programa na linha 14, coloque um breakpoint lá.

 
     Continue - continuará a execução do programa até que o próximo ponto de interrupção ou até que o programa termina


Parte 2: Características

     Call Stack - permite que você veja o atual pilha de chamadas de método. Por exemplo, se você colocar um ponto de interrupção na linha 15 no método foo (), você vai ver o método que chama foo (), e, em seguida, o método que chama esse método, e depois mais abaixo da linha ...

 
    Watches window - permite que você "vê" o valor de uma variável. Por exemplo, se você tem uma variável chamada "x", você pode digitar x dentro da call stacko e ver o valor que você vai do ponto de interrupção para ponto de interrupção.

 
   Mouse Over Variable - permite passar mouse sobre qualquer variável para verificar o valor dessa variável
 



Vamos colocar um ponto de interrupção dentro de um método, execute Netbeans no modo de depuração e dar uma olhada nas variáveis em um ponto de interrupção. Primeiro, use o projeto Tutorial dos tutoriais anteriores e coloque um ponto de interrupção dentro do método printName da classe Pessoa. Você pode colocar um ponto de interrupção, clicando no lado esquerdo dessa linha. Você vai notar um quadrado rosa aparece onde você clicar e toda a linha será realçado em rosa. Clicando em um ponto de interrupção que já definiu irá desativá-lo. 

Parte 3: Breve Introdução

Você pode colocar um ponto de interrupção, clicando no lado esquerdo dessa linha. Você vai notar um quadrado rosa aparece onde você clicar e toda a linha será realçado em rosa. Clicando em um ponto de interrupção que já existe, esse ponto será desativado.
 
pausa

Para iniciar a depuração, pressione o botão "Debug projeto principal". É o botão que está destacado em vermelho na imagem abaixo.
 
btn

Depois de executá-lo no modo de depuração, você vai notar o programa fará uma pausa nessa linha. Você saberá que está em pausa porque a linha passará a ser de cor verde. Além disso, se você olhar para a Call Stack na parte inferior da tela, você vai notar a lista de métodos que levam a este ponto de interrupção. O principal método na classe motorista chamado printName na classe Pessoa.
 
breakhit


Agora que estamos em um ponto de interrupção, podemos assistir a qualquer variável disponível para nós neste momento. Esse artigo contém apenas uma única variável. Clique na aba Watches na parte inferior. Agora clique em Executar> Nova inspeção no menu superior. Escreva "name" para assistir a variável name e pressione o botão OK.
 


relógio


Depois de pressionar enter você vai notar que a variável nome é na janela Inspeções. Você também vai notar que o valor para esta variável, neste momento atual é de "Mike".
 
WatchWindow


Você também pode conseguir o mesmo efeito por apenas passar o mouse sobre a variável "name" quando esse ponto de interrupção é atingido. Veja a imagem abaixo.
 
mouseover

Quando você estiver pronto, você pode pressionar o botão continuar no topo. O programa irá concluir a execução como normal.
 


continuar


Este recurso destina-se a ajudá-lo a descobrir quais os valores das variáveis, sem ter que colocar um monte de instruções de impressão em todo o seu programa. É claro que existem muitos outros recursos avançados de depuração.Você pode aprender mais sobre a depuração através de pesquisa na internet ou ler o menu de ajuda no Netbeans.

Gostou ? Se cadastre no blog clicando aqui


Fonte : http://www.cs.columbia.edu/~cmurphy/summer2008/1007/netbeans/7_debugging.html

Flight Radar 24


 





Oque é  ?
Flightradar24 é um serviço de rastreamento de vôo que fornece informações em tempo real sobre milhares de aviões em todo o mundo. Nosso serviço está atualmente disponível iPhone,Android, Windows 8 e Mac OS.


Nosso serviço tornou-se muito popular e a cada mês Flightradar24.com recebe mais de 10 milhões de visitas e nossos aplicativos já foram baixados mais de 2 milhões de vezes.

Gostou do blog, cadastre-se aqui
 A tecnologia que usamos para receber informações de vôo de aeronaves é chamada ADS-B. Aproximadamente 60% de todas as aeronaves de passageiros em todo o mundo estão equipados com um transponder ADS-B. No entanto, esta percentagem continuará a crescer.
A maioria dos dados exibidos em Flightradar24.com e em nossos aplicativos é recolhida através de uma rede de mais de 500 receptores ADS-B em todo o mundo. Para melhorar o nosso serviço, estamos sempre à procura de pessoas dispostas a contribuir com dados para nós.
Além dos dados ADS-B, também exibimos dados da Administração Federal de Aviação (FAA). Esses dados fornecem uma cobertura completa do espaço aéreo sobre os Estados Unidos e Canadá. No entanto, estes dados são ligeiramente atrasado (até 5 minutos), devido a regulamentos da FAA. Devido a este atraso, os planos gerados a partir de dados da FAA são de uma cor diferente (laranja) do que os planos gerados a partir dos dados em tempo real (amarelo). Flightradar24 não existiria se não fosse para os nossos alimentadores de dados.
Nós também estamos muito gratos aos voluntários que atualizam os bancos de dados de avião e de rota todos os dias.


Como isso foi começado ?Flightradar24 começou como um hobby em 2006, quando dois nerds da aviação sueca decidiram construir uma rede de receptores ADS-B no Norte e na Europa Central. Em 2009, a rede ADS-B tornou-se pública, e tornou possível para qualquer um com um receptor de ADS-B para fazer o upload de dados para a rede. Muitas partes do mundo foram rapidamente cobertas, mas a busca para fornecer cobertura global ADS-B ainda está em curso. 


É possível ver o histórico de voos em Flightradar24.com?

Na parte de Aviation Database, você também pode encontrar o histórico sobre voos individuais e aeronaves dos últimos 7 dias (versão livre), usuários Premium pode acessar até 30 dias de reprodução e histórico de voôs.

Como exemplo você pode ver a última grande tragédia do voô  4U9525 da GermanWings  aqui










Fonte : FlightRadar24



terça-feira, 24 de março de 2015

domingo, 22 de março de 2015

Pesquisadores podem ter desvendado mistério da Ilha de Páscoa



Um dos maiores mistérios a respeito de antigas civilizações é sobre como as estátuas gigantes da Ilha de Páscoa no Oceano Pacífico, conhecidas como moais, foram transportadas até o local, uma vez que pesavam várias toneladas e o antigo povo da região, os rapanuis, não tinham ferramentas tão avançadas para o transporte.

Recentemente, pesquisadores da Universidade do Estado da Califórnia, nos EUA, criaram uma réplica de um moai para testar uma das hipóteses levantadas, que é a ideia de que as estátuas podiam “caminhar”.Eles descobriram que os moais podiam ser puxados de um lado e de outro pelos habitantes, de modo semelhante a forma como hoje movemos uma geladeira, mas com a ajuda de grandes cordas. O relatório foi publicado na revista Nature.




 Gostou do blog, se cadastre aqui

As maiores estátuas pesam até 74 toneladas e se erguem por 10 metros de altura, e é um mistério que intriga os cientistas há tempos. Eles explicam que a técnica reproduzida derruba a hipótese de que os moais foram deitados e erguidos por meio de toras de madeira, o que teria ajudado na destruição da floresta da ilha.

Outra evidência que corrobora para essa hipótese é que existem vários moais quebrados, que podem ter sido abandonados em estradas pelos rapanuis.
A Ilha de Páscoa hoje conta atualmente com cerca de 1.000 estátuas.


Fonte: Mistérios do Mundo

Como fazer uma boa apresentação de slides ???

 

Tem uma apresentação para fazer e não sabe como impressionar?

 

 

Causar uma boa impressão garante bons negócios. Preparação e prática são fundamentais na hora de apresentar suas idéias.
Segue abaixo, 15 dicas para você se dar bem, na hora de organizar e planejar sua apresentação!


1. Não cometa erros de ortografia: Não checar a escrita das palavras demonstra completa falta de cuidado e atenção. Se você não se importa o suficiente para por à prova a sua apresentação, sua platéia vai ficar menos interessada em você e na sua mensagem. É a forma mais fácil de parecer amador.

2. Não crie combinações de cores que causem distração: Azul e verde são as mais difíceis de ler.
3. Não use fontes desnecessárias: Designers profissionais de PowerPoint usam duas, no máximo três, estilos de fontes numa apresentação inteira. Não usem diversas fontes na sua apresentação.
4. Não use uma fonte muito pequena: Você gostaria de assistir uma apresentação, onde você não consegue ler nada? Acho que não! Então não escreva com fontes pequenas.

5. Não insira imagens distorcidas: Imagens usadas em PowerPoint devem ter pelo menos 900×720 pixels. Designers começam com imagens maiores e diminuem seu tamanho para caber no slide. Procure imagens de tamanho superior ao seu slide e reduza ao tamanho necessário. Nunca pegue uma imagem pequena e aumente sua dimensão, a resolução vai ficar ruim.

6. Não pareça descuidado: Organize-se! Planeje seu tempo. Normalmente apresentações duram de 20 a 30 minutos.
7. Não pareça desarrumado: Vista-se bem! Faça aquela faxina no guarda-roupa e arrume-se para causar boa impressão a sua platéia!! Imagine você assistindo uma palestra de alguem que está de calça surrada, camiseta (que por sinal furada) e usando óculos escuro, por exemplo.



8. Não leia tudo que está no slide: os slides foram feitos para guiar a apresentação e não para servir de livro digital na sua apresentação. Escreva em tópicos. Não escreva textos longos. A platéia deve se prender a sua apresentação e não ao slide.
9. Planeje sempre um plano B: Imagine que você precise usar internet e exatamente na hora de sua apresentação... "puts caiu a rede!" E agora? acaba a apresentação? Não! Por exemplo, salve todo o material que precisa ter acesso a internet em seu pen drive. Outra: tenha cópias de sua apresentação no sue e-mail, cd, entre outras.



10. Pratique sua apresentação: Praticar uma apresentação em voz alta dá trabalho e faz com que você pareça polido e é garantia de que o assunto vai fluir melhor e no tempo certo.
11. Não destaque os seus erros: Se você quer mostrar total falta de preparo, diga algo como: “Ops, não tenho idéia de como este slide veio parar aqui”.
12. A primeira impressão é a que fica: Não comece sua apresentação fazendo piadinhas sem graça, pensando que está descontraindo a platéia. Você pode causar má impressão logo de inicio.
13. Não abuse das animações: Não faça suas apresentações com funções “saltar”, “bumerangue” e a temida “nêutrons”, por exemplo, que faz as letras circularem descontroladas. Todas farão a platéia ficar com dor de cabeça.
14. Não use desenhos de clip-art: Procure fotos de resolução boa. Existem tantas sites que disponibilizam esse tipo de serviço. Usando o clip-art do PowerPoint, sua apresentação ficará com cara de "apresentação de escola primária".
15. Atualize seus softwares de criação de slides: PowerPoint 2007 serviu seu propósito. Mas não há comparação com o PowerPoint 2010, que é uma ferramenta simplesmente melhor e mais robusta. Por isso procure sempre está por dentro das novidades que giram em torno dos softwares de edição de slides.

Fonte: http://www.imagineseusite.com.br/dicas/90-apresentacao-slides-dicas.html

sábado, 21 de março de 2015

Por ‘onde anda’ a Internet pelo mundo?


Quando você está se matando em uma partida deathmatch contra um clã russo de Combat Arms e, em um momento decisivo da partida, aquele pequeno lag acaba atrapalhando a sua vitória, você já sabe qual deve ser o próximo passo: xingar, gritar e praguejar loucamente contra o mundo da internet e essa maldita conexão.
Contudo, às vezes também é bom pensarmos em como a união entre os mundos real e virtual é incrível. Sim, pois é graças às enormes estruturas de comunicação criadas mundo afora que você consegue disputar essas partidas, conversar com seus amigos no Japão ou negociar produtos com aquela empresa norte-americana.
E, ao contrário do que muita gente imagina, as informações da internet não são transmitidas somente por satélites que orbitam a Terra, mas por uma gigantesca rede de backbones submarinos que cruza os oceanos de nosso planeta.

Gostou do conteúdo, se cadastre no blog aqui

As autoestradas da internet

Antes de entender como funcionam os cabos transoceânicos é preciso saber o que são os backbones. Trocando em miúdos (e utilizando o significado da palavra em inglês), podemos dizer que eles são a espinha dorsal de praticamente todas as trocas de informações dentro do mundo virtual.


Backbones submarinos distribuídos pelo planeta Terra 


Quando você envia uma mensagem para algum amigo seu, por exemplo, esta sai do seu computador, passa pelo modem e é entregue ao seu provedor de internet. Em seguida, essa empresa “despeja” os dados em uma rede de conexões capaz de levar tudo isso até um backbone.
Este, por sua vez, funciona como uma estrada principal, uma grande avenida de fibra óptica, que trabalha levando as informações de forma rápida até uma nova rede de dados – fazendo, assim, com que a sua mensagem chegue ao destino da forma mais veloz possível. Se quiser saber mais, acesse o nosso artigo “O que é backbone?” para encontrar mais detalhes.

Conexão ultrarrápida

Hoje em dia os backbones não só cruzam vários países, como também interligam seis dos sete continentes da Terra – somente a Antártica ainda não conta com uma ligação do tipo. Esses cabos atravessam os mares de todo o planeta e fazem com que a troca de informações entre os mais longínquos países seja rápida e (quase sempre) eficiente.
São milhares de quilômetros de fibra óptica – que respondem por cerca de 99% das conexões do nosso planeta. Estes cabos submarinos contam com uma capacidade total de troca de dados tão incrível que, se utilizada de uma vez só, já ultrapassaria os 7 terabytes por segundo.
Com isso, é possível percebermos que somente 1% da internet é coberta pelos satélites, uma vez que eles apresentam uma conexão bem mais lenta. Dessa forma, eles acabam trabalhando somente como uma espécie de “plano B”, uma garantia para o caso de algum acidente com os cabos acontecer.

 
O maior backbone submarino do planeta (Fonte da imagem: Reprodução/Submarine Cable Map)


Graças a essa eficiência, os backbones marinhos crescem cada vez mais. Atualmente, o maior cabo de todos é o SeaMeWe 3. Ele conecta nada menos do que 32 países, saindo da Alemanha e chegando até a cidade de Keoje, na Coreia do Sul. No total, o cabo tem aproximadamente 39 mil quilômetros de comprimento e cerca de 40 pontos diferentes de conexão.
Apesar de enorme, este é só mais um dentro do grande universo de backbones submarinos espalhados pelo planeta Terra. Hoje, pode-se dizer que existem cerca de 190 cabos deste tipo em operação (ou sendo construídos) no fundo dos nossos oceanos.

Tubarão mordendo cabo submarino


Do que são feitos?

Quando falamos que os backbones submarinos trazem uma conexão ultrarrápida graças à fibra óptica, é necessário analisarmos também toda a tecnologia que envolve tais equipamentos. Isso porque eles devem apresentar estabilidade, rapidez e segurança em cada parte dessas gigantescas linhas de conexão.
É aí que a construção dos cabos entra em jogo. Os utilizados atualmente apresentam cerca de 7 centímetros de diâmetro e vários tipos de escudos. Assim, se você puder “descascar” um destes cabos, encontrará nada menos do que oito camadas dos mais diferentes materiais.
 
Reprodução gráfica de um cabo submarino (Fonte da imagem: Reprodução/Wikimedia Commons)

Olhando-os de fora para dentro, você pode encontrar uma primeira camada de polietileno, produto que serve como uma espécie de casca, uma grande proteção para todo o “recheio” que vem a seguir.
A camada número dois é feita de um material chamado Mylar, um filme de proteção extremamente resistente e muito utilizado em conexões eletrônicas, como em áudio e vídeo. Já na terceira há fios de aço trançados, algo que permite uma mobilidade firme e segura para os cabos.
Partindo para a quarta camada você pode encontrar um tipo de alumínio que protege as fibras ópticas da água. Na camada seguinte, a quinta, há o policarbonato, material que também trabalha como um isolante para evitar que a água penetre o backbone.
Na sexta parte da construção destes cabos existe uma espécie de invólucro, um tubo de cobre (ou alumínio) que dá firmeza e solidez ao backbone. Já na penúltima camada há pasta de petróleo, algo que conserva e dá certo “conforto” à oitava e principal parte do cabeamento: a fibra óptica.

 
Cabos precisam ser resistentes (Fonte da imagem: Reprodução/Wikimedia Commons)

Tudo isso faz com que apenas 1 metro destes backbones chegue a pesar impressionantes 10 quilos. E, como dito acima, apesar de tanta proteção, ainda podem ocorrer acidentes. Recentemente, boa parte do continente africano ficou sem internet após um navio descer a sua âncora bem em cima de um backbone submarino, por exemplo.
Além disso, movimentações imprevisíveis do solo e interferências de animais, como mordidas de tubarões e outros peixes agressivos, podem fazer com que a transmissão sofra problemas, exigindo que as empresas tenham que realizar consertos emergenciais.
Por isso, os backbones contam com outras partes essenciais para o seu funcionamento, como sensores de atividade e retransmissores de sinal. Enquanto os primeiros ajudam os técnicos a perceberem se está tudo em ordem, os segundos fazem com que a “força” do envio de dados ganhe um novo embalo até que as enormes distâncias sejam percorridas. Dessa forma, a cada 100 quilômetros de cabos (em média), há um ponto de retransmissão para dar esse empurrãozinho às informações.

Como são instalados?

A instalação dos backbones submarinos é feita de maneira diferenciada. Obviamente, o contato humano é bastante limitado devido às dificuldades que o ambiente oferece. Por isso, a primeira etapa do trabalho é realizar uma cuidadosa avaliação dos locais que receberão os cabos. O caminho deve ser o mais plano possível, não contando com fendas, oscilações de terreno ou possibilidades de tremores que possam influenciar de maneira negativa na qualidade do sinal.
 
Instalação dos cabos submarinos (Fonte da imagem: Reprodução/Hardware)


Trajeto estudado, o próximo passo é partir para a instalação dos backbones. Tudo acontece basicamente em duas frentes distintas. Enquanto um navio especializado navega vagarosamente despejando os metros de cabos, um robô-submarino os posiciona no leito dos mares, realizando uma pequena escavação e os instalando em uma espécie de trilha.
Exemplo animado (Fonte do vídeo: Global Marine Systems)

Bônus: mais de 100 anos cruzando os mares da Terra

Apesar de toda a tecnologia envolvida nesse tipo de conexão, saiba que os primeiros cabos submarinos foram instalados há mais de 150 anos. Os primeiros surgiram ainda no século XIX e constituíam uma enorme malha de cabos de cobre que ligava os Estados Unidos e vários países europeus, conectando-os para que mensagens de telégrafo fossem enviadas.
Além disso, o Brasil também não ficava para trás e contava com alguns cabos submarinos. Em 1875, por exemplo, já havia uma rede que cobria várias cidades das regiões nordeste e sudeste, além de uma impressionante conexão com mais 8 mil quilômetros que ligava a cidade de Recife até uma estação de transmissão em Portugal.
Contudo, apesar dessa já razoável estrutura, no século XX tudo evoluiu de forma diferente, pois era preciso atender o crescimento do mercado de telefonia. Isso porque esse “novo” ramo não explorava tanto esse tipo de conexão, pois, neste caso, os satélites sempre se mostraram bastante eficientes.
Todavia, com a explosão da internet no final dos anos 80, os cabeamentos ligando continentes e lugares distantes voltaram com tudo — principalmente devido às incríveis velocidades de transmissão da fibra óptica. Hoje em dia, existem planos para aumentar ainda mais a velocidade de transmissão, uma vez que há novos cabos e fibras sendo desenvolvidos, além de serem cada vez maiores as distâncias cobertas pelos backbones e os intervalos entre um repetidor de sinal e outro.


Fonte: Submarine Cable Map, How Stuff Works,The Guardian, TeleGeography, UOL, ScieloThe Guardian, Teleco, Quora, Tecmundo

sexta-feira, 20 de março de 2015

Tipos Primitivos

Nos algoritmos criados para realizar tarefas na computação utilizamos variáveis para manipular dados, por exemplo: nome, idade, altura, peso, data de nascimento, sexo, saldo, etc. Para otimizar a utilização da memória, cada variável armazena apenas um tipo de dados. A variável nome, deve armazenar textos, já a variável idade deve armazenar apenas números inteiros (sem casa decimal), na variável sexo podemos armazenar apenas um caractere (“M” ou “F”). Seria correto armazenarmos o valor “M” na variável idade? Não né, por isso devemos especificar em nossos algoritmos o tipo de cada variável.


tipos de dados

 

Quais são os tipos de dados primitivos?

Em computação existem apenas 4 tipos de dados primitivos, algumas linguagens subdividem esses tipos de dados em outros de acordo com a capacidade de memória necessária para a variável. Mas de modo geral, os tipos de dados primitivos são:
  • INTEIRO: Representa valores numéricos negativo ou positivo sem casa decimal, ou seja, valores inteiros.
  • REAL: Representa valores numéricos negativo ou positivo com casa decimal, ou seja, valores reais. Também são chamados de ponto flutuante.
  • LÓGICO: Representa valores booleanos, assumindo apenas dois estados, VERDADEIRO ou FALSO. Pode ser representado apenas um bit (que aceita apenas 1 ou 0).
  • TEXTO: Representa uma sequencia de um ou mais de caracteres, colocamos os valores do tipo TEXTO entre ” ” (aspas duplas).
Algumas linguagens de programação, dividem esses tipos primitivos de acordo com o espaço necessário para os valores daquela variável. Na linguagem Java por exemplo, o tipo de dados inteiro é dividido em 4 tipos primitivos: byte, short, int e long. A capacidade de armazenamento de cada um deles é diferente.
  • byte: é capaz de armazenar valores entre -128 até 127.
  • short: é capaz de armazenar valores entre – 32768 até 32767.
  • int: é capaz de armazenar valores entre –2147483648 até 2147483647.
  • long: é capaz de armazenar valores entre –9223372036854775808 até 9223372036854775807.
Mas essa divisão é uma particularidade da linguagem de programação que está sendo utilizada. O objetivo é otimizar a utilização da memória. Em algumas linguagens de programação não é necessário especificar o tipo de dados da variável, eles são identificados dinamicamente. Porém, é necessário informar o tipo de dados de cada variável em algoritmos.

 

Tipos de dados customizados

 

A partir dos tipos de dados primitivos podemos criar outros tipos de dados utilizando uma combinação de variáveis.  São estruturas de dados, classes, vetores, matrizes, etc.
Uma classe chamada Carro é um tipo de dados que agrupa outras variáveis básicas como marca, cor, ano, modelo, etc. Um vetor é um agrupamento de variáveis, uma matriz é um agrupamento de vetores. Enfim, a base de todos os tipos de dados são os tipos de dados primitivos, independente da linguagem de programação.

classe carro

O conceito de estruturas de dados e classes é bem mais complexo que isto, por exemplo classes têm operações além de atributos, mas aqui é importante apenas frisar que também são tipos de dados. Diferente dos tipos de dados primitivos que já são implementados internamente pelas linguagens de programação, esses tipos de dados são criados pelo programador.

Fonte : http://www.dicasdeprogramacao.com.br/tipos-de-dados-primitivos/

Operadores Relacionais

 

Os operadores relacionais estabelecem uma relação (Não poderia ser mais óbvio!) entre seus operandos.
Essa relação pode ser de:
  1. (==) igualdade
  2. (!=) diferença
  3. (>) maior que
  4. (<) menor que
  5. (>=) maior ou igual a
  6. (<=) menor ou igual a

Leia sobre operadores aritméticos

É interessante saber que o resultado de uma expressão relacional é sempre lógico, ou seja, retorna verdadeiro ou falso.
Analisando a equação relacional


X == 7;

concluímos que o resultado será verdadeiro para X igual a 7 e falso para X diferente de 7.
Algumas vezes a análise não é tão simples assim. Por exemplo:

Leia sobre operadores lógicos


X > 7;

O resultado será verdadeiro para qualquer valor real maior ou igual a 7.
Quando o resultado será falso? Alguns respondem, de primeira, quando X for menor que 7 e esquecem que quando X é igual a 7 o resultado da expressão também é falso.
A resposta correta é quando X for menor ou igual a 7.
Sempre que deparar com uma relação, tente identificar os conjuntos de valores que a tornam verdadeira e falsa, assim você terá domínio maior sobre o problema.

Fonte : http://qualadoce.blogspot.com.br/2008/02/operadores-relacionais.html

Operadores Lógicos

As operações lógicas são ensinadas em vários cursos de tecnologia de diferentes formas, por exemplo, em cursos de eletrônica é ensinado portas lógicas, já em programação aprendemos os operadores lógicos. Mas no fundo é a mesma coisa e se você entender a ideia das operações lógicas você pode usar esse conhecimento em qualquer área da tecnologia.

Leia sobre operadores aritméticos

Tipo de dados LÓGICO

O tipo de dados primitivo mais simples é o chamado booleano ( ou lógico ). Pra quem não conhece esse tipo de dados, um dado booleano só pode assumir dois valores ( VERDADEIRO ou FALSO ). Em eletrônica, costuma-se ensinar apresentando como exemplo uma lâmpada, que pode estar acesa (verdadeiro) ou apagada (falso). Isso é o básico. Na literatura você pode encontrar esses dados de diferentes formas, por exemplo: verdadeiro/falso, aceso/apagado, 1/0, ligado/desligado, true/false, sim/não, etc….

operadores lógicos 

 

 Leia sobre operadores relacionais

Os operadores lógicos

As operações lógicas trabalham sobre valores booleanos, tanto os valores de entrada como o de saída são desse tipo. Os operadores lógicos são: E, OU, NÃO, NÃO-E, NÃO-OU, OU-EXCLUSIVO E NÃO-OU-EXCLUSIVO. Abaixo uma explicação de cada um.

 

Operador E (AND)

porta lógica AND 

O Operador “E” ou “AND” resulta em um valor VERDADEIRO se os dois valores de entrada da operação forem VERDADEIROs, caso contrário o resultado é FALSO. Abaixo a tabela-verdade da operação E.

VALOR 1 VALOR 2 OPERAÇÃO E
VERDADEIRO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO FALSO
FALSO VERDADEIRO FALSO
FALSO FALSO FALSO

 

Operador OU (OR)

porta lógica OR 

O Operador “OU” ou “OR” resulta em um valor VERDADEIRO se ao menos UM dos dois valores de entrada da operação for VERDADEIRO, caso contrário o resultado é FALSO. Abaixo a tabela-verdade da operação OU.

VALOR 1 VALOR 2 OPERAÇÃO OU
VERDADEIRO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO VERDADEIRO
FALSO VERDADEIRO VERDADEIRO
FALSO FALSO FALSO

 

Operador NÃO (NOT)

porta lógica NOT 

O Operador “NÃO” ou “NOT” é o único operador que recebe como entrada apenas um valor, e sua função é simplesmente inverter os valores. Ou seja, se o valor de entrada for VERDADEIRO, o resultado será FALSO e se o valor de entrada for FALSO, o resultado será VERDADEIRO. Abaixo a tabela-verdade da operação NÃO.

VALOR DE ENTRADA OPERAÇÃO NÃO
VERDADEIRO FALSO
FALSO VERDADEIRO

 

Operador NÃO-E (NAND)

porta lógica NAND 

O Operador “NÃO-E” ou “NAND” é o contrário do operador E (AND), ou seja, resulta em VERDADEIRO, se ao menos um dos dois valores for FALSO, na verdade este é o operador E (AND) seguido do operador NÃO (NOT). Abaixo a tabela-verdade da operação NÃO-E.

VALOR 1 VALOR 2 OPERAÇÃO NAND
VERDADEIRO VERDADEIRO FALSO
VERDADEIRO FALSO VERDADEIRO
FALSO VERDADEIRO VERDADEIRO
FALSO FALSO VERDADEIRO

 

Operador NÃO-OU (NOR)

pórta lógica NOR 

O Operador “NÃO-OU” ou “NOR” é o contrário do operador OU (OR), ou seja, resulta em VERDADEIRO, se os dois valores forem FALSO, na verdade este é o operador OU (OR) seguido do operador NÃO (NOT). Abaixo a tabela-verdade da operação NÃO-OU.

VALOR 1 VALOR 2 OPERAÇÃO NOR
VERDADEIRO VERDADEIRO FALSO
VERDADEIRO FALSO FALSO
FALSO VERDADEIRO FALSO
FALSO FALSO VERDADEIRO

 

Operador OU-EXCLUSIVO (XOR)

porta lógica XOR 

O Operador “OU-EXCLUSIVO” ou “XOR” é uma variação interessante do operador OU (OR), ele resulta em VERDADEIRO se apenas um dos valores de entrada for VERDADEIRO, ou seja, apenas se os valores de entrada forem DIFERENTES. Abaixo a tabela-verdade da operação OU-EXCLUSIVO.

VALOR 1 VALOR 2 OPERAÇÃO XOR
VERDADEIRO VERDADEIRO FALSO
VERDADEIRO FALSO VERDADEIRO
FALSO VERDADEIRO VERDADEIRO
FALSO FALSO FALSO

 

Operador NÃO-OU-EXCLUSIVO (XNOR)

porta lógica XNOR 

O Operador “NÃO-OU-EXCLUSIVO” ou “XNOR” é o contrário do operador OU-EXCLUSIVO (XOR), ou seja, resulta VERDADEIRO se os valores de entrada forem IGUAIS. Observe a tabela abaixo:

VALOR 1 VALOR 2 OPERAÇÃO XNOR
VERDADEIRO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO FALSO
FALSO VERDADEIRO FALSO
FALSO FALSO VERDADEIRO

 

Operadores lógicos nas linguagens de programação

Cada linguagem de programação tem uma forma de representar os operadores lógicos. A simbologia mais encontrada são:
  • AND, OR e NOT em linguagens como: Pascal, Visual Basic e SQL.
  • &&, || e ! em linguagens como: Java  e C#
Algumas linguagens oferecem operadores lógicos para o nível de bit (também chamado de operadores bitwise). Ou seja, podemos fazer operações lógicas com os bits de dois números. Em java, por exemplo esses operadores são & e |. Veja o código abaixo escrito em java.
Abaixo o resultado deste programa.
resultado bitwise
Essas operações lógicas são realizadas com os bits dos números de entrada. Assim:
Convertemos o número 10 e o número 7 para binário.
10 = 1010 em binário
7 = 0111 em binário
depois realizamos as operações lógicas com cada bit dos dois números.
10 & 7 = 0010 = 2
10 | 7 = 1111 = 15

Conclusão

Conhecer esses operadores é muito importante para qualquer área da tecnologia que você for trabalhar. Em programação por exemplo, utilizamos esses operadores praticamente o tempo todo, principalmente para controle de fluxo de execução e tomadas de decisão. Se você chegou até aqui e não conseguiu entender direito o que são os operadores lógicos, deixe um comentário aí em baixo parar sanarmos as dúvidas.

Operadores Aritméticos



operadores aritméticosTodo mundo já usou operadores aritméticos na escola! Nos primeiros anos de estudo aprendemos a fazer continhas de soma, subtração, multiplicação e divisão. Em algoritmos eles também são simples e têm a mesma simbologia em todas as linguagens de programação ( +, -, * e / ). Além desses mais simples, dois outros operadores aritméticos não recebem muita atenção e pode ser que você não os conhece, eles são o div e o mod, que resultam, respectivamente, o quociente (a parte inteira do resultado da divisão) e o resto da divisão. Observe as operações abaixo:
14 / 4 = 3,5
14 div 4 = 3
14 mod 4 = 2
O operador mod em muitas linguagens de programação (java por exemplo) é representado pelo símbolo “%“, assim:
14 % 4 = 2

Leia também sobre operadores lógicos.


Um outro operador aritmético que existe em algumas linguagens de programação é o ^ e executa a operação de potência, mas geralmente essa operação é realizada através de uma função chamada pow, bem como a operação de radiciação (função sqrt). Veja um exemplo do operador ^:
^ 5 = 32 (dois elevado a cinco)
Operadores aritméticos de radiciação também são fornecidos por algumas linguagens de programação, mas esses são bem mais raros. O Postgres por exemplo oferece os símbolos |/ e ||/ para operações de raiz quadrada e raiz cúbica, respectivamente.

Leia também sobre operadores relacionais
 

Precedência entre os operadores aritméticos

Da mesma forma que na matemática, os operadores de multiplicação e divisão têm precedência de execução em relação aos operadores de soma e subtração. Aliás se tiver parênteses na expressão estes têm precedência ainda maior. A tabela abaixo indica a precedência dos operadores.
Prioridade Operadores
Parênteses internos
potência (^) e raiz (quando a linguagem oferece esses operadores)
* / div e mod
+ e -
Os operadores de mesma prioridade são interpretados da esquerda para a direita. Para exemplificar essa questão de precedência, observe a expressão:
5 + 3 * ( 3 – 1 ) – 2 ^ 5 / 4 – 1


O computador executa o cálculo na seguinte sequência:
5 + 3 * 2 – 2 ^ 5 / 4 – 1
5 + 3 * 2 – 32 / 4 – 1
5 + 6 – 32 / 4 – 1
5 + 6 – 8 – 1
11 – 8 – 1
3 – 1
2
Os operadores aritméticos realmente todo mundo deve saber desde criança, mas para criarmos algoritmos é muito importante conhecermos mais detalhes, como o operador mod ou a ordem de precedência de cada um. Ainda assim, um dia você pode ser surpreendido com um resultado que você não esperava de uma expressão.

Fonte : http://www.dicasdeprogramacao.com.br/operadores-aritmeticos/

quinta-feira, 12 de março de 2015

Threads e processadores


Claro, você já ouviu falar em processador, conhece marcas como Intel e AMD, tem ideia de que a CPU faz cálculos, de que ela conta com núcleos e, possivelmente, sabe muito mais do que tudo isso. No entanto, existem coisas que nem sempre são esclarecidas, como é o caso de alguns termos americanos que aparecem quando falamos sobre os processadores.


Processador com suporte para executar múltiplas threads


Uma das palavras mais misteriosas nesse sentido é a “thread”. No que se refere a hardware, essa palavra apareceu no Brasil quando surgiram os primeiros modelos de processador com múltiplos núcleos. A princípio era fácil compreender que um dual-core tinha dois núcleos.
Entretanto, com a evolução das arquiteturas nas CPUs, surgiu o suporte para múltiplos threads (multithreading). E é aí que muitas pessoas se perguntaram o que realmente mudava. Afinal, o que é essa palavra? Faz diferença um processador trabalhar com o dobro de threads? Isso é o que vamos explicar agora!


sexta-feira, 6 de março de 2015

Como aprender programação de um jeito diferente ? - Parte 4

Seguindo a ideia dos posts parte 1, parte 2, parte 3, segue mais um jogo muito interessante chamado Flappy Bird.


Quer jogar programar Flappy Bird clique aqui.

O jogo teve uma polêmica muito grande nos EUA, foi retirado do mercado pelo próprio criador por ser considerado muito viciante.

Segue a notícia do G1

"Uma petição on-line reúne assinaturas para que o próprio presidente dos Estados Unidos, Barack Obama, interceda e traga de volta às lojas de aplicativos o game “Flappy Birds”, que virou sensação desde o começo do ano.
Criada nesta quinta-feira (13), a petição contava com 11 assinaturas. Para ser analisada pela Casa Branca, são necessárias 100 mil. O prazo para atingir essa meta é o dia 15 de março.
A ferramenta utilizada, "We the People" (Nós, o povo), instalada no site da Casa Branca, foi a mesma usada para pedir que os EUA deportar o astro adolescente Justin Bieber, após ele ser preso em uma aparente corrida de carros."

Quer jogar programar Flappy Bird clique aqui.

Gostou, publique esse artigo no Facebook  


Segue fotos/vídeos dos alunos jogando











Gostou, publique esse artigo no Facebook