• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Ciência da Computação ·

Introdução à Lógica e Programação

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Introdução a Programação - Campo Minado

5

Introdução a Programação - Campo Minado

Introdução à Lógica e Programação

UFOP

Atividade de Programação Linear

44

Atividade de Programação Linear

Introdução à Lógica e Programação

UFOP

Trabalho Prático de Otimização Combinatória

19

Trabalho Prático de Otimização Combinatória

Introdução à Lógica e Programação

UFOP

Apostila de Lógica de Programação e Algoritmos

1

Apostila de Lógica de Programação e Algoritmos

Introdução à Lógica e Programação

UFOP

Exercícios de Lógica - Verificação de Números Primos e Eficiência de Utilidades

22

Exercícios de Lógica - Verificação de Números Primos e Eficiência de Utilidades

Introdução à Lógica e Programação

UFAL

Introdução a Ponteiros e Arrays em C

35

Introdução a Ponteiros e Arrays em C

Introdução à Lógica e Programação

UFAL

Introdução a Vetores em Programação

18

Introdução a Vetores em Programação

Introdução à Lógica e Programação

UFAL

Prova 2 ATC Analise Sintatica e Automatos 2023-2

1

Prova 2 ATC Analise Sintatica e Automatos 2023-2

Introdução à Lógica e Programação

UMG

Programa em C para Calcular Soma e Produto de Dois Números

33

Programa em C para Calcular Soma e Produto de Dois Números

Introdução à Lógica e Programação

UFAL

Estruturas de Dados: Pilhas, Filas e Listas em C

7

Estruturas de Dados: Pilhas, Filas e Listas em C

Introdução à Lógica e Programação

UFAL

Texto de pré-visualização

