Ir ao conteúdo
  • Cadastre-se

GKuze

Membro Júnior
  • Posts

    18
  • Cadastrado em

  • Última visita

Reputação

2
  1. Esse algoritmo não resolve toda sua questão, mas acredito que possa te ajudar a entender a lógica. ESTUDE o código, não copie e cole, já que esse script apenas imprime a quantidade de vogais! Se sobrar alguma dúvida eu fico feliz em te ajudar, pois também estou estudando a mesma matéria. Algoritmo "Quantidade de vogais" // Disciplina : Lógica de Programação e Algoritmos // // Descrição : Imprime o número de letras vogais digitadas na frase do usuário // Autor(a) : GKuze // Data atual : 27/06/2018 Var entrada, letra: caractere compEntr: inteiro //tamanho da "string" que o usuário digitou nA, nE, nI, nO, nU: inteiro //numero de vezes que cada vogal aparece i: inteiro // variável de varredura do para-faca Inicio escreva("Digite uma frase, por obséquio: ") leia(entrada) compEntr <- compr(entrada) // pega o comprimento da entrada para i de 1 ate compEntr faca //para cada uma das letras, faça letra <- copia(entrada, i, 1) escolha ( minusc(letra)) // minusc() transforma um caractere (ou mais) em minúsculo caso "a" nA <- nA + 1 caso "e" nE <- nE + 1 caso "i" nI <- nI + 1 caso "o" nO <- nO + 1 caso "u" nU <- nU + 1 fimescolha fimpara limpatela escreval("A: ", nA) escreval("E: ", nE) escreval("I: ", nI) escreval("O: ", nO) escreval("U: ", nU) Fimalgoritmo
  2. @Simon Viegas Sim, eu já entendo um pouco de C# e Java, pois, desde 2016 venho estudando por conta própria, e faria de maneira mais simples a mesma lógica, em uma dessas linguagens. O problema é que como estou agora no começo da faculdade de ADS, preciso aprender algoritmos e essa "sintaxe" do pseudo-código. Após sua sugestão eu limpei o código e reformulei seu propósito para "verificador de palavras palindrômicas", o que resolve a confusão de tentar checar por frases palindromes completas, o que o programa não faz. Agora meu código está assim: Algoritmo "Verificador de palavras palindrômicas 2.0" // Disciplina : [Algoritmos e Lógica de Programação] // Descrição : Este programa verifica se uma palavra, quando tem suas //letras invertidas, acaba se tornando a mesma palavra. Ex: Arara. // Autor(a) : GKuze // Data atual : 12/06/2018 Var PalavraEscolhida: caractere //string contador: inteiro n: inteiro palindrome: logico Inicio contador <- 50; palindrome <- verdadeiro escreva("Digite a palavra sem acentos para verificar se ela é palindrômica: ") leia(palavraEscolhida) contador <- compr(palavraEscolhida) para n de 1 ate contador faca se (copia(palavraEscolhida, n, 1) <> copia(palavraEscolhida, (compr(palavraEscolhida)-n)+1, 1)) então palindrome <- falso fimse fimpara se palindrome = verdadeiro então escreva("A palavra é palindrômica!") senao escreva("A palavra não é palindrômica...") fimse Fimalgoritmo Agradeço seu tempo e esforço ao me ajudar!
  3. @Simon Viegas Obrigado pela resposta! Eu tenho 2 meses pra dominar VisualG e Portugol, e me sair bem nas provas da faculdade, então estou pesquisando por problemas e exercícios pra ver se consigo desenvolver uma boa lógica com essas tecnologias.
  4. Bom dia amigos, eu desenvolvi ontem esse algoritmo que faz a verificação se uma palavra é um Palíndromo ou não, no VisualG e gostaria de saber se alguém tem alguma ideia de como eu poderia melhorar essa lógica. O VisualG não tem muitos métodos para manipulação de strings, então fica difícil o negócio! Algoritmo "Verificador de palíndromos" // Disciplina : [Algoritmos e Lógica de Programação] // Descrição : Este programa verifica se uma palavra, quando tem suas //letras invertidas, acaba se tornando a mesma palavra. Ex: Arara. // Autor(a) : GKuze // Data atual : 12/06/2018 Var PalavraEscolhida: caractere //string vetPalavraInvertida : vetor [1..50] de caractere //armazena os caracteres da palavra escolhida em ordem contrária vetPalavraEscolhida : vetor [1..50] de caractere // caracteres da palavra escolhida indiceInverso: inteiro contador: inteiro n: inteiro palindrome: logico Inicio contador <- 50; palindrome <- verdadeiro //"palindrome" por padrão escreva("Digite a palavra para verificar se ela é palindrome: ") leia(palavraEscolhida) contador <- compr(palavraEscolhida) para n de 1 ate contador faca indiceInverso <- (compr(palavraEscolhida) - n) + 1 vetPalavraInvertida[indiceInverso] <- copia(palavraEscolhida, indiceInverso, 1) vetPalavraEscolhida[n] <- copia(palavraEscolhida, n, 1) se (vetPalavraEscolhida[n] <> vetPalavraInvertida[indiceInverso]) então //caso alguma letra da palavra invertida seja diferente da letra na //mesma posição, da palavra escolhida, //a variavel palindrome vira falso palindrome <- falso fimse fimpara se palindrome = verdadeiro então escreva("A palavra é palíndromo!") senao escreva("A palavra não é palíndromo...") fimse Fimalgoritmo
  5. Boa noite Isadora, tudo bem? Eu não sei até onde você aprendeu sobre C, mas você com certeza não quer armazenar o nome e o sexo em variáveis do tipo float! É melhor usar um array de caracteres, também conhecido como string para o nome e int para o sexo. Acredito que você ainda não aprendeu sobre laços de repetição (for loop), então eu faria assim: #include <stdio.h> #include <stdlib.h> int main() { char alunx1[50], alunx2[50], alunx3[50], alunx4[50]; int sexo1, sexo2, sexo3, sexo4; //0- Masculino, 1- Feminino int idade1, idade2, idade3, idade4; int somaPesos, mediaIdades; int numDeMulheres; float peso1, peso2, peso3, peso4; printf("Digite o nome do primeiro aluno: "); scanf("%s\0", &alunx1); //%s é pra pegar uma variável string, e esse "\0" é um caracter essencial no final de cada string, como ele não é adicionado automaticamente pelo scanf, eu coloquei ali manualmente printf("Digite o sexo do primeiro aluno ( \"0\" = Masculino, \"1\" = Feminino ): "); scanf("%i\0", &sexo1); printf("Digite a idade do primeiro aluno: "); scanf("%i\0", &idade1); printf("Digite o peso do primeiro aluno: "); scanf("%f\0", &peso1); printf("Digite o nome do segundo aluno: "); scanf("%s\0", &alunx2); printf("Digite o sexo do segundo aluno ( \"0\" = Masculino, \"1\" = Feminino ): "); scanf("%i\0", &sexo2); printf("Digite a idade do segundo aluno: "); scanf("%i\0", &idade2); printf("Digite o peso do segundo aluno: "); scanf("%f\0", &peso2); printf("Digite o nome do terceiro aluno: "); scanf("%s\0", &alunx3); printf("Digite o sexo do terceiro aluno ( \"0\" = Masculino, \"1\" = Feminino ): "); scanf("%i\0", &sexo3); printf("Digite a idade do terceiro aluno: "); scanf("%i\0", &idade3); printf("Digite o peso do terceiro aluno: "); scanf("%f\0", &peso3); printf("Digite o nome do quarto aluno: "); scanf("%s\0", &alunx4); printf("Digite o sexo do quarto aluno ( \"0\" = Masculino, \"1\" = Feminino ): "); scanf("%i\0", &sexo4); printf("Digite a idade do quarto aluno: "); scanf("%i\0", &idade4); printf("Digite o peso do quarto aluno: "); scanf("%f\0", &peso4); mediaIdades = (idade1 + idade2 + idade3 + idade4) / 4; somaPesos = peso1 + peso2 + peso3 + peso4; /*Explicação: O número de mulheres será a soma do valor das variáveis (que só devem ser 0 ou 1) Logo, o número de alunos (4) - a soma obtida na variável numDeMulheres, será o número de homens (uma vez que seus valores são 0) */ numDeMulheres = sexo1 + sexo2 + sexo3 + sexo4; printf("Media das idades: %i\n\nSoma dos pesos: %i\n\nNumero de mulheres: %i\n\nNumero de homens: %i", mediaIdades, somaPesos, numDeMulheres, (4 - numDeMulheres)); return 0; }
  6. @André Luiz Pereira Machado O exemplo que eu dei é uma classe completamente separada do Form. Só está no mesmo arquivo. Se a classe "Ajudante" estivesse em outro arquivo de nome "Ajudante.cs" o efeito seria o mesmo. Tudo depende da utilização do mesmo Namespace. Então basta você criar um método e ao invés de passar um "FormCollection", como no meu Exemplo, passe um "Form".
  7. @André Luiz Pereira Machado O método Close está presente em todos os objetos criados a partir de um Form. Para fechar o form atual, basta chamar o "Close();", que é subentendido que você esteja se referindo ao Form atual.
  8. Também estou aprendendo e cada vez mais me apaixonando por programação! Você pode usar o método "Close" para fechar um formulário. Fiz esse código rapidinho só pra ilustrar, espero que rode: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; //formulário principal (pai) namespace AbrindoEFechandoForms { public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } /// <summary> /// Abre uma nova instância do filho 1 /// </summary> private void btnFormFilho1_Click(object sender, EventArgs e) { frm1 frm1OBJ = new frm1(); frm1OBJ.Show(); } /// <summary> /// Abre uma nova instância do filho 2 /// </summary> private void btnFormFilho2_Click(object sender, EventArgs e) { frm2 frm2OBJ = new frm2(); frm2OBJ.Show(); } /// <summary> /// Pega a coleção de todos os Forms abertos atualmente na aplicação /// </summary> private void btnFechaTodosOsFilhos_Click(object sender, EventArgs e) { var formsAbertos = Application.OpenForms; Ajudante.fecharFilhos(formsAbertos); } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace AbrindoEFechandoForms { public class Ajudante { /// <summary> /// Fecha todos os filhos passados em coleção /// </summary> /// <param name="frmsAFechar">Coleção de forms a serem fechados</param> public static void fecharFilhos(FormCollection frmsAFechar) { try { //enquanto a contagem da coleção for maior que 1 (apenas o FrmMain deve continuar rodando) while (frmsAFechar.Count > 1) { for (int i = 0; i < frmsAFechar.Count; i++) { Form frm = frmsAFechar[i] as Form; //cria um objeto Form a partir do filho posicionado no index "i" atual if (frm.Name != "FrmMain") //caso o nome desse filho não seja "FrmMain", feche-o: { frm.Close(); //aqui } } } } catch (Exception ex) { MessageBox.Show(ex.Message); // se der qualquer tipo de exceção, mostre para o usuário } } } }
  9. @Mateus Martinez Rosa Então cara, ao invés de simplesmente usar o Array "Frutas", cria um método que lê do arquivo de texto e retorna um array caso o arquivo exista, do contrário retorna o mesmo array de antes: private void FrmMain_Load(object sender, EventArgs e) { //sorteia entre zero e o número de itens do array - 1 string[] arrayLidoDoArquivo = leiaDeFrutas("c:\\arquivoDasFrutas.txt"); int numeroAleatorio = rand.Next(0, (arrayLidoDoArquivo.Length - 1)); string palavraEscolhidaAleatoriamente = arrayLidoDoArquivo[numeroAleatorio]; palavraDaVez = palavraEscolhidaAleatoriamente; //guarda a palavra pra comparar no Button.Click char[] letrasDaFruta = palavraEscolhidaAleatoriamente.ToCharArray(); lblEmbaralhada.Text = elMezclador(letrasDaFruta); } //Método do array de palavras pra sortear. //Uma fruta por linha do arquivo private string[] leiaDeFrutas(string caminhoDoArquivoFrutas) { string[] frutas = new string[] {"abacaxi", "maça", "mamão", "morango", "pêssego", "melão", "kiwi", "banana"}; //se o arquivo existe if (System.IO.File.Exists(caminhoDoArquivoFrutas)) { string[] arrayDoArquivo = System.IO.File.ReadAllLines(caminhoDoArquivoFrutas); return arrayDoArquivo; //retorna as linhas do arquivo em forma de Array } return frutas; //caso contrário, retorne o array frutas de antes }
  10. Cara, fiz isso aqui em dez minutos então acho que algo pode dar errado, mas é nesse caminho: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace PalavrasEmbaralhadas { public partial class FrmMain : Form { Random rand = new Random(); //aleatorizador string palavraDaVez; public FrmMain() { InitializeComponent(); } private void FrmMain_Load(object sender, EventArgs e) { //sorteia entre zero e o número de itens do array - 1 int numeroAleatorio = rand.Next(0, (frutas.Length - 1)); string palavraEscolhidaAleatoriamente = frutas[numeroAleatorio]; palavraDaVez = palavraEscolhidaAleatoriamente; //guarda a palavra pra comparar no Button.Click char[] letrasDaFruta = palavraEscolhidaAleatoriamente.ToCharArray(); lblEmbaralhada.Text = elMezclador(letrasDaFruta); } /// <summary> /// Embaralha uma sequencia de chars e retorna uma string /// </summary> /// <param name="letrasDaFruta">char array</param> /// <returns></returns> private string elMezclador(char[] letrasDaFruta) { List<char> letrasDaFrutaList = letrasDaFruta.ToList(); Random randMezclador = new Random(); List<char> charsEmbaralhados = new List<char>(); foreach (char letra in letrasDaFrutaList) { if(charsEmbaralhados.Count > 2) { int numRand = randMezclador.Next(0, letrasDaFrutaList.Count() - 1); //número aleatório entre 0 e a quantidade de chars - 1 charsEmbaralhados.Insert(numRand, letra); //insere a letra de forma aleatória na lista de charsEmbaralhados } else { charsEmbaralhados.Add(letra); } } return new String(charsEmbaralhados.ToArray()); } private void btnConfirmar_Click(object sender, EventArgs e) { if(txtEntradaDoUsuario.Text != string.Empty) //se o usuário digitou algo... { //tolower garante que a verificação não seja sensitiva ao nível de caixa if(txtEntradaDoUsuario.Text.ToLower() == palavraDaVez) { MessageBox.Show("Parabéns cara, você acertou essa bagaça!"); } else { MessageBox.Show("A palavra está incorreta... :/"); } } } //array de palavras pra sortear private string[] frutas = { "abacaxi", "maça", "mamão", "morango", "pêssego", "melão", "kiwi", "banana" }; } }
  11. @Raposo2500 Encontrei essa rápida explicação em Português: http://www.fabiobmed.com.br/while-do-while-e-loop-while-no-visual-basic/ Mas se você manja de Inglês, existe essa playlist sensacional do thenewboston: https://www.youtube.com/watch?v=mM3zB3QWuv8&list=PLC601DEA22187BBF1 que esclarece muitas dúvidas!
  12. @douglas hq Com 4GB de RAM pode colocar 64 Bit que roda tranquilo, 32 Bit é recomendado para PCs com menos de 2GB de memória RAM ou caso o processador não seja compatível com arquitetura x64
  13. @Gabriel Carvalho Leme Sempre usei o recuva nos PCs que precisei recuperar arquivos, segue um link com um tutorial de como usá-lo: http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2013/04/como-instalar-e-usar-o-recuva-para-recuperar-seus-arquivos.html Lembrando que você não deve tentar instalar/gravar nada no HD antes de tentar recuperar, pois isso pode (vai) sobrescrever seus arquivos antigos...
  14. @mar_jbs Se você criar um arquivo batch com: msg * "isso aqui e a mensagem" Ao rodá-lo a mensagem será mostrada na tela, mesmo no Windows 10. Porém você quer algo que funcione pela rede, é isso? Qual o intuito desse "programa", pegar o diagnóstico de um cliente? Por que se este for o caso, existe um excelente programa chamado TeamViewer que lhe permite controlar o computador do usuário através da rede, mas ele precisa lhe dar permissões pra isso obviamente. https://www.teamviewer.com/pt/download/windows/
  15. @Saymon Daniel Da Rosa Você precisa instalar o driver da placa de vídeo. Esse driver da microsoft é um driver genérico só pra que o vídeo funcione até que os devidos drivers sejam instalados. Esse aqui é o link para o site da NVidia que vai apontar para um driver que acredito ser o certo de acordo com as poucas informações que você passou a respeito da placa e do sistema: https://www.geforce.com/drivers/results/124426

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...