Você está na página 1de 12

Rafael Soares de Almeida

APRENDENDO
ALGORITMO
COM

VisuAlg
$SUHQGHQGR$OJRULWPRFRP9LVX$OJ
&RS\ULJKW(GLWRUD&LrQFLD0RGHUQD/WGD
7RGRV  RV  GLUHLWRV  SDUD  D  OtQJXD  SRUWXJXHVD  UHVHUYDGRV  SHOD  (',725$  &,1&,$
02'(51$/7'$
'HDFRUGRFRPD/HLGHQHQKXPDSDUWHGHVWHOLYURSRGHUiVHU
UHSURGX]LGD  WUDQVPLWLGD  H  JUDYDGD  SRU  TXDOTXHU  PHLR  HOHWU{QLFR  PHFkQLFR  SRU
IRWRFySLDHRXWURVVHPDSUpYLDDXWRUL]DomRSRUHVFULWRGD(GLWRUD

(GLWRU3DXOR$QGUp30DUTXHV
3URGXomR(GLWRULDO/DXUD6DQWRV6RX]D
$VVLVWHQWH(GLWRULDO/RUHQD)HUQDQGHV
&DSD)HUQDQGD9HORVR
'LDJUDPDomR$EUHXV6\VWHP
&RSLGHVTXH/XFLDQD1RJXHLUD

9iULDV 0DUFDV  5HJLVWUDGDV DSDUHFHP  QR  GHFRUUHU  GHVWH  OLYUR  0DLV  GR  TXH


VLPSOHVPHQWH  OLVWDU  HVVHV  QRPHV  H  LQIRUPDU  TXHP  SRVVXL  VHXV  GLUHLWRV  GH
H[SORUDomR  RX  DLQGD  LPSULPLU  RV  ORJRWLSRV  GDV  PHVPDV  R  HGLWRU  GHFODUD  HVWDU
XWLOL]DQGRWDLVQRPHVDSHQDVSDUDILQVHGLWRULDLVHPEHQHItFLRH[FOXVLYRGRGRQRGD
0DUFD5HJLVWUDGDVHPLQWHQomRGHLQIULQJLUDVUHJUDVGHVXDXWLOL]DomR4XDOTXHU
VHPHOKDQoDHPQRPHVSUySULRVHDFRQWHFLPHQWRVVHUiPHUDFRLQFLGrQFLD

),&+$&$7$/2*5),&$