Universidade Federal de Ouro Preto UFOP Instituto de Ciˆencias Exatas e Biologicas ICEB Departamento de Computacao DECOM Disciplina Introducao a Programacao BCC201 Professores Puca Huachi Pablo Munhoz Trabalho Pratico Campo Minado Campo minado e um popular jogo de computador para um jogador Foi inventado por Robert Donner em 1989 e tem como objetivo revelar um campo de minas sem que alguma seja detonada Este jogo tem sido reescrito para as mais diversas plataformas sendo a sua versao mais popular a que vinha nativamente em edicoes do WindowsFonte httpsptwikipediaorgwikiCampo minado Figura 1 Exemplo do campo minado para windows 1 O jogo O Campo Minado e um jogo simples de memoria e raciocınio que consiste em um campo de quadrados O objetivo do jogo e revelar todos os quadrados vazios e com numeros evitando aqueles que escondem minas bombas Cada quadrado pode ser revelado clicando sobre ele Durante o jogo 4 situacoes podem acontecer o jogador seleciona uma posicao que contem uma mina O jogo acaba e todas as posicoes sao reveladas o jogador seleciona uma posicao com numero o numero e revelado indicando a quantidade de quadrados adjacentes que contˆem minas o jogador seleciona uma posicao vazia os espacos vazios em volta sao automaticamente revelados ou seja aqueles que nao contˆem minas ou numeros o jogador marca com uma bandeira uma posicao que acredita que possui uma mina nenhuma posicao e aberta e a posicao clicada e marcada com uma bandeira indicando uma mina Como jogar em modo texto O jogador pode revelar o que existe em um quadrado digitando a sua posicao linha e coluna respectivamente Introducao a Programacao BCC201 Pagina 1 de 5 versao 10 O numero que aparece no quadrado indica o numero total de bombas nos quatro quadrados que o cercam O jogador pode usar esse numero para ajudalo a deduzir se e seguro revelar um quadrado Quadrados vazios indicam que nao existem minas nos quadrados adjacentes ou seja nos 8 quadrados que o cercam Conforme o jogador vai revelando os quadrados apresente na tela o resultado da sua escolha O jogo termina quando todas as posicoes sao reveladas sendo que Se o jogador conseguir abrir todas posicoes exceto as minas ele ganha Se o jogador selecionar uma posicao com uma bomba ele perde O Trabalho Pratico Vocˆe deve implementar o jogo para um unico jogador em linguagem C Como nao e exigido o funcionamento dos cliques de mouse leiam os comandos do usuario pelo teclado A interface do jogo e livre porem o jogador deve ser capaz de entender o estado do jogo a cada jogada Para o jogo e necessario que seja feito um menu inicial com as seguintes opcoes 0 Sair Perguntar se deseja sair SimNao Se a resposta for nao deve voltar ao menu 1 Novo jogo padrao F Facil jogo 9x9 e 10 minas M Medio Jogo 15x15 e 25 minas D Difıcil Jogo 20x20 e 45 minas 2 Novo jogo personalizado Jogo com qualquer tamanho e qualquer quantidade de minas 3 Voltar para o jogo atual Continua o jogo de onde parou caso ja tenha comecado um jogo Caso contrario continua no menu 4 Carregar um jogo salvo Carrega um jogo salvo em um arquivo 5 Salvar o jogo atual Salva o jogo atual em arquivo O nome do arquivo deve ser solicitado 6 Mostrar Ranking Mostra o ranking salvo 7 Ajuda com as instrucoes de como jogar Ao comecar um jogo o jogador deve digitar um dos comandos a seguir ate finalizar o jogo ou voltar para o menu inicial lin col Posicao linha e coluna que deseja abrir m lin col Marcar a posicao linha e coluna com uma bandeira d lin col Desmarcar a posicao linha e coluna previamente marcada com uma ban deira desistir Mostra o jogo com todas as posicoes abertas Com este comando o jogador nao pode continuar a jogar e so pode voltar ao menu inicial voltar Volta para o menu inicial Introducao a Programacao BCC201 Pagina 2 de 5 versao 10 Importante seu programa deve proibir que o usuario execute comandos invalidos O usuario deve ser alertado com uma mensagem de erro caso digite um valor invalido Nos menus podem ser aceitas letras maiusculas ou minusculas O programa tambem deve detectar quando o jogador que ele venceu Alem disso vocˆe nao pode alterar os nomes dos comandos tao pouco os valores que devem ser digitadas nos menus Criando um novo jogo Se o usuario selecionar o jogo padrao deve ser solicitado o seu nome e o modo FMD Em seguida o jogo de iniciar e o tempo comecara a ser contado Caso o jogador selecione o jogo personalizado deve ser solicitado o nome as dimensao do tabuleiro linhas e colunas e quantidade de minas Em seguida iniciar o jogo Se a opcao for de comecar um jogo salvo deve ser solicitado o nome do arquivo e so depois continuar o jogo Observe que no arquivo do jogo tera alem do nome jogador o tempo que ele ja jogou Esse tempo de ser somado a jogada atual Caracterısticas do programa A interface nao precisa ser grafica ou sofisticada mas o jogador deve ser capaz de entender o estado do jogo a cada jogada Para implementar o jogo vocˆe pode utilizar qualquer funcao da biblioteca padrao alem de structs e alocacao dinˆamica O programa deve possuir um ranking com o nome dos jogadores que ganharem o jogo e sua classificacao A ordem de classificacao sera pelo tempo em ordem crescente O programa deve armazenar o ranking em um arquivo Nao utilize variaveis globais no programa Pode ser usado para definir constantes se necessario Faca o programa bem modular e com funcoes O main deve ser pequeno e organizado Podese utilizar passagem de parˆametros por valor ou referˆencia nas funcoes Coloque comentarios no programa e utilize identificadores que definam com clareza a funciona lidade das funcoes e das variaveis Para selecionar as posicoes aleatorias das minas utilize a funcao rand da biblioteca stdlibh Para medir o tempo utilize a biblioteca timeh Veja um exemplo no Moodle Lendo e salvando um jogo O arquivo com as informacoes do jogo deve ser em formato binario com as informacoes armazenadas como segue Em breve Introducao a Programacao BCC201 Pagina 3 de 5 versao 10 Lendo e salvando o ranking Um arquivo chamado recordestxt deve ser gravado com os 5 melhores tempos para cada nıvel do jogo Padrao e tambem os 5 melhores tempos para o jogo Personalizado No exemplo do arquivo abaixo a primeira linha contem o tipo de tabuleiro e tamanho se for o jogo padrao Padrao 9 e em seguida o numero de recordes ja gravados para esse tabuleiro 2 As proximas duas linhas contem o nome do jogador sem espacos e o tempo que ele conseguiu finalizar o jogo do tabuleiro padrao em segundos Apos isso e saltada uma linha e o novo tipo de tabuleiro e identificado Personalizado e o numero de recordes ja registrados aparece logo em seguida 5 As proximas 5 linhas contem o nome do jogador o tempo que ele conseguiu finalizar o jogo do tabuleiro personalizado em segundos o numero de linhas o numero de colunas e o numero de bombas do tabuleiro personalizado 1 Padrao 9 2 2 Jogador1 2500 3 Jogador2 5001 4 5 Padrao 15 0 6 7 Padrao 20 0 8 9 Personalizado 5 10 Tinky 124 30 50 2 11 Winky 386 30 50 5 12 Dipsy 1505 16 16 40 13 LaaLaa 2871 16 16 40 14 Po 10240 30 16 99 Avaliacao O problema deve ser resolvido por meio de um programa em C Inclua seu nome e numero de matrıcula como comentario em todos os arquivos c e h gerados Funcionamento adequado do programa Atendimento ao enunciado do trabalho Clareza do codigo que deve ser devidamente comentado e identado Utilizacao de funcoes e structs Utilizacao de alocacao dinˆamica Adequacao da estrutura do programa variaveis e comandos utilizados Apresentacao do trabalho Compilacao codigos que nao compilam serao zerados e warnings diminuirao a nota Utiliza remos o compilador GCC Nao serao aceitos trabalhos que caracterizem copia mesma estrutura e algumas pequenas mo dificacoes de outro Entrega Vocˆe devera entregar o codigo fonte se forem varios arquivos compactar em formato ZIP Introducao a Programacao BCC201 Pagina 4 de 5 versao 10 A entrega deve ser feita pelo Moodle ate as 23h59 do dia 31032025 As entrevistas serao feitas preferencialmente durante os horarios da aulas Exemplo de Execucao Vocˆe pode e deve customizar e melhorar as saıdas do programa A seguir segue um exemplo simples apenas para entendimento os dados digitados pelo usuario estao destacados em azul Exemplo 1 Em breve Introducao a Programacao BCC201 Pagina 5 de 5 versao 10

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Introdução a Programação - Campo Minado

