Introdução ao Portugol
O Portugol é um projeto educacional que visa ensinar os conceitos básicos de programação de forma simples e acessível. Ele é uma linguagem de programação que utiliza uma sintaxe semelhante ao português, facilitando a compreensão para iniciantes.
Pense no Portugol como uma ponte entre o pensamento lógico e a programação. Ele permite que os alunos se concentrem na lógica de resolução de problemas sem se preocupar com a complexidade de linguagens de programação mais avançadas.

Primeiro Exemplo
Seção intitulada “Primeiro Exemplo”O código abaixo apresenta um exemplo simples de um programa em Portugol que calcula a média de dois números:
programa{ funcao inicio() { inteiro nota1, nota2, media escreva("Digite a primeira nota: ") leia(nota1) escreva("Digite a segunda nota: ") leia(nota2)
media = (nota1 + nota2) / 2
escreva("A média é: ", media) }}Não precisamos entender todos os detalhes desse código no momento, mas podemos observar que ele segue uma estrutura lógica: primeiro, ele solicita ao usuário que insira dois números, depois calcula a média desses números e, finalmente, exibe o resultado.
Se fossemos representar esse programa em um fluxograma, ele teria os seguintes passos:
flowchart TD
A((Início)) --> B[/LEIA nota1/]
B --> C[/LEIA nota2/]
C --> D(["media = (nota1 + nota2) / 2"])
D --> E[/IMPRIME media/]
E --> F((Fim))
O mesmo programa poderia ser representado em pseudocódigo da seguinte maneira:
Início Escreva "Digite a primeira nota: " Leia nota1 Escreva "Digite a segunda nota: " Leia nota2 media = (nota1 + nota2) / 2 Escreva "A média é: ", mediaFimE por fim, poderiamos descrever esse mesmo problema usando linguagem natural:
Solicite ao usuário que digite duas notas. Some as duas e divida o resultado por 2 para obter a média. Em seguida, exiba a média calculada para o usuário.
Fluxo de Execução
Seção intitulada “Fluxo de Execução”Todo programa tem um fluxo de execução, ou seja, uma sequência de passos que o programa segue para realizar suas tarefas. Um programa sempre é lido de cima para baixo, e as instruções são executadas na ordem em que aparecem.
Você deve ter notado também que temos algumas estruturas no código, como o bloco programa e a função inicio(). O bloco programa é o ponto de partida do programa, e a função inicio() é onde o código principal é executado. O fluxo de execução do nosso programa começa logo abaixo da linha funcao inicio(), onde as instruções são processadas uma a uma.
Mais adiante, aprenderemos a criar novas funções e a organizar nosso código de maneira mais eficiente, mas por enquanto, é importante entender que o programa segue um fluxo lógico, onde as instruções são executadas sempre na ordem em que aparecem.
A saída é a forma como o programa apresenta os resultados para o usuário. No exemplo acima, usamos a função escreva() para mostrar mensagens e o resultado da média calculada. A saída é essencial para que o usuário possa ver os resultados do processamento do programa.
Antes mesmo de definir quais são as entradas de um programa, é comum entender primeiro quais são as saídas esperadas. Por exemplo, se você precisa de um programa que mostre na tela qual é o seu nome e a sua idade, a saída esperada seria algo como “Meu nome é FULANO e minha idade é 15”.
No Portugol, usamos o comando escreva() para exibir informações na tela:
escreva("Meu nome é FULANO e minha idade é 15")Cadeias Literais
Seção intitulada “Cadeias Literais”As cadeias literais são textos que são escritos diretamente no código, entre aspas. Elas são usadas para representar mensagens, palavras ou frases que queremos mostrar na saída do programa.
Por exemplo, se quisermos exibir a mensagem “Olá, Mundo!” na tela, podemos usar uma cadeia literal da seguinte maneira:
escreva("Olá, Mundo!")Uma cadeia literal é qualquer texto que esteja entre aspas, e o programa irá interpretar esse texto como uma mensagem a ser exibida na saída.
Variáveis
Seção intitulada “Variáveis”
Quando precisamos armazenar um valor para usá-lo posteriormente em um programa, utilizamos comandos ao qual damos o nome de variáveis. As variáveis são como caixas onde podemos guardar informações temporariamente.
Por exemplo, se quisermos armazenar a idade de uma pessoa, podemos criar uma variável chamada idade e atribuir a ela o valor correspondente:
inteiro idadeidade = 15escreva("A idade da pessoa é: ", idade)Nesse exemplo, primeiro criamos uma variável chamada idade. Essa variável é precedida pelo tipo inteiro, que indica qual o tipo do valor que vamos armazenar. Para várias linguagens de programação é importante dizer o que vamos guardar em uma variável, assim o programa fica mais organizado e fácil de entender.
Em seguida, atribuímos o valor 15 à variável idade. Agora, sempre que quisermos usar a idade dessa pessoa em nosso programa, podemos simplesmente escrever a variável idade ao invés de 15.
Na última linha, usamos a função escreva() para mostrar a mensagem na tela, incluindo o valor armazenado na variável idade. Assim, a saída será “A idade da pessoa é: 15”.
Atribuição de valores
Seção intitulada “Atribuição de valores”A atribuição é o processo de guardar um valor dentro de uma variável. No Portugol, usamos o símbolo = para fazer isso.
Quando escrevemos idade = 15, estamos dizendo que a variável idade passa a armazenar o valor 15.
Uma variável pode receber um valor escrito diretamente no código ou o resultado de um cálculo. Ela também pode ser preenchida com um valor digitado pelo usuário usando leia().
inteiro idadeidade = 15inteiro somasoma = 8 + 2cadeia nome
escreva("Digite seu nome: ")leia(nome)Em todos esses casos, a variável passa a guardar uma informação que poderá ser usada depois no programa.
Concatenação
Seção intitulada “Concatenação”Concatenação é o nome que damos ao processo de juntar textos em uma única mensagem.
No Portugol, o operador + pode ser usado para unir uma cadeia com outra cadeia, ou ainda para juntar um texto com o valor de uma variável.
cadeia nomenome = "Ana"
escreva("Olá, " + nome)Nesse exemplo, o programa junta o texto "Olá, " com o conteúdo da variável nome. O resultado exibido será:
Olá, AnaA concatenação é muito útil para montar frases personalizadas na saída do programa.
cadeia equipeinteiro pontos
equipe = "Equipe Azul"pontos = 12
escreva("A " + equipe + " fez " + pontos + " pontos.")Entrada
Seção intitulada “Entrada”A entrada em um programa é a forma como o programa recebe dados do usuário ou de outras fontes. No exemplo acima, usamos a função leia() para obter os números digitados pelo usuário. A entrada é fundamental para que o programa possa processar informações e produzir resultados.
Para entender melhor a entrada, imagine que você precisa anunciar qual das equipes de uma gincana foi a grande campeã. Para isso, você precisa primeiro de tudo saber quais são as equipes participantes e quantos pontos cada equipe acumulou. Esses dados são a entrada do seu programa, e a partir deles, você poderá determinar qual equipe venceu.
No Portugol, usamos a função leia() para obter dados do usuário. Por exemplo, se quisermos pedir ao usuário que digite seu nome, podemos fazer o seguinte:
cadeia nome_da_equipeinteiro pontos
escreva("Digite o nome da equipe: ")leia(nome_da_equipe)
escreva("Digite os pontos da equipe: ")leia(pontos)
escreva("A equipe " + nome_da_equipe + " tem " + pontos + " pontos.")Perceba que esse programa solicita ao usuário que insira o nome da equipe e os pontos acumulados, armazenando essas informações em variáveis. Em seguida, ele exibe a mensagem com o nome da equipe e seus pontos, utilizando a função escreva() para mostrar a saída na tela.
As variáveis sempre precisam ser declaradas antes de serem utilizadas. Pense que, da mesma forma, precisamos de construir uma caixa de sapato antes de colocar um sapato dentro dela.
Tipos de Dados
Seção intitulada “Tipos de Dados”Tipo de dado é a forma como o Portugol identifica que tipo de informação será armazenada em uma variável. Isso é importante porque o programa precisa saber se aquela variável guarda um texto, um numero inteiro, um numero com casas decimais ou um valor verdadeiro ou falso.
Quando declaramos uma variável, sempre informamos o seu tipo antes do nome. Assim, o Portugol entende como aquele valor sera usado ao longo do programa.
| Nome | Descricao | Exemplos |
|---|---|---|
cadeia | Armazena textos, palavras e frases. | "Fulano", "Equipe Azul", "Bom dia" |
inteiro | Armazena numeros sem casas decimais. | 10, 0, -5 |
real | Armazena numeros com casas decimais. | 7.5, 3.14, -2.75 |
logico | Armazena valores de verdadeiro ou falso. | verdadeiro, falso |
Veja alguns exemplos de declaracao de variaveis com tipos diferentes:
cadeia nomeinteiro idadereal alturalogico aluno_matriculado