300x250 AD TOP

Blogger news

AD (728x90)

Tecnologia do Blogger.

Colaboradores

Seguidores

Postagens populares

Tagged under:

Interpretador Hall - Parte I, escreva(), leia(), Operadores e Tipos de Variáveis.



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