Ir para conteúdo

POWERED BY:

Arquivado

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

Aerials

3 exercicios que me dao dor de cabeça

Recommended Posts

oi pessoal, eu comecei à fazer algoritmos à pouco tempo cerca de 1 mes! e decidi tentar resolver algo mais complicado como os 3 exercicos que estão aqui descritos, será possivel vcs me ajudarem na resolução pois eu ja n sei como me virar para os resolver!

 

 

Exercício 1

Considere uma determinada quantia em dinheiro correspondente a um número inteiro de euros. Escreva um algoritmo para dar entrada à referida quantia e apresentar, no ecrã, o menor número de notas de 50€, 20€ e 5€ que perfaz essa quantia.

 

 

Exercício 2

Desenvolva um algoritmo que lê um número com mais de três algarismos e indica quantos dos seus algarismos são maiores que os seus vizinhos.

 

 

Exercício 3

Pretende-se um algoritmo que faça algumas estatísticas referentes a um determinado campeonato de futebol. Por cada jornada, o algoritmo deve pedir: quantos golos foram marcados, quantidade de cartões amarelos e quantidade de cartões vermelhos. Seguidamente, o algoritmo deverá mostrar para o ecrã, a seguinte informação:

 

* A média de golos marcados, por jornada;

* Os números das jornadas onde tenham sido mostrados cartões amarelos mas não tenham sido mostrados cartões vermelhos;

* Os números das jornadas onde se verificou um aumento do número de golos marcados em relação à jornada anterior. Por exemplo, se nas primeiras cinco jornadas, os golos marcados fossem, respectivamente: 6,7,4, 5 e 3, as jornadas a mostrar seriam, a jornada 2 e a jornada 4.

 

Notas: O número de jornadas deve também ser pedido ao utilizador, devendo ser superior a 3 (três) e inferior a 20 (vinte), caso contrário, terá de ser pedido novo valor ao utilizador enquanto não for válido. Não é necessário fazer a validação dos demais dados de entrada.

 

 

o unico que pra mim ta facil é o dois, mas n consigo fazer tudo nele, so consigo separar os algarismos!

bom se poderem dar uma ajudazinha nisso eu agredecia!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom o primeiro c você usar o "mod" fica facil de fazer..

agora em relação aos outros va postando oq fez, q eu tento te ajudar.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom o primeiro c você usar o "mod" fica facil de fazer..

agora em relação aos outros va postando oq fez, q eu tento te ajudar.

 

[]'s

mod? como uso isso? nunca ouvi falar!

 

 

no resto eu n consigui nada ate agora so msm no exercio 2! so consigo chegar ate a parte do separar os 3 algarismos, mas dps n sei o q fazer! e o 3ª bom esse nem sei como pegar nele!

 

puxa programaçao nos 1os exercicios eh tao simples mas n opatamar seguinte tudo fica diferente! mas tb n vou desistir! de algum jeito tnh de conseguir ah solução!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o "mod" é o operador "resto", procure sobre ele...

qnt aos outros, como disse poste partes do q conseguiw, soh assim vo identificar onde você ta travando..

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exercício 1

 

 

ED quantia, nota Inteiro

 

Inicio

Repetir

Ler (quantia)

Enauqnto (quantia <= 0)

 

Se (quantia % 50 = 0) Entao

 

nota <- 50

 

Repetir

cont <- cont + 1

nota <- nota + 50

Enquanto (nota <> quantia)

 

Escrever ("São precisas ", cont, " notas de 50 para perfazer a quantia de ", quantia, " com o menor numero de notas")

Senao

Se (quantia % 20 = 0) Entao

 

nota <- 20

 

Repetir

cont <- cont + 1

nota <- nota + 20

Enquanto (nota <> quantia)

 

Escrever ("São precisas ", cont, " notas de 20 para perfazer a quantia de ", quantia, " com o menor numero de notas")

Senao

Se (quantia % 5 = 0) Entao

 

nota <- 20

 

