Pascal/Turbo Pascal - porque la nota mínima me sale cero

 
Vista:
sin imagen de perfil
Val: 7
Ha disminuido su posición en 2 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

porque la nota mínima me sale cero

Publicado por Martín (6 intervenciones) el 16/05/2020 01:10:43
Saben porque la nota minima me sale cero



Captura-de-pantalla-4_LI

Esta es el algoritmo

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
program Notas;
var
  nota,cuenta,m,suma,numero,max,min:integer;
  promedio:real;
 
begin
suma:=0;
cuenta:=0;
promedio:=0;
min:=numero;
max:=numero;
  writeln('Notas de examenes');
  write('Cuantas notas desea ingresar:');
  readln(m);
  for cuenta :=1 to m do
    begin
      write('Ingrese la nota ', cuenta,':');
      readln(numero);
 
          if(numero>=0) and (numero<=10)then
           else
             begin
               write('Ingrese una nota correcta:');
               readln(numero);
             end;
                  if (numero > max) then
                     max:=numero
                  else
                    begin
                      if (numero < min) then
                         min:=numero
                    end;
                  suma:=suma+numero;
   end;
 
 
  promedio:=suma/m;
  writeln('Nota maxima: ',max);
  writeln('Nota minima: ',min);
  writeln('El promedio de las notas ingresadas es: ',promedio:4:2);
  readln;
end.
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

porque la nota mínima me sale cero

Publicado por dario (87 intervenciones) el 16/05/2020 05:28:54
Hola, pruebalo asi.
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
program Notas;
uses crt;
var
	cuenta,m,suma,numero,max,min:integer;
	promedio:real;
begin
	suma:=0;
	cuenta:=0;
	promedio:=0;
	max:=0;
 
	writeln('Notas de examenes');
	write('Cuantas notas desea ingresar:');
	readln(m);
 
	{lee la primera nota}
	write('Ingrese la nota 1: ');
	readln(numero);
	min:=numero;
	suma:=suma + numero;
 
	for cuenta :=2 to m do
	begin
		write('Ingrese la nota ', cuenta,':');
		readln(numero);
		if(numero < 0) and (numero > 10)then
		begin
			write('Ingrese una nota correcta:');
			readln(numero);
		end;
		if (numero > max) then
			max:=numero;
		if (numero < min) then
			min:=numero;
 
		suma:=suma+numero;
	end;
 
	promedio:=suma/m;
	writeln('Nota maxima: ',max);
	writeln('Nota minima: ',min);
	writeln('El promedio de las notas ingresadas es: ',promedio:4:2);
	readln;
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: 86
Bronce
Ha mantenido su posición en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

porque la nota mínima me sale cero

Publicado por David (37 intervenciones) el 17/05/2020 21:01:27
Yo creo que si tabulas correctamente lo verás mejor.
Tienes condiciones que deberías cambiar como esta:

1
2
3
4
5
// Si es mayor que 0 y menor que 10
if(numero>=0) and (numero<=10)then
// hacer nada (deberías cambiar la condición)
// Si NO es mayor que 0 y menor que 10
else

Y tienes partes de código que le falta el punto y coma pero son salvadas por el begin y el end;
Como esta (de hecho si le añades el punto y coma compilará también bien):

1
2
3
4
begin
if (numero < min) then
    min:=numero
end;

Tabulando o metieno más espacios delante de una sentencia de código no hace que una condición o bucle quede dentro de otro.

Fíjate la diferencia, este sería tu código tabulado correctamente que podría ayudarte a entender el flujo que sigue tu programa.
Si tienes dudas pregunta, se trata de que lo entiendas, no de que te lo den resuelto (excepto que no tuvieses ni idea y estuvieses dispuesto a aprender de la resolución). Es un código lo suficientemente sencillo como para dartelo resuelto, pero solo sería entretenimiento para algunos y a tí te aportaría cero en aprendizaje excepto que lo revises y entiendas, cosa que es dificil si no nos facilitas un feedback a los comentarios.

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
program Notas;
 
var
	nota,cuenta,m,suma,numero,max,min:integer;
	promedio:real;
 
begin
	suma:=0;
	cuenta:=0;
	promedio:=0;
	min:=numero;
	max:=numero;
 
    writeln('Notas de examenes');
	write('Cuantas notas desea ingresar:');
	readln(m);
 
    for cuenta :=1 to m do
	begin
		write('Ingrese la nota ', cuenta,':');
		readln(numero);
 
		if(numero>=0) and (numero<=10)then
		else
		begin
			write('Ingrese una nota correcta:');
			readln(numero);
		end;
 
		if (numero > max) then
			max:=numero
		else
		begin
		if (numero < min) then
			min:=numero
		end;
 
		suma:=suma+numero;
	end;
 
	promedio:=suma/m;
	writeln('Nota maxima: ',max);
	writeln('Nota minima: ',min);
	writeln('El promedio de las notas ingresadas es: ',promedio:4:2);
	readln;
 
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