Buscar

Comandos do Portugol

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 2 ­ Conhecendo os comandos do Portugol (retirado da aba Ajuda do Simulador)
1. O "Portugol" utiliza a língua portuguesa para a definição dos comandos.
CARACTERÍSTICAS:
a) ­ Não faz distinção entre letras maiúsculas e minúsculas.
b) ­ Todos os algoritmos começam por inicio e terminam com fim.
c) ­ Devemos digitar, apenas, um comando por linha.
d) ­ O <Enter> é entendido como fim de comando.
e) ­ O sinal de atribuição é a seta ( <­ )
f) ­ Os símbolos podem ser definidos em qualquer local do algoritmo.
Sintaxe
inicio
  Algoritmo
fim
2. Tipos de Dados Básicos
Tipo Descrição Valores ValorPadrão
Inteiro Valores ordinais definidos com quatrobits
­2 147 483 648
 2 147 483 647 0
Real Valores com parte decimal definidoscom 64 bits
­1.7 E 308
1.7 E 308 0.0
Lógico Valores lógicos ­ 1 bit verdadeirofalso falso
Carácter Caracteres da Tabela ASCII ASCII(0)ASCII(255)
" "
(espaço)
Texto Conjuntos de caracteres
"Sequências de
caracteres"
"entre aspas"
"" (vazio)
3. Tipos de Dados Variáveis
DEFINIÇÃO:
Variável é todo símbolo, básico de processamento, cujo valor pode ser alterado durante o processamento. 
Através de sua declaração fica definido o tipo de informação que ela poderá conter.
Regras para a declaração de variáveis:
a) ­ O nome tem de começar por uma letra, ou pelo caractere  undescore (_), e não pode ser uma palavra
reservada da linguagem.
b) ­ O valor de inicialização tem de ser compatível com tipo de variável definida.
c) ­ Se o valor de inicialização for omitido a variável é inicializada com os valores padrões.
d) ­ É possível definir mais que uma variável utilizando o caractere virgula (,)
e) ­ É possível omitir a palavra variável.
Sintaxe
variavel [tipo] [nome] <­ [expressão]
variavel [tipo] [nome] <­ [valor] ,[nome] <­ [expressão]
[tipo] [nome] <­ [expressão]
 [tipo] [nome]
Exemplos:
variavel inteiro idade <­ 18
variavel real peso <­ 23.14
logico repetente
texto nome <­ "Antonio" , apelido <­ "Sousa"
caracter sexo
4. Tipos de Dados Constantes
DEFINIÇÃO:
É todo símbolo cujo valor permanece inalterado durante todo o processamento.
Segue as mesmas regras que a definição de variáveis, porém não é possível omitir o valor de inicialização.
Sintaxe
constante [tipo] [nome] <­ [valor]
constante [tipo] [nome] <­ [expressão]
constante [tipo] [nome] <­ [valor] ,[nome] <­ [expressão]
Exemplos:
constante inteiro meses <­ 12
constante real pi <­ 3.14
5. Tipos de Dados Estruturados
DEFINIÇÃO:
Estruturas homogêneas de dados (Arrays) define um conjunto de dados, todos do mesmo tipo, que podem
ser acessados através de um índice.
Regras para a declaração de variáveis:
a) Se a declaração omitir o termo <variavel/constante> o array é variável.
b) A definição do nome obedece ás mesmas regras das variáveis.
c) A dimensão tem de ser um valor inteiro ou uma expressão com resultado inteiro.
d) As dimensões estão declaradas entre colchetes e separadas por vírgulas.
e) São permitidas tantas dimensões quantas as desejadas.
f) Se o valor de inicialização for omitido todo o conjunto é inicializado com os valores padrão.
g) Se o número de valores for insuficiente os últimos elementos são inicializados com os valores padrão.
Sintaxe
<variavel/constante> <tipo dados> nome [dimensão]
<variavel/constante> <tipo dados> nome  [dim1][dim2]...[dimn]
<tipo dados> nome  [dimensão]
<tipo dados> nome[dimensão] <­ {valor_1, valor_2, . . . , valor_n}
Exemplos:
constante texto estacoes[4] <­ {"inverno", "outono", "primavera" , "verão" }
variavel inteiro notas[3] <­ {10,20}
real salarios[12]
logico bits[8]
6­ LER
DEFINIÇÃO:
Solicita a introdução de valores para as variáveis através do teclado.
É possível definir a leitura de várias variáveis desde que estas estejam separadas por virgulas (,).
A leitura de uma variável deve ser precedida da sua declaração.
Os valores introduzidos, para cada variável, devem ser compatíveis com o tipo definido na declaração da
mesma.
Sintaxe
ler variável
ler variavel1, variavel2
Exemplo:
inicio
    texto nome
    escrever "qual o seu nome:"
    ler nome
    escrever "bem­vindo ao portugol " , nome
