-
Posts
3.940 -
Cadastrado em
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Simon Viegas postou
-
VisualG Separar uma variavel por espaço automaticamente
Simon Viegas respondeu ao tópico de William Endrew em Programação - iniciantes
Olá @William Endrew. Seja bem vindo ao Fórum do Clube do Hardware. Dê uma olhada nas "funções para manipulação de cadeias de caracteres (strings)", ex.: http://www.apoioinformatica.inf.br/produtos/item/30-as-funcoes-do-visualg-versao-2-0 Tente fazer algo. Posta o código aqui e onde está com dúvidas. No aguardo. -
Pascal Estrutura de repetição (for)
Simon Viegas respondeu ao tópico de Alan Matos Lourenço em Programação - outros
Olá @Alan Matos Lourenço. Lá na leitura da primeira pessoa, dá para usar a variável que acumula diretamente... ou seja, a cada pessoa atualiza o peso. Se for homem, atualiza o peso dos homens. (no código mais abaixo tem uma demonstração) Tem outros pontos: 1) TEXTO DE INTERAÇÃO Vide: Seria interessante inserir um texto de apresentação. Uma tela de boas vindas ou algo do tipo. Além de uma melhor interação com o usuário... Ai vai da criatividade... Uma dica é você pedir para uma outra pessoa executar o programa... não explicar nada, só peça para executar.. ai vai tentando entender o que ocorre e vai ajustando. Verás que podem ocorrer alguns problemas. 2) DIVISÃO POR ZERO Um dos problema é esse: se não informar nenhum homem, vai dar problema... pois vai ocorrer divisão por zero... tem que resolver isso. 3) CASE SENSITIVE O Pascal é Case Sensitive para as comparações, logo, ele "sente" a diferença entre os "casos", ou seja, é «sensível a maiúsculas e minúsculas». Exemplo: 'm' é diferente de 'M'. Talvez seja interessante fazer o programa aceitar ambos. Dica: ou usar as duas possibilidades no if, ou faz o uso do UpCase(). *** Segue abaixo código com algumas modificações para servir de base e exemplos. São só sugestões... ai vai analisando para o seu código e também verificando esses outros pontos citados acima. Program Peso_da_Turma; uses CRT; var peso :real; //peso da pessoal atual {sexo: string;} //para um caractere usam-se char (pode apagar essa linha) sexo :char; //sexo da pessoal atual menor, maior, //menor e maior peso da turma pesoTurma , pesoHomens, //soma dos pesos da turma e dos homens mediaTurma, mediaHomens :real; //media de peso da turma e dos homens contH, //contador de homens contP :integer; //contador de pessoas (em geral) BEGIN textcolor(yellow); writeln('pesoss da turma. Digite f para feminino e m para masculino.'); writeln(''); textcolor(white); write('Entre com o 1º peso: '); readln(peso); {pesos1:= pesos1 + pesos;} //pode usar o "acumulador" geral diretamente (pode apagar essa linha) pesoTurma:=pesoTurma + peso; //recebe o valor do primeiro peso write('Entre com o sexo: '); readln(sexo); if (sexo = 'm') then begin contH:= contH + 1; //conta o primeiro sexo digitado. {pesosM:= pesos1;} //pode usar o "acumulador" geral diretamente (pode apagar essa linha) pesoHomens:=pesoHomens + peso; //recebe o valor do primeiro peso se o sexo for masculino end; menor:=peso; maior:=peso; for contP:= 2 to 5 do //até 5 para testar. begin textcolor(white); write('Entre com o ',contP,'º peso: '); readln(peso); write('Entre com o sexo: '); readln(sexo); pesoTurma:= pesoTurma + peso; if (sexo = 'm') then begin contH:=contH + 1; //conta quantos são homens. pesoHomens:=pesoHomens + peso; //soma os pesoss dos homens. end; if (peso < menor) then menor:= peso else if (peso > maior) then maior:= peso; end; {mediaTurma:=(pesosTurma + pesos1) / 5;} mediaTurma :=pesoTurma / contP; mediaHomens:=pesoHomens / contH; writeln(''); writeln('Menor peso é de: ',menor:0:2,' Kg'); writeln('Maior peso é de: ',maior:0:2,' Kg'); writeln('A média de peso da turma é : ',mediaTurma:0:2,' Kg'); writeln('A média de peso dos homens é: ',mediaHomens:0:2,' Kg'); readkey; END. No aguardo. -
Pascal Estrutura de repetição (for)
Simon Viegas respondeu ao tópico de Alan Matos Lourenço em Programação - outros
Olá Algumas sugestões: 1) INDENTAÇÃO Esse trecho também precisa ser indentado... 2) TESTES DE MESA Experimento só digitar pesos de homens. Aqui deu erro. 3) SIMPLIFICAÇÃO Em Poderia fazer direto pesoTurma:=pesoTurma + peso; //recebe o valor do primeiro peso. Em Poderia fazer direto: pesoHomens:=pesoHomens + peso; //soma os pesos dos homens Obs.: precisará ajustar lá na parte da conta. *** No aguardo. -
Pascal Estrutura de repetição (for)
Simon Viegas respondeu ao tópico de Alan Matos Lourenço em Programação - outros
Olá @Alan Matos Lourenço. 1) INDENTAÇÃO DE CÓDIGO Sempre mantenha seu código indentado. Um exemplo: Program Peso_da_Turma; var i: integer; peso, peso1, menor, maior, outroPeso, pesoHomem, pesoMulher, mediaTurma, mediaHomens, cont, cont1: real; sexo: string; BEGIN TextColor(Yellow); writeln('Pesos da turma. Digite f para feminino e m para masculino.'); writeln(''); TextColor(White); write('Entre com o 1º peso: '); readln(peso); write('Entre com o sexo: '); readln(sexo); menor:=peso; maior:=peso; for i:= 2 to 5 do //até 5 para testar. begin textcolor(white); write('Entre com o ',i,' peso: '); readln(peso); write('Entre com o sexo: '); readln(sexo); if (sexo = 'm') then begin cont:=cont + 1; //conta quantos são homens. pesoHomem:=pesoHomem + peso; //soma os pesos dos homens. end else begin cont1:= cont1 + 1; pesoMulher:=pesoMulher + peso; end; if (peso < menor) then menor:= peso else if (peso > maior) then maior:= peso else if (peso <> maior) and(peso <> menor) then begin outroPeso:=peso; //recebe os pesos que não são nem maior e nem menor. peso1:=peso1 + outroPeso; //soma os pesos que não são considerados maior e menor. end; end; mediaTurma:=(menor + maior + peso1) / 5; mediaHomens:=pesoHomem / cont; writeln('Menor peso é de: ',menor); writeln('Maior peso é de: ',maior); writeln('A média de peso da turma é : ',mediaTurma); writeln('A média de peso dos homens é: ',mediaHomens); readkey; END. 2) PRIMEIROS DADOS Creio que você está esquecendo de verificar os dados do primeira pessoa. 2) COLETA DE DADOS O cálculo da média não tem correlação com a verificação do menor e maior. Tanto que para homens você não usa eles. Apesar de poder ser funcional, não acho uma boa ideia associar uma coisa com a outra. Para "acumular o peso da turma" simplesmente acumule todos os pesos, algo como: readln(peso); write('Entre com o sexo: '); readln(sexo); pesoTurma:=pesoTurma+peso; Obs.: se atentar ao item 1 também. Para os homens, como você já faz, idem. pesoHomens:=pesoHomens + peso; Lembrando que a primeira leitura não está entrando na conta.. mas deveria. obs.: se atente no uso do plural, para indicar que são pesos de várias pessoas, 3) VERIFICAÇÃO DAS MULHERES Você inseriu pesoMulher (por sinal, seguindo o princípio acima, sugeriria pesoMulheres), mas não está usando posteriormente... e de qualquer modo essa verificação não foi solicitada. Simplesmente retire do código. *** No aguardo. -
C Pessoal Estou com Dificuldade na Parte de Ordenação Selection Sort & Insertion
Simon Viegas respondeu ao tópico de Aldemar Mendes em C/C#/C++
Olá @Aldemar Mendes Adendo inicial: seu texto ficou um pouco confuso, mas (acho que) deu para entender. Por favor, tente usar uma escrita um pouco mais formal, ok? Vamos lá! Em relação ao Insert Sort e Selection Sort, eles não são «aplicações», são apenas nomes de "algoritmos de ordenação", ou seja, são apenas "técnicas"... conceitos!. São estruturas "prontas" que servem para fazer algo, de determinado modo... Existem vários métodos de ordenação... como visto aqui. Cada um com sua características... vantagens e desvantagens. Então, a primeiro coisa que você precisa fazer é se aprofundar no tema. Estudar sobre o Insertion Sort e Selection Sort, saber como eles funcionam. Podemos dizer que todos os métodos tem o mesmo princípio: "recebe um vetor desordenado, e retorna esse vetor ordenado". O que muda de um para outro é como é feito a ordenação. Se você consegue fazer com Bubble Sort, conseguirá com outro. Sobre: É exatamente da mesma forma que um vetor comum. Veja, o que é ordenado é o vetor, não seus Struck, ou seja, no seu contexto, estará ordenando as "Pessoas"... especificamente o vetor contatos. O Struck entra na forma que seu vetor está estruturado... Como essa estrutura tem vários campos, precisa saber qual parâmetro será usado para ordenar o vetor... no seu caso, ou por Telefone ou por Nome. Se por exemplo for por nome, usará o campo contatos[].nome, ou seja, o vetor contatos será ordenado pelo item nome dos contatos. MINHA SUGESTÃO Para facilitar os testes, crie um outro algoritmo mais simples. Usando um vetor de nomes e ordenando com Insert Sort ou Selection Sort. Ex.: "Crie um programa que leia um vetor de 5 nomes, ordene utilizando o Insert Sort e exiba o vetor ordenado." Posta o código aqui e onde está com dúvidas. Após entender a estrutura, adapta o código ao seu programa. No aguardo. No aguardo. -
Ler 20 notas e imprimir as três maiores.
Simon Viegas respondeu ao tópico de victornunes139 em C/C#/C++
Caro usuário, Seja bem-vindo ao Fórum do Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware -
C Verificação de paridade e sequência de pares
Simon Viegas respondeu ao tópico de Ruan Cruz em C/C#/C++
Caro usuário, Seja bem-vindo ao Fórum do Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware -
C Vincular valores inteiros em Matriz de char
Simon Viegas respondeu ao tópico de Alberto Estenio em C/C#/C++
Olá @Alberto Estenio. 1) A média está saindo com um valor arredondado (valor inteiro), mas deveria ter a parte fracionada. Geralmente 2 casas. Faça a conta no papel e veja que as contas não estão batendo. (quando tem fração, é claro); 2) Você está extrapolando a funcionalidade da função: Ou seja, a função serve apenas para retornar a média, mas no seu código está também fazendo a leitura. Faz a leitura (como queira), passa a notas na função e a função retorna a média. 2) No seu código, você está "verificando a letra e somando à variável o valor correspondente", mas acho que seria melhor se você "usasse uma função para traduzir a letra retornando o seu respectivo valor, daí você soma o retorno ao total". Ex.: soma + valorLetra(notas[i]) No aguardo. -
C Problema de passagem de Vetor char à função
Simon Viegas respondeu ao tópico de Alberto Estenio em C/C#/C++
Olá @Alberto Estenio. Essa é a assinatura do método: Mas você está passando uma posição específica: O correto é passar vetor, não uma posição do vetor. Algo como: printf("%d",avaliaPosicao(tabuleiro)); vantagem = avaliaPosicao(tabuleiro); No aguardo. -
VisualG Exercicios do Visual G
Simon Viegas respondeu ao tópico de Valter Zeolla Caxiado em Programação - iniciantes
Olá @Valter Zeolla Caxiado. Alguma novidade? -
Pascal Estrutura de repetição (for)
Simon Viegas respondeu ao tópico de Alan Matos Lourenço em Programação - outros
Olá @Alan Matos Lourenço. Seja bem vindo ao Fórum do Clube do Hardware. Certo, mas qual problema? É lá nas médias, mas o que acontece? Como não sei exatamente do que se trata, vou tratar de um modo geral.. Observação inicial: eu não fiz testes no código. Apenas vou tratar do tema: A primeira etapa é saber como se calcula uma média. É a base! Parece óbvio, mas é comum não darmos atenção. Como não foi especificado qual tipo de média, provavelmente se trata de média aritmética simples. A partir daí, aplicar ao seu algoritmo. Então, basicamente, como se calcula uma "média"? bastar "pegar a soma dos números e dividir pela quantidade desses números". MAS = S/n LOGO: A média de peso dos homens é: mediaHomens = "Soma das notas dos homens" / "Quantidade de notas dos homens" Já a média de peso da turma é: mediaTurma = "Soma das notas da turma" / "Quantidade de notas da turma" Daí é com você. Obs. 1: se atente que a quantidade de um e outro não necessariamente são iguais. (só seria igual se todos os alunos fossem homens) Obs. 2: veja que podemos separar as conceitos, ou seja, uma coisa é "saber ou não calcular uma média", uma outra é "ter dificuldade em implementar isso no programa". Você precisa saber fazer as duas coisas, mas tem que ser nessa ordem.. para implementar algo ("criar um algoritmo"), primeiro tem que saber o que vai ser implementado ("médias"). Tente analisar o que foi dito e tente corrigir o seu código. Caso tenha dúvidas sobre algo como "como calcular uma média", ou "como implementar o cálculo de médias" (ou qualquer outra dúvida) é só postar. No aguardo. -
Portugol Sobre operação push pop em pilha (estrutura de dados)
Simon Viegas respondeu ao tópico de markeloff em Programação - iniciantes
Olá @markeloff. Primeiramente você precisa dar uma estudada sobre Pilhas, como funciona a sua estrutura. Ex.: https://pt.wikipedia.org/wiki/Pilha_(informática) https://pt.wikipedia.org/wiki/LIFO https://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_Dados/Pilhas Tendo uma base sobre o tema, basta executar as sequências do código. Para esse caso, seria meio que fazendo um teste de mesa. Ex.: Num canto do papel, deixa as variáveis separadas: Pinha = [2,4,3,5] Soma = 0 X = 0 Obs.: ao iniciar o programa, o algoritmo zera automaticamente as variáveis, ou seja, Soma e X teriam o valor 0. Mas aí depende da como é estipulado isso, pode ser que seja considerado como "null" (com nada nele) A cada linha executada, vai atualizando elas: Soma ← 0; POP(x); Soma ← Soma + x; x ← 10; PUSH(x); x ← 12; PUSH(x); POP(x); POP(x); Soma ← Soma + x; Após linha 1: //Soma ← 0; Pinha = [2,4,3,5] Soma = 0 //apaga o 0 e coloca 0 (obs.: o valor foi atualizado, mesmo que seja para um valor igual) X = 0 Após linha 2: //POP(x); Pinha = [2,4,3,-] //apaga a última posição Soma = 0 X = 5 //apaga o 0 e coloca 5 Após linha 3: //Soma ← Soma + x; Pinha = [2,4,3,-] //apaga a última posição Soma = 0 //apaga o 0 e coloca 5 X = 5 Por ai vai. No final, cada variável estará com seu respectivo valor. Qualquer dúvida sobre o processo, é só avisar. No aguardo. -
VisualG Exercicios do Visual G
Simon Viegas respondeu ao tópico de Valter Zeolla Caxiado em Programação - iniciantes
Caro usuário, Seja bem-vindo ao Fórum do Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware adicionado 27 minutos depois Olá @Valter Zeolla Caxiado. Escolha um tente fazer algo e demonstre onde está com dificuldades. O segredo é tentar dividir o problema em subproblemas, por exemplo: Para começar, apenas faça um programa que calcula a área de um retângulo, ou seja, que recebe a base e a altura, e calcula a sua área. E posta aqui para analisarmos. Depois de pronto, tente fazer um programa que calcula a área de uma sala. obs.: NÃO TENTE FAZER LOGO DE UMA SALA, é mais complexo... perceba que serão 4 paredes, um teto e um chão...tente primeiro de algo mais uma simples para ir ganhando experiência.Se não tiver dificuldades com a parede, ai vai para a sala toda. No aguardo. -
VisualG Algoritmo preço de custo e preço de venda VISUALG
Simon Viegas respondeu ao tópico de leandromichetti em Programação - iniciantes
Não cara... você que está criando uma tempestade em copo d'água, rs. Se trata de uma simples verificação do resultado do lucro. Se é positivo, negativo ou 0. Veja: Não tem mistério.. e nem precisa se aprofundar no tema (eu acho interessante, mas não é obrigatório), nem usar exatamente os termos técnico (é desejável tb).. só ter uma noção básica. Exemplo, eu trabalho com manutenção de celular (hipoteticamente). Tenho custo mensal de R$ 2900 (peças, aluguel, energia, água IPTU, a ponta do PM para vigiar meu estabelecimento, publicidade, etc etc, vamos supor que todo meu custo geral dá isso). Se eu consigo vender mensalmente meu serviço num total R$ 1950 por mês, eu tenho lucro, prejuízo ou empate? Lucro = Venda - Custo. Lucro = 1950 - 2900 Lucro = -950. Logo tenho PREJUÍZO de R$ 950. se lucro maior que 0, teve lucro; (pois vendeu o produto num valor maior que o custo que teve nele) se lucro menor que 0, teve prejuízo; (vendeu por um preço inferior aos seus custos) se lucro igual a 0, teve um empate... (ou lucro 0) No aguardo. adicionado 7 minutos depois ADENDO: Perceba que é só uma questão de abstração. Seu código se resume em simplesmente verificar se um número é positivo, negativo ou 0. Apenas muda que esse número vem de uma conta de subtração, ou seja, numero = A - B. Percebe? não faz de diferença de onde o número vem... só quer saber se ele é positivo, negativo ou 0. No problema ele chama os positivos de "lucro", os negativos de "prejuízo" e o 0 de "empate", saca? -
VisualG Algoritmo URI online 1968, Terra Desconhecida
Simon Viegas respondeu ao tópico de Samuel Barbosa Ramos em Programação - iniciantes
Estamos tratando disso...! A minha proposta é: Se você conseguir fazer a segunda etapa: E depois fazer a terceira: Conseguirá sem muita dificuldade resolver por completo o problema inicial. O que eu quero dizer é que para resolver o seu problema, você terá que ser capas de fazer a terceira etapa (que por sua vez necessita da etapa dois... e este último da etapa 1)... a terceira etapa é uma subtarefa do seu problema maior, apenas transformei essa subtarefa em uma tarefa separada. Pelo que entendi do problema principal, você precisará fazer essa lógica... é muito mais fácil tratar de coisas mais simples, do que trata de algo mais complexo que contém algo simples dentro dela. Qualquer coisa releia o tópico do início, passando por cada postagem... RESUMINDO: Faça a segunda etapa e posta o código aqui. Depois fala a terceira etapa,e posta o código aqui. ou Caso tenha alguma dúvida, é só perguntar. No aguardo. -
Pascal Algoritmo para somar um conjunto numero e se digitar zero encerrar.
Simon Viegas respondeu ao tópico de iGodD em Programação - outros
Olá @iGodD. Entendi o que quis dizer. Um ponto que acho super importante é justamente isso: primeiro devemos entender o problema, para só depois tentar resolver. Nesse caso, nós estamos entendendo o problema de formas diferente.. Primeiro precisamos alinhar isso. Ele te pediu que seja feito com for especificamente OU você só aprendeu com for (no sentido que ele só chegou a ensinar o for, não passando por repeat e while ainda)? Tá explicito que deve ser com for? qual a quantidade máxima de números? Vamos analisar o enunciado: Ou seja, deu a entender para mim que o laço de repetição é condicional... enquanto o usuário não digitar 0 (a condição é que o número seja diferente de 0) o programa deverá continuar repetindo... e isso NÃO É característica para usar o for. O for seria se fosse estipulada a quantidade números e que a quantidade fosse usada. Só por esse enunciado entendo que você pode inserir uma quantidade indeterminada de números... até que insira o valor zero... Veja a diferença. No seu código está estipulado que são 4 números (a quantidade está fixa), e que se um deles for igual a zero, vai ignorar os que possam vir depois. Percebe a diferença? Então, entendi que o enunciado diz que algo como: O seu código está: A minha sugestão é que primeiro entendemos o que de fato precisa ser feito! Caso contrário, estaríamos tentado fazer de modo certo algo errado. (extrapolando uma analogia, seria algo como: entregar um macarrão delicioso, quando na verdade se queria uma feijoada) Por favor, tente me esclarecer o que é para ser feito.. daí damos continuidade. No aguardo. -
C++ Devc++ introduzir o "Deseja continuar S/N ?" Na programação.
Simon Viegas respondeu ao tópico de EngNaves em C/C#/C++
Não entrou o erro citado no meu comentário... Vide: -
C++ Devc++ introduzir o "Deseja continuar S/N ?" Na programação.
Simon Viegas respondeu ao tópico de EngNaves em C/C#/C++
As respostas foram muito uma em cima da outra, rs. @EngNaves, por favor, poste seu código atual para analisarmos. -
C++ Devc++ introduzir o "Deseja continuar S/N ?" Na programação.
Simon Viegas respondeu ao tópico de EngNaves em C/C#/C++
Nops! A condição é uma só... ou seja, "continuo repetindo?". Especificamente seria algo como: "enquanto c for igual 's' ou 'S' eu vou repetir". O certo seria: while ((c == 's') || (c == 'S')); Perceba que nesse caso, qualquer valor diferente de 's' ou 'S' vai parar de repetir. Só vai repetir, se, e somente se, for 's' ou 'S'. -
C++ Devc++ introduzir o "Deseja continuar S/N ?" Na programação.
Simon Viegas respondeu ao tópico de EngNaves em C/C#/C++
Vi que você foi mais rápido... kkkkkk Observe que atualizei a minha resposta! Ué? então eu estava certo? -
C++ Devc++ introduzir o "Deseja continuar S/N ?" Na programação.
Simon Viegas respondeu ao tópico de EngNaves em C/C#/C++
Eu não manjo da sintaxe do C++, mas o base é essa mesmo... Veja, as duas condições do while estão iguais, creio que deveria ser algo assim: while ((c == 's') || (c == 'S')); Qual erro está dando? UPDATE: Não sei se viu minha resposta anterior, eu confundi com a lógica... se não viu, esqueça esse comentário... rs No aguardo. -
C++ Devc++ introduzir o "Deseja continuar S/N ?" Na programação.
Simon Viegas respondeu ao tópico de EngNaves em C/C#/C++
Olá. É sempre recomendado manter o código indentado. Desta forma, por exemplo, já visualmente conseguimos identificar a estrutura do código.. Segue código reindentado: #include <iostream> #include <conio.h> using namespace std; int main() { float x1, x2, y1, y2, r, raux; printf("\nDigite o ponto Px: "); scanf("%f", &x1); printf("\nDigite o ponto Qx: "); scanf("%f", &x2); printf("\nDigite o ponto Py: "); scanf("%f", &y1); printf("\nDigite o ponto Qy: "); scanf("%f", &y2); raux=pow(x2-x1,2) + pow(y2-y1,2); r=sqrt(raux); printf("\n\n - RESOLUCAO - \n"); printf("\n\n - O valor da distancia entre os pontos P e Q e: %.3f. ", r); system ("Pause"); } Obs.: ao postar um código, utilizar a tag CODE. Favor ler postagem tópico em destaque: -
Pascal Algoritmo para somar um conjunto numero e se digitar zero encerrar.
Simon Viegas respondeu ao tópico de iGodD em Programação - outros
Olá @iGodD. Vamos lá: Antes de tudo, todo número positivo é maior que zero... Logo: Outro ponto interessante é que o enunciado não estipula a quantidade de números, ou seja, deveria ir lendo até o número digitado ser igual a zero. Mas vamos tomar como base que sejam 4 números (mais pra frente voltamos a essa questão). Então, temos 2 pontos principais ai: Ao inserir zero, o programa deve finalizar (no sentido de não ler mais números e ir para o fim do programa); no seu código, ele continua o laço de repetição (sem necessidade). Números negativos não devem fazer parte da conta, mas o programa deve continuar, ou seja, só deve parar se, e somente se, o número for zero; no seu código também está tentando finalizar. Como o for se baseia em uma quantidade estipulada de loops, não é aconselhado "força a interrupção" dele (é possível, mas não é uma boa prática)... a orientação seria utilizar o repeat ou while. Como vai fazer pelo menos uma vez, recomendam-se utilizar o repeat. Veja por exemplo uma base de raciocínio deste problema: Ler 4 números, logo poderia ser um for (pois ele já é estruturado para repetir x vezes.) Parar de ler caso um número seja 0, logo o laço de repetição possuirá além do controle de quantidade de número, a verificação se o número digitado é válido ou não, ou seja, são duas condições para continuar repetindo: não ter a quantidade de números lidos, nem um desses números ser zero. Entende? Para ficar mais claro, faça o seguinte: esqueça que não pode ser negativo ou igual a zero. Apenas faça o seguinte programa: Só isso. Posta aqui o código para analisarmos e tirarmos algumas conclusões. Após, você inclui finalizar ao digitar o 0. Mais pra frente vamos incluindo outros detalhes desse contexto. No aguardo. -
VisualG Algoritmo preço de custo e preço de venda VISUALG
Simon Viegas respondeu ao tópico de leandromichetti em Programação - iniciantes
Olá @leandromichetti. Faz parte.. você tem que pesquisar sobre o tema, o que também inclui aprender a pesquisar. Um dos objetivos dos exercício, além de desenvolver a habilidade de programar, também está em aprender um pouco sobre tema. Mas vamos ao enunciado (o que está sendo pedido): Inicialmente faz uma analise... veja, não precisa se aprofundar no tema... o que é lucro, prejuízo ou empate? perceba que é trivial. Lucro é quando o foi vendido com um valor maior do que gastou (custo); Prejuízo é quando gastou mais do que o preço da venda; E empate é quando você vendeu o produto com o mesmo preço que teve custos com ele, ou seja, não perdeu, nem ganhou. Teve lucro zero. Não tem mistério... mas aproveita e dá umas pesquisadas sobre o tema: ex.: https://www.google.com.br/search?q=calculo+de+lucro No aguardo. -
VisualG Algoritmo preço de custo e preço de venda VISUALG
Simon Viegas respondeu ao tópico de leandromichetti em Programação - iniciantes
Olá @leandromichetti. A dica é simples: comece do mais simples, e vá ajustando para o mais complexo. Faça esse mesmo algoritmo apenas para 1 produto e posta o código aqui. Algo como: Mais pra frente faça com 3 produtos; Após, faça com 3 produtos e calculando as médias. Por ai vai... No aguardo.
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