Mostrando postagens com marcador instruções. Mostrar todas as postagens
Mostrando postagens com marcador instruções. Mostrar todas as postagens

domingo, 21 de julho de 2013

Linguagem De Programação Clipper 5.2

Volto mais uma vez a comunicar a vocês sobre esta poderosa ferramenta de programação feita em 1984 e que funciona em ambiente DOS, feito inicialmente para compilar o Ashton-Tate dBase,que foi um tipo de SGBD famoso em sua época, estava estudando Clipper 5 de José Antonio Ramalho editado pela MAKRON Books no ano de 1994 (sugiro uma pesquisa neste livro) quando resolvi postar este post da Wikipedia:

Clipper (ou CA-Clipper) é um compilador 16 bits da linguagem xBase para o ambiente DOS. Foi criada em 1984 com o propósito de ser um compilador para o Ashton-Tate dBase, um gerenciador de banco de dados muito popular em sua época.
Trata-se de uma derivação da Clipper Summer, e após ser adquirida pela Computer Associates chegou á versão 5.3B, implementada por uma inteface gráfica compatível com o MS-Windows 3.11 e por um subconjunto de suporte para as linguagens C e Assembly, o que tornou possível um protótipo de Orientação a objetos.
Quando a Computer Associates parou de oferecer suporte a essa linguagem, ela era destinada ao desenvolvimento de aplicações para as plataformas MS-DOS e oferecia bibliotecas para suporte de rede.
Por utilizar-se de um padrão de linguagem originalmente desenvolvido pela Ashton Tate e existente desde os sistemas operacionais CP/M, possui uma sintaxe bem distinta das linguagens mais atuais. Em sua época, era considerada uma linguagem intuitiva e elegante, utilizando-se de pequenos verbos e abreviações, símbolos e estruturação.
Seus compiladores geravam executáveis que em 2008 seriam considerados minúsculos, extremamente rápidos e, para a maioria dos usuários, com uma interface pouco amigavél. Novamente, em sua época, era uma das mais versáteis e possibilitava a criação de sistemas totalmente integrados com imagens, sons e vídeo, e já se utilizava dos conceitos de hyperlink (via padrão RTF), ajuda de contexto e instanciamento de objetos (ainda que primitivos, via Code Blocks), coisa que, exceto pela linguagem C, só foi alcançada anos mais tarde pela concorrência.
Outra característica importante foi a inclusão da tecnologia Rushmore, hoje pertencente a Microsoft, de indexação para suas tabelas de dados, tornando-a uma das linguagens de melhor desempenho nessa área.
Mas sistemas originais criados com essa linguagem requerem ajustes constantes para se tornarem utilizáveis em sistemas operacionais mais modernos. E como não há mais suporte oficial para ela, grupos de usuários e desenvolvedores resolvem os problemas que vão surgindo com a constante evolução da informática por si mesmos, mediante bibliotecas OpenSource, patches, portings e outras criativas soluções.
Mais algumas características da linguagem:
  • Pré-processador de código-fonte;
  • Compiladores de alta-performance;
  • Depurador interativo;
  • IDE gráfica (opcional, requerendo o MS-Windows® instalado);
  • Suporte a modos gráficos de vídeo VGA (com os drivers adequados);
  • Suporte a mouse (com o driver do fabricante) integrado á bibliotecas de entradas de dados;
  • Geração de executáveis que utilizavam os modos protegido ou real de memória (escolhendo-se um dos compiladores específicos para essas características);
  • Geração de módulos de Overlay (grosso modo, equivalentes às bibliotecas de vínculo dinâmico), diminuindo o tamanho dos executáveis e seu uso de memória;
  • Dois objetos reais para MS-DOS, (TBrowse e Get) para desenvolvimento de telas com massas de dados e de entradas de dados respectivamente;
  • Teclas de aceleração (o equivalente às teclas de atalho);
O conjunto do objeto Get disponibilizava ao desenvolvedor itens de interface tais como check- box, listbox, botões de opção, botões de rádio, barras de rolagem, barras de menus e itens de menu, dentre outros. Esses itens eram visíveis em MS-DOS mediante caracteres semi-gráficos da tabela ASCII estendida.
A versão 5.03 sofreu uma atualização radical, tendo sido desenvolvido com o uso da linguagem C da Microsoft e, com isso, tornando possível a utilização de processadores aritméticos, se estivessem presentes no computador. Com isso, aplicações eram executadas com até 30% á mais de desempenho, sem qualquer alteração no código-fonte.

História

Conta a lenda que dois amigos estavam almoçando num restaurante de frutos do mar chamado Nantucket Lighthouse, discutindo como era frustrante o fato da Ashton-Tate se recusar a criar um compilador para o seu principal produto. A baixa velocidade de processamento do dBase quando comparado às aplicações compiladas era gritante. Começaram então a discutir a idéia de criar um compilador e fundar uma empresa para comercializá-lo. O nome Clipper veio de um quadro na parede do restaurante que mostrava um destes rápidos e elegantes navios mercantes. O nome da empresa foi uma escolha emprestado do nome do restaurante.
Quando de sua criação, o Nantucket Clipper se propunha basicamente a ser o melhor compilador para dBase que existia. Na caixa da versão Summer '87 vinha os dizeres "dBase III ® Compiler". As versões foram:
Nantucket Corporation; com nome de estações do ano, vendidas como "dBase compilers"
Nantucket Corporation; Clipper 5
  • Nantucket Clipper 5.00 - released 1990
  • Nantucket Clipper 5.01 - released April 15 1991
  • Nantucket Clipper 5.01 Rev.129 - released March 31 1992
