{"id":21179678,"url":"https://github.com/kaixtr/cobracoral","last_synced_at":"2025-03-14T18:45:40.524Z","repository":{"id":154910365,"uuid":"495123040","full_name":"KaiXtr/cobracoral","owner":"KaiXtr","description":"Pseudo linguagem de programação para aprendizado de lógica","archived":false,"fork":false,"pushed_at":"2024-02-29T14:16:26.000Z","size":141,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T12:07:55.488Z","etag":null,"topics":["portugol","programming","programming-language","pseudolang","python","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KaiXtr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-22T17:02:24.000Z","updated_at":"2023-10-13T16:48:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"dcaaed69-ca7a-498d-90a6-d4b314784de4","html_url":"https://github.com/KaiXtr/cobracoral","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaiXtr%2Fcobracoral","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaiXtr%2Fcobracoral/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaiXtr%2Fcobracoral/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaiXtr%2Fcobracoral/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KaiXtr","download_url":"https://codeload.github.com/KaiXtr/cobracoral/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243630503,"owners_count":20322315,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["portugol","programming","programming-language","pseudolang","python","python3"],"created_at":"2024-11-20T17:33:09.868Z","updated_at":"2025-03-14T18:45:40.496Z","avatar_url":"https://github.com/KaiXtr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cobracoral\n Linguagem de programação feita para ensinar algoritmos.\n Portugol programming language for learning\n\n# Como utilizar Cobracoral:\nPara 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:\n\n`python src/shell.py exemplo.cbr`\n\n# Como programar em Cobracoral:\n\n## Variáveis\nFormados 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_.\n    `var x = 10`\u003cbr\u003e\n    `var y = \"Olá Mundo!\"`\u003cbr\u003e\n    `var z = verdadeiro`\u003cbr\u003e\n    `var a = 2.5`\u003cbr\u003e\n    `var b = pi`\u003cbr\u003e\n\n## Comentários\nComentários são trechos do código que não são processados pelo interpretador, sendo livres para escrita fora da programação.\n    `# comentário`\u003cbr\u003e\n    `# eu posso escrever o que eu quiser aqui`\u003cbr\u003e\n\n## Aritmética\n**Adição:**\u003cbr\u003e\n    `x mais y`\u003cbr\u003e\n    `x + y`\u003cbr\u003e\n**Subtração:**\u003cbr\u003e\n    `x menos y`\u003cbr\u003e\n    `x - y`\u003cbr\u003e\n**Multiplicação:**\u003cbr\u003e\n    `x vezes y`\u003cbr\u003e\n    `x * y`\u003cbr\u003e\n    `x × y`\u003cbr\u003e\n**Divisão:**\u003cbr\u003e\n    `x dividido y`\u003cbr\u003e\n    `x / y`\u003cbr\u003e\n    `x \\ y`\u003cbr\u003e\n    `x ÷ y`\u003cbr\u003e\n**Resto da divisão:**\u003cbr\u003e\n    `x resto y`\u003cbr\u003e\n    `x % y`\u003cbr\u003e\n**Potenciação:**\u003cbr\u003e\n    `x elevado y`\u003cbr\u003e\n    `x ^ y`\u003cbr\u003e\n    `x ** y`\u003cbr\u003e\n**Radiciação:**\u003cbr\u003e\n    `x rad y`\u003cbr\u003e\n    `x √ y`\u003cbr\u003e\n    `x // y`\u003cbr\u003e\n\n## Comparações Numéricas\n**Igualdade:**\u003cbr\u003e\n    `0 == 0 ∴ verdadeiro`\u003cbr\u003e\n    `0 == 1 ∴ falso`\u003cbr\u003e\n**Diferença:**\u003cbr\u003e\n    `0 != 0 ∴ falso`\u003cbr\u003e\n    `0 != 1 ∴ verdadeiro`\u003cbr\u003e\n    `0 ~= 0 ∴ falso`\u003cbr\u003e\n    `0 ~= 1 ∴ verdadeiro`\u003cbr\u003e\n**Menor que:**\u003cbr\u003e\n    `2 \u003c 3 ∴ verdadeiro`\u003cbr\u003e\n    `3 \u003c 2 ∴ falso`\u003cbr\u003e\n**Maior que**\u003cbr\u003e\n    `2 \u003e 3 ∴ falso`\u003cbr\u003e\n    `3 \u003e 2 ∴ verdadeiro`\u003cbr\u003e\n**Menor ou igual a:**\u003cbr\u003e\n    `2 \u003c= 2 ∴ verdadeiro`\u003cbr\u003e\n    `1 \u003c= 2 ∴ verdadeiro`\u003cbr\u003e\n    `3 \u003e= 2 ∴ falso`\u003cbr\u003e\n**Maior ou igual a:**\u003cbr\u003e\n    `6 \u003e= 6 ∴ verdadeiro`\u003cbr\u003e\n    `8 \u003e= 6 ∴ verdadeiro`\u003cbr\u003e\n    `3 \u003e= 6 ∴ falso`\u003cbr\u003e\n\n## Comparações Lógicas\n**AND:**\u003cbr\u003e\n    `1 e 1 ∴ verdadeiro`\u003cbr\u003e\n    `0 e 1 ∴ falso`\u003cbr\u003e\n    `1 \u0026 0 ∴ falso`\u003cbr\u003e\n    `0 \u0026 0 ∴ falso`\u003cbr\u003e\n**OR:**\u003cbr\u003e\n    `1 ou 1 ∴ verdadeiro`\u003cbr\u003e\n    `0 ou 1 ∴ verdadeiro`\u003cbr\u003e\n    `1 | 0 ∴ verdadeiro`\u003cbr\u003e\n    `0 | 0 ∴ falso`\u003cbr\u003e\n**NAND:**\u003cbr\u003e\n    `1 ne 1 ∴ falso`\u003cbr\u003e\n    `0 ne 1 ∴ verdadeiro`\u003cbr\u003e\n    `1 !\u0026 0 ∴ verdadeiro`\u003cbr\u003e\n    `0 ~\u0026 0 ∴ verdadeiro`\u003cbr\u003e\n**NOR:**\u003cbr\u003e\n    `1 nou 1 ∴ falso`\u003cbr\u003e\n    `0 nou 1 ∴ falso`\u003cbr\u003e\n    `1 !| 0 ∴ falso`\u003cbr\u003e\n    `0 ~| 0 ∴ verdadeiro`\u003cbr\u003e\n**XOR:**\u003cbr\u003e\n    `1 xou 1 ∴ falso`\u003cbr\u003e\n    `0 xou 1 ∴ verdadeiro`\u003cbr\u003e\n    `1 xou 0 ∴ verdadeiro`\u003cbr\u003e\n    `0 xou 0 ∴ falso`\u003cbr\u003e\n**XNOR:**\u003cbr\u003e\n    `1 xnou 1 ∴ verdadeiro`\u003cbr\u003e\n    `0 xnou 1 ∴ falso`\u003cbr\u003e\n    `1 xnou 0 ∴ falso`\u003cbr\u003e\n    `0 xnou 0 ∴ verdadeiro`\u003cbr\u003e\n**Condicional:**\u003cbr\u003e\n    `1 =\u003e 1 ∴ verdadeiro`\u003cbr\u003e\n    `0 =\u003e 1 ∴ falso`\u003cbr\u003e\n    `1 =\u003e 0 ∴ verdadeiro`\u003cbr\u003e\n    `0 =\u003e 0 ∴ verdadeiro`\u003cbr\u003e\n**Bicondicional:**\u003cbr\u003e\n    `1 \u003c=\u003e 1 ∴ verdadeiro`\u003cbr\u003e\n    `0 \u003c=\u003e 1 ∴ falso`\u003cbr\u003e\n    `1 \u003c=\u003e 0 ∴ falso`\u003cbr\u003e\n    `0 \u003c=\u003e 0 ∴ verdadeiro`\u003cbr\u003e\n\n## Entrada e Saída de Dados\n**Comando _Escrever (texto)_:** escreve uma mensagem de texto no terminal.\u003cbr\u003e\n    `escrever(\"Olá Mundo!\")`\u003cbr\u003e\n**Comando _Escrever_ret (texto)_:** escreve uma mensagem de texto no terminal e retorna o resultado.\u003cbr\u003e\n    `escrever_ret(\"Olá Mundo!\")`\u003cbr\u003e\n**Comando _Ler (variável)_:** aguarda a entrada de um usuário.\u003cbr\u003e\n    `ler(x)`\u003cbr\u003e\n**Comando _Ler_inteiro (variável)_:** aguarda a entrada de um número inteiro do usuário.\u003cbr\u003e\n    `ler_inteiro(x)`\u003cbr\u003e\n**Comando _Limpar_:** limpa todo texto anterior do terminal.\u003cbr\u003e\n    `limpar()`\u003cbr\u003e\n    `cls()`\u003cbr\u003e\n**Comando _Pausar_ ()_:** aguarda uma tecla pressionada qualquer do usuário.\u003cbr\u003e\n    `pausar()`\u003cbr\u003e\n**Comando _Esperar (segundos)_:** espera por um intervalo de x segundos.\u003cbr\u003e\n    `esperar(3)`\u003cbr\u003e\n\n# Análise de dados\n**Comando _É_um_número (variável)_:** verifica se a variável informada é um número.\u003cbr\u003e\n    `É_um_número(x)`\u003cbr\u003e\n    `E_um_número(x)`\u003cbr\u003e\n    `É_um_numero(x)`\u003cbr\u003e\n    `E_um_numero(x)`\u003cbr\u003e\n**Comando _É_um_número (variável)_:** verifica se a variável informada é um número.\u003cbr\u003e\n    `É_um_número(x)`\u003cbr\u003e\n    `E_um_número(x)`\u003cbr\u003e\n    `É_um_numero(x)`\u003cbr\u003e\n    `E_um_numero(x)`\u003cbr\u003e\n\n## Listas\n**Comando _Adicionar (elemento)_:** adiciona um elemento à uma lista.\u003cbr\u003e\n    `x = [0,1]`\u003cbr\u003e\n    `x.adicionar(2)`\u003cbr\u003e\n    `x = [0,1,2]`\u003cbr\u003e\n**Comando _Remover (índice)_:** remove um elemento de uma lista.\u003cbr\u003e\n    `x = [2,5]`\u003cbr\u003e\n    `x.remover(1)`\u003cbr\u003e\n    `x = [2]`\u003cbr\u003e\n**Comando _Tamanho (lista/texto)_:** verifica o tamanho de uma lista ou texto.\u003cbr\u003e\n    `x = [0,1,5,8]`\u003cbr\u003e\n    `y = tamanho(x)`\u003cbr\u003e\n    `y = 4`\u003cbr\u003e\n\n## Funções gerais do Cobracoral\n**Comando _Ajuda ()_:** exibe um texto de ajuda para o usuário.\u003cbr\u003e\n    `ajuda()`\u003cbr\u003e\n**Comando _Listar ()_:** exibe todas as funções instaladas da linguagem.\u003cbr\u003e\n    `lista()`\u003cbr\u003e\n**Comando _Sair ()_:** sair do shell da linguagem.\u003cbr\u003e\n    `sair()`\u003cbr\u003e\n    \n\n# Agradecimentos\nMuito obrigado, David Callanan, por disponibilizar o vídeo aulas sobre a criação de linguagens de programação e seu código fonte.\n[Repositório]: (https://github.com/davidcallanan/py-myopl-code)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaixtr%2Fcobracoral","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaixtr%2Fcobracoral","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaixtr%2Fcobracoral/lists"}