Respostas no Fórum
-
AutorPosts
-
Tatiana Azer MalufParticipante
Meu código ficou um pouco diferente do professor, está correto assim?
Tatiana Azer MalufParticipanteMeu código ficou um pouco diferente do professor, está correto assim?
Tatiana Azer MalufParticipanteBoa noite
Segue exercício para correção:programa { inclua biblioteca Util inclua biblioteca Tipos funcao inicio() { cadeia nome [2] inteiro idade [2], soma = 0, tot = 0, maior = 0 real media = 0 para (inteiro pos = 0; pos < Util.numero_elementos (nome); pos++) { escreva ("Nome: ") leia (nome [pos]) escreva ("Idade de " + nome [pos] + ": ") leia (idade [pos]) } escreva ("\n===== ANALISANDO AS PESSOAS CADASTRADAS =====") para (inteiro pos = 0; pos < Util.numero_elementos (idade); pos++) { soma += idade [pos] tot++ } media = Tipos.inteiro_para_real (soma) / tot escreva ("\n\nMédia de idade: " + media + " anos") escreva ("\nPessoas acima da média: ") para (inteiro pos = 0; pos < Util.numero_elementos (idade); pos++) { se (idade [pos] > media) { escreva ("\n\t-> " + nome [pos] + " (" + idade [pos] + " anos)") } } escreva ("\n--------------------------------------") para (inteiro pos = 0; pos < Util.numero_elementos (idade); pos++) { se (pos == 0) { maior = idade [0] } senao { se (idade [pos] > maior) { maior = idade [pos] } } } escreva ("\nMaior idade do grupo: " + maior + " anos") escreva ("\nPessoas com a maior idade: ") para (inteiro pos = 0; pos < Util.numero_elementos (idade); pos++) { se (idade [pos] == maior) { escreva ("\n\t-> " + nome [pos]) } } escreva ("\n\n") } }
Tatiana Azer MalufParticipantePerdão, segue com os totais:
programa { inclua biblioteca Util inclua biblioteca Texto funcao inicio() { cadeia vet [6] inteiro tot = 0, tot1 = 0, tot2 = 0, tot3 = 0 para (inteiro pos = 0; pos < Util.numero_elementos (vet); pos++) { escreva ("Nome para a posição [" + pos + "]: ") leia (vet [pos]) tot++ } escreva ("\n===== " + tot + " NOMES CADASTRADOS COM SUCESSO =====") Util.aguarde (300) escreva ("\n\n---------- ANALISANDO ----------") Util.aguarde (300) escreva ("\nNomes com menos de 6 letras: ") Util.aguarde (300) para (inteiro pos = 0; pos < Util.numero_elementos (vet); pos++) { se (Texto.numero_caracteres (vet [pos]) < 6) { escreva ("\n[" + pos + "] = " + vet [pos] + " ") Util.aguarde (200) tot1++ } } escreva (" Total = " + tot1) escreva ("\n-------------------------------------") escreva ("\nNomes que começam com vogal: ") para (inteiro pos = 0; pos < Util.numero_elementos (vet); pos++) { se (Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'A' ou Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'E' ou Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'I' ou Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'O' ou Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'U') { escreva ("\n[" + pos + "] = " + vet [pos] + " ") Util.aguarde (300) tot2++ } } escreva (" Total = " + tot2) escreva ("\n-------------------------------------") escreva ("\nNomes que possuem a letra S: ") para (inteiro pos = 0; pos < Util.numero_elementos (vet); pos++) { se (Texto.posicao_texto ("S", Texto.caixa_alta (vet [pos]), 0) != -1) { escreva ("\n[" + pos + "] = " + vet [pos] + " ") Util.aguarde (300) tot3++ } } escreva (" Total = " + tot3) escreva ("\n\n") } }
Tatiana Azer MalufParticipanteBoa noite
Segue exercício para correção:programa { inclua biblioteca Util inclua biblioteca Texto funcao inicio() { cadeia vet [6] inteiro tot = 0 para (inteiro pos = 0; pos < Util.numero_elementos (vet); pos++) { escreva ("Nome para a posição [" + pos + "]: ") leia (vet [pos]) tot++ } escreva ("\n===== " + tot + " NOMES CADASTRADOS COM SUCESSO =====") Util.aguarde (300) escreva ("\n\n---------- ANALISANDO ----------") Util.aguarde (300) escreva ("\nNomes com menos de 6 letras: ") Util.aguarde (300) para (inteiro pos = 0; pos < Util.numero_elementos (vet); pos++) { se (Texto.numero_caracteres (vet [pos]) < 6) { escreva ("\n[" + pos + "] = " + vet [pos] + " ") Util.aguarde (200) } } escreva ("\n-------------------------------------") escreva ("\nNomes que começam com vogal: ") para (inteiro pos = 0; pos < Util.numero_elementos (vet); pos++) { se (Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'A' ou Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'E' ou Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'I' ou Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'O' ou Texto.obter_caracter (Texto.caixa_alta (vet [pos]), 0) == 'U') { escreva ("\n[" + pos + "] = " + vet [pos] + " ") Util.aguarde (300) } } escreva ("\n-------------------------------------") escreva ("\nNomes que possuem a letra S: ") para (inteiro pos = 0; pos < Util.numero_elementos (vet); pos++) { se (Texto.posicao_texto ("S", Texto.caixa_alta (vet [pos]), 0) != -1) { escreva ("\n[" + pos + "] = " + vet [pos] + " ") Util.aguarde (300) } } escreva ("\n\n") } }
Tatiana Azer MalufParticipanteOi Jéssica
Agora o programa verifica o número, valida, mas não pede pra digitar de novo caso o número esteja fora do range. Como faço isso, por favor?programa { inclua biblioteca Tipos funcao inicio() { inteiro c = 1, n caracter resp = ' ' enquanto (verdadeiro) { escreva ("\n-------------------------------") escreva ("\n\tVALOR " + c ) escreva ("\n-------------------------------") escreva ("\nDigite um número (entre 1 e 10): ") leia (n) c++ se (n >= 1 e n <= 10) { escreva ("\nQuer continuar? (s/n) ") leia (resp) } se (n < 1 ou n >= 10) { escreva ("<<ERRO>> O número deve estar entre 1 e 10") } } escreva ("\n\n") } }
Tatiana Azer MalufParticipanteOi Jéssica
Melhorou um pouco da última vez, mas ainda assim não ficou tudo certo.
Consegue me dar uma dica? Não quero assistir o vídeo de resposta sem conseguir finalizar 🙁programa { inclua biblioteca Tipos funcao inicio() { inteiro c = 1, n caracter resp = ' ' enquanto (verdadeiro) { escreva ("\n-------------------------------") escreva ("\n\tVALOR " + c ) escreva ("\n-------------------------------") escreva ("\nDigite um número (entre 1 e 10): ") leia (n) c++ se (n >= 1 e n <= 10) { pare } se (n < 1 ou n >= 10) { escreva ("<<ERRO>> O número deve estar entre 1 e 10") } escreva ("\nQuer continuar? (s/n) ") leia (resp) enquanto (resp == 'n' ou resp == 'N') { pare } se (resp != 'S' ou resp != 's' ou resp != 'N' ou resp != 'n') { escreva ("A resposta deve ser S ou N") } } escreva ("\n\n") } }
Tatiana Azer MalufParticipanteOlá, boa noite.
Digitei o código primeiro para o usuário digitar o valor e estava tudo certo.
Quando inseri a primeira validação, deu o seguinte erro: “Tipos incompatíveis! Não é possível atribuir uma expressão do tipo “lógico” à uma expressão do tipo “inteiro”.
Por favor, pode me ajudar?
Segue o código:programa { inclua biblioteca Tipos funcao inicio() { inteiro c = 1, n caracter resp = ' ' cadeia teclado = " " enquanto (verdadeiro) { escreva ("\n-------------------------------") escreva ("\n\tVALOR " + c ) escreva ("\n-------------------------------") escreva ("\nDigite um número (entre 1 e 10): ") leia (teclado) c++ se (Tipos.cadeia_e_inteiro (teclado, 10)) { n = Tipos.cadeia_e_inteiro (teclado, 10) } senao { escreva ("<<ERRO>> Deve ser digitado um número") } escreva ("Quer continuar? (s/n) ") leia (resp) se (resp == 'N' ou resp == 'n') { pare } } } }
Tatiana Azer MalufParticipanteOlá. Fiz um pouco diferente do colega acima na opção inválida. Precisei pedir novamente ao usuário que digitasse os 2 valores, caso contrário o programa oferece escolher a opção, mas como não tem os valores, não faz qualquer cálculo.
Pergunto: está correta essa análise?
Segue o código:programa { funcao inicio() { escreva ("{ EXERCÍCIO 040 - Calculadora }\n") inteiro n1, n2, soma, sub, mult, op = 0 escreva ("\nPrimeiro número: ") leia (n1) escreva ("Segundo número: ") leia (n2) enquanto (op != 5) { escreva ("===== ESCOLHA UMA OPERAÇÃO =====") escreva ("\n[1] Adição") escreva ("\n[2] Subtração") escreva ("\n[3] Multiplicação") escreva ("\n[4] Entrar com novos dados") escreva ("\n[5] Sair") escreva ("\n>>>>> SUA OPÇÃO: ") leia (op) soma = n1 + n2 sub = n1 - n2 mult = n1 * n2 se (op == 1) { escreva ("---------------------------") escreva ("\n" + n1 + " + " + n2 + " = " + soma) escreva ("\n---------------------------") } se (op == 2) { escreva ("---------------------------") escreva ("\n" + n1 + " - " + n2 + " = " + sub) escreva ("\n---------------------------") } se (op == 3) { escreva ("---------------------------") escreva ("\n" + n1 + " * " + n2 + " = " + mult) escreva ("\n---------------------------") } se (op == 4) { escreva ("\nPrimeiro número: ") leia (n1) escreva ("Segundo número: ") leia (n2) } se (op == 5) { escreva (" ==== SAINDO ====") escreva ("\n ====VOLTE SEMPRE ====") } se (op > 5) { escreva ("\nOpção inválida") escreva ("\nDigite novamente\n") escreva ("\nPrimeiro número: ") leia (n1) escreva ("Segundo número: ") leia (n2) } escreva ("\n\n") } } }
Tatiana Azer MalufParticipanteprograma { inclua biblioteca Tipos funcao inicio() { escreva ("\n{ EXERCÍCIO 026 - Super Tabuada v1.0 }") escreva ("\n\n") escreva (" ========================= ") escreva ("\n + Adição ") escreva ("\n - Subtração ") escreva ("\n * Multiplicação ") escreva ("\n / Divisão ") escreva ("\n ========================= ") escreva ("\n Digite sua opção => ") caracter op leia (op) escreva (" Você escolheu a operação [" + op + "]") escreva ("\n\n") escolha (op) { caso '1': op = '+' pare caso '2': op = '-' pare caso '3': op = '*' pare caso '4': op = '/' pare caso contrario: op = '+' pare } escreva ("Digite o primeiro número: ") inteiro n1 leia (n1) escreva ("Digite o segundo número: ") inteiro n2 leia (n2) escreva ("\n- - - - - - - - - - - - - - - - - ") escreva ("\nCalculando o valor de " + n1 + op + n2) escolha (op) { caso '+': escreva ("\nResultado da soma = " + (n1 + n2)) pare caso '-': escreva ("\nResultado da subtração = " + (n1 - n2)) pare caso '*': escreva ("\nResultado da multiplicação = " + (n1 * n2)) pare caso '/': escreva ("\nResultado da divisão = " + (Tipos.inteiro_para_real (n1) / n2)) pare caso contrario: escreva ("[ERRO!]") } escreva ("\n- - - - - - - - - - - - - - - - - ") escreva ("\nVOLTE SEMPRE") escreva ("\n\n") } }
Desculpe, o anterior saiu errado
Tatiana Azer MalufParticipanteOlá, boa noite
No exercício 26 deu certo quando o usuário escolhe “+”, “-“, “*” e “/”, mas quando escolhe “1”, “2”, “3” ou “4”, o programa não identifica que substituí pelos sinais matemáticos.
Por favor, me diz onde estou errando.
Obrigada e feliz 2023`escolha (op) {
caso ‘1’:
op = ‘+’
pare
caso ‘2’:
op = ‘-‘
pare
caso ‘3’:
op = ‘*’
pare
caso ‘4’:
op = ‘/’
caso contrario:
op = ‘+’
}23 de dezembro de 2022 às 12:34 em resposta a: M04A06 – Diferença entre trojan downloader e dropper #107640Tatiana Azer MalufParticipanteObrigada
Tatiana Azer MalufParticipanteOi tudo bem?
Gostaria de saber se fazendo da forma abaixo pode-se dizer que está correto:programa { inclua biblioteca Tipos funcao inicio() { //declaração de variáveis real n1 real n2 inteiro ndiv real ndiv_real //entrada de dados escreva ("{ EXERCÍCIO 004 - Operações Aritméticas}\n") escreva ("Digite um valor: ") leia (n1) escreva ("Digite outro valor: ") leia (n2) //cálculos e resultados finais ndiv = n1/n2 ndiv_real = n1/n2 escreva ("\n- - - - - - - - - - RESULTADOS - - - - - - - - - -") escreva ("\nSOMA = "+ (n1 + n2)) escreva ("\nDIFERENÇA = "+ (n1 - n2)) escreva ("\nPRODUTO = "+ (n1 * n2)) escreva ("\nDIVISÃO INTEIRA = "+ (ndiv)) escreva ("\nDIVISÃO REAL = "+ (ndiv_real)) escreva ("\nRESTO DA DIVISÃO = "+ Tipos.real_para_inteiro (n1) % Tipos.real_para_inteiro (n2)) escreva ("\n\n") } }
Tatiana Azer MalufParticipanteFala ae menó!! Viva aqui. Tenho 43 anos e estou fazendo os cursos de redes, seg info e programação básica. ADORO as aulas que tem você Alfredo, são as mais divertidas. Obrigada sempre!!
-
AutorPosts