Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Roberto Silva Santos

algoritmo

Recommended Posts

Bom dia caros amigos. Estou precisando de uma super ajuda. Tenho um algoritmo pra fazer com o programa Visualg que é o seguinte . (VETORES) Criar um programa para gerenciar um sistema de reservas de mesas em uma casa de espetáculos. A casa possui 20 mesas de 8 lugares cada. O programa deverá permitir que o usuário escolha o código de uma mesa (1 a 20). Deverá informar se foi possível realizar a reserva e atualizá-la. Se não for possível, o programa deverá emitir uma mensagem. O programa deve terminar quando o usuario digitar o código 0 (zero) para uma mesa ou quando todas as mesas estiverem ocupadas.

Eu sub entendo que os 8 lugares de cada mesa ñ tem nada haver com o programa que irei resolver pois os código é para a reserva de cada mesa. Será que eu poderia atribuir as mesas numa matriz tipo

VAR MAT: VETOR [1..4][1..5] DE INTEIRO

COD, COD1, X: INTEIRO (E outras variaveis que eu precisaria para os codigo)

INICIO

X<-1

(será que devo usar dois (para faca))

PARA COD DE 1 ATE 4 PASSO 1 FACA

PARA COD1 DE 1 ATE 5 PASSO 1 FACA

MAT [COD] [COD1] <- X

X<-X+1 //o X seria pra fazer a cotagem

FIMPARA

FIMPARA

 

quem poder me ajudar com este algoritmo ficarei mui grato, pois preciso de mais dicas pra que este algoritmo atende todas as necessidades solicitada no problema.

Grato Roberto Silva

Compartilhar este post


Link para o post
Compartilhar em outros sites

A resposta é:

Pode, mas se voce vai receber um valor de 1 a 20 pra que complicar?

Um vetor ficaria mais fácil de implementar.

A questão é: nada contra usar matriz, mas voce terá que converter 20 em dois índices [j] da matriz.

 

Será que eu poderia atribuir as mesas numa matriz tipo

VAR MAT: VETOR [1..4][1..5] DE INTEIRO

Para percorrer a matriz tem que usar dois laços mesmo, mas se usar vetor apenas um resolve.

 

(será que devo usar dois (para faca))

PARA COD DE 1 ATE 4 PASSO 1 FACA

PARA COD1 DE 1 ATE 5 PASSO 1 FACA

Que tal criar uma matriz [20]

onde o índice [x] indica a mesa

e o valor que cada variável possui indica se a mesa está ocupada ou não.

Pense nisso, algo do tipo:

 

Mesa[1] = 0

Mesa[2] = 1

Mesa[3] = 0

Mesa[4] = 1

Mesa[5] = 0

 

Mesas 2 e 4 estão ocupadas.

quem poder me ajudar com este algoritmo ficarei mui grato, pois preciso de mais dicas pra que este algoritmo atende todas as necessidades solicitada no problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Kandrade

Kara to fervendo os miolos pra ver como resolver este algoritmo, eu ñ estou conseguindo colocar a condições

 

algoritmo "20"

// Função : Crie um programa para ferenciar um sistema de reservas de mesas em

// uma casa de espetáculos. A casa possui 20 mesas de 8 lugares cada.

// O programa deverá permitir que o usuário escolha o código de uma

// mesa (1-20). Deverá informar se foi possível realizar a reserva e

// atualizá-la. Se não for possível, o programa deverá emitir uma

// mensagrem. O programa deve terminar quando o usuário digitar o

// código 0 (zero) para uma mesa ou quando todas as mesas estiverem

// ocupadas.

var

mesa: vetor [1..20] de inteiro

nome: vetor [1..20] de inteiro

i, j, cod: inteiro

consulta, continua, : caractere

inicio

para i de 1 ate 20 faca

escreva ("Digite nº da mesa desejada: ")

leia (mesa)

escreva ("Digite o Nome: ")

leia (nome)

fimpara

para I de 1 ate 19 faca

para J de I+1 ate 20 faca

// como eu colocaria as condições?

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce pode associar o nome do cara que fez a reserva com o número da mesa, mas o nome deve ser um vetor de caracteres.

 

mesa: vetor [1..20] de inteiro
nome: vetor [1..20] de caracter

O programa deve estar dentro de um loop que é finalizado quando o código da mesa é 0 ou as mesas todas preenchidas.

 

para i de 1 ate 20 faca
   mesa[i] <- 0
fimpara
 
escreva ("Digite nº da mesa desejada: ")
leia(codigo)
enquanto (codigo "diferente de" 0) 
   //agora voce precisa identificar se a mesa está vazia.
   // que ta iniciar a matriz mesa com 0, ficando facil identificar se a mesa esta vazia
   // se a mesa estiver vazia e alguem quiser reserva-la mude seu estado para 1. 
   se (mesa[codigo] = 0) // a mesa esta vazia
	  mesa[codigo] <- 1
	  leia (nome[codigo])
   senao
	  escreva "A mesa ja esta reservada"
   fimse
   escreva ("Digite nº da mesa desejada: ")
   leia(codigo)
fim_enquanto

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.