Repetir

cont <- cont + 1

nota <- nota + 5

Enquanto (nota <> quantia)

 

Escrever ("São precisas ", cont, " notas de 5 para perfazer a quantia de ", quantia, " com o menor numero de notas")

Senao

Escrever ("Não é possivel formular a quantia com as notas disponiveis")

Fim Se

Fim Se

Fim Se

Fim

 

Exercício 2

 

 

ED cont, cont2, num, copia, digito, anterior Inteiro

 

 

Inicio

cont <- 0

cont2 <- 1

 

Repetir

Ler (num)

Enquanto (num <= 999)

 

copia <- num

 

Enquanto (copia / 10 <> 0)

cont2 <- cont2 + 1

copia <- copia / 10

Fim Enquanto

 

copia <- num

 

Para ( i <- 1 ate cont2 Passo 1)

Se (i = 1) Entao

Se (copia % 10 > (copia / 10) % 10) Entao

cont <- cont + 1

copia <- copia / 10

Fim Se

Fim Se

 

Se (i + 1 = cont2) Entao

Se (copia % 10 < (copia / 10) % 10) Entao

cont <- cont + 1

Fim Se

Fim Se

 

anterior <- num % 10

digito <- (num / 10) % 10

 

 

Se ( digito > anterior e digito > (copia / 10) % 10) Entao

cont <- cont + 1

Fim se

 

num <- num / 10

Fim Para

 

Escrever (" O numero inserido tem ", cont," do seus algarismos maiores que os seus vizinhos")

Fim

 

 

 

Exercício 3

 

ED Cont, totalgolos, max, jornada, golos, c_amarelos, c_vermelhos Inteiro

 

 

Inicio

cont <- 0

totalgolos <- 0

max <- 0

 

Repetir

Ler (jornada)

enquanto (jornada < 3 e jornada > 20)

 

Para (i <- 1 ate jornada) Passo 1

Ler (golos)

Ler (c_amarelos)

Ler (c_vermelhos)

 

totalgolos <- totalgolos + golos

 

Se (c_amarelos > 0 e c_vermelhos = 0) Entao

cont <- cont + 1

Fim se

 

Se (golos > max e i > 1)

Escrever("Houve um aumento de golos na jornada ",jornada)

Fim Se

 

max <- golos

Fim Para

 

Escrever ("media de golos = ", totalgolos / jornada)

 

Fim

 

 

 

Depois de muito pensar e tambem com algumas ajudas de colegas e tal, consegui chegar a estas resoluções, gostava que me dissessem se como eu fiz resolvem ou não aquilo que está a ser pedido! e se p+ossivel corrigir me onde estiver mal!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha no exercicio 1 você faz assim:

Se (quantia % 50 = 0) Entao
e c o valor for 55 ???

 

no seu algoritmo como acha q ficaria a saida?

 

eu faria da seguinte maneira:

 

int notas5 = 0, notas20 = 0, notas50 = 0;
//	  int notas1 = 0;

	  notas50 = valor / 50;
	  valor %= 50;
	  notas20 = valor / 20;
	  valor %= 20;
	  notas5 = valor / 5;
	  valor %= 5;
//	  notas1 = valor;

	  cout << notas50 << " " << notas20 << " " 
		   << notas5 << " " << endl; //<< notas1 << endl;
	  cout << endl;

Acho estranho não ter as notas de 1 ai, + c seu prof pediw td bem... ai você pega e faz a verificação caso nao haja notas para tal quantia..

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha no exercicio 1 você faz assim:

Se (quantia % 50 = 0) Entao
e c o valor for 55 ???

 

no seu algoritmo como acha q ficaria a saida?

 

eu faria da seguinte maneira:

 

int notas5 = 0, notas20 = 0, notas50 = 0;
//	  int notas1 = 0;

	  notas50 = valor / 50;
	  valor %= 50;
	  notas20 = valor / 20;
	  valor %= 20;
	  notas5 = valor / 5;
	  valor %= 5;
