Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kaixtr/cobracoral

Pseudo linguagem de programação para aprendizado de lógica
https://github.com/kaixtr/cobracoral

portugol programming programming-language pseudolang python python3

Last synced: about 1 month ago
JSON representation

Pseudo linguagem de programação para aprendizado de lógica

Awesome Lists containing this project

README

        

# Cobracoral
Linguagem de programação feita para ensinar algoritmos.
Portugol programming language for learning

# Como utilizar Cobracoral:
Para executar código cobracoral, é necessário ter a linguagem python instalada no sistema, e então, executar o arquivo shell.py no diretório /src. Utilize o código abaixo para executar o arquivo de exemplo:

`python src/shell.py exemplo.cbr`

# Como programar em Cobracoral:

## Variáveis
Formados por um par **_nome da variável_ = _valor da variável_**, são todos os dados necessários para a execução e criação de um algoritmo. As variáveis podem conter valores de vários tipos, como _inteiro, texto, lógico e real_.
`var x = 10`

`var y = "Olá Mundo!"`

`var z = verdadeiro`

`var a = 2.5`

`var b = pi`

## Comentários
Comentários são trechos do código que não são processados pelo interpretador, sendo livres para escrita fora da programação.
`# comentário`

`# eu posso escrever o que eu quiser aqui`

## Aritmética
**Adição:**

`x mais y`

`x + y`

**Subtração:**

`x menos y`

`x - y`

**Multiplicação:**

`x vezes y`

`x * y`

`x × y`

**Divisão:**

`x dividido y`

`x / y`

`x \ y`

`x ÷ y`

**Resto da divisão:**

`x resto y`

`x % y`

**Potenciação:**

`x elevado y`

`x ^ y`

`x ** y`

**Radiciação:**

`x rad y`

`x √ y`

`x // y`

## Comparações Numéricas
**Igualdade:**

`0 == 0 ∴ verdadeiro`

`0 == 1 ∴ falso`

**Diferença:**

`0 != 0 ∴ falso`

`0 != 1 ∴ verdadeiro`

`0 ~= 0 ∴ falso`

`0 ~= 1 ∴ verdadeiro`

**Menor que:**

`2 < 3 ∴ verdadeiro`

`3 < 2 ∴ falso`

**Maior que**

`2 > 3 ∴ falso`

`3 > 2 ∴ verdadeiro`

**Menor ou igual a:**

`2 <= 2 ∴ verdadeiro`

`1 <= 2 ∴ verdadeiro`

`3 >= 2 ∴ falso`

**Maior ou igual a:**

`6 >= 6 ∴ verdadeiro`

`8 >= 6 ∴ verdadeiro`

`3 >= 6 ∴ falso`

## Comparações Lógicas
**AND:**

`1 e 1 ∴ verdadeiro`

`0 e 1 ∴ falso`

`1 & 0 ∴ falso`

`0 & 0 ∴ falso`

**OR:**

`1 ou 1 ∴ verdadeiro`

`0 ou 1 ∴ verdadeiro`

`1 | 0 ∴ verdadeiro`

`0 | 0 ∴ falso`

**NAND:**

`1 ne 1 ∴ falso`

`0 ne 1 ∴ verdadeiro`

`1 !& 0 ∴ verdadeiro`

`0 ~& 0 ∴ verdadeiro`

**NOR:**

`1 nou 1 ∴ falso`

`0 nou 1 ∴ falso`

`1 !| 0 ∴ falso`

`0 ~| 0 ∴ verdadeiro`

**XOR:**

`1 xou 1 ∴ falso`

`0 xou 1 ∴ verdadeiro`

`1 xou 0 ∴ verdadeiro`

`0 xou 0 ∴ falso`

**XNOR:**

`1 xnou 1 ∴ verdadeiro`

`0 xnou 1 ∴ falso`

`1 xnou 0 ∴ falso`

`0 xnou 0 ∴ verdadeiro`

**Condicional:**

`1 => 1 ∴ verdadeiro`

`0 => 1 ∴ falso`

`1 => 0 ∴ verdadeiro`

`0 => 0 ∴ verdadeiro`

**Bicondicional:**

`1 <=> 1 ∴ verdadeiro`

`0 <=> 1 ∴ falso`

`1 <=> 0 ∴ falso`

`0 <=> 0 ∴ verdadeiro`

## Entrada e Saída de Dados
**Comando _Escrever (texto)_:** escreve uma mensagem de texto no terminal.

`escrever("Olá Mundo!")`

**Comando _Escrever_ret (texto)_:** escreve uma mensagem de texto no terminal e retorna o resultado.

`escrever_ret("Olá Mundo!")`

**Comando _Ler (variável)_:** aguarda a entrada de um usuário.

`ler(x)`

**Comando _Ler_inteiro (variável)_:** aguarda a entrada de um número inteiro do usuário.

`ler_inteiro(x)`

**Comando _Limpar_:** limpa todo texto anterior do terminal.

`limpar()`

`cls()`

**Comando _Pausar_ ()_:** aguarda uma tecla pressionada qualquer do usuário.

`pausar()`

**Comando _Esperar (segundos)_:** espera por um intervalo de x segundos.

`esperar(3)`

# Análise de dados
**Comando _É_um_número (variável)_:** verifica se a variável informada é um número.

`É_um_número(x)`

`E_um_número(x)`

`É_um_numero(x)`

`E_um_numero(x)`

**Comando _É_um_número (variável)_:** verifica se a variável informada é um número.

`É_um_número(x)`

`E_um_número(x)`

`É_um_numero(x)`

`E_um_numero(x)`

## Listas
**Comando _Adicionar (elemento)_:** adiciona um elemento à uma lista.

`x = [0,1]`

`x.adicionar(2)`

`x = [0,1,2]`

**Comando _Remover (índice)_:** remove um elemento de uma lista.

`x = [2,5]`

`x.remover(1)`

`x = [2]`

**Comando _Tamanho (lista/texto)_:** verifica o tamanho de uma lista ou texto.

`x = [0,1,5,8]`

`y = tamanho(x)`

`y = 4`

## Funções gerais do Cobracoral
**Comando _Ajuda ()_:** exibe um texto de ajuda para o usuário.

`ajuda()`

**Comando _Listar ()_:** exibe todas as funções instaladas da linguagem.

`lista()`

**Comando _Sair ()_:** sair do shell da linguagem.

`sair()`

# Agradecimentos
Muito obrigado, David Callanan, por disponibilizar o vídeo aulas sobre a criação de linguagens de programação e seu código fonte.
[Repositório]: (https://github.com/davidcallanan/py-myopl-code)