AMBIENTE DE ALGORITMO
A utilização de ambientes integrados de desenvolvimento de algoritmo têm evoluído bastante e facilitado a aprendizagem dos estudantes que almejam sucesso na área de Programação Computacional. Por este motivo a disciplina de Computação Básica da UnB Gama (FGA) empregará o ambiente Calango no auxílio de seus estudantes, geralmente iniciantes em programação de computadores.
O uso deste ambiente fornecerá um apoio interessante a aprendizagem das lógicas e instruções representadas no português estruturado que se tornarão programas de computador posteriormente. Com o uso deste ambiente de programação é possível uma interação instrutiva eficiente junto as principais funcionalidades existentes em ambientes projetados para o desenvolvimento de programas computacionais.
Este ambiente é composto por ferramentas de edição de texto, depurador de erros no algoritmo fonte, recursos de manipulação de arquivos e um simulador para acompanhamento detalhado das operações em memória. Sua utilização possibilita um considerável apoio ao ensino-aprendizagem na formação de profissionais com conhecimentos mínimos na área de Programação, sendo adotado como recurso inicial a consolidação e estabelecimento cognitivo do paradigma de Programação Estruturada.
Este paradigma corresponde à maneira mais natural de um estudante estabelecer e consolidar sua organização cognitiva para evolução na área de Programação de Computadores, sendo sua aprendizagem fundamental para o avanço e a compreensão dos demais paradigmas existentes nesta área (orientação a objetos, funcional, lógico, paralelo, entre outros).
O Calango é um interpretador de pseudocódigo, sendo este pseudocódigo baseado na linguagem natural de comunicação brasileira (Português). Um interpretador corresponde a um software responsável pela tradução de uma linguagem específica, em um outro código em linguagem que o computador compreenda.
A linguagem compreendida pelo computador é chamada de Linguagem de Máquina, ou Linguagem Binária, e é classificada como uma linguagem de baixo nível. Ela se utiliza somente de dois símbolos (binária) para escrever instruções a serem executadas pelo computador, sendo estes símbolos o 0 (zero) e o 1 (um).
Devido à dificuldade natural do ser humano em se expressar por uma linguagem como esta, somente com dois símbolos, o mesmo desenvolveu as Linguagens de Programação, que não são diretamente compreendidas pelo computador, apesar de servirem somente para a interação entre ambos (humano X computador). Porém, para esta interação acontecer é necessária a tradução do conteúdo elaborado em Linguagem de Programação para Linguagem de Máquina. Esta tradução pode acontecer de duas formas distintas denominadas interpretação e compilação.
A diferença fundamental nestes dois processos de tradução é relevante ao desenvolvimento de algoritmos e programas computacionais, pois resulta na alocação de mais recursos computacionais em sua execução pelo computador. Dentre as diferenças entre estes processos de tradução são relacionadas abaixo as principais:
COMPILADOR |
INTERPRETADOR |
|
|
|
Apesar das sutis diferenças entre estes dois processos de tradução, sua adoção provoca alterações significativas na utilização do algoritmo ou programa de computador elaborado. O ambiente Visualg realiza esta tradução através de seu interpretador próprio sobre o algoritmo fonte elaborado em português estruturado.
Um algoritmo ou programa fonte consiste no conjunto de instruções descritas em uma Linguagem de Programação ou pseudocódigo, geralmente elaboradas por meio de um editor de texto simples que respeite o padrão ASCII de escrita. Este algoritmo ou programa é desenvolvido de acordo com as regras sintáticas e semânticas definidas pela linguagem de programação utilizada, normalmente, sendo estas mais próximas à linguagem de comunicação natural do ser humano (linguagem de alto nível).
Para execução de um algoritmo ou programa pelo processo de interpretação sempre é necessária a presença (instalação) do interpretador no computador que estará executando tal algoritmo ou programa. Para a compilação esta presença não é sempre obrigatória, pois o programa totalmente traduzido e pronto para execução é armazenado em um outro arquivo físico do computador, classificado como executável, e somente sua presença já garante a execução do mesmo. No entanto, somente a presença do arquivo executável não permite a manutenção para possíveis correções ou evoluções no algoritmo ou programa, sendo necessário o programa ou código fonte, além do compilador instalado no respectivo computador.
A instalação deste ambiente de programação em seu computador é essencial para seu acompanhamento e aprendizagem nesta disciplina, sendo a seguir fornecidas as instruções para seu completo acesso e instalação do software instalador em computadores que não estejam nos laboratórios da Universidade.
O Calango é um ambiente de programação livre, sendo um software de domínio público desenvolvido por Claéber Felinto e Victor Girotto. Por isso não é necessária nenhuma licença para instalação legal em seu computador. No entanto, para que sua instalação aconteça exatamente como a que está disponível nos laboratórios da UnB/FGA, é necessário que todos os passos abaixo sejam seguidos rigorosamente.
OBS: Para que a instalação do Calango funcione corretamente, é importante que você tenha o JRE (Java Runtime Environment) instalado no seu computador, caso não o tenha, faça o download e a instalação através da seguinte ligação virtual: Download JRE.
Clique nesta ligação virtual Calango 1.1, será necessário fazer o download do arquivo Calango.jar, para isso serão necessários 5,6 MB livres em seu computador.
Após o arquivo Calango.jar estar completamente baixado (transferido) para seu computador, feche todas as demais aplicações abertas e solicite a execução do mesmo;
Criando um atalho na Área de Trabalho no sistema operacional Windows:
Clique com o mouse direito na Área de Trabalho ou outro diretório em que você queira criar o atalho
Clique na opção Novo e em seguida na opção Atalho.
Na janela que abrirá selecione o arquivo Calango.jar no diretório em que o mesmo foi baixado e clique em Avançar.
Digite o nome que você deseja dar ao atalho e clique em Concluir.
Criando um atalho na Área de Trabalho no sistema operacional Ubuntu:
Clique com o mouse direito no ícone do arquivo Calango.jar no diretório onde o mesmo foi baixado.
Clique em Copiar para... e na nova janela que abrirá selecione Área de Trabalho ou o diretório em que você quer criar o atalho.
Feche o Calango e acione o mesmo novamente através do atalho criado na Área de Trabalho ou no diretório que você escolheu, verificando se o mesmo foi executado corretamente.
Para mudar o modelo que define as sessões de síntese e de comandos siga as orientações a seguir:
Ao clicar na aba layout é possível ver o modelo padrão, conforme a imagem abaixo
Após fazer as alterações que forem necessárias clique sobre o botão Aplicar para consolidar as mudanças feitas, logo após clique em OK. Na imagem abaixo foi adicionada uma linha antes da síntese, com o nome do aluno. As mudanças serão vistas no próximo algoritmo criado.
A imagem abaixo demonstra como ficou a alteração feita no modelo.
Primeiramente, forneça um nome significativo para o algoritmo (boas vindas) que não pode ter espaço em branco (boasVindas), seguido da inclusão de seu próprio nome pessoal (primeiro e último nome somente) na identificação do aluno que o elaborou (veja o exemplo abaixo que o Bill Gates elaborou). Em seguida deve ser elaborada a Síntese do problema para este algoritmo, sendo a mesma:
// Síntese // Objetivo: efetuar saudação de boas vindas ao usuário do algoritmo // Entrada: sem entrada // Saída: boas vindas com o nome do usuário
Na sequência será elaborado o corpo do algoritmo baseado exatamente na síntese do problema anteriormente especificado. Por fim, este primeiro algoritmo seria encerrado como está descrito abaixo e se poderá usar deste ambiente para executar e avaliar o algoritmo elaborado.
algoritmo boasVindas; // Aluno: Bill Gates // Síntese // Objetivo: efetuar saudação de boas vindas ao usuário do algoritmo // Entrada : sem entrada // Saída : boas vindas com o nome do usuário principal // Declarações // Instruções escreva("Bill Gates, seja bem vindo ao ambiente Calango 1.1!"); fimPrincipal
Observe que este primeiro algoritmo ainda não realiza nenhum processamento complexo, mas possibilitará a realização de um teste na sua instalação para o início no uso deste ambiente de programação durante todo o semestre letivo.
Como todo software de computador, os arquivos criados no Calango também precisam ser salvos (gravados), devendo ser selecionada a opção de menu superior Arquivo seguida pela opção Salvar como.... Na nova janela que surgirá deverá ser informado o nome que se deseja fornecer ao novo arquivo físico que será gravado pelo Calango como seu primeiro algoritmo fonte. Por exemplo: coloque o nome de primeiro.clg.
A execução deste algoritmo pelo computador pode ser solicitada por várias opções, sendo as principais apresentadas na relação abaixo:
Selecionando a opção de menu superior Algoritmo e Executar;
Pressionando no teclado a tecla de atalho F9;
Como o primeiro algoritmo elaborado acima não possui nenhum erro ele será executado e sua janela de execução será apresentada exatamente como a que está logo abaixo. Caso sua execução não esteja idêntica a janela de execução abaixo, volte ao algoritmo fonte e confira se o texto que você copiou deste material esta rigorosamente igual ao exemplificado acima.
Caso exista algum erro altere-o de forma a ficar idêntico ao disponível neste material de estudo e solicite sua execução novamente.
Na aprendizagem operacional deste ambiente, atente cuidadosamente aos componentes que formam a interface integrada do Calango. A imagem abaixo identifica cada uma de suas partes.
De acordo com as 4 marcações em azul distribuídas na janela principal do Calango, identifique cada um dos recursos integrados e disponíveis neste ambiente de programação conferindo suas principais finalidades:
A barra de ferramentas provê acesso rápido às funções mais importantes do Calango. O objetivo desta primeira área no ambiente não é ser o mais abrangente possível, e sim ser simples e focado no que seu usuário deseja executar. Conforme se pode observar na barra de ferramentas, existem três principais grupos de botões separados por uma linha na vertical na própria barra.
O primeiro grupo compreende as operações relacionadas ao arquivo - novo arquivo, abrir, salvar e imprimir respectivamente.
O segundo grupo compreende funções relacionadas ao editor - endentação do código, acréscimo e decréscimo ao tamanho da fonte e o botão seleção da console. Este último botão ao estar pressionado (marcado como pressionado na tela), possibilitará a execução do algoritmo no Calango por meio de uma console interna. Caso ele não esteja pressionado e seja solicitada a execução de um algoritmo, a sua execução estará acontecendo na console externa, também chamada de janela de execução do algoritmo.
Por último, o grupo relacionado à execução do algoritmo - passo-a-passo e executar.
O editor de código se localiza abaixo da barra de ferramentas e ao lado da pilha de escopo. Ele é a área do Calango onde o código será exibido e editado por seu desenvolvedor (pessoa que está elaborando o algoritmo). De forma similar aos diversos editores disponíveis, o código será exibido com diferentes cores para as diferentes partes da sintaxe da linguagem utilizada pelo Calango. Estas cores podem ser configuradas através de outros painéis (janelas) do próprio Calango, mas a orientação educacional é mantê-las como o Calango sugere. Ao lado esquerdo do algoritmo elaborado é mostrado um número que correspondente a cada linha do código do algoritmo que está sendo apresentado. A linha em que o cursor se encontra será destacada, conforme mostrado na imagem abaixo na linha 30.
A pilha de escopos se encontra à direita do editor de código do algoritmo elaborado. Esta é a área onde os escopos e suas respectivas variáveis podem ser vistas e acompanhadas durante a execução do algoritmo, quando esta execução for solicitada no modo passo-a-passo.
Ao se iniciar a execução do algoritmo esta pilha de escopos se encontrará vazia. Cada bloco de função existente no algoritmo elaborado, incluindo a função principal obrigatória na programação, estará disponível nessa pilha, conforme o algoritmo proceda com sua execução. O escopo atual que estiver sendo executado sempre estará localizado na parte mais baixa da pilha. O bloco mostrado do topo da pilha sempre será o da função principal do algoritmo que estiver em execução.
O console no Calango é responsável por efetuar a entrada e a saída dos dados exigidos no algoritmo elaborado e em execução pelo Calango. Para fins de comparação, este console atua da mesma forma que o console do Eclipse e da ferramenta de desenvolvimento de algoritmos conhecida como Visualg. Toda saída requisitada pelo algoritmo será impressa no console. Quando uma entrada é requisitada pelo algoritmo, este console permitirá que o usuário digite o valor desejado e o envie (submeta) ao processamento do Calango, após o pressionamento da tecla Enter no teclado do computador que está executando o Calango.
Existem dois modos da console: console interna - esta fica acoplada abaixo do editor de código, enquanto que a outra forma do console é chamada de console externa. Esta outra forma de console (externa) é apresentada quando o algoritmo é executado no Calango e mostra uma nova janela de execução que será apresentada possibilitando ao usuário observar a console separada da janela principal, sendo esta nova janela denominada Janela de Execução do algoritmo. A execução pelo console externo possibilita uma melhor visualização das informações que orientarão o seu usuário durante a execução do algoritmo.
Como mencionado anteriormente, a execução se dá por meio dos botões no terceiro grupo da barra de ferramentas. O primeiro botão deste grupo é o de execução. Ao ser clicado, o algoritmo será executado de forma contínua, sendo interrompido apenas quando uma entrada for requisitada ao usuário ou o algoritmo terminar seu processamento. O segundo botão, diferentemente, executa uma instrução por vez. Ao ser clicado, o botão de execução imediatamente se torna em um botão de interrupção da execução, conforme visto nas imagens a seguir
A partir desse momento, o botão de execução se torna o botão de próximo passo. E é nesse modo que a visualização da pilha de escopos se torna útil.
A cada passo, as operações sobre as variáveis e chamadas ou retorno de funções são refletidas na pilha de escopos. Quando uma função é acionada (chamada), sua tabela de escopo é colocada na pilha.
À medida que as variáveis são declaradas no algoritmo, e seus valores vão sendo atribuídos a elas, a pilha de escopos em questão é atualizada, conforme mostra a imagem a seguir (pilha de escopos mais à direita na imagem com título Escopo Principal). Na imagem abaixo, o escopo principal já foi colocado na pilha e possui três variáveis declaradas (resultado, base, ex). Veja que o valor da variável base está armazenando 2 no momento atual.
O ambiente Calango oferece algumas opções de ajuda aos seus iniciantes, podendo ser acessado na opção do menu superior denominada Ajuda. Por meio desta opção são disponibilizados recursos de suporte referente a utilização da sintaxe e semântica de suas instruções (pseudocódigo).
Acione uma das opções de Ajuda e verifique a facilidade de uso para o esclarecimento de possíveis dúvidas sobre a manipulação das instruções corretas no Calango.
O ambiente de Ajuda do Calango é dividido em tópicos onde o acesso pode ser feito simplesmente clicando sobre o tópico desejado ou digitando o que se deseja no campo localizado na parte superior esquerda da janela de ajuda. A imagem abaixo mostra uma das janelas de ajuda no Calango.
No intuito de fixar a aprendizagem iniciada por meio do estudo deste módulo e verificar como seu entendimento sobre este conteúdo está, alguns exercícios de fixação estão lhe sendo sugeridos para serem resolvidos. Clique na última opção do menu lateral à esquerda que fornece acesso aos exercícios interativos disponíveis para este módulo de estudo. Uma nova janela será apresentada e lhe fornecerá orientações para a resolução dos exercícios coerentes aos conteúdos estudados até este momento por esta disciplina.