Mostrando postagens com marcador linguagem de programação. Mostrar todas as postagens
Mostrando postagens com marcador linguagem de programação. Mostrar todas as postagens

quarta-feira, 26 de setembro de 2012

SISTEMA BINÁRIO, LÓGICA DOS COMPUTADORES, COTAS/ENSINO PÚBLICO


Sem sistema operacional e um conjunto de aplicativos, um PC é tão “útil” quanto um Viagra para um náufrago solitário numa ilha deserta. Demais disso, computadores só entendem linguagem de máquina: mesmo quando trabalhamos com textos, figuras, músicas, vídeos, animações e comandos operacionais, eles manipulam e processam os dados na forma de zeros e uns (para mais detalhes, clique aqui e aqui).
O sistema binário (que é a base para a Álgebra Booleana) opera com apenas dois algarismos (0 e 1), embora seja possível codificar qualquer valor decimal dividindo-o sucessivamente por dois, marcando zero quando o resultado for exato e um se sobrar resto e, ao final, lendo esses zeros e uns de traz para diante, como se vê na figura ao lado, onde o decimal 45 resulta no binário 101101 (para saber mais, clique aqui).

Observação: Se você tem interesse em se aprofundar nesse tema, não deixe de ler os artigos sobre Lógica Digital e Álgebra Booleana do mestre Benito Piropo – um dos mais respeitados colunistas de informática do Brasil –, começando por este aqui. Caso contrário, as considerações a seguir e as informações adicionais para as quais remetem os links que eu incluí no texto são suficientes para dar uma ideia elementar.

A Lógica Digital se baseia em operações onde VERDADEIRO e FALSO são os únicos valores possíveis, de modo que, para tomar decisões, o computador simplesmente gera equações lógicas e as resolve com auxílio das operações NOT, AND, OR, NAND, NOR e XOR. Para facilitar a compreensão, vou simplificar um exemplo usado por Mestre Piropo no artigo cuja leitura eu sugeri linhas atrás:

Imagine que você resolve ir à praia, mas somente no caso de não chover. Então, a decisão (ir à praia) depende da condição (estar chovendo), o que resulta na equação lógica (vou à praia) = [NOT (estar chovendo)], onde o valor da condição (estar chovendo) pode ser verdadeiro ou falso. Se não chover, teremos (Está chovendo) = (FALSO), portanto [NOT (está chovendo)] = [NOT (FALSO)] = VERDADEIRO, e o resultado será (vou à praia) = VERDADEIRO (decisões mais complexas dependem da combinação de valores de duas ou mais condições, mas isso já é outra conversa).

O ideal agora seria discorrer sobre transistores e a possibilidade de combiná-los para criar dispositivos capazes de emular operações lógicas e tomar decisões, mas isso exigiria começar por algumas noções básicas de eletrônica digital, o que, pelo menos neste momento, foge aos nossos propósitos e possibilidades. Dependendo do interesse dos leitores, quem sabe mais adiante a gente volte ao assunto.


Mudando de pato para ganso, não sei se a presidente (ou presidenta) Dilma sancionou a lei que reserva uma de cada duas vagas nas universidades federais para alunos egressos das escolas públicas, negros, índios e pardos. Eu, particularmente, espero que não, já que isso não só conflita com os princípios da meritocracia como mascara a péssima qualidade do ensino provido pelo governo. Resguardadas as devidas proporções, essa política remete ao velho MOBRAL, que, no auge da ditadura militar, “alfabetizou” milhões de brasileiros ensinando-os a assinar o nome, com o intuito puro e simples de manipular as estatísticas.
Para variar, viva o povo brasileiro!

Tenham todos um ótimo dia.

terça-feira, 25 de setembro de 2012

ALGORITMO, LOGARITMO e outras considerações

Se você confunde bits com bytes, drive com driver ou a capacidade do HD com a memória física do sistema (RAM), seja bem vindo ao clube. Afinal, a popularização da informática nos brindou com inúmeros neologismos, acrônimos e siglas (geralmente de origem inglesa), o que propicia equívocos dessa natureza.

Dias atrás, um conhecido com quem eu conversava confundia sistematicamente os termos algoritmo logaritmo – o que seria até perdoável se ele não cursasse Ciências da Computação.

A propósito, anote aí no seu caderninho: ALGORITMO é uma sequência finita de instruções lógicas que o computador executa ao realizar uma tarefa ou resolver um problema, ao passo que  LOGARITMO é um recurso destinado a facilitar a realização de cálculos matemáticos complexos mediante a transformação de multiplicações e divisões em operações mais simples (soma e subtração).

Observação: Não confunda algoritmo com programa. Alguns autores definem "programa" como um conjunto de algoritmos combinados, o que, guardadas as devidas proporções, seria o mesmo que definir uma casa como um monte de tijolos assentados.

Existem diversas formas de escrever algoritmos, sendo o pseudocódigo e o fluxograma as mais comuns. Aliás, eu até pensei em pedir “uma palhinha” ao amigo lusitano José Viegas, mas parece que o moço anda muito atarefado, de modo que dificilmente encontraria tempo para abrilhantar este humilde Blog com seus vastos conhecimentos de programação. Uma pena.

Enfim, amanhã veremos (ainda que em rápidas pinceladas) o Sistema Binário, a Lógica dos computadores e a Álgebra Booleana. Abraços a todos e até lá.