Last active
May 16, 2024 13:06
-
-
Save AndreyArthur/c78c5a9b03b034030117476b5520b67f to your computer and use it in GitHub Desktop.
Algoritmos
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Algoritmo "forca" | |
| // Disciplina : Algoritmos | |
| // Professor : João Alfredo | |
| // Descrição : Programa que simula o jogo da forca. | |
| // Autor(a) : Andrey Arthur Sousa e Silva | |
| // Data atual : 14/05/2024 | |
| Var | |
| // Seção de Declarações das variáveis | |
| palavra, chute_anterior, chute, letra : caractere | |
| e_posicao, foi_usada : logico | |
| erros, comprimento, indice, posicao : inteiro | |
| posicoes : vetor[1..12] de inteiro | |
| letras_usadas : vetor[1..27] de caractere | |
| Inicio | |
| // Seção de Comandos, procedimento, funções, operadores, etc... | |
| comprimento <- 13 | |
| chute <- "____________" | |
| posicao <- 1 | |
| enquanto posicao <= 27 faca | |
| letras_usadas[posicao] <- "_" | |
| posicao <- posicao + 1 | |
| fimenquanto | |
| enquanto comprimento > 12 faca | |
| escreva("Insira a palavra: ") | |
| leia(palavra) | |
| comprimento <- compr(palavra) | |
| se comprimento > 12 entao | |
| escreval("Palavra muito longa, o máximo são 12 caracteres!") | |
| fimse | |
| fimenquanto | |
| enquanto (chute <> palavra) e (erros < 5) faca | |
| escreva("Insira uma letra ou seu chute: ") | |
| leia(letra) | |
| se compr(letra) > 1 entao | |
| se letra = palavra entao | |
| chute <- letra | |
| senao | |
| erros <- erros + 1 | |
| escreval("Seu chute estava errado! Restam", 5 - erros, " vidas.") | |
| fimse | |
| senao | |
| foi_usada <- falso | |
| posicao <- 1 | |
| enquanto letras_usadas[posicao] <> "_" faca | |
| se letras_usadas[posicao] = letra entao | |
| foi_usada <- verdadeiro | |
| fimse | |
| posicao <- posicao + 1 | |
| fimenquanto | |
| se foi_usada = falso entao | |
| posicao <- 1 | |
| enquanto posicao <= 26 faca | |
| se letras_usadas[posicao] = "_" entao | |
| letras_usadas[posicao] <- letra | |
| interrompa | |
| fimse | |
| posicao <- posicao + 1 | |
| fimenquanto | |
| fimse | |
| posicao <- 1 | |
| enquanto posicao <= 12 faca | |
| posicoes[posicao] <- 0 | |
| posicao <- posicao + 1 | |
| fimenquanto | |
| indice <- 1 | |
| posicao <- 1 | |
| enquanto indice <= comprimento faca | |
| se copia(palavra, indice, 1) = letra entao | |
| posicoes[posicao] <- indice | |
| posicao <- posicao + 1 | |
| fimse | |
| indice <- indice + 1 | |
| fimenquanto | |
| se posicoes[1] = 0 entao | |
| erros <- erros + 1 | |
| escreval("Seu chute estava errado! Restam", 5 - erros, " vidas.") | |
| senao | |
| indice <- 1 | |
| chute_anterior <- chute | |
| chute <- "" | |
| enquanto indice <= comprimento faca | |
| e_posicao <- falso | |
| posicao <- 1 | |
| enquanto posicao <= 12 faca | |
| se posicoes[posicao] = indice entao | |
| e_posicao <- verdadeiro | |
| interrompa | |
| fimse | |
| posicao <- posicao + 1 | |
| fimenquanto | |
| se e_posicao = verdadeiro entao | |
| chute <- chute + letra | |
| senao | |
| chute <- chute + copia(chute_anterior, indice, 1) | |
| fimse | |
| indice <- indice + 1 | |
| fimenquanto | |
| se chute <> palavra entao | |
| escreval("Ainda restam", 5 - erros, " vidas: ", chute, ".") | |
| escreva("Letras usadas: ") | |
| posicao <- 1 | |
| enquanto letras_usadas[posicao] <> "_" faca | |
| escreva(letras_usadas[posicao]) | |
| posicao <- posicao + 1 | |
| fimenquanto | |
| escreval(".") | |
| fimse | |
| fimse | |
| fimse | |
| fimenquanto | |
| se chute <> palavra entao | |
| escreval("Parabéns, você foi enforcado! A palavra era '", palavra, "'.") | |
| senao | |
| escreval("Você venceu! A palavra era '", palavra, "' mesmo!") | |
| fimse | |
| Fimalgoritmo |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Algoritmo "semnome" | |
| // Disciplina : [Linguagem e Lógica de Programação] | |
| // Professor : Antonio Carlos Nicolodi | |
| // Descrição : Aqui você descreve o que o programa faz! (função) | |
| // Autor(a) : Nome do(a) aluno(a) | |
| // Data atual : 15/05/2024 | |
| Var | |
| // Seção de Declarações das variáveis | |
| vez, vencedor : caractere | |
| posicao, i, j, contador : inteiro | |
| jogo : vetor[1..3,1..3] de caractere | |
| terminou, jogada_valida, esta_completo : logico | |
| Inicio | |
| // Seção de Comandos, procedimento, funções, operadores, etc... | |
| i <- 1 | |
| enquanto i <= 3 faca | |
| j <- 1 | |
| enquanto j <= 3 faca | |
| jogo[i,j] <- " " | |
| j <- j + 1 | |
| fimenquanto | |
| i <- i + 1 | |
| fimenquanto | |
| vencedor <- " " | |
| vez <- "" | |
| enquanto (vez <> "X") e (vez <> "O") faca | |
| escreva("Escolha X ou O: ") | |
| leia(vez) | |
| se vez = "x" entao | |
| vez <- "X" | |
| senao | |
| se vez = "o" entao | |
| vez <- "O" | |
| fimse | |
| fimse | |
| fimenquanto | |
| terminou <- falso | |
| enquanto terminou = falso faca | |
| // Mostra o jogo | |
| contador <- 1 | |
| i <- 1 | |
| enquanto i <= 3 faca | |
| j <- 1 | |
| enquanto j <= 3 faca | |
| se (jogo[i,j] <> "X") e (jogo[i,j] <> "O") entao | |
| escreva(contador) | |
| senao | |
| escreva(" ", jogo[i,j]) | |
| fimse | |
| contador <- contador + 1 | |
| j <- j + 1 | |
| fimenquanto | |
| escreval() | |
| i <- i + 1 | |
| fimenquanto | |
| jogada_valida <- falso | |
| enquanto jogada_valida = falso faca | |
| // Valida a posição | |
| posicao <- 0 | |
| enquanto (posicao > 9) ou (posicao < 1) faca | |
| escreva("Insira a posição que quer jogar (", vez, "): ") | |
| leia(posicao) | |
| se (posicao > 9) ou (posicao < 1) entao | |
| escreval("Posição inválida, precisa estar entre 1 e 9.") | |
| fimse | |
| fimenquanto | |
| // Valida se a posição está ocupada e insere | |
| contador <- 1 | |
| i <- 1 | |
| enquanto i <= 3 faca | |
| j <- 1 | |
| enquanto j <= 3 faca | |
| se (contador = posicao) entao | |
| se (jogo[i,j] <> "X") e (jogo[i,j] <> "O") entao | |
| jogo[i,j] <- vez | |
| jogada_valida <- verdadeiro | |
| fimse | |
| fimse | |
| contador <- contador + 1 | |
| j <- j + 1 | |
| fimenquanto | |
| i <- i + 1 | |
| fimenquanto | |
| se jogada_valida = falso entao | |
| escreval("Jogada inválida, posição já ocupada.") | |
| senao | |
| se vez = "X" entao | |
| vez <- "O" | |
| senao | |
| vez <- "X" | |
| fimse | |
| fimse | |
| fimenquanto | |
| i <- 1 | |
| enquanto i <= 3 faca | |
| se (jogo[i,1] = "X") e (jogo[i,2] = "X") e (jogo[i,3] = "X")entao | |
| terminou <- verdadeiro | |
| vencedor <- "X" | |
| interrompa | |
| fimse | |
| se (jogo[i,1] = "O") e (jogo[i,2] = "O") e (jogo[i,3] = "O")entao | |
| terminou <- verdadeiro | |
| vencedor <- "O" | |
| interrompa | |
| fimse | |
| i <- i + 1 | |
| fimenquanto | |
| j <- 1 | |
| enquanto j <= 3 faca | |
| se (jogo[1,j] = "X") e (jogo[2,j] = "X") e (jogo[3,j] = "X")entao | |
| terminou <- verdadeiro | |
| vencedor <- "X" | |
| interrompa | |
| fimse | |
| se (jogo[1,j] = "O") e (jogo[2,j] = "O") e (jogo[3,j] = "O")entao | |
| terminou <- verdadeiro | |
| vencedor <- "O" | |
| interrompa | |
| fimse | |
| j <- j + 1 | |
| fimenquanto | |
| se (jogo[1,1] = "X") e (jogo[2,2] = "X") e (jogo[3,3] = "X")entao | |
| terminou <- verdadeiro | |
| vencedor <- "X" | |
| fimse | |
| se (jogo[1,1] = "O") e (jogo[2,2] = "O") e (jogo[3,3] = "O")entao | |
| terminou <- verdadeiro | |
| vencedor <- "O" | |
| fimse | |
| se (jogo[1,3] = "X") e (jogo[2,2] = "X") e (jogo[3,1] = "X")entao | |
| terminou <- verdadeiro | |
| vencedor <- "X" | |
| fimse | |
| se (jogo[1,3] = "O") e (jogo[2,2] = "O") e (jogo[3,1] = "O") entao | |
| terminou <- verdadeiro | |
| vencedor <- "O" | |
| fimse | |
| se terminou = verdadeiro entao | |
| escreval("O jogo acabou, o vencedor foi ", vencedor, ".") | |
| senao | |
| esta_completo <- verdadeiro | |
| i <- 1 | |
| enquanto i <= 3 faca | |
| j <- 1 | |
| enquanto j <= 3 faca | |
| se jogo[i,j] = " " entao | |
| esta_completo <- falso | |
| fimse | |
| j <- j + 1 | |
| fimenquanto | |
| i <- i + 1 | |
| fimenquanto | |
| se esta_completo = verdadeiro entao | |
| terminou <- verdadeiro | |
| escreval("O jogo acabou, deu velha.") | |
| fimse | |
| fimse | |
| se terminou = verdadeiro entao | |
| contador <- 1 | |
| i <- 1 | |
| enquanto i <= 3 faca | |
| j <- 1 | |
| enquanto j <= 3 faca | |
| se (jogo[i,j] <> "X") e (jogo[i,j] <> "O") entao | |
| escreva(contador) | |
| senao | |
| escreva(" ", jogo[i,j]) | |
| fimse | |
| contador <- contador + 1 | |
| j <- j + 1 | |
| fimenquanto | |
| escreval() | |
| i <- i + 1 | |
| fimenquanto | |
| fimse | |
| fimenquanto | |
| Fimalgoritmo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment