Apr
27
2010

Aprenda a programar #4 | Algoritmos – Estrutura do Portugol

Bem vindos algoritmizeiros (acabei de inventar essa expressão =x) a mais um post da série Aprenda a Programar.

Hoje, iremos nos aprofundar um pouco mais na pseudo-linguagem portugol, e a partir de agora será necessário para um melhor acompanhamento, que todos já tenham o VisualG instalado na máquina.

Se você é marinheiro de primeira viagem, de uma olhada nos outros posts da série:

Aprenda a programar #1 / Aprenda a programar #2 / Aprenda a programar #3

Então vamos ao que interessa!

Estrutura do portugol…

Todo e qualquer algoritmo, terá sempre um Nome, Declaração de variáveis, Início e Fim. Na estrutura abaixo:

Algoritmo “nome-do-seu-algoritmo”

VAR

nome-da-var: tipo

nome-da-var2: tipo

INICIO

|

|

|

|

FIMALGORITMO

Ok, entendi o “Nome” “Início” e “Fim” mas…

O que é declaração de variáveis?

A declaração de variáveis, é uma parte obrigatória no portugol, assim como em outras linguagens de programação como C por exemplo.

Ela é necessária para que o interpretador entenda que aquela palavra é uma variável, além de ser útil em muitos casos, para que não dê um erro em seu programa futuramente devido a um erro de digitação, acusando de imediato onde está o erro.

Na estrutura do Portugol, dentro da seção VAR, declaramos a variável da seguinte maneira:

Nome-da-var: tipo

ex:

meunome: caractere

Ainda sobre a questão de variáveis, não vou entrar em muitos detalhes, pois as mesmas foram explicadas no post anterior.

Vamos então criar nosso primeiro programa…!

Na tela Inicial do VisualG, já temos a estrutura de nosso portugol pronta, como expliquei no início do post.

algoritmo “olá mundo”

var

inicio

escreva(“Olá Mundo!”)

fimalgoritmo

Não entendi nada! o que é esse “escreva“?

O escreva é uma palavra reservada do portugol, como expliquei no Aprenda a programar #3.

Sua função é escrever na tela o texto entre ” ” (aspas)

Se você está utilizando o visualg, ao digitar este código e apertar F9, o código será executado, e você verá que estará escrito na tela apenas a frase: Olá Mundo!

E porquê não há nada no campo das variáveis?

Porque ainda não utilizamos nenhuma.

No código acima, como vocês podem ver, foi utilizado apenas um minúsculo pedaço do que podemos fazer em portugol.

No algoritmo a seguir, vamos fazer o uso da função leia() e de variáveis.

algoritmo “leianumero”

var

num: inteiro

inicio

escreva(“Digite um número: “)

leia(num)

escreva(“O número digitado é: “, num)

fimalgoritmo

Entendendo o algoritmo…

Foi declarado a variável num, como inteiro. Ou seja, poderá receber qualquer número não-fracionário (-2, -3, -20, 0, 1, 2, 40, 18…)

Em seguida, o algoritmo irá solicitar ao usuário que digite um número, escrevendo na tela a seguinte frase: Digite um número:

Se vocês notarem, há um espaço após os : e antes da “, isso é necessário para que o cursor dê o espaço desejado.

Como falei em um post anterior da série, o computador não é inteligente, ou seja, você tem que explicar tudo a ele, passo a passo.

o leia(num) irá aguardar com o cursor na tela até que o usuário digite um número inteiro e tecle enter.

O num é a variável que declaramos no início do algoritmo, lembram?

E finalmente, o resultado.

escreva(“O número digitado é: “, num)

É importante notar, que no escreva, tudo o que estiver entre aspas, vai ser tratado como um texto qualquer, então para retornarmos o conteúdo de uma variável, fechamos primeiro as aspas, colocamos uma vírgula e digitamos o nome da variável, para só então fechar o parenteses.

Testem o algoritmo acima no VisualG, e vejam o resultado.

Treinem mais um pouco…

