Ir ao conteúdo

Posts recomendados

Postado

Boa noite galera. Estou cursando uma matéria na faculdade de linguagem de programação onde o professor passou uma lista de exercícios pra gente fazer. Um deles consiste em fazermos um programa que calcula potencia sem usar a biblioteca cmath ou similar. Tentei fazer usando o laço de repetição "for" mas n consegui, fui procurar na internet e achei uma resolução bem simples porém não entendi 100% a lógica (imagem anexada) da execução. 

 

Onde a função potencia( ) diz que o expoente é elevado à base? Segundo o vídeo que eu achei essa resolução o professor explica que o nós multiplicamos "b" pela própria função dizendo que ela chama a si própria e é aí que eu não consegui compreender direito. Onde a função eleva a o expoente?

 

Captura de Tela (10).png

 

Duvida 2 não referente a essa questão mas sim a todos os programas feitos por mim no codeblocks: Porque não consigo fazer com que o programa rode fora do codeblocks?? Eu abro pelo arquivo executável, o programa roda e encerra logo em seguida ao envés de dar o resultado e ficar aberto até eu pressionar alguma tecla para assim então fechar.

Postado

@720pHD Olá. Quanto a primeira dúvida recomendo olhar nesse link:

https://www.cprogressivo.net/2013/03/O-que-sao-e-como-usar-funcoes-recursivas-em-linguagem-C.html

Diz respeito a "Recursividade", que é quando uma função chama ela mesma

É bom dizer que o uso de uma função recursiva consome mais recursos, pois a função chama ela mesma

até q o critério de parada seja atingido. 

E, quanto ao critério de parada, se faz necessário ter um para evitar q seu código caia em loop infinito, que, nesse caso, seria a função chamar ela mesma infinitamente. Logo, você vai ver q uma função recursiva normalmente contém um if/else (resumindo) para definir um critério de parada

 

Quanto a segunda dúvida, basta inserir um comando para "Segurar" a tela aberta. Por exemplo:

scanf("%*c");
// ou
getchar();

no final do main, antes do return 0. Ou na linha que deseja parar, se for em uma função, por exemplo

Outra alternativa seria esse comando:

system("pause");

só que para esse comando é preciso incluir o arquivo de cabeçalho (biblioteca) <stdlib.h>

Teria várias outras alternativas para segurar a janela do prompt de comando aberta, apenas mencionei algumas como exemplo

 

Qualquer dúvida é só perguntar

Postado

Amigo, estou muito feliz de ter entendido bem e sanado minhas dúvidas. Muito obrigado pelo seu tempo :thumbsup:

adicionado 6 minutos depois
5 minutos atrás, 720pHD disse:

Amigo, estou muito feliz de ter entendido bem e sanado minhas dúvidas. Muito obrigado pelo seu tempo :thumbsup:

@giu_d O Sr. sabe dizer se existe algum comando do tipo "pause" na biblioteca <iostream>? não encontrei algo parecido, somente importando esta biblioteca q o Sr. mencionou.

Postado

@720pHD Olá. A biblioteca <iostream> seria para comandos básicos do C++, como cout e cin

O comando system("pause") em C é da biblioteca que mencionei: <stdlib.h>, já em C++ seria <cstdlib>

 

Caso tiver mais dúvidas e se deu para entender é só falar

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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