Ir para conteúdo
Fórum Script Brasil
  • 0

Preciso de uma ajuda, não estou conseguindo fazer alguns algoritmos


TMBruhTH

Pergunta

  1. Utilizando os comandos da linguagem C/C++ desenvolva os programas, com base nos conceitos de recursividade:

    a)Mostrar na tela números de 1 a 10

    b)Imprimir os números pares entre 0 e N (N deve ser informado no inicio do programa).

    c)Escreva uma função recursiva, potencia(x,y), que devolva x elevado a potência y.

    d)Escreva uma função recursiva, mdc(x,y), que receba dois valores inteiros e que devolva o maior divisor comum aos dois valores recebidos.

mdc(u,v) = u  se v=0

mdc(u;v) = mdc(v; u mod v), caso contrário.

e)Faça uma função recursiva, em linguagem C/C++, que calcule o valor da série S descrita a seguir para um valor n>0 a ser fornecido como parâmetro para a mesma: S = 1 + 1/1! + 1/2! +... + 1 /n!.

f)Escreva uma função recursiva que faça o seguinte: leia um número; se o número for negativo, a função pára; caso contrário, a função imprime o número e faz uma chamada recursiva a si mesma.

___________________________________________________________________________________________________

2.Faça uma função que receba por parâmetro o tempo de duração de uma fábrica expresso em segundos e retorne por referência esse tempo em horas, minutos e segundos.

________________________________________________________________________________________________

3.Elabore uma função em C/C++ que receba por parâmetro uma data (dia, mês e ano) e um valor referente a quantidade de dias que deverão ser somados a data recebida. A função deve retornar (por referência) a nova data.

________________________________________________________________________________________________

4.Faça uma função para receber os valores necessários para o cálculo da fórmula de báskara e retorne por referência, as suas raízes, caso seja possível calcular.

________________________________________________________________________________________________

5.Seja a função troca cujo protótipo está definido abaixo, uma função que permute o valor de uma variável do tipo double por outra, ambas passadas por referência. Defina uma função main que permute os valores das variáveis a, b e c, de forma que no final a<=b<=c. A função main deve chamar a função troca.

void troca(double*x,double*y, double *z);

________________________________________________________________________________________________

6.Elabore um programa em C/C++ que chama uma função calcIdade. A função calcIdade deve receber um parâmetro que indica a quantidade de idade de pessoas que devem ser lidas, calcular e retornar;

  1. A soma de idade das pessoas com mais de 70 kg (retorno de valor);
  2. A quantidade de pessoas com mais de 50 anos (referência);
  3. O percentual de pessoas com mais de 65 anos e menos de 75 kg (referência).

__________________________________________________________________________________________________

7.Faça um programa em C/C++ para chamar uma função que receba o salário de um funcionário, calcule e retorne por valor o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre seu salário base e paga 10% de imposto sobre o salario bruto (salario base + gratificação). O programa também deve retornar por referência o valor do imposto devido.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
#include<stdlib.h>
#include<stdio.h>

int decompor(int x, int y)
{
	int a, b;
	
	/* quando o resto da divisão for zero retorna
	o divisor */
	if((y%x)==0)
		return(x);
		
	/* divide o divisor que é dividido pelo resto
	da divisisão anterior sucessivamente */
	a=y%x;
	b=decompor(a, x);
	return(b);
}

main(){
	int num1, num2;
	printf("Escreva dois numeros inteiros para descobrir m.d.c\n");
	scanf("%d",&num1);
	scanf("%d",&num2);
	
	// se um dos mumeros for zero, retorna o outro
	if((num1==0) || (num2==0))
	printf("M.D.C = %d\n",num1+num2);
	else
	{
		/* verifica qual é o maior numero e retorna-o
		na 1º variavel e na 2º retorna o menor numero*/
		if(num1>num2)
		{
			printf("M.D.C = %d\n",decompor(num1,num2));
		}
		else
		{
			printf("M.D.C = %d\n",decompor(num1,num2));
		}
	}
system("pause");
} 

letra d)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...