Galera, que tal treinar mais um pouco…

  1. Crie um algoritmo que leia 2 números e mostrem o resultado.
  2. Crie um algoritmo que leia o nome e a idade de alguém, e mostre na tela o que foi digitado.

Dica: no exercício 2, terá que ser declarado duas variáveis, uma do tipo inteiro e outra do tipo caractere. Se houver dúvidas, de uma olhada no post anterior.

Depois de criar o algoritmo, entrem na filosofia do Software Livre, compartilhe seu código conosco!

Porque não postar seu código nos comentários para ajudar quem tem dúvidas? Existem diversas maneiras de chegar a uma solução a partir de um algoritmo!

Dúvidas?!?!?

Postem nos comentários, que eu, o pedro e todos os leitores que souberem concerteza irão te ajudar!

Abraços e até o próximo post!1!


Receba nossos artigos em seu Email!


Digite o seu email abaixo:

Posts Relacionados:

Sobre o Autor: Bruno Barbosa

Bruno Barbosa cursa Análise e Desenvolvimento de Sistemas, é programador Python, Desenvolvedor Web, usuário Linux e entusiasta de Software Livre. Utiliza no dia-a-dia Python, Zope/Plone e o framework web2py para desenvolvimento de aplicações web. Me siga também no Twitter.

