Você está na página 1de 19

Robert Chatley

1 - A Linguagem Kenya - Histrico


Toda linguagem de programao precisa de um nome. Como o nome JAVA diz respeito a uma cidade produtora de caf, o autor da linguagem KENYA escolheu este nome, que tambm um nome de caf, por achar mais light do que o JAVA e, desta forma serviria como uma introduo antes de enfrentar a dificuldade do JAVA. Kenya uma linguagem de programao para ensinar programao. O ambiente Kenya converte automaticamente um cdigo escrito em Kenya para Java. Kenya foi projetada e desenvolvida por Robert Chatley com ajuda de Susan Eisenbach. A maioria do trabalho no desenvolvimento da verso2 foi feita por Alan Chan. Ela est sendo mantida por Christoper Anderson. O logotipo de autoria de Astok Argent-katwala. 2 Ambiente Kenya Kenya roda nas plataformas Windows e Linux e necessrio que a linguagem Java esteja instalado em sua mquina, pois foi escrito em Java.

Tipos de Dados Primitivos


Kenya tem os seguintes tipos de dados primitivos: boolean - Tipo de dado lgico que s pode assumir dois valores: true e false char - Tipo de dado que permite um caracter entre plicas: S`, @` , etc.

double - Tipo de dado numrico do tipo ponto flutuante; 3.0, -8.76, etc. (7
dgitos no mximo na parte inteira, e at 16 na parte fracionria)

int Tipo de dado numrico inteiros: 23, -1234, etc. (10 dgitos no mximo)
String Tipo de dado formado por um conjunto de caracteres entre aspas:
CURSO DE ENGENHARIA DE PRODUO, UNESA, etc.

Declarando Variveis
As variveis so lugares na MP(Memria Principal) e so criadas para armazenar dados que sero manipulados no programa, logo, como a linguagem Kenya trabalha com tipos de dados, elas podero ser: booleanas, caracter, real de preciso dupla, inteira e strings. Elas precisam ser declaradas antes de serem usadas. S pode declarar uma varivel por vez. O nome da varivel dever comer por uma letra e s poder ter letra ou algarismos a partir do segundo caracter. Toda varivel dever ser declarada de acordo com o tipo de dado que ir armazenar. Como declarar uma varivel Tipo int double char String boolean nome da varivel; idade; alt; sexo; nome; resp; Como atribuir valor a uma varivel nome da varivel = contedo; Idade = 15; Alt = 1.76; Sexo = m`; Nome = Pedro henrique; Resp = true;

Seguindo a filosofia do java, as variveis podem ser declaradas em qualquer ponto do programa. As variveis precisam ser inicializadas, isto no poderam ser manipuladas se no tiverem um valor.

Definies de Tipos pelo Usurio


Na linguagem Kenya possvel definir uma classe(registro ou estrutura em outras linguagens) para encapsular um grupo de variveis que tm algo em comum (atriButos de um objeto. Diriam os programadores das linguagens orientadas a objetos). A classe na linguage Kenya um struc(C) ou Record(Pascal). A classe declarada antes do main().
Declarando uma classe Classe nome da classe { declarao das variveis; } Exemplo:: Nome da classe: Pessoa

Variveis(Atributos): nome e periodo

Classe Pessoa { String nome; int periodo; }

Uma vez declarada a classe antes do main(), voc estar habilitado para declarar Variveis com este tipo. Classe pessoa { String nome; int periodo; } Void main() { Pessoa aluno;

Para acessar os campos das classes, use o operador; aluno.nome = readString(); aluno.periodo = readInt();

As Funes de Entrada
A linguagem Kenya disponibiliza quatro funes para entrada de dados (exceto para Boolean() via teclado de acordo com o tipo que est sendo esperado.
readInt()
readDouble() readString() readChar()

entrada de dados para varivel numrica tipo int


entrada de dados para varivel numrica tipo double entrada de dados para varivel numrica tipo string entrada de dados para varivel numrica tipo char

Na declarao: Tipo nome da varivel = nomefuncao() Int idade = readInt(); Double alt = readDouble(); Char sexo = readChar(); String nome = readString(); Aps a varivel ter sido declarado, usando o comando de atribuio:

Nome da varivel = nomefuncao() idade = readInt(); alt = readDouble(); sexo = readChar(); // sexo = read() nome = readString();

Operadores Bsicos
Operador + * / % ^ Significado Adio Subtrao Multiplicao Diviso Resto da Diviso (inteiro ou real) Potenciao Radiciao -> radicando ^(1.0/indice) Exemplo 2+3 14 - 5 4*3 20 /3 ou 20 / 3.5 30 % 4 ou 30 % 4.5 2^5 256 ^(1.0/2)

Observaes: O operador de / trabalha da seguinte maneira: se o dividendo e o divisor forem inteiros ento o quociente ser inteiro. Se voc desejar uma diviso real, um dos operandos dever se tornar real, acrescentando .0 9ponto zero) se os dois forem constantes.

Funes Matemticas exp(...)


calcula a potncia do nmero neperiano exp(2) e=2.7182818248459045

log(...)
srqt(...)

Calcula o logaritmo na base neperiana


Calcula a raiz quadrada Sqrt(34)

Para as funes sin, cos e tan voc precisar converter graus para radianos entre parnteses: Nome da funo (ang * 3.14159265 / 180) sin(...)
cos(...) tan(...)

Calcula o seno cujo ngulo est em rd


Calcula o co-seno cujo ngulo est em rd Calcula o tangente cujo ngulo est em rd

Sin(30 * 3.14159265 / 180)


cos(30 * 3.14159265 / 180) tan(30 * 3.14159265 / 180)

Para as funes asin, acos e atan voc precisar converter graus, pois o resultado dado em radianos : Nome da funo (v alor) / 3.14159265 * 180

asin(...)
acos(...) atan(...)

Calcula o ngulo cujo seno dado


Calcula o ngulo cujo co-seno dado Calcula o ngulo cujo tangente dada

Asin(0.5) / 3.14159265 * 180


Acos(0.5) / 3.14159265 * 180 Atan(0.5) / 3.14159265 * 180

As trs funes abaixo fazem um arredondamento de formas diferentes


round(...) floor(...) ceil(...) random(...) abs(...) Faz um arredondamento matemtico Arredonda para baixo Arredonda para cima Gera um nmero aleatrio entre 0 e 1 Retorna o nmero sem sinal Roun(3.5) Floor(3.5) Ceil(3.5) Random( ) no tem argumento Abs(-8)

Operadores Relacionais
Operadores Significado
igual
diferente menor maior menor ou igual maior ou igual

Exemplo
2 + 2 == 4 ou a` == b`
S` != s` 5<6 3*2>5 2 <= 5 7 >= 3 + 2

== != < > <= >=

A resposta de uma expresso que usa operadores relacionais ser: true (V) ou False (F)

Consideraes: Os operadores relacionais podem ser usados com qualquer um dos cinco tipos de dados Quando os dados so dos tipos Char ou String, a comparao feita tendo em vista o cdigo ASCII dos caracteres. (algarismos 0-9: 48-57, letras maisculas: 65-90, letras maisculas: 97-122. etc).

Expresses lgicas
Operadores
&& ou and

Significado
E( todas as expresses verdadeiras)

Exemplo
2 + 2 == 4 ou a` == b`

II ou or
! Ou not xor

Ou (pelo menos uma verdadeira)


No (nega a expresso) Exclusivo or(uma ou outra verdadeira)

S`!= s`
5<6 3*2>5

true
false

verdadeiro
falso

2 <= 5
7 >= 3 + 2

Condicional
Kenya possui uma construo if ... then ... else que tem a seguinte sintaxe: int a = 2; if ( a == 2 ) { println( "a igual 2" ); } Else { println( "a nao e igual a 2" ); } Note que h parnteses em volta da condio e, ao contrrio de Java, else if no uma sintaxe vlida em Kenya. As chaves devem estar sempre presentes.

Comandos de Repetio
Kenya possui comandos while e for que permitem a repetio de blocos de comandos:
Comando while O comando while repete a execuo de comandos at que a condio fornecida torne-se falsa. int i = 1; while ( i <= 10 ) { println( i ); i = i + 1; }

Comando for
Comandos for contam um certo nmero de repeties usando uma varivel de ndice. H dois modos diferentes de se empregar um comando for. O primeiro tem a seguinte sintaxe: int i; for i = 1 to 10 { println( i ); }

int i; for i = 2 to 10 step 2 { println( i ); }

int i; for decreasing i = 10 to 2 { println( i ); } A contagem, aqui mantida em i, podem aumentar ou diminuir com o passo dado. Se os passos no so especificados ento ele definido como sendo 1. O outro modo de declarar um comando for usando uma sintaxe que mais prxima da de Java como mostrado nos seguintes exemplos: int i; for ( i = 1 ; i = 10 ; i++ ) { println( i ); } Int i; for ( i = 10; i > 0 ; i ) { println( i ); }

Sada de texto
Texto pode ser impresso na tela atravs das funes print() ou println().

A funo println() coloca um retorno de carro ao final da linha (isto , pula para a prxima linha).
println( "Ola" ); println( 6 ) ;println( 7 * 3 ); String bebida = "cafe"; print( "Eu gosto de " ); println( bebida );

Este cdigo imprime: Ola 6 21 Eu gosto de cafe

A funo pint() no faz retorno de carro, isto , no desloca o cursor para a Primeira coluna da linha seguinte. Os argumentos devero ficar entre parnteses e as Strings(conjunto de caracTeres) devero ficar entre aspas, mas se for um nico caracter, ficar entre Plicas(aspas simples).

Caracteres usados com as funes de sada(sequncia de escape):


\n \t \\ Desloca o cursor para a primeira coluna da linha seguinte Desloca o cursor para o incio da prxima zona. Cada zona tem 8 colunas e so pr-fixadas: 1 9 17 25 33 41 49 57 73 (Windows) Mostra a contra-barra na tela

Observao: Embora sejam dois caracteres, eles so entendidos com um, logo viro Entre aspas simples. Impresso de vrios documentos:

Quando tivermos vrios elementos para serem impressos, deveremos usar o operador + (mais) para concaten-los Comentrios
// Usado para uma nica linha

/**/

Usado para envolver um conjunto de linhas

A Estrutura de um Programa
O conjunto de instrues do programa principal dever estar compreendido na seguinte estrutura:

Void main() { }
Todo programa escrito na linguagem Kenya tem a extenso .K Quando pedimos para interpretar algum programa, a funo main(principal) localizada, pois a partir dela que as funes, inclusive as que voc criou, sero chamadas. A palavra void que antecede main significa que no existir nenhum tipo de retorno. Todos os comandos sero finalizados com ;(ponto e vrgula). A linguagem case sensitive, isto , diferencia letras maisculas de minsculas, portanto ateno com as sintaxes.