Computer Associates
Com a versão 5, Clipper iniciou o processo de desvinculação do dBase, tornando-se uma linguagem de programação com linha de evolução própria. A versão 5 adicionou recursos inexistentes no dBase, incluindo um depurador visual, exceções estruturadas, RDD (um tipo de ODBC pré-histórico), novos tipos, novas funções para gerenciar arrays e um pré-processador que permitiu que a linguagem pudesse ser estendida de forma praticamente ilimitada no ambiente de 16 bits.
Antes de a Computer Associates comprar a Nantucket, o escritório alemão da Nantucket havia começado um projeto de maneira informal conhecido como "ASPEN", embora internamente fosse chamado simplesmente de Clipper for Windows. O projeto representava uma ruptura com as versões anteriores do Clipper na medida em que introduzia o conceito de orientação ao objeto (OO) e suporte ao ambiente gráfico da Microsoft sem se preocupar com retro-compatibilidade. Dentre os novos recursos, estava um desempenho comparável à do C++ com uma linguagem muito mais acessível e que possuía uma enorme base de potenciais programadores advindos do dBase, Clipper e outros ambientes XBASE.
A CA resolveu que iria entrar para valer na briga por uma fatia considerável do nascente mercado de programação para Windows e adquiriu a Nantucket por causa do VO (Visual Objects), apostando alto no que foi um dos maiores fracassos da área de tecnologia. A falta de compatibilidade com as versões anteriores levou muitos desenvolvedores a migrarem para a nova ferramenta da Borland chamada Delphi.
O Clipper, que após a aquisição foi renomeado CA-Clipper, ainda viu uma edição que usava o gerenciamento de memória do Windows enquanto mantinha a interface caracter, mas foi oficialmente aposentado em favor do novo produto, o VO.
Embora hoje seja considerada uma linguagem obsoleta dado que parou de evoluir após a versão 5.3 e tratando-se o VO de um produto distinto e nati-morto, Clipper ainda possui uma razoável base de programadores conhecidos pelo depreciativo apelido de "clippeiros". Projetos open-source como o Projeto Harbour continuam a oferecer suporte ao padrão XBASE enquanto são orientados para modernos ambientes gráficos, embora sem nenhum apoio oficial da CA, detentora dos direitos sobre o Clipper.
Em resumo, o Clipper permite a dinamização de aplicações com arquivos de dados, tornando-as mais fáceis e rápidas que as desenvolvidas em uma linguagem de programação tradicional, como Cobol, Basic ou Pascal. Com uma simples, moderna e eficiente linguagem de programação, permite o encadeamento ordenado e lógico de seus comandos possibilitando rapidamente a definição de programas com alto grau de complexidade e sofisticação, permitindo inclusive interações com outras linguagens como "C" e Assembly, que lhe confere a flexibilidade necessária para a utilização profissional.
SUMMER 85 - nesta versão, o CLIPPER era totalmente compatível com a versão 1.0 do DBASE III, chegando a ser bem próximo dele, porém, apresentando alguns recursos adicionais como:
- Maior capacidade de manipulação de arquivos e variáveis; - Construção de "HELP" ao usuário; - Múltiplo relacionamento entre arquivos; - Criação de funções-de-usuário (UDF's); - Novos comandos e funções que não existiam no DBASE III.
WINTER 85 - ainda permanecia a compatibilidade com o DBASE III entretanto surgiram algumas implementações, dentre elas, as principais são:
- Variáveis indexadas: vetores; - Surgimento do comando @…PROMPT ( menu de barras ); - Novas funções para manipulação de campos MEMO. Logo após a versão WINTER 85 do CLIPPER foi lançado em contra-ataque, o DBASE III PLUS que incluía os vários comandos e funções que o CLIPPER já possuía só que com a principal novidade, que era a possibilidade de trabalho em ambiente de rede local. Para acompanhar a versão do DBASE, foi lançada a versão:
AUTUMN 86 - nesta versão, o CLIPPER também passou a trabalhar em ambiente de rede local, ganhou novos comandos e funções, mas muitos dos novos recursos do DBASE III PLUS foram implementados de forma provisória, através de rotinas auxiliares, escritas em linguagem C e Assembly. A compatibilidade com o DBASE III PLUS ainda existia.
SUMMER 87 - nesta versão ocorre dois fatores importantes para o estágio de desenvolvimento do CLIPPER, são eles:
- Mudança do compilador C, através do qual era construído. - Decisão de se separar de uma vez do DBASE. Com isso o CLIPPER se transformou numa ferramenta realmente destinada à construção de sistemas profissionais. Além de uma quantidade considerável de novos comandos e funções, a arquitetura do CLIPPER foi praticamente aberta. Tornou-se possível escrever uma função qualquer utilizando o Microsoft C e linkeditá-la diretamente com as bibliotecas e módulos objeto gerados pelo CLIPPER.
VERSÃO 5.0 - a tendência já observada na versão SUMMER 87 confirmou-se. A compatibilidade com a linguagem DBASE, apesar de mantida, tornou-se apenas uma circunstância histórica. A nova estrutura de programação do CLIPPER e os novos e sofisticados recursos baseados na estrutura de programação da linguagem C e tendências de programação orientada a objetos, indicam um afastamento definitivo do padrão DBASE.
NOVIDADES DA VERSÃO 5.0 - Dentre as várias novidades que a versão 5.0 do CLIPPER nos trouxe, destacamos algumas logo abaixo:
- Acesso ao pré-processador do compilador (diretivas); - Novo compilador com recursos e opções mais otimizadas; - Novo linkeditor (RTlink), que permite a criação de overlays dinâmicos; - Help "on-line" para programador (Norton Guide); - Novos operadores; - Definições de funções-de-usuário (UDF's); - Debugador mais eficiente; - Novos tipos e classes de variáveis; - Matrizes multidimensionais, etc.

Utilização Decrescente

Tanto o dBase quanto o Clipper são produtos de uma época em que os computadores pessoais eram desconectados, e o banco de dados era um conjunto de arquivos em disco acessado por apenas um usuário. Ambos os programas funcionam, na prática, como uma biblioteca ligada ao programa final, monolítico, que acessa diretamente os arquivos contendo os dados, sem intermediação (como ocorre no caso dos SGDB).
Com o aparecimento das redes de computador, passou a ser possível utilizar discos compartilhados para acessar diretamente esses arquivos, porém fazendo que o programador tivesse que controlar e resolver vários problemas ligados ao acesso compartilhado de arquivos e registros.
Atualmente, apesar de muitos programas ainda utilizarem essas linguagens, o uso de um SGBD é mais recomendado, o que leva, gradativamente, ao abandono dessa tecnologia.
Para o Clipper foram desenvolvidos RDDs que permitem o uso de SGBD, como o ADS Advantage Database Server, o RaSQL/b para Btrieve/Pervasive e o UltiRoute, que possibilita o acesso a qualquer SGBD via ODBC.

Extensão dos Arquivos Manipulados Pelo Clipper

O CLIPPER como qualquer outra linguagem de programação possui os seus próprios arquivos e extensões para que sejam facilmente reconhecidos por um programador. Logo abaixo, serão discriminados os vários arquivos manipulados pelo CLIPPER.
  • .PRG = arquivos de programa-fonte
  • .CH = arquivos-cabeçalho ou arquivos include
  • .OBJ = arquivos-objeto
  • .LIB = arquivos de bibliotecas
  • .TMP = arquivos temporários
  • .PPO = arquivos do pré-processador
  • .EXE = arquivos auto-executáveis
  • .DBF = arquivos de dados
  • .DBT = arquivos de campo memo
  • .NTX = arquivos de índices
  • .MEM = arquivos de variáveis de memória
  • .LBL = arquivos de definição de etiquetas
  • .FRM = arquivos de definição de relatórios
  • .FMT = arquivos de formatação
  • .CLP = arquivos script ou lista de clippagem
  • .LNK = arquivos de linkedição
  • .PLL e PLT = arquivos de biblioteca pré-linkadas
  • .OVL = arquivos de overlay
  • .MAP = arquivos de alocação de memória

Informações Complementares

Com o Clipper é possível:
• Criar, organizar, classificar, copiar, selecionar e relacionar conjuntos de arquivos que formam o Banco de Dados;
• Adicionar, alterar, eliminar, exibir e listar global ou seletivamente as informações contidas nos arquivos de dados;
• Gerar relatórios padronizados, efetuar automaticamente somas, agregações, contagens e operações aritméticas sobre os valores dos dados armazenados nos arquivos;
• Formatar telas de entrada de dados no vídeo e gerar relatórios, tabelas e listagens complexas na impressora, de acordo com as necessidades do usuário;
• Produzir Sistemas de Informação completos e integrados, com recursos e sofisticações encontrados apenas nos mais modernos softwares que hoje disputam o fabuloso mercado da microinformática.
Em resumo, o Clipper permite a dinamização de aplicações com arquivos de dados, tornando-as mais fáceis e rápidas que as desenvolvidas em uma linguagem de programação tradicional, como Cobol, Basic ou Pascal. Com uma simples e eficiente linguagem de programação, permite o encadeamento ordenado e lógico de seus comandos possibilitando rapidamente a definição de programas com alto grau de complexidade e sofisticação, permitindo inclusive interações com outras linguagens como C e Assembly, que lhe confere a flexibilidade necessária para a utilização profissional.
Paradigma Procedural:Clipper é pertencente ao Paradigma procedural (como Pascal, C, Ada, Cobol, Fortran, Clipper). Linguagens procedurais são aquelas no qual nosso código é dividido em subrotinas (procedures) ou function (funções). Uma procedure é uma função sem retorno (pode ser visto como uma função que não retorna nada, void). Se você realmente quiser modularizar seu programa, o melhor que você pode fazer é dividi-lo em várias subrotinas/funções, e num nível maior, em várias bibliotecas. Antes da programação estruturada, usava-se nos códigos o recurso do GOTO, que tornava a maior parte dos programas ilegíveis. Os famosos códigos espaguete.
Sistema de Tipos Utilizado pela Linguagem
Clipper possui uma tipagem dinâmica, porém surpreendentemente forte.O seguinte trecho de código passa pelo compilador, mas dá erro na execução:
local a,b
a = 1
b = 2
b = "x"
? a + b
O Clipper 5 introduziu a diretiva "local", que permite declarar as variáveis no início da função ou procedimento. É um passo em direção à tipagem estática; o plano da Nantucket era tornar o Clipper mais parecido com C ao longo de sua evolução. A comparação com linguagens de tipagem dinâmica, que resolvem nomes em run-time, é verdadeiramente covarde; mas por completeza:
a = tabela→campo // Clipper
$a = $linha→campo; // PHP
a = linha.campo ## Python
O Clipper suporta nativamente a sintaxe acima para tabelas DBF, mas não me permite definir um novo tipo com essa sintaxe. Já PHP e Python permitem criar tipos com atributos dinâmicos, confortáveis ao usuário.

Exemplo de Compilador

O Harbour é um compilador de software livre para a linguagem Clipper (a linguagem que é implementada pelo compilador CA-Clipper). O Harbour é um compilador multi-plataforma e sabe-se que compila e executa em MS-DOS, MS-Windows, OS/2 e GNU/Linux. A principal diferença do Harbour para outros compiladores Dbase é que ele é um software livre.

Exemplos de sintaxe

  • 'NUMÉRICO: Aceita apenas números com ou sem casas decimais (decimals). O ponto da casa decimal conta no tamanho (width).
Exemplo: 999.99 (width 6, decimals 2)
  • CARACTER:
Aceita letras e números. Tamanho máximo de 256 caracteres.
  • DATA: Aceita apenas datas.
  • LÓGICO: Aceita apenas Verdadeiro (.T.) ou Falso (.F.)
  • MEMO: Aceita letras e números, é como um tipo de campo Caracter com tamanho de até 64Kb. Usado geralmente para armazenar "Observação" ou outras informações que precisem ser detalhadas. Ao adicionar um campo Memo no seu DBF, é criado um espelho dele com a extensão .DBT. (Se o RDD usado for o nativo do Clipper DBFNTX). Só é possível editar um campo memo com a função MEMOEDIT().
Exemplo: O DBF "clientes" tem um campo memo para observações dos clientes, então irá existir:
CLIENTES.DBF
CLIENTES.DBT
  • NUMÉRICO: Aceita apenas números com ou sem casas decimais (decimals). O ponto da casa decimal conta no tamanho (width).
Exemplo:
nTOTAL = 0
nCAMPO = 125
  • CARACTER: Aceita letras e números. Tamanho máximo de 256 caracteres.
Exemplo:
cNOME = SPACE(35)
cCAMPO = "ANDERSON"
  • DATA: Aceita apenas datas. Considere o uso do comando SET DATE BRITISH para definir o padrão de data igual ao brasileiro dd/mm/aa. Considere também o uso do comando SET EPOCH TO 1980 para resolver o "Bug do Milênio", veja mais em Know-how - Y2K Bug do Ano 2000.
Exemplo:
dDATA = CTOD("")
dHOJE = DATE()
dDTFINAL = CTOD("06/08/2005")
  • LÓGICO: Aceita apenas Verdadeiro (.T.) ou Falso (.F.)
Exemplo:
lCOMPLETO = .T.
lERRO = .F.
  • MEMO: Variável do tipo Memo não existe, seria uma variável do tipo caracter com mais de 256 bytes que só caberia em um campo Memo.
Exemplo:
mOBS = MEMOREAD("NOTAS.TXT")
  • ARRAY: Também chamado de matriz ou vetor. São como vários campos agrupados em uma lista. É uma estrutura de dados que contém uma série de dados ordenados, chamados "elementos". Os elementos são referenciados por número ordinal, primeiro elemento é 1, segundo 2… Os elementos podem ser de qualquer tipo, caracter, numérico, data etc. Veja mais detalhes em TUDO SOBRE ARRAYS.
  • CODEBLOCK: É um tipo especial de variável que armazena um pedaço de código compilado.
Exemplo:
@ 10,10 SAY "CODIGO:" GET WCOD PICT "999999" VALID;
EVAL( { || WCOD := STRZERO(WCOD,6), .T.} )

Exemplos de Comandos Básicos e Laços de Repetição

@. . . SAY. . . GET
Propósito: Criar e executar um novo objeto GET (entrada de dados),colocando-o em exibição na tela.
Sintaxe: @ , < coluna> [ SAY [ ] ]
[WHEN]
[RANGE ,]
[VALID ]
Exemplo
@ 15,10 SAY ‘FATEC’
xcod:=0
@ 18,10 GET xcod
read

STR( )
Propósito: Converter uma expressão numérica em uma expressão caractere. Sintaxe: STR(,,).
Exemplo
SALÁRIO := 3020.29
? STR(SALARIO,4) // resultado: 3020
? STR(SALARIO,8,3) // resultado: 3020.290

VAL( )
Propósito: Converter uma expressão caractere em um valor numérico. Sintaxe: VAL().
Exemplo
SALÁRIO := "2929.20"
? VAL (SALÁRIO) // resultado: 2929.20
TESTE := "COMPUTADOR"
? VAL(TESTE) // resultado: 0

FOR. . . NEXT
Propósito: Executa uma estrutura de controle, um determinado número de vezes.
Sintaxe
FOR  := TO STEP
......
[EXIT]
......
[LOOP]
NEXT
Exemplo
1) FOR I := 1 TO 100
@ 15,10 SAY ‘CONTADOR:’ +STR(I,3)
NEXT
2) FOR J := 100 TO 500 STEP 10
@ 18,05 SAY ‘O VALOR DE J É ‘+ STRZERO(J,3)
NEXT

