Ir ao conteúdo

Ajuda em Algoritmo


vanessabarbosa

Posts recomendados

Postado

Bom dia pessoal meu professor passou este exercicio para fazer no Visualg, mas não estou conseguindo fazer....

As informações de conta corrente de correntistas de um banco são armazenadas em duas estruturas de dados, um vetor e uma matriz que, respectivamente, guardam as informações de números de contas corrente (vetor), os saldos bancários e os limites de cheque especial (matriz). (Trabalhar com 20 contas).

O significado da informação “limite do cheque especial” é o valor máximo negativo que a conta de um correntista pode atingir.

procedimento cadastrar_contas():

O procedimento deverá permitir o cadastramento das informações de todos os correntistas de uma única vez.

procedimento relatorio_contas():

O procedimento deverá apresentar um relatório com todas as informações das contas bancárias existentes.

funcao deposito_conta(conta: inteiro; valor: real): real

Função que acrescenta valor em conta. A função deverá retornar o saldo bancário ou -9999 caso a conta seja inexistente.

funcao debito_conta (conta: inteiro; valor: real): real

Função que debita valor de conta. A função deverá retornar o saldo bancário considerando o cheque especial, ou -9998 se o saldo incluindo o limite do cheque especial for insuficiente ou -9999 se a conta for inexistente.

Ex. 1: se o for realizada uma tentativa de débito de 100 de uma conta que possui 30 de saldo e limite de cheque especial de 100 (saldo com limite ficando em 130) o saldo ficará em -70, que é abaixo do limite do cheque especial da conta e a função retornará -70.

Ex. 2: se o for realizada uma tentativa de débito de 200 de uma conta que possui 30 de saldo e limite de cheque especial de 100 (saldo com limite ficando em 130) o saldo ficaria em -170 que é acima do limite do cheque especial da conta. Neste caso o débito não deverá ser realizado e o saldo ficará no mesmo valor (30) e a função retornará -9998.

O módulo principal deverá cadastrar as contas (invocar o procedimento cadastrar_contas), apresentar um relatório da situação inicial das contas bancárias (invocar o procedimento relatorio_contas), repetidamente permitir a realização de operações de depósito ou débito sobre contas por meio de um menu com as opções abaixo e ao terminar apresentar um relatório da situação final das contas bancárias (procedimento relatorio_contas). Após invocar as funções deposito_conta ou debito_conta, o programa principal deverá apresentar o número da conta, o novo saldo ou “conta inexistente” se for retornado -9999 ou “saldo insuficiente” se for retornado -9998. Opções do menu:

1 Depósito em conta

2 Débito em conta

3 Sair

Podem me ajudar?

eu só consegui isso (que não é nada de mais):

algoritmo "semnome"

// Função :

// Autor :

// Data : 10/06/2012

// Seção de Declarações

var

menu : inteiro

procedimento cadastrar_contas ()

var

fimprocedimento

procedimento relatorio_contas ()

var

fimprocedimento

funcao deposito_conta(conta: inteiro; valor : real) : real

var

nm_conta, x : inteiro

fimfuncao

funcao debito_conta( conta:inteiro ; valor: real) : real

var

fimfuncao

inicio

escreva ("*** Escolha uma das opções ***")

escreva ("1 - Para Cadastrar Conta")

escreva ("2 - Para tirar um relatorio de conta: ")

escreva ("3 - Para depositar em conta: ")

escreva ("4 - Para fazer debito em uma conta: ")

escreva ("5 - Sair")

escreva ("****************************************")

leia (menu)

fimalgoritmo

me de-em uma dica.

Agradecida

  • Membro VIP
Postado
Bom dia pessoal meu professor passou este exercicio para fazer no Visualg, mas não estou conseguindo fazer....

As informações de conta corrente de correntistas de um banco são armazenadas em duas estruturas de dados, um vetor e uma matriz que, respectivamente, guardam as informações de números de contas corrente (vetor), os saldos bancários e os limites de cheque especial (matriz). (Trabalhar com 20 contas).

O significado da informação “limite do cheque especial” é o valor máximo negativo que a conta de um correntista pode atingir.

procedimento cadastrar_contas():

O procedimento deverá permitir o cadastramento das informações de todos os correntistas de uma única vez.

procedimento relatorio_contas():

O procedimento deverá apresentar um relatório com todas as informações das contas bancárias existentes.

funcao deposito_conta(conta: inteiro; valor: real): real

Função que acrescenta valor em conta. A função deverá retornar o saldo bancário ou -9999 caso a conta seja inexistente.

funcao debito_conta (conta: inteiro; valor: real): real

Função que debita valor de conta. A função deverá retornar o saldo bancário considerando o cheque especial, ou -9998 se o saldo incluindo o limite do cheque especial for insuficiente ou -9999 se a conta for inexistente.

Ex. 1: se o for realizada uma tentativa de débito de 100 de uma conta que possui 30 de saldo e limite de cheque especial de 100 (saldo com limite ficando em 130) o saldo ficará em -70, que é abaixo do limite do cheque especial da conta e a função retornará -70.