fim
Resultado esperado no monitor:
qual o seu nome: Antônio
bem­vindo ao portugol Antônio
7­ ESCREVER
DEFINIÇÃO:
Solicita a introdução de valores para as variáveis através do teclado.
Numa mesma instrução podemos escrever vários elementos desde que seja separados por vírgulas (,).
Existem três símbolos predefinidos no texto:
\n ­ mudança de linha (enter)
\t ­ tabulação
\" ­ caractere aspas (")
Sintaxe
escrever variável
escrever constante
escrever "texto"
escrever [expressão]
escrever variável , "texto" , expressão , . . .,
Exemplo:
inicio
    texto nome
    escrever "qual o seu nome:"
    ler nome
    escrever "\nbem­vindo ao portugol \t\"" , nome , "\""
fim
Resultado esperado no monitor:
qual o seu nome: Antônio
bem­vindo ao portugol           Antônio
8­ Operadores aritméticos para números inteiros
DESCRIÇÃO: Operadores que utilizam exclusivamente variáveis, ou valores inteiros
Tipo Descrição
+ Adição
­ Subtração
/ Divisão Inteira
* Multiplicação
% Resto dadivisão inteira
^ Potenciação
Exemplo:
inicio
    inteiro i1 <­ 5 , i2 <­ 2
    escrever "operadores inteiros"
    escrever "\n" , i1 , " + " , i2 , " = " , i1 + i2
    escrever "\n" , i1 , " ­ " , i2 , " = " , i1 ­ i2
    escrever "\n" , i1 , " * " , i2 , " = " , i1 * i2
    escrever "\n" , i1 , " / " , i2 , " = " , i1 / i2
    escrever "\n" , i1 , " % " , i2 , " = " , i1 % i2
    escrever "\n" , i1 , " ^ " , i2 , " = " , i1 ^ i2
fim
Resultado esperado no monitor:
operadores inteiros
5 + 2 = 7
5 ­ 2 = 3
5 * 2 = 10
5 / 2 = 2
5 % 2 = 1
5 ^ 2 = 25
9­ Operadores aritméticos para números reais
DESCRIÇÃO: Operadores que utilizam variáveis, ou valores numéricos em que pelo menos um  elemento
é do tipo real.
Tipo Descrição
+ Adição
­ Subtração
/ Divisão Inteira
* Multiplicação
^ Potenciação
Exemplo:
inicio
    real i1 <­ 5.0 , i2 <­ 2.0
    escrever "operadores inteiros"
    escrever "\n" , i1 , " + " , i2 , " = " , i1 + i2
    escrever "\n" , i1 , " ­ " , i2 , " = " , i1 ­ i2
    escrever "\n" , i1 , " * " , i2 , " = " , i1 * i2
    escrever "\n" , i1 , " / " , i2 , " = " , i1 / i2
    escrever "\n" , i1 , " ^ " , i2 , " = " , i1 ^ i2
fim
Resultado esperado no monitor:
operadores real
5.0 + 2.0 = 7.0
5.0 ­ 2.0 = 3.0
5.0 * 2.0 = 10.0
5.0 / 2.0 = 2.5
5.0 ^ 2.0 = 25.0
10­ Operadores aritméticos para texto
DESCRIÇÃO: Operadores que utilizam variáveis, ou valores do tipo texto. São empregados na
concatenação de textos.
Exemplo:
inicio
    texto nome1 <­"Linguagem"
    texto nome2 <­"Algoritmica"
    texto nome3
    nome3 <­ nome1 + " " + nome2
    escrever nome3
