Ir para conteúdo

POWERED BY:

Arquivado

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

fee

Trabalho de Lógica de Programação

Recommended Posts

1. Em uma eleição para representante existem dois candidatos. Os votos são informados através de códigos. Os dados utilizados para a contagem dos votos obedecem à seguinte codificação:

 

--> 1 e 2 = voto para os respectivos candidatos;

--> 0 = voto nulo;

--> 3 = voto em branco

 

Elabore um programa que leia em seqüência os votos (0 a 3). O programa deve finalizar com voto negativo. No final deve-se imprimir:

 

--> total de votos

--> total e percentual de votos para cada candidato

--> total e percentual de votos para voto nulo

--> total e percentual de votos para voto em branco

--> candidato vencedor

 

 

 

2. Uma das maneiras de se conseguir a raiz quadrada de um número é subtrair deste número os ímpares consecutivos a partir de 1, até que o resultado da subtração seja menor ou igual a zero. 0 número de vezes que forem realizadas as subtrações consecutivas é a raiz quadrada exata do número (resultado 0) ou aproximada do número (resultado negativo),

Exemplo:

Raiz de 16 = 4

 

16 – 1 = 15

15 – 3 = 12

12 – 5 = 7

7 – 7 = 0

 

total de 4 subtrações

 

Faça um programa que leia em seqüência números inteiros e informa o valor da raiz quadrada, dizendo se é exata ou aproximada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste como anda seu avanço no algoritmo e poste as duvidas!

 

[´]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok !! vou postar o meu rascunho.

 

tenho duvidas com o comando 'while' ..

 

mt obrigado desde ja .. abrç

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok!

o comando while é o seguinte:

while(<condição>){ //enquanto a condição for verdadeira faça
.
.
.
}

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu uso o kenya ....

 

poxa o primeiro nao to conseguindo fazer ta mtt dificil !!

o 2° ficou mais ou menos assim ..

 

void main()
{
	int x;
int n;
int sub;
int cont;
x=1;
cont=0;
sub=1; 
println("Informe o numero que voce deseja obter a raiz")
n=readInt();
while (n>0) 
{ 		
n=n-x;	
x=x+2;
cont=cont+1;	
}
if (n<0)
{
println(“raiz não natural”)
}
else
{
	println(“raiz do número é: “);
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

você qr a lógica da coisa ow jah vai implementar em alguma linguagem!

engraçado q linguagem é essa o começo parece com C + o comando de imprimir na tela lembra o do Java :lol:

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

intao é isso msmoo !! C+ .. java !!

o nome do programa é kenya .

 

eu queria a logica .. me ajuda ai :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim .. é C+

você sabe usar essa linguagem?

 

poo me ajuda.. to necessitada desse trabalho !! rsss

e o primeiro , você pode me ajudar tb nao?!

bjos

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra obter a raiz procure sobre a função sqrt!

 

[']s

Compartilhar este post


Link para o post
Compartilhar em outros sites

O programa 1...

 

 

#include<stdio.h>
#include<stdlib.h>
main ()
{
	 int c1=0, c2=0, nulo=0, branco=0, voto, totalVotos=-1, vencedor;
	 float mediac1, mediac2, mediaNulo, mediaBranco;
	 do
	 {
		printf ("Informe o seu voto");
		scanf ("%d", &voto);
		   if (voto>3)
		   {
		   printf ("\n\nErro - Nao existe essa opcao");
		   }
		   else
		   {
		   switch (voto)
		   {
		   case 0:
				nulo++;
		   break;
		   case 1:
				c1++;
		   break;
		   case 2:
				c2++;
		   break;
		   case 4:
				branco++;
		   break;
		   }
		   }
		totalVotos++;
	 }
	 while (voto>=0);
	 
	 mediac1=(c1*100)/totalVotos;
	 mediac2=(c2*100)/totalVotos;
	 mediaNulo=(nulo*100)/totalVotos;
	 mediaBranco=(branco*100)/totalVotos;
	 
	 printf ("\n\nO total de votos foi %d", totalVotos);
	 printf ("\nO candidato um teve %.2f p/c de votos", mediac1);
	 printf ("\nO candidato dois teve %.2f p/c de votos", mediac2);
	 printf ("\nForam %.2f p/c de votos Nulos", mediaNulo);
	 printf ("\nForam %.2f p/c de votos Brancos", mediaBranco);
	 
	 if (c1>c2)
	 {
	 printf ("\n\nO candidato numero 1 venceu!!");
	 }
	 else
	 {
		if (c1==c2)
		{
		printf ("\n\nOs candidatos empataram!!");
		}
		else
		{
		printf ("\n\nO candidato numero 2 venceu!!");
		}
	 }

	 system ("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

o programa numero 2...

 

#include<stdio.h>
#include<stdlib.h>
main ()
{
	 int num, impar=1;
	 
	 printf ("Informe o numero: ");
	 scanf ("%d", &num);
	 
	 while (num>0)
	 {
	 num=num-impar;
	 impar=impar+2;
	 }
	 
	 if (num==0)
	 {
	 printf ("\n\nA raiz quadrada e EXATA\n\n");
	 }
	 else
	 {
	 printf ("\n\nA raiz quadrada e APROXIMADA\n\n");
	 }
	 system ("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Hermann no caso do exercício 1, acho que poderia colocar um default no switch caso o usuário entre com número maior que 3, ficaria mais organizado, seria interessante tb fazer uma consistencia caso o switch entre no default, pro usuário entrar com o dado novamente, ta ai minha opinião :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Groove,do jeito que você ta falando do default, teria um goto lá pra cima. E nesse caso não tem muita vantagem usar switch porque no final das contas vai se resumir a ifs com um while p/ filtrar a entrada.

 

#include <stdio.h>
#define VOTO_NULO 0
#define CAND_1 1
#define BRANCO 3
int main(void) {
 unsigned int totalVotos = 0;
 unsigned int votosCand1 = 0;
 unsigned int votosCand2 = 0;
 unsigned int votosNulos = 0;
 unsigned int votosBranco = 0;
 int voto;
 while(1) {
 do {
	printf("\nDigite seu voto:");
	scanf("%d",&voto);
 } while(voto > 3);
 if (voto < 0)
	break;

 totalVotos++;
 if (voto == VOTO_NULO)
	votosNulos++;
 else if(voto == BRANCO)
	votosBranco++;
 else if (voto == CAND_1)
	votosCand1++;
 else
	votosCand2++;
 }

 printf("\nTotal de votos:%u",totalVotos);
 printf("\nTotal de votos do candidato 1: %u \t Porcentagem: %.2f",votosCand1,votosCand1/(float)totalVotos);
 printf("\nTotal de votos do candidato 2: %u \t Porcentagem: %.2f",votosCand2,votosCand2/(float)totalVotos);
 printf("\nTotal de votos em branco: %d \t Porcentagem: %.2f",votosBranco,votosBranco/(float)totalVotos);
 printf("\nTotal de votos nulo: %u \t Porcentagem: %.2f",votosNulos,votosNulos/(float)totalVotos);
 if (votosCand1 != votosCand2)
	printf("\nVencedor: candidato %d\n",(votosCand1 > votosCand2)? 1:2);
 return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

é nem rola switch msm, como funciona esse "go to"? Pode dar um exemplo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Goto é um desvio incondicional. A mesma coisa que o j LABEL ou jr $ra do Assembly.Dizem que não serve pra nada mas em casos raros simplifica muito a leitura do programa. Eu uso quando fica muito estranho fazer com while e do,e nao vou criar uma variavel so pra isso.

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.