PORTUGOL
Representação escrita de um algoritmo
Pseudolinguagem de programação (simbiose do
Português com o Algol e PASCAL)
O portugol ajuda a auxiliar estudantes a
aprimorar o raciocínio lógico e a programar. Sem necessidade de se preocupar com
comandos e instruções em inglês ou ter ou ter um bom conhecimento de linguagem de
programação. Essa ferramenta só usa palavras do nosso idioma, ajudando o usuário a
direcionar no entendimento e resolução do problema em forma de algoritmo.
Portugol v2.3 (Windos)
http://www.dei.estt.ipt.pt/portugol/node/33
É uma ferramenta open-source para edição e execução de
algoritmos escritos na linguagem Portugol.
A ferramenta Portugol foi desenvolvida na Escola Superior de
Tecnologia de Tomar, do Instituto Politécnico de Tomar, em Portugal.
Com o objetivo de melhorar o processo de
ensino-aprendizagem em disciplinas introdutórias de algoritmo e programação.
Para poder usar a aplicação Portugol tem de
ter instalado a versão mais recente da Máquina Virtual de Java.
Se não a tiver instalada na sua máquina ela
encontra-se disponível no endereço: http://java.sun.com/javase/downloads/index.jsp
Para correr a aplicação deve efectuar
duplo-clique no arquivo Portugol.jar
Criar um novo algorítmo Abrir um algoritmo já existente Salvar o algoritmo, extensão .alg Formatar automático Recuar e avançar Copiar, colar e recortar Editor de Fluxograma Monitor para saída dos resultados
Início e fim do algoritmo inicio
Algoritmo fim
Inicio
◦ Declaração das variáveis ◦ Entrada de Dados
◦ Processamento
◦ Saída : Mostrar Resultados
Define uma variável cujo valor pode ser
alterado durante o seu ciclo de vida.
As variáveis são o elemento básico de
processamento.
A sua declaração permite definir que tipo de
Regras:
◦ Iniciam com letra (todas as letras do alfabeto) ◦ Seguidos por letra ou dígito (os 10 dígitos do
sistema digital) :
Identificadores válidos: A2, SOMA, BC3D Identificadores Inválidos: 2AB
◦ Não existem espaços em branco nem acentos:
salário real (incorreto) salarioreal (correto) salario_real (correto)
Identificadores são nomes que se atribuem a
variáveis, constantes ou outros elementos com que se opera dentro de um programa (Arrays, Funções, ...).
É considerada boa prática de programação o
uso de identificadores que com nomes
significativos, (Ex: peso - para armazenar o peso).
As palavras reservadas da linguagem não
Regras:
◦ Caracteres que não contêm letras e algarismos não
são válidos (+, -, *, /, %, &,!, ...).
◦ Caracteres compostos como ç, ã, é, ... são
igualmente inválidos.
A declaração de variáveis segue as seguintes
regras:
◦ 1 - O nome tem obedecer às regras.
◦ 2 - O valor de inicialização tem de ser compatível
com tipo de variável definido.
◦ 3 - Se o valor de inicialização for omitido a variável é
inicializada com os valores por defeito (default).
◦ 4 - É possível definir mais que uma variável
utilizando o caracter virgula (,)
◦ 5 - É possível omitir a palavra variável. Ser Formada de apenas letras e
numeros
Começar sempre com letras
Não pode ter espaço em branco Sem acentos ou caracteres
especiais!
Declaração de Variáveis:
Ex:
Variavel texto nome
texto nome <- "Marcela" variavel real b, h, a
Real peso <- 23.14
Logico aprovado <- verdadeiro
Corresponde a criação de locais na memória rotulada com o nome da
variável (identificador) e marcada com o tipo de
valores que ela pode conter.
Declaração de constantes
Define um símbolo cujo valor permanece
inalterável durante o seu ciclo de vida.
Segue as mesmas regras que a definição de
variáveis excepto que não é possível omitir
o valor de inicialização
Exemplos:
constante inteiro meses <- 12 constante real pi <- 3.14
Inicio
variavel real raio, area
Precisamos solicitar os dados de entrada para
o Usuário:
1. Preciso dar uma instrução ao usuário sobre o que ele precisa digitar : uso o comando ESCREVER,
que escreve no Monitor.
2. Preciso guardar em uma variável os valores
digitados pelo usuário no teclado, uso o comando LER
Escrita de dados (no monitor)
escrever “TEXTO”
Leitura de dados (do teclado) ler variavel
ler NOME, N, Y
A leitura de uma variável deve ser precedida da sua
declaração.
É possível definir a leitura de várias variáveis desde
que estas estejam separadas por vírgulas (,).
Os valores introduzidos para cada variável devem
ser compatíveis com o tipo
definido na declaração da mesma.
Atribuição : Símbolo <- COR <- “VERDE” MEDIA <- 5.12 Nota <- 10 tem <- falso Area <-
PI * RAIO ^ 2
Escrita de dados (no monitor)
Escreve variáveis, constantes, expressões ou
texto no monitor.
A mesma instrução pode escrever vários
elementos desde que sejam separados por
vírgulas (,).
Existem três símbolos pré-definidos no texto: \n - mudança de linha (enter).
\t - tabulação.
inicio
variavel real RAIO, AREA constante real PI <- 3.14
escrever "entre com o valor do raio" ler RAIO
AREA <- PI * RAIO ^ 2
escrever “A área do círculo é ", AREA fim
inicio
variavel texto nome
escrever "entre com seu nome \n" ler nome
escrever "Bem vindo ao Portugol \t ", nome fim
A linguagem não é sensível à capitulação (não
faz distinção entre letras minúsculas e maiúsculas).
Todos os algoritmos começam por inicio e
terminam com fim.
Cada linha contém apenas um comando (o
enter funciona como sinalizador de fim de comando).
O sinal de atribuição é a seta ( <- ).
A definição de variáveis é feita em qualquer
Quando um algoritmo executa tarefas
complexas, ou simplesmente quando o
programador quer chamar a atenção para um determinado bloco ou linha de código, existe a possibilidade de inserir comentários.
Quando da execução do algoritmo, os
comentários são, simplesmente, ignorados pelo editor do Portugol.
Os comentários podem ser introduzidos em
Para comentar uma linha inserem-se os caracteres // antes do comentário.
Inicio
//Programa que calcula a área do triangulo variavel real b, h, a
escrever "Entre base e altura do triangulo \n" ler b,h
a <- b * h/2
escrever "A área do triangulo é ", a Fim
Para comentar um bloco de código inserem-se
os caracteres
/*
antes do comentário e os
caracteres
*/
no final do mesmo.
/*
Desta forma pode, por exemplo, incluir uma breve
descrição do algoritmo antes da implementação
do mesmo.
Exemplos: A <- 5+1;
X1 <- 10^2;
resto <- A % 2
;
O resultado da expressão do lado direito de um comando de atribuição deve ser
coerente com o tipo declarado para a variável do lado esquerdo.
Elabore um algoritmo que solicite 2 números
inteiros e calcule todas as operações
aritméticas anteriores: Soma, subtração,
multiplicação, divisão, resto, potenciação e raiz quadrada. Mostrando os resultados.
Operadores para números reais : pelo menos
um elemento é do tipo real.
Não existe resto para números reais!
Os operadores possuem uma prioridade, uma
hierarquia de operadores, o que implica que as operações sejam realizadas por
determinada ordem.
As operações sucessivas dentro de um grupo
efetuam-se da esquerda para a direita.
A utilização de parêntesis, mesmo que não
sejam estritamente necessários pode e deve ser aplicada com o intuito de aumentar a
clareza nas expressões tratadas e diminuir as hipóteses de erro.
A prioridade dos operadores pode ser
1. Crie um algoritmo que leia o valor gasto com despesas realizadas
em um restaurante e calcule o 10% do garçom (gorjeta). O algoritmo deve mostrar o valor das despesas, o valor da gorjeta e o total da conta (somando a gorjeta).
X <- comprimento (variavel tipo texto) X <- comprimento (variavel tipo texto) + 0
Não é possível jogar o resultado para uma
varíavel x <- “Olá” + “Mundo”
inicio
variavel texto nome
escrever "entre com seu nome \n" ler nome
escrever "O nome informado possui \t" , comprimento ( nome ) , " \t letras“
Faça um algoritmo em portugol que leia a
idade de uma pessoa expressa em dias, e mostre-a expressa em anos, meses e dias. Considere os anos com 365 dias e os meses com 30 dias. 1865 Dias 365 5 anos 1825 40 30 1 mes 30 10 dias -Resto
inicio
variavel inteiro idade , anos , meses , dias , resto escrever "Entre com a idade em dias "
ler idade
anos <- idade / 365 resto <- idade % 365 meses <- resto / 30 dias <- resto % 30
Escrever "Você tem ", anos, " anos ", meses, " meses ", dias, " dias" fim