Jump to content
  • 0
Maroto

[RESOLVIDO] Erro de memória com algoritimo no VisualG

Question

Olá, pessoas.

 

Criei um programa com fins de estudo no visualg, cuja finalidade é preencher uma matriz com valores aleatórios e, em seguida, conferir e armazenar numa segunda atriz se o valores gerados são pares ou ímpares. Todavia o programa fica dando um erro ("Access violation at address xxxx in module" visualg30.exe). Não sei se eu que estou errando na lógica, se meu pc está quebrado ou se é um bug do visualg. 

Abaixo deixo meu código para quem puder me ajudar. Obrigado :)

 

Var
   // Seção de Declarações das variáveis
   matriz1: vetor [0..2, 0..2] de inteiro
   matriz2: vetor [0..2, 0..2] de caractere

  // Procedimento que gera valores inteiros aleatorios para preencher a matriz1.
  procedimento preencheMatriz
  var
     // Variaveis contadoras
     i1, i2: inteiro
  inicio
     para i1 de 0 ate 1 passo 1 faca
        para i2 de 0 ate 2 passo 1 faca
           aleatorio on
           leia (matriz1[i1,i2])
           limpatela
           aleatorio off
        fimpara
     fimpara
     // Imprimindo a matriz na tela
     para i1 de 0 ate 1 passo 1 faca
        para i2 de 0 ate 2 passo 1 faca
           escreva (matriz1[i1,i2])
        fimpara
        escreval ("")
     fimpara
  fimprocedimento

  // Procedimento que verifica se os valores das posições da matriz1 são pares
  // ou ímpares.
  procedimento verificaParImpar
  var
     i1, i2: inteiro
  inicio
     para i1 de 0 ate 1 passo 1 faca
        para i2 de 0 ate 2 passo 1 faca
           se (matriz1[i1, i2] MOD 2=0) entao
              matriz2[i1,i2] <- "par"
              escreva(matriz2[i1,i2], " ")
           senao
              matriz2[i1,i2] <- "ímpar"
              escreva(matriz2[i1,i2], " ")
           fimse
        fimpara
        escreval(" ")
     fimpara
  fimprocedimento

Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   preencheMatriz
   verificaParImpar
Fimalgoritmo

 

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By unset
      Olá, estou elaborando a lógica para desenvolver um sistema de agendamento em PHP, ele consiste em salvar no banco os horários disponíveis que uma empresa pode funcionar,
       
      Por exemplo, certos dias de semana pode ou não ter horários liberados, assim como certos dias, nesses períodos em cada faixa de horário pode ter diferentes quantidades de clientes que podem fazer um agendamento de acordo com a quantidade do horário.
       
      Por exemplo na empresa 1 = de Segunda a Sexta das 07:00h até as 22:00h tem horário, Sábado e Domingo Fechado
      Por exemplo na empresa 2 = Só atende Sábado e Domingo das 13:00 as 00:00h e é fechado nos outros dias
      Em cada um desses horários tenho que salvar a quantidade de pessoas que podem ser atendidas por exemplo
       
      Empresa 1 =  Segunda 7:00h = 4 vagas
      Empresa 1 = Terça 18:00h = 2 vagas
      Empresa 1 = Sexta 19:00h = 0 vagas - indisponível
       
      Empresa 2 =  Sábado 17:00h = 0 vagas - indisponível
      Empresa 2 = Sábado18:00h = 5 vagas
      Empresa 2 = Domingo 20:00h = 6 vagas
       
      Pensando em uma forma que acho pouco convencional e pouco lógica, criaria um formulário com vários e vários campos de todos os dias da semana com todos os horários disponíveis e quantidades pra ser colocada como na imagem em anexo, e salvaria no formato json no banco assim por exemplo 
       
      Coluna: agendamentoDiasSemanaHorarios
       
      {"1":{"ativo":"0","horarios":{"07:00":7,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"2":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"3":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"4":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"5":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"6":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"7":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}}}
       
      Então no caso se 1 ativo quer dizer que segunda pode ter horários agendados, aí vem a lista gigante de horários exemplo 07:00 e em seguida a quantidade de pessoas no caso 7
       
      Estou com dificuldade para elaborar uma logica mais simples que funcione, 
       
      Se alguém tiver uma ideia e possa ajudar, uma opinião de como faria, agradeço muito.
       
       

    • By Geralt96
      Bom dia. Alguém pode me dá uma ajuda pra desenvolver essa questão, por gentileza?

      Aqui está ela: https://projecteuler.net/problem=6

      A soma dos quadrados dos primeiros dez números naturais é: 1² + 2² + ... 10² = 385...
      O quadrado da soma dos dez primeiros números naturais é: (1+2+ ... 10)² = 55² = 3025...
      Portanto, a diferença entre a soma dos quadrados dos primeiros dez números naturais e o quadrado da soma é: 3025 - 385 = 2640.
      Encontre a diferença entre a soma dos quadrados dos primeiros cem números naturais e o quadrado da soma.
    • By cerejafalante
      Olá pessoal, estou com uma lista de exercício de funções para fazer no visualg mas não sei por onde começar, alguém pode me ajudar fazendo esse exercício? ai eu pego ele de exemplo e faço os outros, obrigada
       
      o exercício é 
      Escreva um programa que calcula área de figuras: quadrado, retângulo, triângulo e círculo. O usuário informa qual forma deseja calcular a área, informa os parâmetros necessários e a área da forma é calculada em uma função. 
    • By cerejafalante
      Pessoal tenho que fazer um algoritmo de função no visualg de uma calculadora. Eu fiz o algoritmo mas não sei como fazer função, alguém me ajudaaa
      o código está aqui, tem que por em função, obrigada
       
      Var
      n1,n2,r:real
      operacao:inteiro
      inicio
      repita
      escreval ("1. Multiplicação ")
      escreval ("2. Divisão ")
      escreval ("3. Subtração ")
      escreval ("4. Soma ")
      escreval ("5. Sair ")
      leia (operacao)
      se ( operacao = 5 ) entao
      fimalgoritmo
      fimse
      limpatela
      escreva ("Diga o primeiro numero: ")
      leia ( n1 )
      ate ( operacao >= 1 ) e ( operacao <= 5 )
      se ( operacao <= 4 ) e ( operacao >= 1 ) entao
      escreva ("Diga o segundo numero: ")
      leia (n2)
      fimse
      escolha operacao
      caso 1
      r <- n1*n2
      caso 2
      r <- n1/n2
      caso 3
      r <- n1-n2
      caso 4
      r <- n1+n2
      outrocaso
      escreva ("escolha incorreta")
      fimescolha
      escreval ("O resultado é: ", r)
      escreval ("")
      ate ( operacao = 5 )
      fimalgoritmo
    • By LeoCS2724
      Preciso que alguem faça esse exercicios para min, pois estou fazendo uma lista de 100 exercicios, e preciso entrega-los até hoje.
      São para ser feitos em VISUAL G.


      3- Uma loja tem 10 cadastrados e deseja enviar uma correspondência a cada um deles anunciando um bônus especial. Faça um programa que leia o nome do cliente e o valor de suas compras no ano passado. Calcule e mostre um bônus de 10% se o valor das vendas for menor que R$1000,00 e 15% caso contrário.

      5- Faça um programa que receba a idade, altura e peso de 25 pessoas. Calcule e mostre:

      - A quantidade de pessoas com idade superior a 50 anos.

      - A média das alturas das pessoas com idade entre 10 e 20 anos.

      - A porcentagem de pessoas com peso inferior a 40 kg entre todas as pessoas analisadas;


      6- Faça um programa que receba 10 números e que calcule e mostre a quantidade de números entre 30 e 90.

      8- Faça um programa que receba várias idades e que calcule e mostre a média das idades digitadas. Finalize digitando idade igual a zero.


      9- A prefeitura de uma cidade fez uma pesquisa entre seus habitantes, coletando dados sobre o salário e o número de filhos. A prefeitura deseja saber:

      a) a média do salário da população;

      b) a média do número de filhos;

      c) o maior salário


      10- Escrever um algoritmo que lê 5 valores para a, um de cada vez, e conta quantos destes valores são negativos, escrevendo esta informação.


      11- Chico tem 1,50 metro e cresce 2 centímetros por ano, enquanto Zé tem 1,10 metro e cresce 3 centímetros por ano. Construa um algoritmo que calcule e imprima quantos anos serão necessários para que Zé seja maior que Chico.

      14-Escrever um algoritmo que leia 20 valores para uma variável n e, para cada um deles, calcule a tabuada de 1 até n. Mostre a tabuada na forma:


      1 x n = n


      2 x n = 2n


      3 x n = 3n


      .......


      n x n = n2


      15- Faça um algoritmo que leia uma quantidade não determinada de números positivos. Calcule a quantidade de números pares e ímpares, a média de valores pares e a média geral dos números lidos. O número que encerrará a leitura será zero.


      16- Foi realizada uma pesquisa de algumas características físicas da população de uma certa região. Foram entrevistadas 500 pessoas e coletados os seguintes dados:

      a- Sexo: M (masculino) e F (feminino)

      b- cor dos olhos: A (azuis), V (verdes) e C (castanhos)

      c- cor dos cabelos: L (louros), C (castanhos) e P (pretos)

      d- Idade

      Deseja-se saber:

      a maior idade do grupo

      a quantidade de indivíduos do sexo feminino, cuja idade está entre 18 e 35 anos e que tenham olhos verdes e cabelos louros.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.