Jump to content

Search the Community

Showing results for tags 'Visualg'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 110 results

  1. algoritmo "semnome" // Função : // Autor : // Data : 17/06/2019 // Seção de Declarações var i,j,aux:inteiro Matriz_A: vetor [1..3,1..3] de inteiro Matriz_B: vetor [1..3,1..3] de inteiro matriz_C: vetor [1..3,1..3] de inteiro inicio // Seção de Comandos // VETOR A para i de 1 ate 3 faca para j de 1 ate 3 faca escreval ("matriz A: coluna:",i,"linha:",j) escreval ("informe o valor da posicao: [",i,"]: [",j,"]:") leia(matriz_A[i,j]) fimpara fimpara limpatela //VETOR B para i de 1 ate 3 faca para j de 1 ate 3 faca escreval ("matriz B: coluna:",i,"linha:",j) escreval ("informe o valor da posicao: [",i,"]: [",j,"]:") leia(matriz_B[i,j]) fimpara fimpara limpatela //VETOR C Para i de 1 ate 3 faca Para j de 1 ate 3 faca matriz_C [i,j] <- ( matriz_A[i,1] * matriz_B[1,j] ) + (matriz_A[i,2] * matriz_B[2,j] ) + (matriz_A[i,3] * matriz_B[3,j] ) Escreval("matriz_C ",i , " x ",j , " : ", matriz_C [i,j]) Fimpara Fimpara
  2. Bom dia galera! Então, eu fiz esse algoritimo para resolver um exercicio (Faça um Programa que leia três números e mostre-os em ordem decrescente). Ele esta funcional, tudo certinho(eu acho). O que eu realmente queria saber é se existe uma forma de eu simplificar ele utilizando apenas as estruturas condicionais ou se dessa forma que eu fiz já é o mais simples possivel ? Valeu pela atenção pessoal!!! Segue o codigo criado no visualg //Faça um Programa que leia três números e mostre-os em ordem decrescente algoritmo "ex009" var n1, n2, n3: inteiro inicio escreva("Primeiro numero: ") leia(n1) escreva("Segundo numero: ") leia(n2) escreva("Terceiro numero: ") leia(n3) se (n1<n2) e (n2<n3) entao escreva(n3,n2,n1) senao se (n1<n3) e (n3<n2) entao escreva(n2,n3,n1) senao se (n2<n1) e (n1<n3) entao escreva(n3,n1,n2) senao se (n2<n3) e (n3<n1) entao escreva(n1,n3,n2) senao se (n3<n1) e (n1<n2) entao escreva(n2,n1,n3) senao se (n3<n2) e (n2<n1) entao escreva(n1,n2,n3) fimse fimse fimse fimse fimse fimse fimalgoritmo
  3. O exercício propunha fazer duas funções uma para multiplicação e outra para criar uma fatorial, porém devem ser feitas usando apenas operações de soma e subtração bom fiz uma função para multiplicar e esta funcionando porém estou tentando utiliza-la para fazer a fatorial e o resultado sempre da zero ;-; podem me ajudar algoritmo "semnome" var a,b:inteiro funcao multi(a:inteiro;b:inteiro):real var aux:real inicio se a=0 entao retorne 0 senao aux <- 0 enquanto b>0 faca aux <- aux+a b <- b-1 fimenquanto retorne aux fimse fimfuncao funcao fatorial(a:inteiro):real var fat,res:real inicio enquanto fat > 0 faca fat<-a fat <- fat - 1 res <- multi(fat,a) fimenquanto retorne res fimfuncao inicio leia(a) escreval(fatorial(a)) fimalgoritmo
  4. Bom pessoal, estou desenvolvendo um programa em VisualG para uma atividade da Faculdade, que apresente um menu de opções e que permita ao usuário escolher a opção desejada, receba os dados necessários para executar a operação e mostre o resultado. Verificar a possibilidade de opção inválida e não se preocupar com as restrições, como salário inválido. Porém ao executar o mesmo apresenta o erro de "Esperava encontrar entao" e "fimse". algoritmo "semnome" var op: caracter sal, nsal,: real meses: inteiro inicio // Seção de Comandos escreva ("Informe o salário R$: ") leia (sal) limpatela escreval(" MENU ") escreval("1. Novo salário") escreval("2. Férias ") escreval("3. Décimo Terceiro") escreval("4. Sair ") escreval(" ") escreva ("Informe a operação: ") leia (op) limpatela escolha op enquanto op <> 4 faca caso "1" escreva ("O salário do funcionário é R$:", sal, "reais.") se sal <= 350 entao escreva ("O novo salário será R$: ", sal*0.15, "reais") fimse se sal = 350 e <= 600 entao escreva ("O novo salário será R$: ", sal*0.10, "reais") fimse se sal > 600 entao escreva ("O novo salário será R$: ", sal*0.05, "reais") fimse caso "2" escreva ("O salário acrescido de férias será R$ :" (sal+(sal*0.3))) caso "3" escreva ("Informe os meses trabalhados") leia (meses) escreva ("O seu décimo terceiro será RS: " (sal+(sal*meses)/12)) caso "4" escreva ("Encerrar execução") outrocaso ("Opção inexistente") fimescolha fimenquanto fimalgoritmo
  5. Ao sair de um procedimento e entrar em outro, ta apresentando erro quando tento finalizar o programa. Var // Seção de Declarações das variáveis nome: vetor [1..3] de caractere telef: vetor [1..3] de caractere ema: vetor [1..3] de caractere codigo,codigo_contato,codigo_contato_cheio, menu_apagar,opc, opc1: inteiro cont, menu_mostrar,op: inteiro procedimento principal() Inicio // Seção de Comandos, procedimento, funções, operadores, etc... repita escreval ("") escreval ("=== AGENDA TELEFÔNICA ===") escreval ("") escreval ("1. Inserir novo contato") escreval ("2. Apagar contato") escreval ("3. Mostrar todos os contatos") escreval ("4. Sair") escreva ("Digite opcao: ") leia (codigo) limpatela ate (codigo=1) ou (codigo=2) ou (codigo=3) ou (codigo=4) escolha (codigo) caso 1 contato() caso 2 apagar() caso 3 mostrar() caso 4 interrompa fimescolha fimprocedimento //---------------------- NOVO CONTATO ---------------------- procedimento contato() inicio para cont de 1 ate 3 faca limpatela escreval("== INSERIR NOVO CONTATO ==") escreva ("Nome: ") leia (nome[cont]) escreva ("Telefone: ") leia (telef[cont]) escreva ("E-mail: ") leia (ema[cont]) escreval("") escreval("Usuario cadrastrado com sucesso") repita escreval("") escreval("1.Insira novo contato") escreval("2.Voltar ao menu") escreval("") escreva("Digite opção: ") leia(codigo_contato) escolha (codigo_contato) caso 1 escreva("") caso 2 interrompa limpatela principal() outrocaso escreval("") escreval("Opção invalida") escreval("") escreval("Pressione ENTER para voltar") leia(op) limpatela fimescolha ate codigo_contato = 1 fimpara limpatela escreval("") escreval("Lista de contato cheia") repita escreval("") escreval("1.Voltar ao menu") escreval("2.Sair") escreval("") escreval("Digite opção") leia(codigo_contato_cheio) escolha (codigo_contato_cheio) caso 1 limpatela principal() caso 2 interrompa outrocaso escreval("") escreval("Opção invalida") escreval("") escreval("Pressione ENTER para voltar") leia(op) limpatela fimescolha ate codigo_contato_cheio = 1 fimprocedimento //------------------------ Apagar contato------------------------------------ procedimento apagar() inicio limpatela escreval("== APAGAR CONTATO ==") Escreval("") escreva ("Qual contato você quer apagar? ") Escreval("") para cont de 1 ate 3 faca Escreval(cont,". ",nome[cont]) fimpara Escreval("") Escreva("Digite opção:") Leia(opc) se opc >0 entao se opc <4 entao nome[opc]<-"" telef[opc]<-"" ema[opc]<-"" Escreval("") Escreval("Contato Apagado com sucesso") repita escreval("") escreval("1.Apagar outro contato") escreval("2.Voltar ao menu") escreval("3.Sair") escreva("Digite opção:") leia(menu_apagar) Escolha(menu_apagar) caso 1 limpatela apagar() caso 2 limpatela principal() caso3 interrompa outrocaso escreval("") escreval("Opção invalida") escreval("") escreval("Pressione ENTER para voltar") leia(op) senao apagar() fimse fimse fimse fimescolha ate menu_apagar = 3 fimprocedimento //-------------------------- Mostrar todos os contatos --------------------- procedimento mostrar() inicio limpatela escreval("== LISTA DE CONTATOS ==") Escreval("") para cont de 1 ate 3 faca Escreval(cont,". ",nome[cont]) fimpara Escreval("") Escreva("Digite opção:") Leia(opc1) se opc1 >0 entao se opc1 <4 entao limpatela Escreval("Nome: ",nome[opc1]) Escreval("Telefone: ",telef[opc1]) Escreval("E-mail: ",ema[opc1]) repita escreval("") escreval("1.Mostrar outro contato") escreval("2.Voltar ao menu") escreval("") escreva("Digite opção:") Leia(menu_mostrar) Escolha(menu_mostrar) caso 1 limpatela mostrar() caso 2 limpatela principal() outrocaso escreval("") escreval("Opção invalida") escreval("") escreval("Pressione ENTER para voltar") leia(op) senao mostrar() fimse fimse fimescolha limpatela ate menu_mostrar = 1 fimprocedimento inicio // Seção de Comandos principal() Fimalgoritmo
  6. Boa noite,estou tentando executar um algoritmo no visualg que leia 100 números,descubra se existe números primos,se sim mostrar em que posição se encontra. Entretanto,o programa só está executando até onde mostra o vetor. Gostaria de ajuda de como terminar e realizar a verificação do número primo. Var num, cont, divisor: inteiro VET: vetor[0..99] de inteiro Inicio escreval ("Olá!Você quer saber se existe número primo? ") Para num <- 0 ate 99 faca Escreva("Digite o ", num, "o. valor: ") Leia(VET[num]) FimPara LimpaTela escreva ("Vetor: ") para num <- 0 ate 99 faca escreva (VET[num]) fimpara escreval ("") cont <- 0 divisor <- 1 Para num <- 0 ate 99 faca cont <- cont + 1 divisor <- divisor + 1 se (divisor <= num)e(num mod divisor = 0)e (cont = 2) entao EscrevaL("Valor", VET[num], " na posicao [",num, "] é Primo!") fimse fimpara Fimalgoritmo
  7. Boa noite,estou tentando fazer um algoritmo que leia 50 números e mostre em ordem crescente e decrescente ao usuário,preciso utilizar vetor. Até agora só conseguir fazer a parte crescente. Alguém tem alguma dica de como fazer a parte decrescente? Var CONTADORA, CONTADORB: inteiro NUM, AUX: inteiro VET: vetor[0..49] de inteiro Inicio para CONTADORA de 0 ate 49 faca escreval ("Digite um número") leia (NUM) VET[CONTADORA] <- NUM fimpara para CONTADORA de 0 ate 48 faca para CONTADORB de CONTADORA + 1 ate 49 faca se VET[CONTADORA] > VET[CONTADORB] entao AUX <-VET[CONTADORB] VET[CONTADORB] <- VET[CONTADORA] VET[CONTADORA] <- AUX fimse fimpara fimpara escreval("A ordem crescente dos números é: ") para CONTADORA de 0 ate 49 faca escreva(VET[CONTADORA]) fimpara Fimalgoritmo
  8. flavionorvel

    Converter linguagem C para visualg

    #include <stdio.h> #include <stdlib.h> // Limites de tamanhos #define MINIMO 2 #define MAXIMO 50 // Variáveis globais int opcao = 0; int linhas = MAXIMO; int colunas = MAXIMO; int matrizA[MAXIMO][MAXIMO]; int matrizB[MAXIMO][MAXIMO]; void limpar_tela(); // Retorna resposta do usuario se quer rodar novamente int rodar_novamente() { int opcao = 0; printf("\n\nDeseja rodar novamente? Digite 1 para SIM e 0 para Não: "); scanf("%d",&opcao); if (opcao == 1 || opcao == 0) { return opcao; } printf("\nOpcao invalida. Escolha novamente."); return rodar_novamente(); } // Recebe valor inteiro do usuario int receber_numero() { int numero = 0; scanf("%d",&numero); if (numero >0) { return numero; } printf("\nNúmero inválido. digite um número positivo.: "); return receber_numero(); } // Valida tamanhos de linhas e colunas int validar_tamanhos(int linhas, int colunas) { if ((linhas >= MINIMO && linhas <= MAXIMO) && (colunas >= MINIMO && colunas <= MAXIMO) && (linhas ! = colunas)) { return 1; } printf("\nLinhas e Colunas devem ser diferentes e ter valores entre %d e %d. Tente novamente.",MINIMO,MAXIMO); return 0; } // Preencher matriz void preencher_matriz(int matriz[MAXIMO][MAXIMO], int linhas, int colunas) { int i,j; for (i = 0 ; i < linhas ; i ++) { for (j = 0 ; j < colunas ; j ++) { printf("\nDigite um valor inteiro para a posicao %d-%d da matriz A: ",i,j); matriz[j] = receber_numero(); } } } // Imprimir matrizes void imprimir_matrizes(int matrizA[MAXIMO][MAXIMO], int matrizB[MAXIMO][MAXIMO], int linhas, int colunas) { int i,j; limpar_tela(); printf("\n\nMATRIZ A\n"); for (i = 0 ; i < linhas ; i++) { for (j = 0 ; j < colunas ; j ++) { printf("\nMATRIZ A POSICAO %d-%d: %d",i,j,matrizA[j]); } } printf("\n\nMATRIZ B (TRANSPOSTA DE A)\n"); for (i = 0 ; i < colunas ; i++) { for (j = 0 ; j < linhas ; j ++) { printf("\nMATRIZ B POSICAO %d-%d: %d",i,j,matrizB[j]); } } } void limpar_tela() { system("@cls||clear"); } // Laço principal int main() { int i,j; do { //Inicializar variáveis opcao = 0; linhas = 0; colunas = 0; i = 0; j = 0; do { printf("\nEntre com o tamanho para linhas: "); linhas = receber_numero(); printf("\nEntre com o tamanho para colunas: "); colunas = receber_numero(); } while (!validar_tamanhos(linhas,colunas)); // entrar com valores para a matriz A preencher_matriz(matrizA, linhas, colunas); // criar matriz transposta de A for(i = 0 ; i < linhas ; i ++) { for(j = 0 ; j < colunas ;j ++) { matrizB[j] = matrizA[j]; } } // Imprimir matrizes imprimir_matrizes(matrizA,matrizB,linhas, colunas); // Pergunta ao usuário se quer continuar opcao = rodar_novamente(); } while (opcao == 1); }me
  9. Fernando Cavaccini

    Dividir área em partes iguais

    Boa noite pessoal, estou criando um algoritmo no Visualg, que é para um usuário que está construindo uma casa, porém em uma parte, é necessário dividir a área interna da casa em partes iguais, mas não sei como posso fazer isso, se alguém pudesse dar uma dica. Obrigado desde já.
  10. Olá, sou nova na programação e ainda estou trabalhando só com o visualg. Então relevem qualquer coisa, por favor. Bom... Meu professor pediu para fazermos um programa no visualg que escrevesse de 0 até 100 por extenso. Tem algumas restrições só podemos usar: Se; fimse; Escreva; leia; <- •Não pode usar vetores e isso complicou muito. •Não pode ser (todo) assim: se (numero=45) enato escreva("Quarenta e cinco"), porque isso ia gastar muitas linhas. Ele deu uma dica de como fazer: Var: Unidaden: inteiro Unidadec: caractere Dezena: caractere Numero: inteiro Inicio: escreva ("Digite um número e tecle enter: ) leia (numero) Se (numero>20) e (numero<30) entao escreva ("Vinte e ", ???)
  11. Olá, gostaria que vocês pudessem me ajudar a desenvolver e com resolução esses exercícios aqui, estou quebrando a cabeça e não consigo chegar em nadaaa, obrigado!!! Primeiro exercício 1-Leia um valor inteiro entre 1000 e 9999 e verifique se o número formado apenas pelos algarismos que estão nas casas das unidades de milhar e das centenas é ou não múltiplo de 4. Segundo " " 2- Numa loja de eletrodomésticos, o vendedor encarregado da seção de televisores recebe, mensalmente, um salário fixo mais comissão. Esta comissão é calculada em relação ao tipo e a quantidade de televisores vendidos por mês, obedecendo a seguinte tabela: Sobre o seu salário fixo há um desconto de 10% referente ao INSS. Caso o seu salário bruto exceda a R$ 1500,00 haverá desconto de imposto de renda, conforme a segunda a tabela ao lado, aplicada sobre o valor excedente a R$ 1500,00. Calcule: a comissão do funcionário, o salário bruto, os valores de cada desconto, o total dos descontos e o salário líquido. Terceiro " " Escreva um algoritmo que leia o valor de 3 ângulos de um triângulo e escreva se o triângulo é retângulo, obtusângulo ou acutângulo. A saber, o triângulo retângulo possui um ângulo reto, o triângulo obtusângulo possui um ângulo obtuso, e o triângulo acutângulo possui 3 ângulos agudos. Quarto No Campeonato Mundial de Cross Fit o atleta deve pesar entre 65 Kg (inclusive) e 100 Kg (inclusive) e medir de 1,70 m (inclusive) a 1,95 m (inclusive). Escrever um algoritmo para ler a altura e o peso de um jogador e determinar se o jogador está apto a participar do campeonato, escrevendo a mensagem correta, conforme a situação: • ACEITO (se a altura e o peso do jogador estiverem dentro da faixa especificada) • TOTALMENTE RECUSADO (se a altura e o peso do jogador forem inválidos) • RECUSADO POR ALTURA (se somente a altura do jogador for inválida) • RECUSADO POR PESO (se somente o peso do jogador for inválido)
  12. Gente alguém pode me da uma luz nesse algoritmo? como eu resolvo isso pelo menos? Tentei utilizar o comando arquivo <> no visualg, mas não da certo. Você decidiu comprar um carro e para ajudar na sua decisão, você resolveu desenvolver um código que mostre ao final qual é o menor custo ao final de ano para cada modelo escolhido baseado no custo total de compra do carro, custo com impostos, custo com combustível (considerando o consumo médio de cada veículo e um total estimado de 10.000 Km rodados no ano e o valor de médio R$ 3,98 para o litro de combustível) e custos com seguro. Como dados de entrada você pode criar um arquivo que contenha as seguintes informações que serão carregadas no programa. Modelo do veículo Custo total de compra Custo total de impostos Consumo médio de combustível (Km/l) Custos com seguro Chevrolet Ônix R$36.000,00 R$1.400,00 11,8 R$1.600,00 Ford Fiesta R$32.000,00 R$1.300,00 13,5 R$1.800,00 VW Fox R$31.000,00 R$1.450,00 12,3 R$1.300,00 VW Polo R$41.000,00 R$1.600,00 13,5 R$1.500,00 Hyundai HB20 R$40.000,00 R$1.200,00 11,6 R$1.200,00 Renault Sandero R$30.000,00 R$1.300,00 12,8 R$1.900,00 Ao final o programa deverá mostrar os dados apresentados na tabela para cada veículo e o custo total no final de um ano para cada um deles.
  13. Olá galera tudo beleza? Eu estou tentando resolver um problema no visualg, usando Portugol porém eu não sei aplicar algumas coisas que são pedidas no mesmo. Problema: Dado um número, informar se é par ou ímpar. Se for par somar 5 no número informado e se for ímpar multiplicar por 3 o número informado. Eu fiz a parte em que ele fala se o número e par ou ímpar, mas não sei fazer a parte da soma e a multiplicação alguém pode me ajudar? ALGORITMO: Var n:inteiro inicio escreval("Insira um número inteiro") leia (n) se (n mod2=0) entao escreval ("O número é par") senao escreval("O número é impar") fimse Fimalgoritmo
  14. Fala galera tudo beleza? Então meu professor passou um "problema" e falou para criar um programa no Visualg usando Portugol, só que eu estou com alguns problemas principalmente na fórmula, alguém pode me ajudar? Pergunta: Dado o preço do ingresso e a idade o programa devera informar o preço do ingresso com os seguintes descontos de acordo com a idade: IDADE 0-5-15% 6-20-5% 21-40- 2% acima de 40 - 30% Se puderem me ajudar agradeço.
  15. Var // Seção de Declarações das variáveis romano:caractere subtexto :caractere i:inteiro letra1:caractere Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escreval("Digite um número em romano para ser convertido em arábico") escreval("menor que 4000 e maior que 0") leia(romano) para i de 1 ate Compr(romano) faca subtexto <- Copia(romano,i,1) escreval(subTexto) fimpara Consegui fazer somente isso, o problema está na hora de salvar letra por letra num vetor e saber a posição de cada letra pois se for uma letra menor que a posterior subtrai-se um exemplo é o X antes de C subtrai-se 10 ficando 90 e quando o C vale 100 e quando vem antes de um número maior que ele um exemplo é D ficando 400, acho que somente a letra I, X, C, subtraem-se se estiver antes de um número maior o resto soma-se, o problema está em saber a posição da letra. Alguém tem alguma ideia? Acho que sei como finalmente fazer primeiramente eu pegaria o valor em romano digitado, pegaria o tamanho da letra valor atribuído seria n tamanho da letra e desse tamanho da letra tiraria n-1, depois tentaria dividir a letra, não sei o comando no VisualG para separar as letras e criaria um variável para armazenar o separamento dessas letras nesse caso separador criaria outra variável nesse caso s e receberia zero depois faria um para onde i =0 e i tem que ser menor que o tamanho da letra nessa e iria somando por +1 depois abriria um se verificando se a divisão da letras separador = "M" então s= s+1000 e dentro desse se abriria outro se e se se separador[i-1]= "C" então s= s-200, terminaria esse se depois abriria outro se verificando se separador = "D" então s=s+500 e dentro abriria outro se e se separador[i-1] = "C" então s=s-200 depois fecharia esse se e abriria outro se separador = "C" então s=s+100 e dentro desse se abriria outro se se separador[i-1] = "X" e então s=s-20 depois terminaria esse se e abriria outro se, se separador = "L" então s=s+50 dentro abriria outro se, se separador[i-1] = "X" então s=s-20 depois terminaria esse se e abriria outro se, se separador="X" então s=s+10 abriria outro se, se separador[i-1] = "I" então s=s-2 depois fecharia esse se depois abriria outro se, se separador="V" então s=s+5 e dentro desse se abriria outro se, se separador[i-1] = "I" então s=s-2 fecharia esse se depois abriria outro se se separador = "I" então s=s+1 depois daria um escreval(s) O problema está na hora de separar as letras qual o comando no VisualG para separar letra ou não tem? O comando copia é útil somente se separar letra por letra porém falha na hora, por exemplo de copiar um número romano, eu eu tenho que já passar esse comando com parâmetros já pré-deficinidos copie desta casa até esta casa (romano;1;2), que no não teria como colocar todos os parâmetros para todos os números de 1 a 3999
  16. Var // Seção de Declarações das variáveis romano:caractere subtexto :caractere i:inteiro letra1:caractere Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escreval("Digite um número em romano para ser convertido em arábico") escreval("menor que 4000 e maior que 0") leia(romano) para i de 1 ate Compr(romano) faca subtexto <- Copia(romano,i,1) escreval(subTexto) fimpara Consegui fazer somente isso, o problema está na hora de salvar letra por letra num vetor e saber a posição de cada letra pois se for uma letra menor que a posterior subtrai-se um exemplo é o X antes de C subtrai-se 10 ficando 90 e quando o C vale 100 e quando vem antes de um número maior que ele um exemplo é D ficando 400, acho que somente a letra I, X, C, subtraem-se se estiver antes de um número maior o resto soma-se, o problema está em saber a posição da letra. Alguém tem alguma ideia?
  17. Var // Seção de Declarações das variáveis Fatorial,Numero,x : Inteiro Primo,Resposta : Inteiro vetorr : vetor[0..1000] de inteiro Flag : Logico Inicio // Seção de Comandos, procedimento, funções, operadores, etc... Limpatela Mudacor("Amarelo","Frente") Escreva("Deseja até que número primo: ") leia(Numero) Escreval Escreva(" 1") Para Primo de 2 ate Numero faca Fatorial<- 2 Flag <- Falso enquanto (Primo<>fatorial) faca Resposta <- Primo MOD Fatorial Fatorial <- Fatorial + 1 se Resposta = 0 entao Flag <- Verdadeiro fimse fimenquanto se (Nao Flag) entao escreva(" , ",Primo) vetorr[x] := primo x := x + 1 fimse fimpara escreval escreval escreval("O Número Primo Anterior A ",numero," é ",vetorr[x-1]) O código ficou bom mas contém um erro o número 1 não é primo e preciso otimizá-lo ainda para ficar mais eficiente gostaria de quando você múltiplo de um número já removesse da contagem e passasse para o próximo número, pois quando é múltiplo já não é mais primo pois somente precisa ter 2 divisores exatos que no caso seria o 1 e o número digitado, a e outra falha no algoritmo tem que ser um número primo anterior e caso o número digitado seja primo deve informar o número primo anterior a este digitado
  18. Var // Seção de Declarações das variáveis respostas,gabarito: vetor[1..3]caractere i,acertos, erros: inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... //Escreval("Digite a resposta") //Escreval("Digite o gabarito") para i de 1 ate 3 faca Escreval("Digite a resposta") leia(respostas[i]) se(respostas[i]<>a) e (respostas[i]<>b) e (respostas[i]<>c) e (respostas[i]<>d) Escreval("Por favor digite respostas válidas de a,b,c e d") fimse fimpara para i de 1 ate 3 faca Escreval("Digite o gabarito") leia(gabarito[i]) se(gabarito[i]<>a) e (gabarito[i]<>b) e (gabarito[i]<>c) e (gabarito[i]<>d) Escreval("Por favor digite um gabarito válido de a,b,c e d") fimse fimpara acertos<-0 para i de 1 ate 3 faca se(respostas[i] = gabarito[i]) entao acertos<-acertos+1 fimse erros<-3-acertos fimpara escreval("O número de acertos foi:",acertos) escreval("O número de erros foi:", erros) Fimalgoritmo Criei esse algoritmo porém o mesmo apresenta o erro variável RESPOSTAS[1] não foi encontrada, já tentei achar o erro e nada, o algoritmo que fiz é para pedir as respostas de a até d caso não seja informado isso irá pedir para informar esse valor no gabarito também e também conta os acertos e os erros
  19. Galera, sou novo em programação, alguem poderia me ajudar nessa nessa questão em Visual G? 1-A padaria PãoFresco vende uma certa quantidade de pães franceses e uma quantidade de biscoitos a cada dia. Cada pãozinho custa R$ 0,25 e o biscoito custa R$ 1,70. Ao final do dia, o dono quer saber quanto arrecadou com a venda dos pães e broas (separados) e o total dos 2 juntos. O dono também quer saber quanto deste valor deve guardar numa conta de poupança (sendo este 10% do total arrecadado). Com base nestas informações, desenvolva um algoritmo para ler as quantidades de pães e de biscoitos diários e calcule e imprima as seguintes informações: - Total do valor dos pães - Total do valor dos biscoitos - Total do valor dos pães e biscoitos juntos - Valor que será colocado na poupança - Valor final para o dono ( sem o valor aplicado na poupança)
  20. Rapaziada estou meio adoentado é preciso entregar uma tarefa simples amanha a noite, Preciso fazer um algorítimo em visualg que calcule o tempo gasto de saída de casa é chegada ao trabalho é mostre as horas gastas os minutos gastos é os segundos gastos. Consegui fazer ate a metade mais não estou conseguindo processar o resto. Quem poder da um tombo te agradeço muito. Fiz uma parte Var he,hs,me,ms,hora:inteiro Inicio escreva ("Digite a hora de entrada: ") leia (he) escreva ("Digite os minutos de entrada: ") leia (me) escreva("Digite a hora de saida: ") leia (hs) escreva ("Digite os minutos de saida: ") leia(ms) hora:= hs-he escreva("Passou", hora , ":horas") Fimalgoritmo
  21. guiilhermej

    Ajuda Portugol

    Galera, to com um impasse em umas questões passadas na faculdade, eu realmente gosto de resolver meus exercícios, pois só assim sei que irei aprender, mas acontece que to meio perdido nessas questões, alguem me da um help por favor. 6. Escreva um algoritmo que peça um número n ao usuário, e que gere um novo n de acordo com a seguinte regra: • se n é par, n = n / 2 • se n é impar, n = 3 * n + 1 • imprime n • O programa deve parar quando x tiver o valor igual a 1. Por exemplo, para n = 13, a saída será: 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 7. Fazer um algoritmo que leia um número que servira para controlar os primeiros números ímpares. Deverá ser impressa a soma desses números. Suponha que o número informado será maior que zero, caso não seja, informar o erro. Informe um número: 5 1 3 5 7 9 A soma dos 5 valores impares é: 25 8. Fazer um algoritmo que leia os limites inferior e superior de um intervalo e o número cujos múltiplos se deseja que sejam impressos no intervalo aberto. Suponha que os dados digitados são para um intervalo crescente. Exemplo: Valor inicial: 5 Valor final: 15 Divisor: 3 6 9 12 15 9. Fazer um algoritmo que leia a quantidade de números que se deseja digitar para que possa ser impresso o maior e o menor número digitado. Não suponha que todos os números lidos serão positivos. Exemplo: Quantos números deseja digitar? 5 Informe um numero:3 Informe um numero:-2 Informe um numero:5 Informe um numero:6 Informe um numero:19 O maior numero informado foi: 19 O menor numero informado foi: -2
  22. Boa noite pessoal, Sou novo aqui no fórum, então um Oi para todos. Sou novo na programação e estou com um exercício que está difícil de resolver. Uso VisualG para testar. Preciso inserir uma palavra e apresentar como saída a inversão de duas em duas letras. Exemplo: digitar a palavra EXEMPLO e ter como saída: XEMELPO, inclusive quando a palavra tiver um número ímpar de letras a última não modifica. Já tentei alguma coisa, mas não sei se uso vetor mesmo, em todos os exemplos de inversão de palavras o vetor é usado. Alguém pode me dar uma luz? Segue o código: algoritmo "semnome" // Função : // Autor : // Data : 26/10/2018 // Seção de Declarações var palavra: caracter vet: vetor [1..30] de caracter tamanho: inteiro i: inteiro inicio escreva ("Digite uma palavra: ") leia (palavra) tamanho <- compr (palavra) escreva ("A palavra tem ", tamanho, " letras.") para i de 1 ate tamanho faca se ((i mod 2) = 0) entao vet <- vet [i+1] fimse palavra <- vet fimpara escreva ("A palavra agora é ", palavra) fimalgoritmo Obrigado desde já.
  23. 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) : João dos ceus // Data atual : 03/09/2018 Var // Seção de Declarações das variáveis dados: vetor[1..5,1..5] de caracter i,j: inteiro letras: vetor[1..6] de caracter k: inteiro contador:inteiro opcao,opcao2:inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... repita Escreval("------ Menu principal ------") Escreval("Selecione uma das opções") Escreval("1. Inserir sopa de letras") Escreval("2. Sair") leia(opcao) escolha opcao caso 1 escreval("Introduza as letras para a sopa de letras:") para i de 1 ate 5 faca para j de 1 ate 5 faca leia (dados[i,j]) fimpara fimpara escreval ("") escreval("A sopa de letras é:") para i de 1 ate 5 faca para j de 1 ate 5 faca escreva (dados[i,j]) fimpara escreval ("") fimpara escreval ("") escreval(" As letras introduzidas são:") para i de 1 ate 6 faca leia (letras) fimpara para i de 1 ate 5 faca para j de 1 ate 5 faca para k de 1 ate 6 faca se letras[k]=dados[i,j] entao contador<-contador+1 escreval("") escreval ("-> Letra:") escreval (dados[i,j]) escreval ("->> Coordenada:") escreva (i,j) escreval("") escreval ("->>> Numero de vezes que a letra foi repetida:") ESTOU COM DIFICULDADES NESTE CODIGO AQUI, QUERO QUE ME DIGA QUANTAS VEZES A LETRA ESCOLHIDA FOI REPETIDA NA MATRIZ fimse fimpara fimpara fimpara caso 2 fimalgoritmo fimescolha Fimalgoritmo
  24. 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
×

Important Information

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