fim
Resultado esperado no monitor:
Linguagem Algoritmica
11­ Operadores lógicos
DESCRIÇÃO: Os operadores lógicos fornecem com resultado um valor lógico (verdadeiro ou falso).
Os operadores E e OU são operadores binários e o NAO é um operador unário.
Tipo Descrição
E Retorna verdadeiro se ambas as partes foremverdadeiras
OU Basta que uma parte seja verdadeira para retornarverdadeiro
XOU Retorna verdadeira quando apenas uma das partesfor verdadeira.
NAO Inverte o estado, de verdadeiro passa para falso evice­versa
Exemplo:
inicio
    logico l1 , l2
    l1 <­ verdadeiro
    l2 <­ falso
    escrever "\n não " , l1 , "\t= " , nao l1
    escrever "\n não " , l2 , "\t= " , nao l2
    escrever "\n\n" , l1 , " e \t" , l2 , " = " , l1 e l2
    escrever "\n" , l1 , " ou \t" , l2 , " = " , l1 ou l2
    escrever "\n" , l1 , " xou \t" , l2 , " = " , l1 xou l2
    l1 <­ verdadeiro
    l2 <­ verdadeiro
    escrever "\n\n" , l1 , " e \t" , l2 , " = " , l1 e l2
    escrever "\n" , l1 , " ou \t" , l2 , " = " , l1 ou l2
    escrever "\n", l1 , " xou \t" , l2 , " = " , l1 xou l2
    l1 <­ falso
    l2 <­ falso
    escrever "\n\n" , l1 , " e \t" , l2 , " = " , l1 e l2
    escrever "\n" , l1 , " ou \t" , l2 , " = " , l1 ou l2
    escrever "\n" , l1 , " xou \t" , l2 , " = " , l1 xou l2
fim
Resultado esperado no monitor:
não VERDADEIRO = FALSO
não FALSO = VERDADEIRO
VERDADEIRO e FALSO = FALSO
VERDADEIRO ou FALSO = VERDADEIRO
VERDADEIRO xou FALSO = VERDADEIRO
VERDADEIRO e VERDADEIRO = VERDADEIRO
VERDADEIRO ou VERDADEIRO = VERDADEIRO
VERDADEIRO xou VERDADEIRO = FALSO
FALSO e FALSO = FALSO
FALSO ou FALSO = FALSO
FALSO xou FALSO = FALSO
12­ Operadores relacionais
DESCRIÇÃO: 
Os operadores lógicos fornecem com resultado um valor lógico (verdadeiro ou falso)
Se os operandos forem numéricos a comparação é feita com base no seu valor
Se os operadores forem texto a comparação é feita lexicograficamente
Se os operadores forem lógicos apenas estão disponíveis a igualdade e a diferença
Tipo Descrição
= Igual
=/= Diferente
> Maior
>= Maior ou igual
< Menor
<= Menor ouigual
Exemplo:
inicio
    real l1 <­ 5.0 , l2 <­ 3
    escrever "\n" , l1 , " = " , l2 , "\t= " , l1 = l2
    escrever "\n" , l1 , " =/= " , l2 , "\t= " , l1 =/= l2
    escrever "\n" , l1 , " > " , l2 , "\t= " , l1 > l2
    escrever "\n" , l1 , " >= " , l2 , "\t= " , l1 >= l2
    escrever "\n" , l1 , " < " , l2 , "\t= " , l1 < l2
    escrever "\n" , l1 , " <= " , l2 , "\t= " , l1 <= l2
fim
Resultado esperado no monitor:
5.0 = 3.0 = FALSO
5.0 =/= 3.0 = VERDADEIRO
5.0 > 3.0 = VERDADEIRO
5.0 >= 3.0 = VERDADEIRO
5.0 < 3.0 = FALSO
5.0 <= 3.0 = FALSO
13­ Seleção ­ SE
DESCRIÇÃO: Seleção de instruções. A condição deve ser uma variável lógica, ou uma expressão com
resultado lógico (operadores lógicos, ou relacionais).
Sintaxe
se [condição] então
    [instruções]
senão
    [instruções]
fimSe
OU
se [condição] então
    [instruções]
fimSe
Exemplo:
inicio
    inteiro numero, r
    escrever " introduza um numero: "
    ler numero
    r <­ numero % 2
    se r = 0 entao
        escrever "numero par"
    senao
        escrever "numero impar"
    fimse
fim
Resultado esperado no monitor:
introduza um numero: 5
numero impar
14­ Seleção Escolhe Caso
DESCRIÇÃO: Esta estrutura compara a expressão_0 com as restantes expressões (expressão_1 . . .
expressão_n), e se a comparação for positiva executa as instruções do Caso e sai.
A estrutura tem um caso por defeito (opcional) é executada quando todas as outras condições falharem.
Sintaxe
Escolhe [expressão_0]
    Caso [Expressão_1o],. . .,[Expressão_1n],:
        [instruções]
     . . . . . . . . . . .     
    Caso [Expressão_no],. . .,[Expressão_nn],:
        [instruções]   
    Defeito:
        [instruções]   
FimEscolhe
Exemplo:
inicio
    caracter sexo
    escrever "Qual o seu sexo :"
    ler sexo
    escrever "Olá "
    escolhe sexo
        caso "m" :
            escrever "Homem"
        caso "f" :
            escrever "Mulher"
        defeito :
            escrever "Sexo indefinido"
    fimescolhe
    escrever ", bem­vindo ao portugol"
fim
Resultado esperado no monitor:
Qual o seu sexo ?: m
Olá Homem, bem­vindo ao Portugol
15­ Repetição Enquanto
DESCRIÇÃO: Repete as instruções enquanto a condição for verdadeira
Sintaxe
enquanto [condição] faz
    [intruções]
fimEnquanto
Exemplo:
inicio
    inteiro contador
    contador <­ 0
    enquanto contador < 10 faz
        escrever contador , "\t"
        contador <­ contador + 1
    fimenquanto
fim
Resultado esperado no monitor:
0    1    2    3    4    5    6    7    8    9
16­ Repetição Para
DESCRIÇÃO: Repete as instruções controlado por uma variável numérica que percorre os valores, entre
dois limites, utilizando o passo definido. Caso o passo não seja definido, o passo é de mais ou menos uma
unidade de forma a poder percorrer o intervalo entre o valor inicial, e o final de forma crescente, ou
decrescente.
Sintaxe
para [variável numerica] de [valor inicial] ate [valor final] passo [valor de separação]
    [intruções]
próximo
OU
para [variável numerica] de [valor inicial] ate [valor final]
    [intruções]
próximo
Exemplo:
inicio
    inteiro contador
    para contador de 0 ate 9 passo 1
        escrever contador , "\t"
    proximo
fim
Resultado esperado no monitor:
0    1    2    3    4    5    6    7    8    9
17­ Repete
DESCRIÇÃO: repete as instruções até que a condição seja verdadeira.
Sintaxe
repete
    [instruções]
até[condição]
Exemplo: Solicita a introdução de um mês enquanto o usuário não digitar um número válido ( entre 1 e 12)
inicio
    inteiro mes
    repete
        escrever "introduza um mes :"
        ler mes
    ate mes > 0 e mes < 13
    escrever "\nmês introduzido :" , mes
fim
Resultado esperado no monitor:
introduza um mês :­10
introduza um mês :20
introduza um mês :5
mês introduzido :5
18­ FAZ
DESCRIÇÃO: repete as instruções até que a condição seja falsa.
Sintaxe
Faz
    [instruções]
Enquanto[condição]
Exemplo: Solicita a introdução de um mês enquanto o usuário não digitar um número válido ( entre 1 e 12)
inicio
    inteiro mes
    faz
        escrever "introduza um mês :"
        ler mes
    enquanto mes < 0 ou mes > 13
    escrever "\nmês introduzido :" , mes
