Upload
anderson-zanato
View
225
Download
0
Embed Size (px)
DESCRIPTION
www.gloobi.com.br
Citation preview
Artigo sobre Introdução a ProgramaçãoArtigo sobre Introdução a Programação
AnúnciosAnúncios AnúnciosAnúncios
Matéria sobre segurança na internetMatéria sobre segurança na internet
Como saber tudo que seu filho faz na Como saber tudo que seu filho faz na
internetinternet
www.gloobi.com.brwww.gloobi.com.br
Horóscopo Geek
No começo, programar um
microprocessador para exe-
cutar uma determinada tare-
fa não era uma das coisas
mais fáceis que existiam. O
programador estava preso a
utilizar-se da Linguagem de
Máquina, que era a progra-
mação diretamente em biná-
rio ou em hexadecimal.
Guardar o que cada código,
ou seja, cada número binário
ou seu equivalente em hexa-
decimal significava para o
microprocessador, não era
fácil. Logo foi criada a pri-
meira linguagem de progra-
mação, a linguagem Assem-
bly. Na linguagem assem-
bly, cada código que possui
um significado especial para
o microprocessador - que é
chamado de instrução - re-
cebe um nome, chamado
genericamente de Mnemôni-
co. É muito mais fácil de se
memorizar um nome do que
um código qualquer, além de
ser muito mais fácil de se
programar por nomes. Por
exemplo, uma comparação
típica (você não precisa ain-
da saber o que exatamente
significa tudo isto, o objetivo
aqui é a comparação):
Microprocessador 8086 Ling. de máquina Assembly B0 FF MOV AL, 0FFh A2 00 20
MOV [2000h], AL
rá e que não será muito difí-
cil aprender. Esta família de
microprocessadores é cha-
mada Intel Iapx86, 80x86
ou simplesmente Intel e é
a família de microprocessa-
dores que está presente no
padrão IBM PC de micro-
computadores. Outros mi-
croprocessadores como o
6800, o 68000, 68020, etc. constituem uma outra família
de microprocessadores, por
possuírem instruções simila-
no conjunto de instruções dos
microprocessadores que cons-
tituam uma família. Por assim
dizer, um 8086, um 8088, um
80286, um 80386 etc. constitu-
em uma família de micropro-
cessadores por possuírem
instruções similares. Quem
sabe programar em assembly
em um 8086 saberá programar
em um 80286, salvo, é claro,
as instruções adicionais que
cada microprocessador possui-
res entre si, porém comple-
tamente diferentes da família
Intel. Esta outra família é
chamada 680x0 ou sim-
plesmente Motorola e é a
família de microprocessado-
res que está presente em
microcomputadores como o
MacIntosh, o Amiga e esta-
ções de computação gráfica.
Introdução a Programação parte 1
STA $2000
O que significa isto tudo e
qual o nosso objetivo com
isto ? Todos os três progra-
mas para os três microproces-
sadores apresentados execu-
tam a mesma tarefa: colocar o
valor 255 na posição de me-
mória 2000h. Você deve ter
reparado duas coisas. A pri-
meira, o assunto que nós es-
távamos discutindo: é muito
mais fácil programar em as-
sembly do que em linguagem
de máquina (é muito mais fácil
você guardar MOV AL do
que B0, por exemplo).
A segunda, que para cada
microprocessador possuí-
mos um conjunto de instru-
ções próprio. Ou seja, não
há qualquer correlação entre
as instruções dos diversos
tipos de microprocessadores
existentes no mercado. O
que estipulará uma família
de microprocessadores
será justamente a existência
de uma similaridade
Microprocessador 6800 Ling. de máquina Assembly 86 FF LDA A, # FF 97 00 20 STA A, $2000 Microprocessa-dor 6502 Ling. de máquina Assembly A9 FF LDA # FF 8D 00 20
Introdução a Programação
Porém devemos lembrar que
mesmo sendo o Assembly
uma linguagem de baixo
nível, o microprocessador
não a entende - ele entende
somente linguagem de má-
quina. O microprocessador
não sabe o que é MOV AL, o
mnemônico para a instrução
B0. Ele entende somente
números, e portanto só sabe
interpretar B0. Esta conver-
são pode ser feita basica-
mente de duas maneiras: ou
“na mão” mesmo, utilizando-
se a tabela de instruções
fornecida pelo fabricante ou
utilizando-se de um progra-
ma para tal. Este programa
é chamado genericamente
de Assembler, ou seja,
montador. O Assembler lê
um programa lido em As-
sembly e converte-o para
linguagem de máquina. En-
tenda que não há qualquer
tipo de tradução indireta: a
linguagem Assembly é ape-
nas os opcodes (números
que representam instruções
específicas) com um rótulo particular, chamado, como vimos,
mnemônico .
LINGUAGENS DE ALTO NÍVEL
Em um microcomputador você necessita de recursos muito
mais avançados do que a linguagem de máquina e o assembly
- consideradas como linguagem de baixo nível pois trabalham
intimamente com o microprocessador - podem oferecer. Assim
surge um outro grupo de linguagens, as chamadas linguagens
de alto nível. As linguagens de alto nível não estão tão íntimas
do microprocessador, mas em compensação oferecem co-
mandos, que são conjuntos de uma ou mais instruções, capa-
zes de executar uma tarefa completa. Como exemplos de lin-
guagens de alto nível, podemos citar BASIC, FORTRAN, Pas-
cal e C,
seus microcomputadores. Assim a linguagem BA-SIC tornou-se a lingua-gem de programação mais popular existente até hoje. Mas mesmo sen-do popular, o próprio BA-SIC difere-se de um mi-crocomputador para o outro, dependendo, prin-cipalmente, do fabricante da linguagem (já que a linguagem será um pro-grama sendo executado, como vimos) e do micro-processador que estava
Dentro das próprias lin-guagens de alto nível existem linguagens "melhores" ou "piores" em termos de recursos e es-truturação. Por exemplo o BASIC não é tão bem estruturado como o Pas-cal e nem tão rígido em suas declarações, tam-bém. Mas já vimos que o BASIC era uma lingua-gem que foi adotada co-mo "padrão" nos primór-dios da micro-informática, pois os fabricantes colo-cavam esta linguagem em forma residente em
sendo utilizado. Por exemplo o AppleSoft Basic (Apple II) difere-se totalmente do GWBasic (CP/M, MSX e IBM PC). Apesar da estrutura ser basicamente igual, certos comandos são simplesmente criados ou então excluídos em virtude das capacidades principalmente de Hardwa-re e do próprio microprocessador do microcomputador. Voltando à questão de existirem linguagens de alto nível com "maior nível" do que outras, peguemos o exemplo do BASIC vs. Pascal vs. C. Se quiséssemos limpar a tela do computador e escrever no canto superior esquer-do da tela a frase "Oi, tudo bem ?". Teríamos: GWBasic AppleSoft Basic 10 CLS 10 HOME 20 PRINT "Oi, tudo bem ?" 20 PRINT "Oi, tudo bem ?"
mando o microprocessa-dor diretamente: a lingua-gem será um programa sendo executado sobre o microprocessador. Logo, a linguagem de alto nível se encarregará de tradu-zir os comandos de seu programa em alto nível - que o microprocessador não conhece - para um programa de baixo nível - que o seu microprocessa-
dor conhece. Assim, temos a mesma linguagem de pro-gramação de alto nível para vários computadores dife-rentes, porém a maneira com que eles irão conversar com o microprocessador será diferente. E o mais impor-tante: isto será transparente para o programador. Assim, um programa escrito em Turbo Pascal no Apple II será idêntico a um programa escrito em Turbo Pascal no IBM PC, salvo - é claro - alguns comandos que poderão exis-tir ou não em virtude da exploração do máximo da po-tencialidade do computador, recursos que poderão exis-tir em um computador porém em outro não, permane-cendo a estrutura básica inalterada.
sendo esta última consi-derada uma linguagem de “médio nível”, por per-mitir tanto a programação em baixo nível como em alto nível. Mesmo sendo executadas em computa-dores - e conseqüente-mente em microprocessa-dores - diferentes, as lin-guagens permanecem inalteradas. Isto porque você não estará progra-
Comentários: CLS / HOME - Limpam a tela PRINT - Imprime a mensagem entre aspas Turbo Pascal PROGRAM ESCREVE; USES CRT; BEGIN CLRSCR; WRITE ('Oi, tudo bem ?'); END. Comentários: USES CRT - Torna a tela disponível para uso CLRSCR - Limpa a tela WRITE - Imprime a mensagem entre apóstrofes C # include “stdio.h” # include “conio.h” void main () { clrscr(); printf(“Oi, tudo bem ?”); } Comentários: INCLUDE - Incluem módulos, neste caso para utilização da tela CLRSCR - Limpa a tela PRINTF - Imprime a mensagem entre aspas
passa a dispor de um interpretador sendo esta linguagem considerada uma linguagem interpretada. Nas linguagens interpretadas, o interpre-tador faz com que o microprocessa-dor "entenda" a linguagem como se fosse uma coisa "normal", ou seja, algo que já fizesse parte do micro-computador como um todo. Neste caso, a cada comando entrado, a linguagem (que é um programa, como já vimos) irá pegar o comando de alto nível, interpretá-lo e, caso tenha sido entrado com a sintaxe correta, será executado converten-do-o em um conjunto de instruções equivalentes em linguagem de má-quina para que o microprocessador possa executar o que o programa-dor deseje. Mas caso nós não te-nhamos um interpretador, devemos nos utilizar de um compilador e nes-te caso a linguagem passa a ser considerada linguagem compilada.
Nota-se claramente que tanto o Pascal quanto o C possuem uma estrutura muito mais rígida do que o BASIC, tornando o programa final muito melhor de ser lido por pesso-as que não fizeram parte do proces-so de criação do mesmo - no BA-SIC, que não possui uma estrutura tão rígida, geralmente demora-se muito mais tempo até entendermos o funcionamento de um programa escrito por outra pessoa. Lingua-gens como Pascal e C são conside-radas, portanto, linguagens estrutu-radas, por necessitarem de uma estrutura rígida de programação. Mas como o computador entende os comandos programados ? Isto vai depender da forma que o microcom-putador vai "encarar" a linguagem. Quando, por exemplo, a linguagem vem residente, como no caso do BASIC dos microcomputadores mais antigos, o microcomputador
Nas linguagens compiladas, o com-pilador "converte" a linguagem de alto nível - que o microprocessador não entende - em linguagem de bai-xo nível. Um programa executado em linguagem compilada é muito mais rápido, pois está na verdade sendo executado integralmente em baixo nível, o que não acontece na linguagem interpretada. Em com-pensação durante o processo de criação e edição do programa toda vez que quisermos testar o progra-ma deveremos compilá-lo antes, o que pode demorar um pouco - o que não acontece com as linguagens interpretadas, aonde o programa é executado na hora.
Veja qual seu horóscopo
Anderson Zanato
Softwares espiões: Saiba o que seu filho Softwares espiões: Saiba o que seu filho
está fazendo na web está fazendo na web
Existem dezenas de softwares que oferecem praticamente as mesmas
funções: uma maneira fácil de monitorar o que seu filho anda fazendo
atrás do computador. Todos esses programas rodam de forma invisí-
vel, ou seja, normalmente seu filho sequer saberá que está sendo su-pervisionado. As funções da maioria deles também são bastante pare-
cidas.
Com esses softwares gratuitos é possível inclusive receber por e-mail
e também em um arquivo salvo na própria máquina um relatório
completo de tudo o que foi digitado no computador. Sim, eles captu-
ram todas as teclas digitadas durante sua ausência. Com isso é muito
tranquilo saber tudo o que seu filho vem conversando com outras
pessoas na internet.
Os programas espiões também oferecem recursos como bloqueio de
sites e até gravam todas as páginas acessadas. Alguns até capturam uma imagem da tela no intervalo de tempo que você estipular. Os
softwares mais completos ainda gravam tudo que for copiado através
do comando “Control C”.
Ferramentas como estas prometem deixar os pais um pouco mais re-
laxados enquanto os filhos passam horas e horas grudados no com-
putador. Os painéis de monitoramento resumem todas atividades sus-
peitas. Se, por acaso, você precisar de informações adicionais, basta
acessar o arquivo, que contém todas as conversas, fotos e novas ami-
zades de seu filho. Para conhecer nossas dicas de softwares espiões gratuitos você já sa-
be. Acesse olhardigital.com.br. Os links para baixar as sugestões des-
te “Olhar na Web” estão junto do texto desta matéria. Acesse, confira
e tenha total controle sobre o que as crianças andam fazendo com
suas vidas digitais. Lembre-se: prevenir é sempre o melhor remédio.
Fonte da matéria : Olhar Digi-
tal
Aces-
se :www.olhardigital.com.br