DO WHILE…ENDDO
Propósito: Executa uma estrutura de controle enquanto uma condição for verdadeira.
Sintaxe
DO WHILE

[EXIT]
[LOOP]
ENDDO
Exemplo
1)
DO WHILE .T.
xnumero:=0
@ 11,10 say ‘Digite um número’
@ 11,20 get xnumero
read
if empty(xnumero)
exit
endif
@ 13,10 say ‘o número digitado foi’+strzero(xnumero,3)
ENDDO
2) xresp:=’S’
DO WHILE XRESP#’N’ // # ou < > símbolos de diferente
xnome:=space(40)
@ 11,10 say ‘Nome: ‘
@ 11,25 get xnome
read
if lastkey()==27 // == exatamente igual
exit
endi
@ 15,18 say ‘O nome digitado foi: ‘+xnome
xresp:=space(01)
@ 20,10 say ‘Deseja continuar ?
@ 20,30 get xresp picture ‘!’
read
ENDDO

Exemplos de código

? "Alô Mundo!"
USE cliente SHARED NEW

CLEAR SCREEN

DO WHILE LASTKEY() != 27

   @ 01, 0 SAY "Codigo  " GET cliente→codigo PICT "999999" VALID cliente→codigo > 0
   @ 03, 0 SAY "Nome    " GET cliente→nome VALID ! empty(cliente→nome)
   @ 04, 0 SAY "Endereco" GET cliente→endereco

   READ