fim
Resultado esperado no monitor:
introduza um mês :­10
introduza um mês :20
introduza um mês :5
mês introduzido :5
19­ Funções de Biblioteca
a) Aleatório:  retorna um número real entre 0 e 1
Sintaxe
real aleatorio()
Exemplo:
inicio
    inteiro numero , contador
    escrever "chave de totoloto :"
    para contador de 1 ate 6
        numero <­ aleatorio ( ) * 47 + 1
        escrever numero , "\t"
    proximo
fim
Resultado esperado no monitor:
chave de totoloto :41 16 13 2 6 22
b) Funções com argumentos (trigonométricas):
Tipo Descrição
SEN Seno
COS Coseno 
TAN Tangente
CTG Cotangente
ASEN Arco seno
ACOS Arco coseno
ATAN Arco tangente
ACTG Arco cotangente
SENH Seno hiperbólico
COSH Coseno hiperbólico
TANH Tangentehiperbólica
CTGH Cotangentehiperbólica
Exemplo:
inicio
real angulo <­ 0.0
escrever "\nseno (" , angulo , ") \t\t= " , sen ( angulo )
escrever "\ncoseno (" , angulo , ") \t\t= " , cos ( angulo )
escrever "\ntangente(" , angulo , ") \t\t= " , tan ( angulo )
escrever "\ncotangente(" , angulo , ") \t= " , ctg ( angulo )
escrever "\n\narco seno(" , angulo , ") \t\t= " , asen ( angulo )
escrever "\narco coseno(" , angulo , ") \t= " , acos ( angulo )
escrever "\narco tangente(" , angulo , ") \t= " , atan ( angulo )
escrever "\narco cotangente(" , angulo , ") \t= " , actg ( angulo )
escrever "\n\nseno hiperbólico (" , angulo , ") \t\t= " , senh ( angulo )
escrever "\ncoseno hiperbólico (" , angulo , ") \t= " , cosh ( angulo )
escrever "\ntangente hiperbólico(" , angulo , ") \t= " , tanh ( angulo )
escrever "\ncotangente hiperbólico(" , angulo , ") \t= " , ctgh ( angulo )
fim
Resultado esperado no monitor:
seno (0.0) = 0.0
coseno (0.0) = 1.0
tangente(0.0) = 0.0
cotangente(0.0) = Infinity.0
arco seno(0.0) = 0.0
arco coseno(0.0) = 1.5707963267948966
arco tangente(0.0) = 0.0
arco cotangente(0.0) = Infinity.0
seno hiperbólico (0.0) = 0.0
coseno hiperbólico (0.0) = 1.0
tangente hiperbólico(0.0) = 0.0
cotangente hiperbólico(0.0) = Infinity.0
c) Funções matemáticas:
Tipo Descrição
EXP Exponencial (e^x)
ABS Valor absoluto
RAIZ Raiz Quadrada
LOG Logaritmo base 10
LN Logaritmo base "e"
INT Parte inteira de umnúmero real
FRAC Parte fracionária de umnúmero real
ARRED Arredondamento de umnúmero real
Exemplo:
inicio
real n1 <­ 123.6
real n2 <­ 1.0
/* o que vem a seguir é considerado como comentário
escrever "\nExp (" , n2 , ")\t= " , exp ( n2 )
escrever "\nABS (" , n1 , ")\t=" , abs ( n1 )
escrever "\nRaiz (" , n2 * 4 , ")\t= " , raiz ( n2 * 4 )
escrever "\nLog (" , n2 * 1000 , ")\t= " , log ( n2 * 1000 )
escrever "\nLn (" , n2 * 1000 , ")\t= " , ln ( n2 * 1000 )
escrever "\nInt (" , n1 , ")\t= " , int ( n1 )
escrever "\nfrac (" , n1 , ")\t= " , frac ( n1 )
fim do comentário*/
escrever "\nArred (" , n1 , ")\t= " , arred ( n1 )
fim
Resultado esperado no monitor (eliminando /* e */):
Exp (1.0) = 2.7182818284590455
ABS (123.6) = 123.6
Raiz (4.0) = 2.0
Log (1000.0) = 3.0
Ln (1000.0) = 6.907755278982137
Int (123.6) = 123
frac (123.6) = 6
Arred (123.6) = 123

Outros materiais