$/0(,'$5DIDHO6RDUHVGH
$SUHQGHQGR$OJRULWPRFRP9LVX$OJ
5LRGH-DQHLUR(GLWRUD&LrQFLD0RGHUQD/WGD

 3URJUDPDomRGH&RPSXWDGRU 3URJUDPDVH'DGRV&LrQFLDGD
&RPSXWDomR
,7tWXOR
,6%14006&''



(GLWRUD&LrQFLD0RGHUQD/WGD
5$OLFH)LJXHLUHGR5LDFKXHOR
5LRGH-DQHLUR5-%UDVLO&(3
7HO  )D[  
(0$,//&0#/&0&20%5 
:::/&0&20%5
O covarde nunca comea, o fracassado nunca termina.
O vencedor nunca desiste
Norman Vicent Peale


A minha amada Me, dona Zez, sem a qual nada disto teria sentido.
A minha amada esposa Gorete e minha amada filha Ana Paula, que me
ensinam todos os dias o verdadeiro sentido da vida.
Aos meus Irmos, Bia, Z Carlos e Cludio, pelo positivismo
empregado.
Aos Amigos, Cludio Alcntara, Jose Orlando, Professora Maria Bea-
triz Sena Brignol, Professor doutor Ailton Feitosa, Gorete Rocha, Gerson
Heber, Graciene Gonalves e Letcia Gonalves, Ricardo de Mello, Val-
ria e Gabrielle Santelli, Ester e Ivy Oliveira, pela compreenso por minha
ausncia.
A editora Aline Marques pelo profissionalismo, competncia, pacincia
e carinho no trato desta obra.
Em especial, Editora Cincia Moderna, Universidade Paulista
(Unip) campus Braslia e ao Centro Universitrio Planalto do Distrito
Federal (Uniplan) campus guas Claras, por terem acreditado no meu
trabalho.


Captulo 1: Introduo ao VisuAlg Editor e


Interpretador de Pseudocdigos ................... 1

O que VisuAlg? ............................................................................................1


Breve histria do VisuAlg ...............................................................................1
Objetivos do VisuAlg ......................................................................................2

Captulo 2: Instalao e Requerimentos


de Hardware ................................................... 3

Obtendo o VisuAlg..........................................................................................3

Captulo 3: A Tela Principal do VisuAlg ........................ 17

Menu Principal ..............................................................................................18


Menu Arquivo ...............................................................................................18
Submenu Novo..............................................................................................19
Submenu Abrir... ...........................................................................................20
Submenu Salvar ............................................................................................22
VIII Aprendendo Algoritmo com VisuAlg

Submenu Imprimir... .....................................................................................25


Menu Editar ..................................................................................................28
Submenu Desfazer ........................................................................................29
Submenu Refazer ..........................................................................................31
Submenu Recortar .........................................................................................32
Submenu Copiar............................................................................................34
Submenu Colar..............................................................................................36
Submenu Corrigir indentao .......................................................................39
Submenu Selecionar tudo .............................................................................41
Submenu Localizar........................................................................................42
Submenu Localizar de novo..........................................................................45
Submenu Substituir... ....................................................................................48
Submenu Gravar bloco... ..............................................................................51
Submenu Inserir bloco... ...............................................................................54
Menu Exibir ..................................................................................................58
Submenu Nmero de linhas ..........................................................................58
Submenu Variveis modificadas ...................................................................60
Submenu Restaurar tela ................................................................................62
Menu Algoritmo ............................................................................................64
Submenu Executar ........................................................................................65
Submenu Passo a Passo ................................................................................67
Submenu Executar com timer .......................................................................69
Submenu Parar ..............................................................................................71
Submenu Liga/desliga breakpoint.................................................................72
Sumrio IX

Submenu Desmarcar todos os breakpoints ...................................................73


Submenu Executar em modo DOS ...............................................................77
Submenu Gerar valores aleatrios ................................................................78
Submenu Perfil..............................................................................................81
Submenu Pilha de ativao ...........................................................................83
Menu Cdigo ................................................................................................85
Submenu Pascal ............................................................................................86
Submenu Linguagem C.................................................................................87
Submenu CA-Clipper....................................................................................88
Submenu Basic..............................................................................................89
Menu Ferramentas ........................................................................................90
Submenu Opes ..........................................................................................90
Menu Ajuda...................................................................................................95
Visualizador de Variveis ..............................................................................96
Simulador de Sada .......................................................................................97

Captulo 4: A Linguagem de Programao


do VisuAlg .................................................... 99

Introduo .....................................................................................................99
Tipos de Dados............................................................................................102
Nomes de Variveis e sua Declarao.........................................................103
Constantes e Comando de Atribuio .........................................................107
Linhas de Comentrios ............................................................................... 115
Comandos de Entrada e Sada E/S .............................................................. 115
X Aprendendo Algoritmo com VisuAlg

Comandos de Sada................................................................................ 115


Comandos de Entrada ............................................................................ 118

Captulo 5: Operadores Matemticos na Linguagem


de Programao do VisuAlg ..................... 121

Operadores Aritmticos ..............................................................................121


Operadores de Caracteres ...........................................................................125
Operadores Relacionais ..............................................................................127
Operadores Lgicos ....................................................................................129
Precedncia de Operadores .........................................................................143

Captulo 6: Estruturas Sequencial, Condicional e


de Repetio ............................................... 145

Estrutura Sequencial ...................................................................................145


Estrutura Condicional .................................................................................149
Estrutura Condicional Simples ...................................................................150
Estrutura Condicional Composta ................................................................162
Estrutura Condicional Composta Encadeada ou
Aninhada .............................................................................................168
Estrutura Condicional Mltipla...................................................................176
Estruturas de Repetio, Lao de Repetio ou Loops ...............................184
Estrutura de Repetio enquanto...faca .......................................................185
Estrutura de Repetio repita...ate ..............................................................195
Estrutura de Repetio para...faca...............................................................204
Estruturas de Repetio Encadeadas ou Aninhadas ....................................213
Sumrio XI

Captulo 7: Estruturas de Dados Homogneas ........... 225

Variveis Indexadas Unidimensionais Vetores ...........................................226


Estruturas Homogneas Bidimensionais Matrizes......................................235

Captulo 8: Subalgoritmos ............................................ 247

Procedimentos .............................................................................................248
Chamando um Procedimento ......................................................................250
Procedimento Sem Parmetros ...................................................................251
Procedimento Com Passagem de Parmetros .............................................260
Passagem de Parmetros por Valor .............................................................260
Passagem de Parmetros por Referncia ....................................................263
Funes .......................................................................................................275
Chamando uma Funo...............................................................................278
Funo Sem Parmetros ..............................................................................279
Funo com Passagem de Parmetros ........................................................281
Passagem de Parmetros por Valor .............................................................281
Passagem de Parmetros por Referncia ....................................................285
Funo Recursiva ........................................................................................292

Captulo 9: Outros Comandos da Linguagem


VisuAlg........................................................ 297

Comando Aleatorio .....................................................................................297


Comando Arquivo .......................................................................................300
Comando Timer ..........................................................................................308
XII Aprendendo Algoritmo com VisuAlg

Comandos de Depurao ............................................................................310


Comando Pausa...........................................................................................310
pausa ...................................................................................................310
Comando Debug .........................................................................................312
Comando Eco ..............................................................................................315
Comando Cronmetro.................................................................................318
Comando Limpatela ....................................................................................322
Autodigitao e Sugesto de Digitao ......................................................324

Captulo 10: Finalmente....... ......................................... 349

Referncias Bibliogrficas ............................................. 351


Captulo 1




O que VisuAlg?
O VisuAlg um editor e Interpretador de Pseudocdigos, para elabora-
o de algoritmos do mais simples ao mais complexo.

Breve histria do VisuAlg


O VisuAlg foi criado pelo professor Cludio Morgado de Souza. Ele
programador/analista e professor universitrio no Rio de Janeiro. Atua
na rea de desenvolvimento de software desde 1987, e no ensino de lin-
guagens de programao e bancos de dados desde 1990. Atualmente
proprietrio da Apoio Informtica Ltda., em Valena, RJ, e leciona na
Fundao Educacional D. Andre Arcoverde (FAA) em Valena, RJ e na
Universidade Severino Sombra (USS) em Vassouras, RJ. Sua rea prin-
cipal de interesse acadmico o ensino de linguagens de programao e
algoritmos, e pode ser contatado no MSN Messenger ou por e-mail sob o
endereo: cmorgado@apoioinformatica.inf.br.
2 Aprendendo Algoritmo com VisuAlg

Objetivos do VisuAlg
Segundo o criador da ferramenta VisuAlg, a ideia de escrever este pro-
grama nasceu da necessidade de uma ferramenta que permitisse aos alunos
iniciantes em programao o exerccio dos seus conhecimentos num am-
biente prximo da realidade. Em minha experincia como professor des-
ta disciplina, tenho notado que a abstrao de rodar o chins, ou seja,
de executar um programa apenas no papel, um grande obstculo (quase
intransponvel para alguns) no aprendizado das tcnicas de elaborao de
algoritmos. Por outro lado, submeter um iniciante aos rigores de uma lin-
guagem de programao como Pascal, ou ao esoterismo do C, C++, C#
e java, tambm me parecia exagerado. O ideal seria uma linguagem mais
simples, parecida com o Portugol, de grande popularidade nos meios aca-
dmicos e presente nos livros mais utilizados; com ela, os princpios bsi-
cos da programao estruturada poderiam ser ensinados sem que a curva de
aprendizagem fosse ngreme. Alm disso, esta ferramenta deveria tambm
ser capaz de simular o que acontece na tela do computador com o uso dos
famosos comandos leia e escreva, bem como possibilitar a verificao
dos valores das variveis, o acompanhamento passo a passo da execuo
de um algoritmo (pelo seu grande valor didtico), e at mesmo suportar um
modo simples de depurao. Aliado a tudo isto, deveria estar um editor de
texto com recursos razoveis (tais como abrir e salvar arquivos) e que dis-
pusesse de todos os principais recursos de um ambiente grfico.
O VisuAlg para mim a concretizao desta ideia. Espero que, colo-
cando-o em domnio pblico (numa verso freeware), possa ajudar pro-
fessores e alunos de programao, e tambm ser ajudado por eles atravs
de sugestes e crticas que visem sempre sua melhoria. A ideia bsica
manter o VisuAlg simples: deve ser como as rodinhas de apoio que uma
criana usa ao aprender a andar de bicicleta, e que so retiradas quando
deixam de ser necessrias. Isto no quer dizer que o VisuAlg no possa
ou deva ser melhorado: conto com a colaborao de todos que vierem a
utiliz-lo. (Cludio Morgado de Souza).

Você também pode gostar