ENDDO

Obs: O código acima viola a regra básica do uso de tabelas em modo compartilhado.
@ . . . CLEAR
                
                Propósito:      Apagar (limpar) apenas uma área específica da tela.
                Sintaxe:        @     ,   CLEAR 
                                [TO,]

Exemplo:
SET COLOR TO B+/W               / / muda a cor
CLS                   // equivalente a CLEAR, ou seja limpa toda a tela
SET COLOR TO W+/N                  / / estabelece um novo padrão de cor
@ 10,10 CLEAR TO 20,20                / / limpa uma região da tela
@ 10,10 TO 20,20 DOUBLE           / / desenha uma moldura (quadro)

@. . . PROMPT
                Propósito:      Montar um menu de opções selecionáveis na tela.
                Sintaxe:        @   ,    ""  [MESSAGE      ]

Exemplo:
Local OPC :=1
SET WRAP ON     // habilita a rolagem da barra entre os extremos do menu
SET MESSAGE TO 23 CENTER        // determina a saida de mensagens da linha 23 da tela
DO WHILE .T.
CLEAR                           // LIMPA A TELA
// cria variáveis para facilitar as coordenadas do menu
L:=8
C:=32
// montar a tela
@ 01,01 TO 24,79 DOUBLE
@ 02,02 TO 04,78
@ 03,01 SAY "ALT CONTROL INFORMATICA LTDA."
@ 03,60 SAY DATE( )
@ 03,70 SAY TIME( )
// detalha o menu de barras
@ L,C           PROMPT "INCLUSÃO"             MESSAGE "INCLUSAO DE DADOS"
@ L+1,C PROMPT "ALTERAÇAO"    MESSAGE "ALTERAÇAO DE DADOS"
@ L+2,C PROMPT "CONSULTA"     MESSAGE "CONSULTA DE DADOS"
@ L+3,C PROMPT "EXCLUSAO"     MESSAGE "EXCLUSAO DE DADOS"
@ L+4,C         PROMPT "RELATORIOS"   MESSAGE "RELATORIOS DO SISTEMA"
@ L+5,C PROMPT "UTILITARIOS"  MESSAGE "UTILITARIOS DO SISTEMA"
@ L+6,C         PROMPT "F I M"                MESSAGE "RETORNO AO DOS"
// executa o menu e controla a barra
MENU OPC
DO CASE // faça os casos
CASE OPC = 1
                DO PROG1
        CASE OPC = 2
                DO PROG2
        CASE OPC = 3
                DO PROG3
        CASE OPC = 4
                DO PROG4
        CASE OPC = 5
                DO PROG5
        CASE OPC = 6
                DO PROG6
        CASE OPC = 7
                CANCEL          // cancela a execução do programa
ENDCASE
INKEY(0)                        // aguarda QQ tecla
ENDDO   

AVERAGE
                Propósito:      Calcular a média aritmética de  campos  ou expressões de arquivos de dados.
                Sintaxe:        AVERAGE  TO  []
                                [FOR] [WHILE ]

Exemplo:

USE FOLHA                       // abre o arquivo de dados
AVERAGE SALARIO, COMISSAO TO vcom       // calcula e armazena nas variáveis
? "media salarial....:"+str(vsal)
? "media das comissões…:"+str(vcom = "A"    // calcula a media 
                                                // salarial, armazenando o 
                                                // resultado na variável VSAL,
                                                // porém somente dos funcionarios
                                                // que trabalhem no setor A.
copy con gostoudeclipper?.bat
********************************************************************************
  @echo off
  echo gostou de clipper?
  echo se sim, pode continuar no aguardo da próxima postagem
  echo senão, desapareça do meu blog!!!!!
  echo RSRSRSRSRSRSRSRSRSRSRSRSRSR
 ^z 


 

 

 

 

 

quarta-feira, 19 de junho de 2013

Relaxe E Depois Trabalhe!

Já reparou que quanto mais você trabalha (sem intervalos regulares) menos você produz? E quando você percebe que não esta produzindo, não bate aquela sensação de desprazer sobre o trabalho? Por incrível que pareça um bom trabalho esta diretamente ligado ao descanso, rsrsrs, é como se fôssemos uma bateria que precisa se carregada momento antes do descarregamento ou quando se descarrega, vamos ver um vídeo que aborda mais ou menos o que tenho escrito logo acima!


 Um pequeno livro muito bom que li recentemente foi Tranquilo E Produtivo do Daniel Burd onde ele aborda 16 caminhos de obtenção de uma ótima produtividade, o livro comenta o qual grande pode ser seu ritmo de trabalho ao se ter na noite anterior um bom sono, a definição de metas e prazos ( só faça o que realmente você pode fazer ou entregar) e outra coisas mais, para obtê-lo basta clicar no smile e fazer o download desse mini curso ou pequeno manual da boa produtividade, então boa leitura! 

segunda-feira, 8 de abril de 2013

sábado, 22 de dezembro de 2012

sábado, 8 de dezembro de 2012

Deep Web (Olhar Digital)

Deep Web (também chamada de Deepnet, Web Invisível, Undernet ou Web oculta) se refere ao conteúdo da World Wide Web que não faz parte da Surface Web, a qual é indexada pelos mecanismos de busca padrão.
Não deve ser confundida com a dark Internet, na qual os computadores não podem mais ser alcançados via Internet, ou com a Darknet, rede de compartilhamento de arquivos.

Quando se diz que na internet é possível aprender como construir bombas, comprar drogas e documentos falsificados, entre outras coisas, geralmente é sobre a deep web que estão falando; assim como é lá também que surgem organizações como Wikileaks e Anonymous, e são essas pessoas que discutem a web como um organismo livre e democrático. Portanto, é uma via de duas mãos, em que a todo momento você pode tropeçar numa pedrinha e cair do lado contrário.

Para ocultar seu ip baixe o programa TOR só clicando aqui

sexta-feira, 28 de outubro de 2011

Conheça o Regexpal

Para você desenvolvedor ou administrador de redes que utiliza o shell script ou java script, aqui vai uma poderosa ferramenta que testa o seu código em tempo real, conheça agora o site regexpal que se encontra no endereço: http://regexpal.com/ é só clicar e utilizar.

sábado, 2 de abril de 2011

Certificado Microsoft

Já faz algum tempo que venho divulgando os exames de certificação Microsoft aqui no blog e sempre recebo questionamentos sobre a importância de se fazer uma prova de certificação.
Ao longo dos anos em todas as empresas que trabalhei eu sempre levei em consideração na hora de contratar uma pessoa se ela era certificada ou não. Pois dentre dois currículos o profissional certificado sem dúvida passa na frente. O mercado busca soluções e não perda de tempo.

A certificação Microsoft é valida em todo o mundo o que já se torna mais um grande agregador de valor na sua carreira uma vez que vivemos em um mundo cada vez mais globalizado e não está fora de cogitação qualquer profissional de tecnologia ter que trabalhar nos EUA ou em uma empresa multinacional.

Em minha opinião a certificação demonstra além da proficiência técnica em determinada tecnologia o empenho do profissional na sua carreira. Eu valorizo os profissionais que buscam se atualizar a carreira e que tenham objetivos em longo prazo, pois são os mais empenhados em resultados nos projetos.

Segue abaixo uma compilação das principais dúvidas:

a) A certificação substitui o curso superior?
Não, você não deve lagar o seu curso superior em prol da certificação. O ideal é fazer os dois em paralelo. Terminar o seu curso e complementar com as provas de certificação. Você também pode optar pelos cursos superiores de curta duração mais focados no mercado de trabalho.

