Você está na página 1de 4

Guia Prático de Portugol FUNDAMENTOS DA PROGRAMAÇÃO - Guia

Prático de Portugol

Guia Prático de
Portugol
Parte 2
Por Hernany Eduardo
Introdução
Bem galera, vou tentar nesta parte 2 do Guia Prático esclarecer as novas funções que o Jubran nos ensinou
nestes últimos dias. Basicamente estudaremos sobre, laços, que nada mais são de rotinas de repetição de
instruções, e também estudaremos sobre duas funções MOD E DIV, além da função escolha e vetores.

FUNÇÃO MOD
Está função retorna o valor do resto de uma divisão.
Sintaxe:
5 MOD 2 = 1
6 MOD 3 = 0

Vejamos a aplicação do MOD num algoritmo para descobrir se determinado número é par ou impar.
INICIO
INTEIRO : NUM;
LEIA (NUM);
SE (NUM MOD 2=0) ENTAO
ESCREVA (“PAR”);
SENAO
ESCREVA (“IMPAR”);
FIMSE
FIM

FUNÇÃO DIV
Está função retorna valor inteiro do quociente de uma divisão.
Sintaxe:
6 DIV 3 = 2
16 DIV 4 = 4

Vejamos a aplicação do DIV num algoritmo para descobrir o quociente de uma divisão por 2 e informa-lo na tela
para o usuário.
INICIO
INTEIRO : NUM;
LEIA (NUM);
ESCREVA (NUM DIV 2);
FIM

Portanto são funções bem fáceis de se decorar suas funcionabilidades.


LAÇOS OU LOOPS
Vejam só o exemplo abaixo:
Construa um algoritmo que leia 10 números inteiros, e escreva a Soma deles.
Resolvendo pela função SE ficaria assim.

INICIO
INTEIRO: NUM1,NUM2,NUM3, NUM4,NUM5,NUM6, NUM7, NUM8,NUM9,NUM10;
LEIA (NUM1,NUM2,NUM3,NUM4,NUM5,NUM6, NUM7, NUM8,NUM9,NUM10);
ESCREVA (NUM1+NUM2+NUM3+ NUM4+NUM5+NUM6+NUM7+NUM8+NUM9+NUM10);
FIM

MAS QUE MUNDAREL DE VARIAVEIS QUE TIVE QUE CRIAR NAO É MESMO!?
E SEM CONTAR O GRANDE ESPAÇO DE MEMÓRIA QUE ESTOU RESERVANDO PARA O PROGRAMA!
Para o bem geral da nação dos programadores, nossos problemas acabaram.
Chegou o revolucionário LAÇO.
LAÇO nada mais é que uma “FUNCAO SE” , mais sofisticada, que de forma prática irá repetir N vezes determinada
instrução.

Guia Prático de Portugol FUNDAMENTOS DA PROGRAMAÇÃO - Guia


Prático de Portugol
Guia Prático de Portugol FUNDAMENTOS DA PROGRAMAÇÃO - Guia
Prático de Portugol

Nos foi mostrado pelo Jubran dois exemplos de LAÇOS ou LOOPs como desejarem:

FUNÇÃO PARA
Sintaxe:
Para ( n=0 até 999999 ) faça

Fimpara

Esse tipo de laço tem um contador interno, muito útil para rotinas de contagem automática, cronometragem etc...
Vamos ver o exemplo acima funcionando com a FUNÇÃO PARA.
INICIO  INICIO DE PROGRAMA
INTEIRO: NUM,CT,SOMA;  DECLARAÇÃO DE VARIAVEIS
SOMA  0;  PRE-DETERMINANDO À VARIAVEL SOMA O VALOR 0;
PARA (CT=0 ATÉ 9) FAÇA  PARA CT=0 FAÇA ( CT CT+1 ) ATÉ CT=10
LEIA (NUM);  LEIA O NUMERO DIGITADO PELO USUARIO
SOMA  SOMA+NUM;  A VARIAVEL SOMA RECEBE A SOMA DOS NUMEROS DIGITADOS
FIMPARA  FIM DA FUNÇÃO PARA
ESCREVA (SOMA);  ESCREVA O CONTEUDO DA VARIAVEL SOMA
FIM  FIM DO PROGRAMA

Vejam que o número de variáveis diminuiu assustadoramente, e o sistema fica muito mais fácil de se entender. É
o que chamamos de código limpo.

FUNÇÃO ENQUANTO

Sintaxe:
Enquanto ( n <= 99999 ) faça

N=n+1;
Fimenquanto

Já o laço enquanto tem algumas particularidades a mais do que o laço para.


No enquanto não temos um contador interno portanto, temos que criar uma rotina de incrementar a variável de
controle do mesmo. Além disso podemos controlar o laço tanto por variáveis numéricas quanto por variáveis de
outros tipos, como por exemplo no algoritmo baixo.
Ex: Faça um algoritmo que leia quantos nomes o usuário queira digitar e ao final pergunte ao usuário se ele quer
informar mais algum nome.
 Veja a solução abaixo:
INICIO => INICIO DO PROGRAMA
CARACTER : RESP  “S”, NOME; => DECLARACAO DE VARIAVEIS
ENQUANTO (RESP = “S”) FAÇA => ENQUANTO A VARIAVEL RESP TIVER O VALOR
“S” FAÇA
LEIA (NOME) ; => LEIA O QUE DIGITOU O USUARIO
ESCREVA (NOME); =>ESCREVA O QUE FOI DIGITADO
ESCREVA (“DESEJA INFORMAR OUTRO NOME?<S/N>”); => PERGUNTA SE QUER INFORMAR OUTRO
NOME<S/N>
LEIA(RESP); => LÊ O NOVO VALOR DA VARIAVEL RESP, CASO
O FIMENQUANTO USUARIO TENHA DIGITADO “S” O SISTEMA
IRA PEDIR
FIM PARA QUE ELE DIGITE OUTRO NOME, CASO
DIGITE “N”
ELE SAIRÁ DO SISTEMA

Agora um exemplo com o laço sendo controlado por uma variável numérica.
Ex: Faça um algoritimo que escreva a seqüência numérica de 0 a 1000.
 Veja a solução

INICIO => INICIO DO PROGRAMA

Guia Prático de Portugol FUNDAMENTOS DA PROGRAMAÇÃO - Guia


Prático de Portugol
Guia Prático de Portugol FUNDAMENTOS DA PROGRAMAÇÃO - Guia
Prático de Portugol

INTEIRO: N0; => DECLARACAO DE VARIAVEIS


ENQUANTO (N<=1000) FAÇA => ENQUANTO A VARIAVEL N FOR < OU = A 1000
FAÇA
ESCREVA (N,” ”); => ESCREVA O O CONTEUDO DA VARIAVEL N
N=N+1 => INCREMENTA O VALOR DA VARIAVEL
FIM =>CASO O VALOR DE N SEJA AINDA < OU = 1000
ELE IRÁ
=>REPETIR O LAÇO NOVAMENTE, CASO SEU VALOR SEJA
1001 SAIRA DO PROGRAMA

FUNÇÃO ESCOLHA
Sintaxe:
Escolha (VARTESTE)
OPCAO 1: ESCREVA (“ESCOLHEU 1”);
OPCAO 2: ESCREVA (“ESCOLHEU 2”);
OPCAO 3: ESCREVA (“ESCOLHEU 3”);
DEFAULT: ESCREVA (“ESCOLHA 1,2 OU 3”);
FimEscolha

A função escolha é também uma função SE mais sofisticada. Seu uso é bem simples.
Vamos através de mais um exemplo fixar essa função e seu funcionamento.
Ex: Faça um algoritmo que leia dois número. Solicite ao usuário que informe qual operação matemática ele deseja
realizar com os dois números. Caso ele digite “+”, será feita uma adição, caso “*”, será realizado uma
multiplicação, caso seja uma outra operação, mostre uma mensagem de erro.

INICIO
INTEIRO : N1, N2;
CARACTER : OPERACAO;
LEIA (N1,N2);
ESCOLHA (OPERACAO)
OPCAO “+”: ESCREVA (N1+N2);
OPCAO “*”: ESCREVA (N1*N2);
DEFAULT : ESCREVA (“!!!! ERRO !!!!”);
FIMESCOLHA
FIM

VETORES
Sintaxe:
Inteiro : i [50];

Um método de interessante de armazenamento de dados é o VETOR. Com ele em uma única variável seremos
capazes de armazenar vários dados de um mesmo tipo numa única variável.
Digamos que precisamos armazenar a idade de 5 pessoas e ao final do programa seja necessário imprimir todas
as idades no final do programa.
Veja o como o vetor trabalharia para nos atender.
Inteiro : idade [5] ;
Abrimos no vetor 5 espaços para armazenar as idades. Digamos que no programa as idades foram informadas na
seguinte ordem: 10, 20, 59, 12, 25.
O vetor irá armazenar na seguinte forma.
[10 20 59 12 25] , sendo que a idade 10 ficou na posição 0, a idade 20 ficou na posição 1, a idade 59 ficou na
posição 2
a idade 12 ficou na posição 3, e finalmente a idade 25 ficou na posição 4.

Vamos ver o funcionamento em um programa.


Faça um algoritmo que leia 50 números e os apresente na ordem de digitação.
INICIO
INTEIRO : I, N[50];
PARA (I=0 ATÉ 49) FAÇA
LEIA (N [ I ] ); => A VARIAVEL I REPRESENTA A POSIÇÃO ATUAL DO VETOR

Guia Prático de Portugol FUNDAMENTOS DA PROGRAMAÇÃO - Guia


Prático de Portugol
Guia Prático de Portugol FUNDAMENTOS DA PROGRAMAÇÃO - Guia
Prático de Portugol

FIMPARA
PARA (I=0 ATÉ 49) FAÇA
ESCREVA (N [I] ) ;
FIMPARA
FIM

Guia Prático de Portugol FUNDAMENTOS DA PROGRAMAÇÃO - Guia


Prático de Portugol

Você também pode gostar