5

Introdução a Programação - Campo Minado

Introdução à Lógica e Programação

UFOP

Atividade de Programação Linear

44

Atividade de Programação Linear

Introdução à Lógica e Programação

UFOP

Trabalho Prático de Otimização Combinatória

19

Trabalho Prático de Otimização Combinatória

Introdução à Lógica e Programação

UFOP

Apostila de Lógica de Programação e Algoritmos

1

Apostila de Lógica de Programação e Algoritmos

Introdução à Lógica e Programação

UFOP

Exercícios de Lógica - Verificação de Números Primos e Eficiência de Utilidades

22

Exercícios de Lógica - Verificação de Números Primos e Eficiência de Utilidades

Introdução à Lógica e Programação

UFAL

Introdução a Ponteiros e Arrays em C

35

Introdução a Ponteiros e Arrays em C

Introdução à Lógica e Programação

UFAL

Introdução a Vetores em Programação

18

Introdução a Vetores em Programação

Introdução à Lógica e Programação

UFAL

Prova 2 ATC Analise Sintatica e Automatos 2023-2

1

Prova 2 ATC Analise Sintatica e Automatos 2023-2

Introdução à Lógica e Programação

UMG

Programa em C para Calcular Soma e Produto de Dois Números

33

Programa em C para Calcular Soma e Produto de Dois Números

Introdução à Lógica e Programação

UFAL

Estruturas de Dados: Pilhas, Filas e Listas em C

7

Estruturas de Dados: Pilhas, Filas e Listas em C

Introdução à Lógica e Programação

UFAL

Texto de pré-visualização