Ex. 2: se o for realizada uma tentativa de débito de 200 de uma conta que possui 30 de saldo e limite de cheque especial de 100 (saldo com limite ficando em 130) o saldo ficaria em -170 que é acima do limite do cheque especial da conta. Neste caso o débito não deverá ser realizado e o saldo ficará no mesmo valor (30) e a função retornará -9998.

O módulo principal deverá cadastrar as contas (invocar o procedimento cadastrar_contas), apresentar um relatório da situação inicial das contas bancárias (invocar o procedimento relatorio_contas), repetidamente permitir a realização de operações de depósito ou débito sobre contas por meio de um menu com as opções abaixo e ao terminar apresentar um relatório da situação final das contas bancárias (procedimento relatorio_contas). Após invocar as funções deposito_conta ou debito_conta, o programa principal deverá apresentar o número da conta, o novo saldo ou “conta inexistente” se for retornado -9999 ou “saldo insuficiente” se for retornado -9998. Opções do menu:

1 Depósito em conta

2 Débito em conta

3 Sair

Podem me ajudar?

eu só consegui isso (que não é nada de mais):

algoritmo "semnome"

// Função :

// Autor :

// Data : 10/06/2012

// Seção de Declarações

var

menu : inteiro

procedimento cadastrar_contas ()

var

fimprocedimento

procedimento relatorio_contas ()

var

fimprocedimento

funcao deposito_conta(conta: inteiro; valor : real) : real

var

nm_conta, x : inteiro

fimfuncao

funcao debito_conta( conta:inteiro ; valor: real) : real

var

fimfuncao

inicio

escreva ("*** Escolha uma das opções ***")

escreva ("1 - Para Cadastrar Conta")

escreva ("2 - Para tirar um relatorio de conta: ")

escreva ("3 - Para depositar em conta: ")

escreva ("4 - Para fazer debito em uma conta: ")

escreva ("5 - Sair")

escreva ("****************************************")

leia (menu)

fimalgoritmo

me de-em uma dica.

Agradecida

Então, implementei algumas coisas mais no seu código. Dê uma olhada.

algoritmo "semnome"
// Função :
// Autor :
// Data : 12/06/2012
// Seção de Declarações
var
menu : inteiro
contas : vetor [1..20] de inteiro
saldo_limite : vetor [1..20,1..2] de real //[X,1] = saldo, [X,2]=limite cheque especial [SV]

continuar : caractere

//procedimento criado para personalizar o pausa [SV].
procedimento pausaMSG
inicio
escreval
escreval ("Pressione F9 para continuar (ou Ctrl+F2 para finalizar)")
pausa
fimprocedimento

procedimento cadastrar_contas()
var
inicio
limpatela
escreval
escreval ("CADASTRO DE TODAS AS CONTAS")
escreval
escreval ("Em contrução")
pausaMSG
fimprocedimento

procedimento relatorio_contas()
var
inicio
limpatela
escreval
escreval (" *** RELATÓRIO DE CONTAS **** ")
escreval
escreval ("Em contrução")
pausaMSG
fimprocedimento

funcao deposito_conta(conta: inteiro; valor : real) : real
var
nm_conta, x : inteiro
inicio
limpatela

fimfuncao

funcao debito_conta( conta:inteiro ; valor: real) : real
var
inicio
limpatela

fimfuncao

//INÍCIO DO PROGRAMA PRINCIPAL
INICIO

menu := 0; //inicializa a variável
enquanto menu <> 5 faca
limpatela
escreval
escreval ("*** Escolha uma das opções ***")
escreval
escreval ("1 - Para Cadastrar Conta")
escreval ("2 - Para tirar um relatorio de conta: ")
escreval ("3 - Para depositar em conta: ")
escreval ("4 - Para fazer debito em uma conta: ")
escreval ("5 - Sair")
escreval ("****************************************")
escreva("=>")
leia (menu)
limpatela
escolha menu
caso 1
escreval("Iniciar/Reiniciar cadastro de contas? 'S' ou 'N'")
leia (continuar)
se (continuar="s") ou (continuar="S") então
cadastrar_contas()
fimse
caso 2
relatorio_contas()
caso 3

caso 4

//outrocaso
//escreval ("Opção inválida")
//escreval ("Pressione F9 para continuar (ou Ctrl+F2 para finalizar)")
//pausaMSG
fimescolha
fimenquanto
fimalgoritmo

Daí, vai dando continuidade.

SUGESTÕES

- Vá implementado e testando a medida que criar uma parte nova no código. NUNCA DEIXE PARA COMPILAR SOMENTE NO FINAL, fica muito mais complicado para corrigir. Enfim, tente fazer uma coisa de cada vez, por exemplo, tente fazer a parte de cadastrar, não precisa está totalmente completo, mas o importante é que o que você fizer, terá que está funcionando... daí parte para outra coisa ou termina/complemente o trecho.

- No próprio VisuAlg tem algumas dicas sobre os comandos. Basta clicar em "Ajuda", depois em "Sugestões e Comentários sobre VisuAlg", como visto na imagem.

ajudavisualg.jpg

No aguardo.

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!