b) Os exames de certificação são complicados ?
As provas são baseadas em questões do dia a dia. O melhor caminho é você focar na prova relacionada a tecnologia que você já está trabalhando. Portanto se você trabalha com Web então busque uma prova relacionada a ASP.NET.

c) Onde posso tirar as dúvidas sobre o programa de certificação da Microsoft?
http://www.microsoft.com/brasil/certifique
http://www.microsoft.com/learning/mcp/certifications.mspx
http://www.microsoft.com/learning/mcp/certifications.mspx

d) Onde faço a prova de certificação?
As provas de certificação são feitas pela empresa Prometric e os agendamentos são feitos diretamente no site. Você precisa usar um cartão de crédito internacional. Durante o registro você vai escolher o local, data e a prova.

d) Se eu perder na prova o que acontece?
O procedimento padrão é você ter que pagar e agendar um novo exame. Geralmente um mês depois. Em algumas momentos a Microsoft faz campanhas extras oferecendo uma segunda chance de graça. Nesse caso você obter um código promocional da campanha para usar durante o registro da prova.

e) Por onde inicio a minha carreira de certificação?
A carreira de certificação é baseada em provas conquistadas. Fazendo a primeira prova você já vira MCP (Microsoft Certified Professional). Depois você vai evoluir para o MCTS (Microsoft Certified Technology Specialist ) demonstrando o seu conhecimento em uma determinada tecnologia. E depois com uma boa experiência você já vai atualizar para o Microsoft Certified Professional Developer (MCPD). O importante é você entender que é uma evolução.

f) Como me organizo para tirar o MCTS em Web?

Para você que desenvolve para web usando o Visual Studio 2008 e pretende ser certificado em Web vai precisar fazer duas provas: 70-536 e 70-562. A prova 70-536 é hoje a prova básica para qualquer certificação na área de desenvolvimento. A prova 70-562 é direcionada para o desenvolvimento Web usando o Visual Studio.

g) Qual prova eu agendo primeiro ?
Eu recomendo você optar pela que você tem mais prática. Na minha opinião pessoal eu iria para a 70-562 e depois estudaria a 70-536. Cada prova tem um site indicando os tópicos da mesma.

Agora que você já tem um checklist aproveite e planeje a sua carreira profissional. Hoje o que mais temos no mercado são oportunidades de trabalho que requerem profissionais qualificados. Portanto não perca tempo e faça a diferença!

Para você que é pessoa física e quer iniciar os estudos em casa uma ótima opção é iniciar com treinamentos em vídeo focados em necessidades especificas. E participar de comunidades como a Desenvolvendo para Web e VSTS Brasil.

Caso você trabalhe em alguma empresa e tenha algum projeto de software envolvido então o melhor caminho é optar por um apoio especializado. Entre em contato com a empresa 2PC Consultoria & Treinamentos em plataforma Microsoft.

[],
Ramon Durães
MVP, Especialista em Visual Studio Team System
Ramon sempre apostou na sua carreira e na plataforma Microsoft

terça-feira, 8 de março de 2011

Teclado Yamaha Motif XF8

Aproveitando a época de musica que é o Carnaval, venho escrever e retirar do site da yamaha este novo lançamento de teclado que esta marca genunia esta lançando, confira este workstation:

Após o lançamento do MOTIF original em 2001, este foi reconhecido como o melhor som, o “top” de vendas e o Workstation mais solicitado do mercado. Ao longo do tempo, ele foi sendo desenvolvido e melhorado, proporcionando expressividade e funcionalidade. Ao mesmo tempo, a comunidade online de usuários finais, programadores de sons, desenvolvedores de software e especialistas de produtos do site MOTIFATOR (www.motifator.com) se expandiram em uma vibrante comunidade online de produção musical. O MOTIF deu vida nova às performances ao vivo com sua capacidade de expressão e com seus controles intuitivos. Na criação musical, o MOTIF não apenas oferece suas próprias capacidades de criação, como também oferece um sistema para integrar essas capacidades com uma variedade de aplicações de software. Agora, a nova geração XF foi projetada com base no patrimônio de uma década de MOTIF e proporciona capacidades de expansão inovadoras com memória flash, o que será o novo padrão de “workstations” dos próximos anos.

Características Gerais

* 741MB de memória de ondas, 128 Voices novas e 8 Kits de Bateria Novas: S6 piano, Clavinet, Organ, Synthesizer e kits de Bateria derivados da DTX
* 128 performances novas (Adicionais), 1248 tipos de arpejos novos
* Memória Flash expansível via placas opcionais (FL512M/FL1024M)
* 128MB SD-RAM pré-instalados para sampler
* Update de Sistema Operacional (Versão 1.1) com função refinada para sampler aumentando a operação intuitiva

Principais Características

Sons de altíssima qualidade, incluindo poderosos Pianos e alta capacidade de memória de formas de onda (741MB)

O MOTIF XF possui 741 MB de memória de Formas de Onda—mais que o dobro do MOTIF XS—e 136 sons adicionais. Essas voices novas incluem Sintetizadores, Metais, Saxophones, Cordas, Guitarras, Baixos e Kits de Bateria bem como Pianos, Clavinets e Orgãos.

Arpejador Avançado com Mais de 7.000 Patterns

Além dos arpejos existentes no MOTIF XS, o MOTIF XF possui 1.248 novos tipos de Arpejo, somando um total de 7.881 tipos de Arpejo—incluindo arpejos de finalização, bem como aqueles arpejos ao estilo de sintetizadores e seqüenciadores vintage e Loops de Bateria/Percussão.

Clique para Ampliar Sampler Interno com 128 MB de memória SD-RAM

Diferente dos seus antecessores, o MOTIF XF possui 128 MB SDRAM de memória interna para sampler, sem a necessidade da instalação de
memórias DIMM opcionais.
Memória Flash expansível até 2GB via módulos de memória flash

> Saiba mais sobre a Memória FLASH

O MOTIF XF permite a expansão de Memória Flash via placas opcionais (FL512M/FL1024M), possibilitando o armazenamento interno de novas Formas de Onda incluindo os seus sons sampleados e mantendo esses sons/Formas de Onda intactos, mesmo quando o teclado for desligado.

Interface de Usuário Redefinida

Clique para Ampliar

A nova Interface de Usuário do MOTIF XF oferece vários tipos de design de Display LDC para cada modo. Assim, você pode selecionar o “layout” desejado de acordo com o cenário incluindo criação musical ou performance ao vivo.

Usuários Alvo Principais

Tecladistas profissionais e semiprofissionais, que precisam de um equipamento “top” de linha com sons de alta qualidade, recursos para produção musical profissional além de possibilidade de expansão sonora.

quarta-feira, 2 de fevereiro de 2011

Calculadora Verde



Calcule o quanto você tira de recursos naturais do nosso planeta terra com esse site que te mostra o quanto que você consome da natureza, um site que aponta se você é nocivo ou não e se for ele pode até te ajudar a não ser tão nocivo assim, só basta clicar no português para preencher os questionários no nosso idioma, o endereço do site é este aqui: http://www.oeco.com.br/calculadora
Clique e ajude a melhorar o nosso planeta da maneira mais sustentável possível.

segunda-feira, 2 de agosto de 2010

A Mágica Do Cabo UTP

Todo dia é assim: tecnologias desatualizadas são aposentadas para dar lugares a outras mais eficientes. Não que o HDMI seja antigo ou que sua qualidade deixe a desejar, mas é raro encontrar um padrão no mundo da informática ou dos eletrônicos que consiga durar muito tempo.



Com o HDMI não deve ser diferente, porque além de já sofrer uma baixa considerável com as atuais placas de vídeo trazendo conexões do tipo DisplayPort, ele deve ganhar um concorrente ainda mais perigoso: o HDbaseT.


Conheça o novo padrão!!!


Você já conectou um cabo de rede no seu PC? Então imagine se fosse possível usar o mesmo tipo de cabo para transmitir imagem e vídeo para a sua TV. O propósito do HDbaseT e o funcionamento é exatamente esse. O usuário não precisa investir em um novo cabo, aliás, pode economizar e comprar um cabo de até cem metros para assistir aos vídeos favoritos.


HDbaseTCom o apoio e a ajuda tecnológica da Samsung, LG e Sony, a Valens Semiconductor (empresa responsável pelo padrão) está dando os primeiros passos na criação e implementação desta nova tecnologia. Possivelmente os produtos atuais com conexão para rede não vão ser compatíveis com o HDbaseT, isso porque quaisquer aparelhos já existentes usam a porta LAN para conectar-se a uma rede.


E a qualidade?


O novo padrão promete ser milagroso, tanto no quesito inovação como na qualidade. Consultando o documento PDF do site oficial obtivemos diversos parâmetros que mostram a superioridade do HDbaseT quando comparado ao HDMI.



O site oficial do HDbaseT ainda dá acesso a outras informações que podem interessar aos entusiastas de plantão. Além da capacidade de transmissão de vídeos em Full HD e vídeos não comprimidos, o HDbaseT consegue transmitir no padrão 3D e ainda no formato 2Kx4K (com resoluções que atingem mais de 4.000 pixels).


Essa moda pega com certeza!



Por que adotar um novo padrão? Simples: porque ele é melhor do que tudo o que já existe. No caso do HDbaseT ele é melhor em cinco tarefas diferentes. O usuário pode transmitir: vídeos de alta definição, faixas de áudio com qualidade incomparável, internet de 1000 Mbps (ou seja, 1 Gigabit), energia (para ligar aparelhos a longa distância) e controles diversos para interação.



Obviamente o grande trunfo do HDbaseT não está somente nesses benefícios, mas também no comprimento do cabo que chega a 100 metros e no custo barateado. Ainda não há data definida para a chegada oficial do novo padrão, mas o mais recente documento com informações dá conta que a padronização está finalizada e as fabricantes devem criar novos eletrônicos com o padrão em breve.


Parece que as fabricantes vão acertar desta vez, mas os consumidores terão que gastar novamente com um padrão de vídeo (tanto em televisores como em DVDs ou players de Blu-ray). Você acha que vale a pena investir nos cabos de rede para substituir o HDMI?


Todo dia é assim: tecnologias desatualizadas são aposentadas para dar lugares a outras mais eficientes. Não que o HDMI seja uma tecnologia antiga ou de baixa qualidade, mas é raro encontrar um padrão no mundo da informática ou dos eletrônicos que consiga durar muito tempo.

Com o HDMI não deve ser diferente, porque além de já sofrer uma baixa considerável com as atuais placas de vídeo trazendo conexões do tipo DisplayPort, ele deve ganhar um concorrente ainda mais perigoso: o HDbaseT.

Conheça o novo padrão

Você já conectou um cabo de rede no seu PC? Então imagine se fosse possível usar o mesmo tipo de cabo para transmitir imagem e vídeo para a sua TV. O propósito do HDbaseT e o funcionamento é exatamente este. O usuário não precisa investir em um novo cabo, aliás, pode economizar e comprar um cabo de até cem metros para assistir aos vídeos favoritos.

Com o apoio e ajuda técnológica da Samsung, LG e Sony, a Valens Semiconductor (empresa responsável pelo padrão) está dando os primeiros passos na criação e implementação desta nova tecnologia. Possivelmente os produtos atuais com conexão para rede não vão ser compatíveis com o HDbaseT, isso porque quaisquer aparelhos já existentes usam a porta LAN para conectar-se a uma rede.

E a qualidade?

O novo padrão promete ser milagroso, tanto no quesito inovação como na qualidade. Consultando o documento PDF do site oficial obtivemos diversos parâmetros que mostram a superioridade do HDbaseT quando comparado ao HDMI.

Na realidade em alguns aspectos ele até empata com o HDMI, mas levando em consideração todos os benefícios do novo padrão, não há como duvidar da possível dominação no mercado dos eletrônicos. Veja abaixo uma tabela comparativa entre os quatro padrões de maior qualidade:

[Tabela]

O site oficial do HDbaseT ainda dá acesso a outras informações que podem interessar aos entusiastas de plantão. Além da capacidade de transmissão de vídeos em Full HD e vídeos não-comprimidos, o HDbaseT consegue transmitir no padrão 3D e ainda no formato 2Kx4K (com resoluções que atingem mais de 4.000 pixels).

Essa moda pega com certeza!

Por que adotar um novo padrão? Simples: porque ele é melhor do que tudo que já existe. No caso do HDbaseT ele é melhor em cinco tarefas diferentes. O usuário pode transmitir: vídeos de alta definição, faixas de áudio com qualidade incomparável, internet de 1000 Mbps (Gigabit), energia (para ligar aparelhos a longa distância) e controles diversos para interação.

