Pular para o conteúdo

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.

alt text

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 é: ", media
Fim

E 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.

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")

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 representadas como caixas na memória do computador

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 idade
idade = 15
escreva("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”.

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 idade
idade = 15
inteiro soma
soma = 8 + 2
cadeia 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 é 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 nome
nome = "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á, Ana

A concatenação é muito útil para montar frases personalizadas na saída do programa.

cadeia equipe
inteiro pontos
equipe = "Equipe Azul"
pontos = 12
escreva("A " + equipe + " fez " + pontos + " pontos.")

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_equipe
inteiro 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.

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.

NomeDescricaoExemplos
cadeiaArmazena textos, palavras e frases."Fulano", "Equipe Azul", "Bom dia"
inteiroArmazena numeros sem casas decimais.10, 0, -5
realArmazena numeros com casas decimais.7.5, 3.14, -2.75
logicoArmazena valores de verdadeiro ou falso.verdadeiro, falso

Veja alguns exemplos de declaracao de variaveis com tipos diferentes:

cadeia nome
inteiro idade
real altura
logico aluno_matriculado