//	  notas1 = valor;

	  cout << notas50 << " " << notas20 << " " 
		   << notas5 << " " << endl; //<< notas1 << endl;
	  cout << endl;

Acho estranho não ter as notas de 1 ai, + c seu prof pediw td bem... ai você pega e faz a verificação caso nao haja notas para tal quantia..

 

[]'s

 

pois no caso do 55 ele ia dizer que precisava de 11 notas de 5 euros!

 

 

cout << notas50 << " " << notas20 << " "

<< notas5 << " " << endl; //<< notas1 << endl;

cout << endl;

 

eu esta parte n percebi! será q podias explicar ou refazer em pseudocodigo?

 

 

já agora e os outros dois exercicios? estao de acordo com o q esta a ser pedido?

Compartilhar este post


Link para o post
Compartilhar em outros sites

td bem você disse q usaria 11 notas de 5, + olhe como o exercicio pede:

o menor número de notas de 50€, 20€ e 5€ que perfaz essa quantia.

1 nota de 50 e 1 nota de 5, seria melhor neh???

 

haaaaaaaaa e essa parte do cout, é soh "escreva na tela" é q ai o codigo ta em C++, + é simplesmente um comando de printar na tela..

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

td bem você disse q usaria 11 notas de 5, + olhe como o exercicio pede:

o menor número de notas de 50€, 20€ e 5€ que perfaz essa quantia.

1 nota de 50 e 1 nota de 5, seria melhor neh???

 

haaaaaaaaa e essa parte do cout, é soh "escreva na tela" é q ai o codigo ta em C++, + é simplesmente um comando de printar na tela..

 

[]'s

 

eu percebi que o ideal era 1 50 e 1 de 5, mas tou aki tentando resolver junto com os meus companheiros de turma e nada!

 

da maneira q você fez resolve neh?

 

valor %= 50;

eh o mesmo que:

valor <- valor % 50?

 

ja agora você viu os outros dois? o q você acha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim é a msm coisa, é q eu uso da outra maneira pq acho + simples..

 

qnt aos outros 2 sou meio burrinho, me explica uma coisa, oq qr dizer:

indica quantos dos seus algarismos são maiores que os seus vizinhos.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso no primeiro ae, você ache muito complicado, acho q dessa maneira você entenderá melhor:

Leia (iValor);
		iNota50 = iNota20 = iNota5 = 0;
			if (iValor >= 50) {
					   iNota50 = iValor / 50;
					   iValor = iValor - 50*iNota50;
					   }
			if (iValor >= 20)  {
					   iNota20 = iValor / 20;
					   iValor = iValor - 20*iNota20;
					   } 
			if (iValor >= 5 ) {
					   iNota5 = iValor / 5;
					   iValor = iValor - 5*iNota5;
					   }
		  //  if (iValor >= 1 ) {
		  //			 iNota1 = iValor / 1;
		   //			iValor = iValor - iNota1;
					   }

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim é a msm coisa, é q eu uso da outra maneira pq acho + simples..

 

qnt aos outros 2 sou meio burrinho, me explica uma coisa, oq qr dizer:

indica quantos dos seus algarismos são maiores que os seus vizinhos.

[]'s

 

 

por exemplo o numero 1573

 

o algoritmo tem de verificar se o 3 eh maior q o 7; se o 7 eh maior do que o 5 e do que o 3; se o 5 eh maior do que o 1 e do que o 7; se o 1 eh maior do que o 5

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha não testei o seu algoritmo 2.. + você ta fazendo os testes de mesa para ver as saidas?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se (c_amarelos > 0 e c_vermelhos = 0) Entao

cont <- cont + 1

Fim se

 

assim vais contar em quantas jornadas acontece isso... mas o k pede o exercicios é em k jornadas isso acontece

acho que fica assim:

 

SE(c_amarelos>0 E c_vermelhos=0) ENTAO

ESCREVER(i)

FIMSE

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.