Obviamente o grande trunfo do HDbaseT não está somente nestes benefícios, mas também no comprimento do cabo que chega a 100 metros e no custo barateado. Ainda não há data definida para a chegada oficial do novo padrão, mas o mais recente documento com informações dá conta que a padronização está finalizada e as fabricantes devem criar novos eletrônicos com o padrçao em breve.

Parece que as fabricantes vão acertar desta vez, mas os consumidores terão que gastar novamente com um padrão de vídeo. Você acha que vale a pena investir nos cabos de rede para substituir o HDMI? Dê sua opinião!

segunda-feira, 16 de novembro de 2009

informática basica

Definições

Existe uma certa confusão quando se trata de alguns termos como informática, computação, processamento de dados etc. Até mesmo a prova para qual estamos nos preparando, na maioria das vezes, é chamada de Prova de Informática... Será que este termo está correto? Vejamos algumas definições básicas:

Computador é uma máquina com capacidade de armazenar, processar e recuperar adequadamente informações. Computação é uma ciência, relativamente recente, que estuda o computador (Ciências da Computação), desde sua engenharia até sua lógica. Já Informática é a Ciência que estuda a informação. Não está diretamente relacionada com o computador e existe a muito tempo, antes mesmo de serem inventadas estas máquinas. É certo que os computadores vieram a dar grande auxílio a esta ciência e, hoje, não conseguimos pensar em Informática sem computadores...

Mas, o que é informação? Informação é o conjunto lógico de dados. Os dados, por si só, geralmente não nos "dizem" nada... Por exemplo, o conjunto de alturas dos alunos de uma sala pode não ser muito significativo, já a altura média dos alunos desta sala é uma informação. Assim, os dados são processados (processamento de dados), sofrem uma seqüência de cálculos e análises lógicas, para gerar a informação.

Classificação dos Computadores

Existem várias maneiras de se classificar os computadores. Todas elas sem muita aplicação nos dias de hoje. Mas, sem se tratando de concursos públicos, é bom conhecê-las.

Segundo seu porte: Chamamos de porte de um computador a sua capacidade e velocidade de cálculo, de trabalho e não está necessariamente ligado ao tamanho do computador, apesar de, na maioria das vezes, computadores de grande porte são realmente maiores que computadores de pequeno porte. Nesta classificação teríamos em primeiro lugar os supercomputadores, como os de maior capacidade de processamento; raros, até mesmo nos dias de hoje. Em São Paulo contamos com o supercomputador da USP (o "patinho feio"). Outra categoria seriam os mainframes, computadores de grande porte, muito caro, de uso corporativo. Depois temos os minicomputadores, com poder de processamento menor, mas ainda restrito a uso corporativo. Esta categoria está quase extinta hoje. Finalmente temos os famosos microcomputadores, que têm o menor poder de processamento.

Segundo seu uso: Podemos dividir os computadores em corporativos (ou comerciais), industriais (na automatização de fábricas) e os muito conhecidos computadores pessoais (personal computers ou, simplesmente PCs).

Segundo sua finalidade: Científicos e comerciais.

Segundo seu funcionamento: Analógicos e digitais. Computadores analógicos utilizam-se de circuitos e chips analógicos, baseados em oscilações contínuas da corrente elétrica. Hoje em dia não existem mais computadores analógicos. Os computadores digitais trabalham em circuitos onde é possível identificar-se apenas dois estados lógicos distintos.

Histórico

Sendo o computador uma máquina, ele foi "inventado", construído, desenvolvido. Mas para justificar este esforço deve ter havido alguma necessidade básica. O problema principal do homem estava em fazerem cálculos, de maneira rápida e segura. Assim, podemos dizer que o computador nasceu do desenvolvimento das máquinas de calcular.

As máquinas de calcular tiveram uma lenta evolução até a Revolução Industrial. Nesta época tivemos as primeiras Máquinas de Cálculo, que eram mecânicas, com funcionamento baseado em engrenagens de 10 dentes (número de dígitos do sistema decimal).

Vale destacar a participação histórica de Holeritt, que desenvolveu um tabulador de dados, baseado em cartão perfurado, para agilizar as totalizações do senso nos EUA. A idéia foi muito bem aceita e, então, Holeritt fundou a empresa "Tabulation Machine Company" que veio a ser, mais tarde, a IBM.

Das calculadoras puramente mecânicas evoluiu-se para as eletromecânicas. Nasce, em 1939, o Mark I, da união da Marinha dos EUA com pesquisadores de Harvard, para fins de cálculo de tabelas de navegação. Características do Mark I: 17 metros de comprimento, 2,5 metros de altura, peso de 5 toneladas, 3000 engrenagens com 10 dentes, 1400 comutadores e 800 Km de fios. Esta máquina fazia muito barulho, era lenta, demorando em média 5 segundos para realizar um cálculo. No entanto era totalmente automática. Note que o Mark I, apesar de ser importante historicamente, não é considerado um computador, e sim uma máquina de calcular...

É considerado como sendo o primeiro computador o ENIAC. Ele foi apresentado ao mundo em 1946 e nasceu da associação de vários cientistas e o Exercito dos EUA para cálculos balísticos. Características principais: totalmente eletrônico, ocupava 3 salas (72 metros quadrados), peso de 30 toneladas, era composto de 50.000 resistores, 1.500 relês, 10.000 condensadores, 6.000 comutadores. Funcionava a base de válvulas (18.000) e, por isto mesmo, esquentava muito, gerando muitos problemas. Não era raro ter que trocar alguma válvula queimada. Aliás, em média, o ENIAC apresentava uma avaria a cada 6 horas...

Depois do ENIAC temos o primeiro computador comercial, o EDVAC. Este computador foi feito por uma empresa fundada por um grupo de cientista que trabalharam no desenvolvimento do ENIAC, e era muito parecido com ele. Só venderam um EDVAC e, então, a empresa faliu.

O computador desenvolveu-se conforme eram descobertas novas tecnologias. A primeira geração de computadores funcionava a válvula. A base da segunda geração foi o transistor. Na terceira geração de computadores temos os circuitos integrados (chips). A quarta geração foi caracterizada pela tecnologia VLSI (Very Large Small Integration), onde o chip ficou mais "condensado". Com o uso de novas tecnologias, como a óptica e a óptica-magnética, temos a quinta geração de computadores.

E quanto aos microcomputadores? Eles nasceram da necessidade de processamento pessoal e não empresarial. No começo, os microcomputadores eram vistos com descaso pelas empresas gigantes da computação, como a IBM. No entanto estas máquinas conquistaram grande nicho de vendas e alteraram, rapidamente, todo o panorama mundial. De computador pessoal, o microcomputador invadiu as empresas, começando pelas pequenas e médias, que não podiam comprar um mainframe. Mesmo as grandes empresas começaram a fazer uso de microcomputadores dentro de seus setores, isoladamente. Mas os microcomputadores conquistaram só foram conquistar de vez o setor corporativo depois do desenvolvimento da tecnologia de redes de microcomputadores. Houve mesmo uma tendência, passageira é verdade, chamada de "downsizing", que consistia em trocar um grande e dispendioso mainframe por muitos e muitos micros interligados em redes.

Resumidamente, vejamos algumas fases do desenvolvimento dos microcomputadores:

1975 – Altair 8800. Não pode ser chamado realmente de Computador Pessoal, pois não produzia trabalho... fugindo muito de nossa definição de computador. Mas era uma máquina que trabalhava no mesmo padrão binário dos computadores de grande porte. Fez muito sucesso entre o pessoal especializado e incentivou o aparecimento de outras máquinas.

1976 – Apple I. Este já pode ser considerado como sendo o primeiro microcomputador. Desenvolvido por Steve Jobs, fundador da Apple, na garagem de sua casa. Junto com o Apple II foi um grande sucesso de vendas, chegando mesmo a incomodar a IBM. A Apple resiste até hoje no mercado, produzindo os computadores Macintosh (Power Mac G3 e mais recentemente o iMac).

1981 – IBM-PC. A IBM viu que estava perdendo uma oportunidade de bons negócios negligenciando o microcomputador. Assim ela lança seu IBM-PC, com arquitetura aberta e estabelecendo um padrão no mercado. Hoje, a grande e imensa maioria de microcomputadores são da plataforma IBM-PC, tornando-se até sinônimo de microcomputador para muitos usuários... É esta máquina que precisamos conhecer para efeito de concurso público.

Tabela de Gerações de Computadores

1ª Geração - 1951/1958

O componente básico era a válvula eletrônica, o que permitiu a redução de dimensões e o aumento de velocidade.

2ª Geração - 1958/1964

O componente básico era o transistor, que permitiu reduzir em muito o tamanho dos computadores, assim como o número de avarias.

3ª Geração - 1964/1974

O transistor miniaturizou-se e deu origem ao Circuito Integrado, o que permitiu aumentar notoriamente a velocidade, confiabilidade e as dimensões dos equipamentos.

4ª Geração - 1974/1985

Atingiu-se um elevado grau de miniaturização de Circuitos Integrados, melhorando todas as características dos computadores

5ª Geração - após 1985

Passou a utilizar de novas tecnologias como os raios laser e outras técnicas em feixes eletromagnéticos

Fundamentos da Lógica de Funcionamento

A base do funcionamento de um computador PC está na chamada eletrônica e lógica digital.

O computador faz, na realidade, cálculos. Operações aritméticas e lógicas com números e textos (chamadas "strings"). Ora, se trabalhamos num sistema de cálculo decimal (com dez algarismos), seria muito lógico imaginarmos que um computador tem de ser capaz de identificar 10 níveis diferentes de energia para codificar cada um dos 10 algarismos... Mas não é isto que acontece. Um computador com esta característica seria muito caro e complexo. Ao contrário, o computador trabalha com o mínimo possível de níveis de energia para a codificação de todas as informações. Este mínimo são os dois estados físicos de energia distintos que os chips trabalham (0 e 5V), a chamada eletrônica digital ou binária. Associados a estes estados físicos distintos temos dois estados lógicos distintos, que convencionamos chamar de 0 e 1. Em computadores fazemos uso da chamada aritmética digital ou binária e da lógica digital, binária ou Booleana.

Temos assim, o conceito de BIT, que é a menor unidade de informação que pode ser representada pelo computador. Ou seja, um bit só pode assumir um dos dois estados lógicos já citados, ou 0, ou 1. Dizemos, também por convenção, que um bit 0 está desligado e um bit 1 está ligado.

Mas como vamos conseguir representar todos os dez algarismos do nosso sistema decimal e ainda letras e outros caracteres com apenas dois estados lógicos de um bit? Simplesmente agrupando-se estes bits. Para representar um algarismo, uma letra, um caractere dentro do computador, vamos utilizar um conjunto de bits, e não apenas um. Quantos? Chegou-se a um número de 8 bits como sendo o suficiente. A este conjunto de 8 bits deu-se o nome de BYTE. O byte é a palavra do computador. É através do byte que o computador se comunica, trabalha, processa, armazena, calcula etc.

Quantos bytes diferentes existem? Quantos conjuntos diferentes posso fazer com 8 bits? Simples, 256 (que é 28). Como cada byte representa um caracter, posso representar 256 caracteres diferentes (o suficiente para representar os 10 algarismos, todas as letras do alfabeto, diferenciando-as em maiúsculas e minúsculas, e ainda alguns caracteres especiais.

Mas para podermos fazer esta representação eu preciso de uma tabela onde eu relaciono cada byte diferente com um caracter e todos os computadores precisam usar a mesma "tabela de conversão" para poderem se entender. Estas tabelas já existem e são chamadas de códigos. De importante para nós temos os códigos EBCDIC (Extend Binary Coded Decimal Interchange Code) e ASCII (American Standart Code for Information Interchange).

O código EBCDIC é um esquema de codificação desenvolvido pela IBM para ser usado em seus computadores como um método de padronização de associação de valores binários e caracteres alfabéticos, numéricos, de pontuação e de controle de transmissão. É análogo ao ASCII, e utiliza os 8 bits para a definição de 256 caracteres. Embora o EBCDIC não seja freqüente na microinformática, ele é bastante conhecido e utilizado em todo o mundo como o padrão da IBM para computadores de grande porte e minicomputadores.

O código ASCII é o conjunto de caracteres do código padrão americano para o intercâmbio de informação, que consiste dos caracteres disponíveis num teclado padrão de 128 caracteres e incluindo códigos de controle não imprimíveis como retorno da cabeça de impressão e quebras de página. São 256 códigos divididos em dois conjuntos: o standard (básico) e o estendido, com 128 códigos cada.

O ASCII Standard (básico) utiliza 7 bits (ou 0 + 7 bits para formar um byte) gerando 128 códigos de caracteres numerados de 0 a 127. Os 32 primeiros valores ficam reservados para códigos de controle de comunicação e da impressora. Os 96 códigos restantes estão associados aos sinais de pontuação convencionais, aos dígitos 0 a 9, e às letras maiúsculas e minúsculas do alfabeto romano.

O ASCII Estendido utiliza 8 bits para cada código, proporcionando 128 códigos numerados de 128 a 255. Ficam associados a conjuntos de caracteres que podem variar conforme o fabricante do computador e a software house. Portanto, enquanto o conjunto de caracteres ASCII standard é um padrão universal para os equipamentos e programas, os caracteres estendidos só poderão ser interpretados corretamente por programas projetados especialmente para fazê-lo.

Por isso utilizamos com muita freqüência o byte para quantificarmos características do computador, como memória, capacidade de disco etc. Como o byte é a unidade, e, por isso mesmo, muito pequeno, fazemos uso dos múltiplos do byte. Mas lembre-se que estamos no campo da aritmética digital, onde mil vezes um byte são, na realidade, 1.024 bytes (210).


Múltiplos do Byte:

§ Kilobyte - KB - 103 do byte (ou 1024 bytes)

§ Megabyte – MB - 106 do byte (ou 1024 KB)

§ Gigabyte – GB – 109 do byte (ou 1024 MB)

§ Terabyte – TB – 1012 do byte (ou 1024 GB)

§ Petabyte – PB – 1015 do byte (ou 1024 TB)

De maneira análoga podemos também podemos fazer uso dos múltiplos do bit (quilobit, megabit, gigabit, terabit e petabit), unidade mais utilizada em transferência de dados.