Pascal/Turbo Pascal - Ayuda con ejercicio de pascal

 
Vista:

Ayuda con ejercicio de pascal

Publicado por Alexander (6 intervenciones) el 05/08/2018 03:12:02
Hola chicos como estan podrian ayudarme a realizar este ejercicio? Me tienen muy confuso se los agradeceria si pudieran hacer algo
Se necesita desarrollar un programa en pascal para un proceso electoral en la cual existen tres
candidatos (A, B, C), para las elecciones a alcalde al municipio. Por el municipio existen X cantidad
de votantes (Ejemplo 1250 votantes).
1-. Mostrar el candidato Ganador.
2.- usar la sentencia "CASE" para seleccionar el candidato a preferencia
4.- usar el sentencia "FOR" para procesar el número de votantes.
5.- al final deberan mostrar el porcentaje respectivo que tuvo cada candidato en las elecciones.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 287
Oro
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ayuda con ejercicio de pascal

Publicado por dario (87 intervenciones) el 07/08/2018 16:15:48
Te dejo este codigo, a ver si te ayuda.
Salu2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
uses crt;
const
	votantes = 1250;
Var
	a: word;
	b: word;
	c: word;
	ganador: word;
	i: word;
	voto: String;
	w: real;
	x: real;
	z: real;
Begin
	clrscr;
	a := 0;
	b := 0;
	c := 0;
 
	For i:=1 To votantes Do Begin
		Write('Ingrese su voto (a,b,c): ');
		ReadLn(voto);
 
		case voto of
			'a': a:= a+1;
			'b': b:= b+1;
			'c': c:= c+1;
		End;
 
	end;
 
	// candidato ganador
	writeln;
	If (a>b) And (a>c) Then Begin
		ganador := a;
		WriteLn('Ganador candidato A con ',ganador,' votos');
	End
	Else Begin
		If (b>a) And (b>c) Then Begin
			ganador := b;
			WriteLn('Ganador candidato B con ',ganador,' votos');
		End
		Else Begin
			ganador := c;
			WriteLn('Ganador candidato C con ',ganador,' votos');
		End;
	End;
 
	// porcentaje
	x := (a*100)/votantes;
	w := (b*100)/votantes;
	z := (c*100)/votantes;
 
	WriteLn('Candidato A ',x:4:2,'%');
	WriteLn('Candidato B ',w:4:2,'%');
	WriteLn('Candidato C ',z:4:2,'%');
End.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha disminuido 1 puesto en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ayuda con ejercicio de pascal

Publicado por Alexander (8 intervenciones) el 07/08/2018 18:44:57
Hola amigo me da este pequeño error sabes como solucionarlo?
Screenshot_4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 287
Oro
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ayuda con ejercicio de pascal

Publicado por dario (87 intervenciones) el 08/08/2018 07:28:20
Hola, prueba cambiando la variable voto a char:
voto:char;
Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha disminuido 1 puesto en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ayuda con ejercicio de pascal

Publicado por Alexander (8 intervenciones) el 08/08/2018 22:39:13
Hola amigo donde tu pusiste "//" yo lo cambie por writeln. y ahora cuando hago un voto sale de una vez el porcentaje no deberia ser eso como una opcion al final o algo asi? inserto codigo y foto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Program votaciones;
uses wincrt;
const
	votantes = 1250;
var
	a: word;
	b: word;
	c: word;
	ganador: word;
	i: word;
	voto: char;
	w: real;
	x: real;
	z: real;
begin
	clrscr;
	a := 0;
	b := 0;
	c := 0;
 
	For i:=1 To votantes Do Begin
		Write('Ingrese su voto (a,b,c): ');
		ReadLn(voto);
 
		case voto of
			'a': a:= a+1;
			'b': b:= b+1;
			'c': c:= c+1;
                end;
		writeln('Candidato Ganador');
 
	If (a>b) And (a>c) Then Begin
		ganador := a;
		WriteLn('Ganador candidato A con ',ganador,' votos');
	End
	Else Begin
		If (b>a) And (b>c) Then Begin
			ganador := b;
			WriteLn('Ganador candidato B con ',ganador,' votos');
		End
		Else Begin
			ganador := c;
			WriteLn('Ganador candidato C con ',ganador,' votos');
		End
	End;
 
 writeln('porcentaje');
	x := (a*100)/votantes;
	w := (b*100)/votantes;
	z := (c*100)/votantes;
 
	WriteLn('Candidato A ',x:4:2,'%');
	WriteLn('Candidato B ',w:4:2,'%');
	WriteLn('Candidato C ',z:4:2,'%');
End;
end.
Screenshot_4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 287
Oro
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ayuda con ejercicio de pascal

Publicado por dario (87 intervenciones) el 09/08/2018 06:18:13
Hola, antes de writeln('Candidato ganador') falta en end del for, el writeln debe estar fuera del for.
PD: estoy usando freepascal con Linux Mint.
Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 287
Oro
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Ayuda con ejercicio de pascal

Publicado por dario (87 intervenciones) el 09/08/2018 06:35:28
Te dejo la imagen de mi programa, esta hecho en turbo pascal 7.
Salu2.

captura1
captura2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar