Skip to content

potigol/comparacao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

Comparacao

Comparação da linguagem Potigol com outras linguagens.

Versão

Linguagem Versão Apresentar versão
Potigol 0.9.15 $ potigol
Python 3.6 $ python --version
Java 9.0 $ java -version
Scala 2.12.4 $ scala -version

Execução

Linguagem Comando
Potigol $ potigol programa.poti
Python $ python programa.py
Java $ javac Programa.java
$ java Programa
Scala $ scalac programa.scala
$ scala programa
ou
$ scala programa.scala

Gramática

Linguagem Blocos Separador de comandos Comentário de linha
Potigol faça fim espaço # comentário
Python : e identação nova linha ou ; # comentário
Java { } ; // comentário
Scala { } nova linha ou ; // comentário

Variáveis

Linguagem Variável Constante
Potigol var x := 10
var y, z := 20, 30
x = 10
y, z = 20, 30
``
Python x = 10
y, z = 20, 30
PI = 3.14 ``
Java int x = 10; final int x = 10; ``
Scala var x = 10
var y, z = 20, 30
declaração explícita do tipo:
var x: Int = 10
val x = 10
val y, z = 20, 30
``

Atribuição

Linguagem Atribuição Atribuição Paralela Permutação
Potigol x := 10 x, y, z := 10, 20, 30 x, y := y, x
Python x = 10 x, y, z = 10, 20, 30 x, y = y, x
Java x = 10; não tem não tem
Scala x = 10 não tem não tem

Aritimática e Lógica

Valores lógicos

Linguagem Valores Operadores lógicos Operadores relacionais
Potigol verdadeiro falso e ou não == <> > < >= <=
Python `` `` ``
Java `` `` ``
Scala `` `` ``

Operações Aritiméticas

Linguagem Operadores aritiméticos Potenciação Raiz
Potigol + - * / div mod ^ raiz(2.0)
raiz(2.0, 2)
Python `` `` ``
Java `` `` ``
Scala `` `` ``

Operações Matemáticas

Linguagem Trigonometria Aleatório Absoluto
Potigol sen cos tg arcsen arccos arctg aleatório(10)
aleatório(1,10)
aleatório(["a","e","i","o","u"])
abs(-2)
Python `` `` ``
Java `` `` ``
Scala `` `` ``

Texto

Linguagem Literal Quebra de linha Interpolação
Potigol "texto" "Isto é
um texto"
x, y = 10, 20
"A soma {x} + {y} = {x + y}."
Python `` `` ``
Java `` `` ``
Scala `` `` ``
Linguagem Concatenação Replicar Maiúsculo / Minúsculo
Potigol "Olá " + "mundo" "-" * 20 "Ola".maiúsculo
"Ola".minúsculo
Python `` `` ``
Java `` `` ``
Scala `` `` ``
Linguagem Partes Tamanho Elementos
Potigol ola = "Olá mundo".pegue(3)
mundo = "Olá Mundo".descarte(4)
"texto".tamanho a = "Olá mundo"
a[1] # 'O'
Python `` `` ``
Java `` `` ``
Scala `` `` ``

Listas

Linguagem Literal Preenchida Tamanho Vazia
Potigol a = [1, 2, 3, 4] a = Lista(10, 0) a.tamanho a == []
Python `` `` `` ``
Java `` `` `` ``
Scala `` `` `` ``
Linguagem Ordenar Inverter Unir
Potigol [2, 3, 1, 4].ordene [2, 3, 1, 4].inverta [2, 3] +[1, 4]
Python `` `` ``
Java `` `` ``
Scala `` `` ``
Linguagem Mapeamento Filtro Redução
Potigol a = [1, 2, 3, 4]
a.mapeie(n => n * 2)
a.selecione(n => n mod 2 ==0) a.reduza(0)((n,m) => n + m)
Python `` `` ``
Java `` `` ``
Scala `` `` ``

Função

Linguagem Definição linha Definição bloco Aplicação
Potigol soma(a, b: Inteiro) = a + b

pos(s: Texto, n: Inteiro) = s[n]
soma(a, b: Inteiro)
c = a + b
retorne c
fim

fat(n: Inteiro): Inteiro
a = se n>1 então fat(n-1) senão 1 fim
retorne c
fim
soma(2, 3)
Python
Java
Scala

Funções anônimas

Linguagem Literal Invocação Função como valor
Potigol (a, b: Inteiro) => a + b ((a, b: Inteiro) => a + b)(2,3) soma = (a, b: Inteiro) => a + b
Python `` `` ``
Java `` `` ``
Scala `` `` ``

Instruções de Controle

Linguagem Se Escolha
Potigol se n==0 então
escreva "nenhum"
senãose n==1 então
escreva "um"
senão
escreva "vários"
fim
escolha n
caso 0 => escreva "nenhum"
caso 1 => escreva "um"
caso _ => escreva "vários"
fim
Python `` ``
Java `` ``
Scala `` ``

Repetição

Linguagem Para Enquanto
Potigol para i de 1 até 10 faça
escreva i
fim

para i de 1 até 10 passo 2 faça
escreva i
fim
var i := 1
enquanto i <= 10 faça
escreva "i"
i := i + 1
fim
Python `` ``
Java `` ``
Scala `` ``

Registro

Linguagem Definição Uso
Potigol tipo Pessoa
nome, email: Texto
var telefone: Texto
fim
joao = Pessoa("Joao", "joao@email.com", "98888-8888")
escreva joao.nome
joao.telefone:="99999-9999"
Python `` ``
Java `` ``
Scala `` ``

Classe

Linguagem Definição Uso
Potigol tipo Pessoa
nome, email: Texto
var telefone: Texto
ligar()
escreva "ligando para {telenone}"
fim
fim
joao = Pessoa("Joao", "joao@email.com", "98888-8888")
escreva joao.nome
joao.telefone:="99999-9999"
joao.ligar
Python `` ``
Java `` ``
Scala `` ``

About

Comparação da linguagem Potigol com outras linguagens

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published