Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gustavo Rodrigues Torre

[Resolvido] Algoritmo tempo

Recommended Posts

Faça um algoritmo que leia a idade de uma pessoa expressa em dias e mostre-a expressa em anos, meses e dias.

 

Kandrade eu fiz mas esta dando erro nos meses e dias o que eu faço?

 

O algoritmo e este aqui

 

 

algoritmo "Idade em dias"

// Função : Mostrar a idade expressa em dias

// Autor : Gustavo Rodrigues Torre

// Data : 31/8/2007

// Seção de Declarações

var

d : inteiro

m : inteiro

a : inteiro

inicio

Escreva ("Quantos dias? ")

leia (d)

 

a <- d div 365

m <- (d div 12)

 

escreval ("Você tem ",a," anos de idade.")

escreval (m," meses")

escreval (d," dias")

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

cmo assim??? expressa em anos, meses e dias??

 

você qr tipo a pessoa digita 366 digamos.

 

saida: 1 ano e 0 meses e 1 dia

ow saida: 1 ano, 12 meses, 366 dias

 

ql das duas saidas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu num sei em visual viw..

cara eu pensei em algo do tipo:

 

leia dias

se resto(dias,365) = 0 então  //se o resto de dias/365 for 0
resp<-dias/365
escreva(resp + "anos e 0 meses e 0 dias");
senão
x<-trunca(resto(dias,365)) //corta a parte decimal do q sobrar do resto
resp<-trunca(dias/365) //corta a parte decimal
escreva(resp + "anos e 0 meses e" + x + "dias";
fimse

+ ve c é algo assim, pq soh to dando um exemplo q pensei na hr

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha eu tentei fazer aki e fiz isso:

 

variaveis
inteiro: x, anos, dias, y, w, meses, diass

leia dias

x<- resto(dias,365)
se x = 0 então 
	anos<- dias/365
	escreva(anos + "anos e 0 meses e 0 dias");
senão
	anos<- trunca(dias/365)		  //anos recebe o valor inteiro de 365/dias despresando oq tem depois da virgula
	y<- resto(dias,365)				// y recebe o resto da divisão de dias por 365
	w<- resto(y,30)
	se w = 0 então
		meses<- y/30
		escreva(anos + "anos e" + meses + "meses e 0 dias")
	senão
		anos<- trunca(dias/365)
		meses<- trunca(y/30)
		diass<- resto(y,30)
		escreva(anos + "anos e" + z "meses e" + diass +"dias")
	fimse
fimse
fimalgoritmo

bom ve c é + ow - isso q você qr?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E maios ou menos isso

você não saberia fazer em C?

Que ficaria melhor p/ eu entender.

 

olha eu tentei fazer aki e fiz isso:

 

variaveis
inteiro: x, anos, dias, y, w, meses, diass

leia dias

x<- resto(dias,365)
se x = 0 então 
	anos<- dias/365
	escreva(anos + "anos e 0 meses e 0 dias");
senão
	anos<- trunca(dias/365)		  //anos recebe o valor inteiro de 365/dias despresando oq tem depois da virgula
	y<- resto(dias,365)				// y recebe o resto da divisão de dias por 365
	w<- resto(y,30)
	se w = 0 então
		meses<- y/30
		escreva(anos + "anos e" + meses + "meses e 0 dias")
	senão
		anos<- trunca(dias/365)
		meses<- trunca(y/30)
		diass<- resto(y,30)
		escreva(anos + "anos e" + z "meses e" + diass +"dias")
	fimse
fimse
fimalgoritmo

bom ve c é + ow - isso q você qr?

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int resto(int x, int y);
int main(void);

int resto(int x, int y){
	int q, r;
	q = x/y;
	r = x - q * y;
	return(r);
}

int main(void) {
	int x, anos, dias, y, w, meses, diass;
	printf("Digite os dias: ");
	scanf("%d",&dias);
	x = resto(dias,365);
   if (x==0) 
	{ 
	anos = (dias/365);
	printf("%d ano(s) e 0 mes(es) e 0 dia(s)", anos);
	}
	else
	 {
	anos = (dias/365);
	y = resto(dias,365);			 
	w = resto(y,30);
	 if (w = 0)
	   {
		meses= y/30;
		printf("%d ano(s) e %d mes(es) e 0 dia(s)",anos,meses);
		}
		else 
		{
		anos=dias/365;
		meses=(y/30);
		diass=resto(y,30);
		printf ("%d ano(s) e %d mes(es) e %d dia(s)",anos,meses,diass);
		}
}
getch();
return 0;
}
cara passar o portugol pro C é facil é soh você analisar os comandos pra ver q as vezes as palavras soh estão em ingles.

é soh pegar a sintaxe e q você domina a linguagem.

 

espero ter ajudo.. flw cara..

 

OBS: TESTA O PROGRAMA.. NUM GARANTO Q ESTEJA CERTO.. E TAMBEM ND MELHOR COMO O TESTE DE MESA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que e isto

Obrigado pela ajuda

 

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int resto(int x, int y);
int main(void);

int resto(int x, int y){
	int q, r;
	q = x/y;
	r = x - q * y;
	return(r);
}

int main(void) {
	int x, anos, dias, y, w, meses, diass;
	printf("Digite os dias: ");
	scanf("%d",&dias);
	x = resto(dias,365);
   if (x==0) 
	{ 
	anos = (dias/365);
	printf("%d ano(s) e 0 mes(es) e 0 dia(s)", anos);
	}
	else
	 {
	anos = (dias/365);
	y = resto(dias,365);			 
	w = resto(y,30);
	 if (w = 0)
	   {
		meses= y/30;
		printf("%d ano(s) e %d mes(es) e 0 dia(s)",anos,meses);
		}
		else 
		{
		anos=dias/365;
		meses=(y/30);
		diass=resto(y,30);
		printf ("%d ano(s) e %d mes(es) e %d dia(s)",anos,meses,diass);
		}
}
getch();
return 0;
}
cara passar o portugol pro C é facil é soh você analisar os comandos pra ver q as vezes as palavras soh estão em ingles.

é soh pegar a sintaxe e q você domina a linguagem.

 

espero ter ajudo.. flw cara..

 

OBS: TESTA O PROGRAMA.. NUM GARANTO Q ESTEJA CERTO.. E TAMBEM ND MELHOR COMO O TESTE DE MESA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu rodei o programa

E ele rodou legal mais para alguns valores ele me retornou os dias e meses errados

E você não precisa cirar uma variavel resto pq existe este comando aqui %

Que retorna o resto da divisão.

 

Acho que e isto

Obrigado pela ajuda

 

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int resto(int x, int y);
int main(void);

int resto(int x, int y){
	int q, r;
	q = x/y;
	r = x - q * y;
	return(r);
}

int main(void) {
	int x, anos, dias, y, w, meses, diass;
	printf("Digite os dias: ");
	scanf("%d",&dias);
	x = resto(dias,365);
   if (x==0) 
	{ 
	anos = (dias/365);
	printf("%d ano(s) e 0 mes(es) e 0 dia(s)", anos);
	}
	else
	 {
	anos = (dias/365);
	y = resto(dias,365);			 
	w = resto(y,30);
	 if (w = 0)
	   {
		meses= y/30;
		printf("%d ano(s) e %d mes(es) e 0 dia(s)",anos,meses);
		}
		else 
		{
		anos=dias/365;
		meses=(y/30);
		diass=resto(y,30);
		printf ("%d ano(s) e %d mes(es) e %d dia(s)",anos,meses,diass);
		}
}
getch();
return 0;
}
cara passar o portugol pro C é facil é soh você analisar os comandos pra ver q as vezes as palavras soh estão em ingles.

é soh pegar a sintaxe e q você domina a linguagem.

 

espero ter ajudo.. flw cara..

 

OBS: TESTA O PROGRAMA.. NUM GARANTO Q ESTEJA CERTO.. E TAMBEM ND MELHOR COMO O TESTE DE MESA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kandrade da uma forcinha aqui neste algoritmo que não esta rodando legal

Por favor.

 

 

Eu rodei o programa

E ele rodou legal mais para alguns valores ele me retornou os dias e meses errados

E você não precisa cirar uma variavel resto pq existe este comando aqui %

Que retorna o resto da divisão.

 

Acho que e isto

Obrigado pela ajuda

 

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int resto(int x, int y);
int main(void);

int resto(int x, int y){
	int q, r;
	q = x/y;
	r = x - q * y;
	return(r);
}

int main(void) {
	int x, anos, dias, y, w, meses, diass;
	printf("Digite os dias: ");
	scanf("%d",&dias);
	x = resto(dias,365);
   if (x==0) 
	{ 
	anos = (dias/365);
	printf("%d ano(s) e 0 mes(es) e 0 dia(s)", anos);
	}
	else
	 {
	anos = (dias/365);
	y = resto(dias,365);			 
	w = resto(y,30);
	 if (w = 0)
	   {
		meses= y/30;
		printf("%d ano(s) e %d mes(es) e 0 dia(s)",anos,meses);
		}
		else 
		{
		anos=dias/365;
		meses=(y/30);
		diass=resto(y,30);
		printf ("%d ano(s) e %d mes(es) e %d dia(s)",anos,meses,diass);
		}
}
getch();
return 0;
}
cara passar o portugol pro C é facil é soh você analisar os comandos pra ver q as vezes as palavras soh estão em ingles.

é soh pegar a sintaxe e q você domina a linguagem.

 

espero ter ajudo.. flw cara..

 

OBS: TESTA O PROGRAMA.. NUM GARANTO Q ESTEJA CERTO.. E TAMBEM ND MELHOR COMO O TESTE DE MESA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz agora assim parece que esta rodando legal

 

 

algoritmo "Idade em dias"

// Função : Mostrar a idade expressa em dias

// Autor : Gustavo Rodrigues Torre

// Data : 31/8/2007

// Seção de Declarações

var

d : inteiro

m : inteiro

a : inteiro

inicio

Escreva ("Quantos dias? ")

leia (d)

 

a <- d div 365

m <- (d % 365) div 30

d <- (d % 365) % 30

 

escreval ("Você tem ",a," anos de idade.")

escreval (m," meses")

escreval (d," dias")

 

fimalgoritmo

 

 

Kandrade da uma forcinha aqui neste algoritmo que não esta rodando legal

Por favor.

 

 

Eu rodei o programa

E ele rodou legal mais para alguns valores ele me retornou os dias e meses errados

E você não precisa cirar uma variavel resto pq existe este comando aqui %

Que retorna o resto da divisão.

 

Acho que e isto

Obrigado pela ajuda

 

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int resto(int x, int y);
int main(void);

int resto(int x, int y){
	int q, r;
	q = x/y;
	r = x - q * y;
	return(r);
}

int main(void) {
	int x, anos, dias, y, w, meses, diass;
	printf("Digite os dias: ");
	scanf("%d",&dias);
	x = resto(dias,365);
   if (x==0) 
	{ 
	anos = (dias/365);
	printf("%d ano(s) e 0 mes(es) e 0 dia(s)", anos);
	}
	else
	 {
	anos = (dias/365);
	y = resto(dias,365);			 
	w = resto(y,30);
	 if (w = 0)
	   {
		meses= y/30;
		printf("%d ano(s) e %d mes(es) e 0 dia(s)",anos,meses);
		}
		else 
		{
		anos=dias/365;
		meses=(y/30);
		diass=resto(y,30);
		printf ("%d ano(s) e %d mes(es) e %d dia(s)",anos,meses,diass);
		}
}
getch();
return 0;
}
cara passar o portugol pro C é facil é soh você analisar os comandos pra ver q as vezes as palavras soh estão em ingles.

é soh pegar a sintaxe e q você domina a linguagem.

 

espero ter ajudo.. flw cara..

 

OBS: TESTA O PROGRAMA.. NUM GARANTO Q ESTEJA CERTO.. E TAMBEM ND MELHOR COMO O TESTE DE MESA

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora ta certinho??

 

fico bem enxuto..

 

eu num manjo visualg aprendi td escrevendo no caderno por isso num aprendi esse "%" como resto e tal..

 

c tiver funfando bom pra =D

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.