Universidade Federal de Ouro Preto UFOP Instituto de Ciˆencias Exatas e Biologicas ICEB Departamento de Computacao DECOM Disciplina Introducao a Programacao BCC201 Professores Puca Huachi Pablo Munhoz Trabalho Pratico Campo Minado Campo minado e um popular jogo de computador para um jogador Foi inventado por Robert Donner em 1989 e tem como objetivo revelar um campo de minas sem que alguma seja detonada Este jogo tem sido reescrito para as mais diversas plataformas sendo a sua versao mais popular a que vinha nativamente em edicoes do WindowsFonte httpsptwikipediaorgwikiCampo minado Figura 1 Exemplo do campo minado para windows 1 O jogo O Campo Minado e um jogo simples de memoria e raciocınio que consiste em um campo de quadrados O objetivo do jogo e revelar todos os quadrados vazios e com numeros evitando aqueles que escondem minas bombas Cada quadrado pode ser revelado clicando sobre ele Durante o jogo 4 situacoes podem acontecer o jogador seleciona uma posicao que contem uma mina O jogo acaba e todas as posicoes sao reveladas o jogador seleciona uma posicao com numero o numero e revelado indicando a quantidade de quadrados adjacentes que contˆem minas o jogador seleciona uma posicao vazia os espacos vazios em volta sao automaticamente revelados ou seja aqueles que nao contˆem minas ou numeros o jogador marca com uma bandeira uma posicao que acredita que possui uma mina nenhuma posicao e aberta e a posicao clicada e marcada com uma bandeira indicando uma mina Como jogar em modo texto O jogador pode revelar o que existe em um quadrado digitando a sua posicao linha e coluna respectivamente Introducao a Programacao BCC201 Pagina 1 de 5 versao 10 O numero que aparece no quadrado indica o numero total de bombas nos quatro quadrados que o cercam O jogador pode usar esse numero para ajudalo a deduzir se e seguro revelar um quadrado Quadrados vazios indicam que nao existem minas nos quadrados adjacentes ou seja nos 8 quadrados que o cercam Conforme o jogador vai revelando os quadrados apresente na tela o resultado da sua escolha O jogo termina quando todas as posicoes sao reveladas sendo que Se o jogador conseguir abrir todas posicoes exceto as minas ele ganha Se o jogador selecionar uma posicao com uma bomba ele perde O Trabalho Pratico Vocˆe deve implementar o jogo para um unico jogador em linguagem C Como nao e exigido o funcionamento dos cliques de mouse leiam os comandos do usuario pelo teclado A interface do jogo e livre porem o jogador deve ser capaz de entender o estado do jogo a cada jogada Para o jogo e necessario que seja feito um menu inicial com as seguintes opcoes 0 Sair Perguntar se deseja sair SimNao Se a resposta for nao deve voltar ao menu 1 Novo jogo padrao F Facil jogo 9x9 e 10 minas M Medio Jogo 15x15 e 25 minas D Difıcil Jogo 20x20 e 45 minas 2 Novo jogo personalizado Jogo com qualquer tamanho e qualquer quantidade de minas 3 Voltar para o jogo atual Continua o jogo de onde parou caso ja tenha comecado um jogo Caso contrario continua no menu 4 Carregar um jogo salvo Carrega um jogo salvo em um arquivo 5 Salvar o jogo atual Salva o jogo atual em arquivo O nome do arquivo deve ser solicitado 6 Mostrar Ranking Mostra o ranking salvo 7 Ajuda com as instrucoes de como jogar Ao comecar um jogo o jogador deve digitar um dos comandos a seguir ate finalizar o jogo ou voltar para o menu inicial lin col Posicao linha e coluna que deseja abrir m lin col Marcar a posicao linha e coluna com uma bandeira d lin col Desmarcar a posicao linha e coluna previamente marcada com uma ban deira desistir Mostra o jogo com todas as posicoes abertas Com este comando o jogador nao pode continuar a jogar e so pode voltar ao menu inicial voltar Volta para o menu inicial Introducao a Programacao BCC201 Pagina 2 de 5 versao 10 Importante seu programa deve proibir que o usuario execute comandos invalidos O usuario deve ser alertado com uma mensagem de erro caso digite um valor invalido Nos menus podem ser aceitas letras maiusculas ou minusculas O programa tambem deve detectar quando o jogador que ele venceu Alem disso vocˆe nao pode alterar os nomes dos comandos tao pouco os valores que devem ser digitadas nos menus Criando um novo jogo Se o usuario selecionar o jogo padrao deve ser solicitado o seu nome e o modo FMD Em seguida o jogo de iniciar e o tempo comecara a ser contado Caso o jogador selecione o jogo personalizado deve ser solicitado o nome as dimensao do tabuleiro linhas e colunas e quantidade de minas Em seguida iniciar o jogo Se a opcao for de comecar um jogo salvo deve ser solicitado o nome do arquivo e so depois continuar o jogo Observe que no arquivo do jogo tera alem do nome jogador o tempo que ele ja jogou Esse tempo de ser somado a jogada atual Caracterısticas do programa A interface nao precisa ser grafica ou sofisticada mas o jogador deve ser capaz de entender o estado do jogo a cada jogada Para implementar o jogo vocˆe pode utilizar qualquer funcao da biblioteca padrao alem de structs e alocacao dinˆamica O programa deve possuir um ranking com o nome dos jogadores que ganharem o jogo e sua classificacao A ordem de classificacao sera pelo tempo em ordem crescente O programa deve armazenar o ranking em um arquivo Nao utilize variaveis globais no programa Pode ser usado para definir constantes se necessario Faca o programa bem modular e com funcoes O main deve ser pequeno e organizado Podese utilizar passagem de parˆametros por valor ou referˆencia nas funcoes Coloque comentarios no programa e utilize identificadores que definam com clareza a funciona lidade das funcoes e das variaveis Para selecionar as posicoes aleatorias das minas utilize a funcao rand da biblioteca stdlibh Para medir o tempo utilize a biblioteca timeh Veja um exemplo no Moodle Lendo e salvando um jogo O arquivo com as informacoes do jogo deve ser em formato binario com as informacoes armazenadas como segue Em breve Introducao a Programacao BCC201 Pagina 3 de 5 versao 10 Lendo e salvando o ranking Um arquivo chamado recordestxt deve ser gravado com os 5 melhores tempos para cada nıvel do jogo Padrao e tambem os 5 melhores tempos para o jogo Personalizado No exemplo do arquivo abaixo a primeira linha contem o tipo de tabuleiro e tamanho se for o jogo padrao Padrao 9 e em seguida o numero de recordes ja gravados para esse tabuleiro 2 As proximas duas linhas contem o nome do jogador sem espacos e o tempo que ele conseguiu finalizar o jogo do tabuleiro padrao em segundos Apos isso e saltada uma linha e o novo tipo de tabuleiro e identificado Personalizado e o numero de recordes ja registrados aparece logo em seguida 5 As proximas 5 linhas contem o nome do jogador o tempo que ele conseguiu finalizar o jogo do tabuleiro personalizado em segundos o numero de linhas o numero de colunas e o numero de bombas do tabuleiro personalizado 1 Padrao 9 2 2 Jogador1 2500 3 Jogador2 5001 4 5 Padrao 15 0 6 7 Padrao 20 0 8 9 Personalizado 5 10 Tinky 124 30 50 2 11 Winky 386 30 50 5 12 Dipsy 1505 16 16 40 13 LaaLaa 2871 16 16 40 14 Po 10240 30 16 99 Avaliacao O problema deve ser resolvido por meio de um programa em C Inclua seu nome e numero de matrıcula como comentario em todos os arquivos c e h gerados Funcionamento adequado do programa Atendimento ao enunciado do trabalho Clareza do codigo que deve ser devidamente comentado e identado Utilizacao de funcoes e structs Utilizacao de alocacao dinˆamica Adequacao da estrutura do programa variaveis e comandos utilizados Apresentacao do trabalho Compilacao codigos que nao compilam serao zerados e warnings diminuirao a nota Utiliza remos o compilador GCC Nao serao aceitos trabalhos que caracterizem copia mesma estrutura e algumas pequenas mo dificacoes de outro Entrega Vocˆe devera entregar o codigo fonte se forem varios arquivos compactar em formato ZIP Introducao a Programacao BCC201 Pagina 4 de 5 versao 10 A entrega deve ser feita pelo Moodle ate as 23h59 do dia 31032025 As entrevistas serao feitas preferencialmente durante os horarios da aulas Exemplo de Execucao Vocˆe pode e deve customizar e melhorar as saıdas do programa A seguir segue um exemplo simples apenas para entendimento os dados digitados pelo usuario estao destacados em azul Exemplo 1 Em breve Introducao a Programacao BCC201 Pagina 5 de 5 versao 10

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®