A partir de hoje inicio mais uma serie de posts para iniciantes na área da programação, estes posts conterão assuntos relacionados à programação no interpretador HALL. Para baixar o HALL clique no link http://www.paim.pro.br/hall/.
Este post conterá exemplos de: declaração
de variáveis, função Escreva() , e Leia().
Como já de costume
vamos começar com um Hello World.
Exemplo 1.0
/*
ERICK R. RIBEIRO
DATA: 25/07/2013
ULTIMA MODIFICACAO: 25/07/2013
Hello World
*/
algoritmo()
{
escreva ("Hello, world"); //Imprime da tela Hello World
}
|
Função escreva()
A função escreva() tem por objetivo
exibir na tela do computador mensagem informadas pelo programador, estas são
passadas através expressões.
Sintaxe:
escreva(expressão),
Então você se
pergunta o que são expressões?
O exemplo
1.2 e 1.3 exemplificarão os tipos de expressões que poderem ser passadas na
função escreva().
Exemplos
1.2
algoritmo()
{
cadeia mensagem;
inteiro dia;
real altura;
real peso;
mensagem := "Programando
no Interpretador HAll" ;
dia := 25;
altura := 1.68;
peso := 63;
escreva ( "Hello,
world"); // uma cadeia
escreva ( mensagem ); // uma variável
escreva ( "Hoje
eh dia ", dia ); // uma cadeia e uma variável
escreva ( "A
sua altura eh ", altura, " e o
seu peso eh ", peso ); // uma sequência de cadeias e variáveis
escreva ( "Meu
nome eh Erick Ribeiro", "o seu
eu nao sei" ); // uma sequência somente de cadeias.
escreva ( dia, altura, peso ); // uma sequência de
variáveis
}
|
Exemplo: 1.3
algoritmo()
{
inteiro num;
num := 10;
escreva("Varias somas"); //uma cadeia
escreva("2 + 2 = ", 2+2); //uma cadeia
e uma expressão matemática
escreva("Valor de X = ", X); // uma cadeia e uma variável
escreva("X + 1 = ", X+1);
// uma
cadeia e uma variável com uma expressão
matemática
}
|
Função leia()
A função
leia() tem por objetivo capturar o que é digitado no teclado e atribuir a
variáveis declaradas no programa.
Sintaxe:
leia(expressão), onde expressão poderá ser de dois
tipos:
1.
Uma variável:
Exemplo: leia(num);
2.
Um texto seguido de uma variável separados por
uma vírgula.
Exemplo: leia(“Informe um numero: ”,num);
Exemplo 1.4
algoritmo()
{
real num; // um numero qualquer
real r; // a raiz quadrada de num
leia("Informe um
numero positivo: ", num);
r := raiz(num);
escreva("Raiz
quadrada de ", num, " eh = ", r);
}
|
A
função raiz() é uma função interna que retorna a raiz do número passado por
parâmetro.
Declaração de Variável
O interpretador Hall
aceita 4 tipos de dados básicos de variáveis:
ascii ou
caracter
|
sexo :=
‘M’
|
cadeia
|
sexo :=
“Masculino”
|
inteiro
|
num : =
25;
|
real
|
num :=
25.35;
|
A
declaração de uma variável segue a seguinte sintaxe:
Sintaxe:
<tipo> <nome> ; ou
<tipo> <nome>, <nome2>, ... ,<nome>;
Especifica-se
primeiro o tipo e em seguida as variáveis daquele tipo. A instrução de
declaração deve ser finalizada com um ponto e vírgula.
Existem
duas formas de se declarar, poder ser por linha ou por lista de variáveis.
Por linha, veja o exemplo:
inteiro I;
real X;
caracter c;
cadeia s;
|
Por lista
de variáveis, veja o exemplo:
inteiro i, j, k;
real
Temperatura, Peso, Estatura;
caracter c, resp;
cadeia nome, sobrenome;
|
Exemplo
1.4 - Declaração de Variáveis
algoritmo () {
inteiro b; // declara variável do tipo inteiro
real c; // declara variável do tipo real
cadeia d; // declara variável do tipo cadeia
b := 33;
c := 2.7182;
d := "Interpretador HALL";
escreva ("O valor da variavel b eh: ", b);
escreva ("O valor da variavel c eh: ", c);
escreva ("O valor da variavel d eh: ", d);
escreva ( "Variaveis declaradas." );
}
|
Tipo primitivo ascii ou caracter
Tipo
primitivo ascii ou caracter. É utilizado para armazenar um único caracter. Qualquer
caracter da tabela ASCII é válido, por exemplo: 'a', 'A', '5', '&', etc. Na
atribuição de valores a variáveis do tipo ascii, o caracter deverá ser colocado
entre apóstrofes
ou aspas simples.
Importante:
Quando
declaramos uma variável de um tipo qualquer, estamos na verdade delimitando o
conjunto de valores que ela poderá assumir bem como os tipos de operações que
podemos realizar com elas.
|
Exemplo:
1.5
algoritmo()
{
caracter
c;
c := 'G';
escreva ( "O
valor atribuido a c foi: ", c );
}
|
Tipo primitivo cadeia
É
utilizado para armazenar sequencia de caracteres, ou seja, 1 ou mais
caracteres. O comprimento máximo da cadeia está limitado atualmente a 128
caracteres (no Interpretador HALL). Toda cadeia é uma sequencia de caracteres disposta
entre aspas duplas, como no Exemplo 1.5.
Exemplo 1.6
algoritmo( )
{
cadeia msg;
msg := "Estou
aprendendo a programar no Interpretador HALL";
escreva ( "O
valor atribuido a MSG foi: ", msg );
}
|
Importante:
Ressaltando
mais uma vez, na atribuição de um valor a uma variável do tipo cadeia, o
valor tem que vir entre aspas duplas
|
.Tipo primitivo inteiro
É
utilizado para armazenar valores numéricos sem a parte ou casas decimais. É representado por 4
bytes na memória.
Exemplo
1.7
algoritmo( )
{
inteiro num;
inteiro pi;
pi := 3.1415;
leia("Informe um
numero inteiro: ", num);
escreva("O
valor informado: ", num);
escreva("O valor de
pi eh: ",pi);
}
|
Na tentativa
de atribuir um valor não inteiro, para a variável pi ocorrera um truncamento da
parte decimal do valor, exibindo somente pi igual a 3.
Tipo primitivo real
O tipo
real é utilizado para armazenar valores numéricos contendo casas decimais. O
tipo real ocupa 8 bytes na memória da
máquina. A posição decimal em um valor numérico do tipo real é representada por
um ponto.
Exemplo
1.8
algoritmo( )
{
real R;
leia ("Informe
o preço de compra: ", R);
R := R * 1.25;
escreva ("O
preço de venda e: ", R);
}
|
Operadores
O
interpretador Hall conta com o seguinte conjunto de operadores:
Descrição
|
Exemplo
|
Aritméticos
|
+ - * /
% ^
|
Atribuição
|
:= =
<-
|
Relacionais
|
== #
> >= < <=
|
Lógicos
|
& |
!
|
Membridade
|
. ( ) {
} [ ]
|
Delimitadores
|
" '
|
Sequência
|
,
|
Finalizador
|
;
|
Exemplo 1.9 – Teste de operadores Lógicos
algoritmo ()
{
inteiro a; // declara uma variavel do tipo inteiro
inteiro b; // declara uma variavel do tipo inteiro
inteiro s; // soma
inteiro d; // diferenca
inteiro p; // produto
inteiro q; // quociente
inteiro t; // potencia
inteiro r; // modulo (resto de divisao inteira)
escreva ("Testa os operadores aritméticos: ");
leia ("Digite um numero a: ", a );
leia ("Digite um numero b: ", b );
s := a + b;
d := a - b;
p := a * b;
q := a / b;
t := a ^ b;
r := a % b;
escreva ( "a soma eh: ", s );
escreva ( "a diferenca eh: ", d );
escreva ( "o produto eh: ", p );
escreva ( "o quociente eh: " ,q );
escreva ( "a potencia eh: ", t );
escreva ( "o resto da divisao inteira eh: ", r
);
}
|
0 comentários:
Postar um comentário