160 Comments + Add Comment

  • algoritmo “Leia dados”
    var
    nome:caractere
    inicio
    escreva(“qual seu nome? “)
    leia(nome)
    escreva(“hm legal e ai muitos amigos??”)
    leia(nome)
    escreva(“tu é muito gato”)
    leia(nome)

    fimalgoritmo

    [Reply]

    Eduardo Reply:

    forever alone usahausasuasuhsa
    não entendi o segundo exercicio primeiro dos numeros eu fiz mas mandei esse ai pra descontrair

    [Reply]

  • algoritmo,numero
    var
    n1,n2:inteiro
    inicio
    escreva(digite o primeiro numero”);
    leia(n1)
    escreva(“digite o segundo numero”)
    leia(n2)
    escreva(n1)
    escreva(n2)
    quero saber se ta certo,fiz no visual g e funcionou

    [Reply]

    johnatas martins Reply:

    Amigo está correto :D

    [Reply]

  • algoritmo,idadenome
    var
    nom:caracter;
    id:inteiro;
    inicio
    escreva(“digite o nome”);
    leia(nom);
    escreva(“digite a idade”)
    leia(id);
    escreva(o nome é:’,nom,’a idade será:”,id)
    fimalgoritmo
    rodou no visual g

    [Reply]

  • Oláa, Boa Noite ..Uma coisa: ao invés de aparecer o “Olá Mundo” aparece uma tela preta com:
    *** Fim da execução.
    *** Feche esta janela para retornar ao Visualg.

    O que que eu estou fazendo errado? xD

    Belo Post.

    Grato!

    [Reply]

  • Sei que muita gente já Postou o Algoritmo mais vou postar o meu !

    vai que alguém precisa…

    algoritmo “Exercício 1″
    // Função :
    // Autor :
    // Data : 24/04/2012
    // Seção de Declarações
    var
    num1:real
    num2:real
    inicio
    // Seção de Comandos
    escreval(“Digite um Número”)
    leia(num1)
    escreval(“digite um número”)
    leia(num2)
    escreval(” Os Números Digitados Foram:”, num1, ” e “,num2)

    fimalgoritmo

    [Reply]

  • Segundo Exercício.
    algoritmo “Nome e Idade”
    // Função :
    // Autor :
    // Data : 24/04/2012
    // Seção de Declarações
    var
    nome:caracter
    idade:real
    inicio
    // Seção de Comandos
    Escreval(“Digite Seu Nome”)
    leia(nome)
    escreval(“Digite Sua Idade”)
    leia(idade)
    Escreval (“Seu Nome é “,nome)
    Escreval(“Sua Idade é “,idade)
    fimalgoritmo

    [Reply]

  • algoritmo “primeiroteste”
    // Função :testeparanossaalgria
    // Autor : johnatas martins
    // Data : 25/04/2012
    // Seção de Declarações
    var
    nota1: inteiro
    nota2: inteiro

    inicio
    escreva (“digite sua primeira nota”)
    leia (nota1)
    escreva (“digite sua segunda nota”)
    leia (nota2)
    escreva (” O resultado da sua nota é:”,nota1+nota2)
    // Seção de Comandos
    fimalgoritmo

    Eu vou postar só esse, mais tenho um dúvida. Na hora que a pessoa tem que digitar o número ele é colocado do lado da letra, eu sei que tem um comando que pode fazer com que o número ou qual quer coisa digitada apareça na linha de baixo, alguém sabe me explicar qual é e como utiliza – lo ?

    [Reply]

    eduardo alvarez Reply:

    escreval(“Texto”)
    assim aparecerá o proximo texto na linha de baixo.

    [Reply]

  • algoritmo “exibir dois numeros”
    // Função :
    // Autor : marcella ingrid moura
    // Data : 27/04/2012
    // Seção de Declarações
    var
    n1,n2:inteiro
    inicio
    escreva(“digite um numero: “)
    leia(n1)
    escreva(“digite outro numero: “)
    leia(n2)
    escreva(“os numeros digitados foram:”, n1 ,” e “, n2)

    fimalgoritmo

    [Reply]

  • algoritmo “leianumero”
    // Função :
    // Autor :
    // Data : 06/05/2012
    // Seção de Declarações
    var
    n1, n2: inteiro
    inicio
    escreva(“digite um numero numero”)
    leia(n1)
    escreva(“digite outro numero”)
    leia (n2)
    escreva(“os numeros digitados são: “, n1,” e”, n2)
    fimalgoritmo

    [Reply]

  • Todos já fizeram mas, só para contribuir:

    algoritmo “Exibindo Números”
    // Autor : Bella Felix
    // Data : 06/05/2012
    // Seção de Declarações
    var
    n1,n2:inteiro
    inicio
    escreva(“Digite o primeiro número, mané:”)
    leia(n1)
    escreva(“Digite o segundo número, mané:”)
    leia(n2)
    escreva(“Aê mané, os números foram:”, n1 ,” e”, n2)
    fimalgoritmo

    [Reply]

  • algoritmo “soma”
    // Função :
    // Autor :
    // Data : 07/05/2012
    // Seção de Declarações
    var
    num1:real
    num2:real

    inicio
    escreval(“Digite um número: “)
    leia(num1)
    escreval(“Digite um outro numero: “)
    leia(num2)
    escreval(“O resultado dos dois numeros é:”,num1+num2)
    escreval(“SOU MUITO INTELIGENTE *_____*”)
    // Seção de Comandos
    fimalgoritmo

    [Reply]

  • Hahahahaah nossa é extraordinário oque a imaginação é capaz de fazer ^^ ‘-’

    algoritmo “idadenome”
    // Função :
    // Autor :
    // Data : 07/05/2012
    // Seção de Declarações
    var
    nome:caractere
    id:inteiro

    inicio
    escreval(“Digite seu nome: “)
    leia(nome)
    escreval(“Digite sua idade: “)
    leia(id)
    escreval(“Você se chama:”,nome , ” e tem”, id, ” anos de idade”)
    escreval(“SOU MUITO INTELIGENTE *_____*”)
    // Seção de Comandos
    fimalgoritmo

    [Reply]

  • Como faço para mostrar os números em um intervalo [A,B] ?

    [Reply]

Deixe o sua opinião abaixo

Wix – Criador de Sites

World Plone Day

World Plone Day

Nossos posts no seu Email

Informe seu email abaixo para receber nossas atualizações.

Facebook

Destaques

QuebraLink - Decodifica e inverte links Aprender Algoritmos Dicas Ubuntu Otimização de Sites

Sites Legais

Banner MeuPinguim

Vida de Programador Dicas em Geral - Dicas sobre Informática, Tecnologia e Inclusão Digital Ubuntu Dicas Infológico