No me lee un string
Publicado por Cristian (1 intervención) el 11/04/2006 01:00:26
Bueno, estaba estudiando algoritmos, y para comprobar si resultaba decidi pasar el codigo a pascal, pero tengo un problema.. luego de decir cuanto es el total de alumnos, no alcanzo a poner el nombre y altiro pide la siguiente variable:
program clases;
var
not1, not2, not3, not4, not5, not6, not7, qt, prom, mjor: real;
total, rep, i: integer;
mejor : string[30];
nom : string[30];
BEGIN
repeat
write('Ingrese el total de alumnos: ');
read(total)
until total > 0;
i := 1;
mjor := 0;
rep := 0;
while i <= total do
begin
if mjor = 0
then
begin
writeln('Ingrese el nombre del estudiante: ');
read(nom);
repeat
write('Ingrese la primera nota de quiz o talleres: ');
read(not1);
write('Ingrese la segunda nota de quiz o talleres: ');
read(not2);
write('Ingrese la tercera nota de quiz o talleres: ');
read(not3);
until ((not1 + not2 + not3) >= 3) and ((not1 + not2 + not3) <= 21);
mejor := nom;
qt := ((not1 + not2 + not3) / 3);
write('Nota Final quizs y talleres: ', qt);
repeat
writeln('Ingrese la primera nota del examen: ');
read(not4);
write('Ingrese la segunda nota del examen: ');
read(not5);
write('Ingrese la tercera nota del examen: ');
read(not6);
write('Ingrese la nota del examen final: ');
read(not7);
until ((not4 + not5 + not6 + not7) >= 4) and ((not4 + not5 + not6 + not7) <= 28);
prom := ((qt * 10) / 100) + ((not4 * 15) / 100) + ((not5 * 25) / 100) + ((not6 * 25) / 100) + ((not7 * 25) / 100);
if prom < 4
then
begin
rep := rep + 1
end;
mjor := prom;
writeln('Nota Final: ',prom);
end
else
writeln('Ingrese el nombre del estudiante :');
read(nom);
write('Ingrese la primera nota de quiz o talleres: ');
read(not1);
write('Ingrese la segunda nota de quiz o talleres: ');
read(not2);
write('Ingrese la tercera nota de quiz o talleres: ');
read(not3);
qt := ((not1 + not2 + not3) / 3);
write('Nota Final quizs y talleres: ', qt);
write('Ingrese la primera nota del examen: ');
read(not4);
write('Ingrese la segunda nota del examen: ');
read(not5);
write('Ingrese la tercera nota del examen: ');
read(not6);
write('Ingrese la nota del examen final: ');
read(not7);
prom := ((qt * 10) / 100) + ((not4 * 15) / 100) + ((not5 * 25) / 100) + ((not6 * 25) / 100) + ((not7 * 25) / 100);
write('Nota Final: ', prom);
if prom < 4
then
begin
rep := rep + 1
end;
if mjor < prom
then
begin
mjor := prom;
mejor := nom
end;
end;
write('El total de alumnos que reprobaron el ramo: ', rep);
write('El mejor almuno del curso es ', mejor)
END.
traten de compilarlo y vean el problema, ayuda :P para poder aprender
Usuario basico...!
program clases;
var
not1, not2, not3, not4, not5, not6, not7, qt, prom, mjor: real;
total, rep, i: integer;
mejor : string[30];
nom : string[30];
BEGIN
repeat
write('Ingrese el total de alumnos: ');
read(total)
until total > 0;
i := 1;
mjor := 0;
rep := 0;
while i <= total do
begin
if mjor = 0
then
begin
writeln('Ingrese el nombre del estudiante: ');
read(nom);
repeat
write('Ingrese la primera nota de quiz o talleres: ');
read(not1);
write('Ingrese la segunda nota de quiz o talleres: ');
read(not2);
write('Ingrese la tercera nota de quiz o talleres: ');
read(not3);
until ((not1 + not2 + not3) >= 3) and ((not1 + not2 + not3) <= 21);
mejor := nom;
qt := ((not1 + not2 + not3) / 3);
write('Nota Final quizs y talleres: ', qt);
repeat
writeln('Ingrese la primera nota del examen: ');
read(not4);
write('Ingrese la segunda nota del examen: ');
read(not5);
write('Ingrese la tercera nota del examen: ');
read(not6);
write('Ingrese la nota del examen final: ');
read(not7);
until ((not4 + not5 + not6 + not7) >= 4) and ((not4 + not5 + not6 + not7) <= 28);
prom := ((qt * 10) / 100) + ((not4 * 15) / 100) + ((not5 * 25) / 100) + ((not6 * 25) / 100) + ((not7 * 25) / 100);
if prom < 4
then
begin
rep := rep + 1
end;
mjor := prom;
writeln('Nota Final: ',prom);
end
else
writeln('Ingrese el nombre del estudiante :');
read(nom);
write('Ingrese la primera nota de quiz o talleres: ');
read(not1);
write('Ingrese la segunda nota de quiz o talleres: ');
read(not2);
write('Ingrese la tercera nota de quiz o talleres: ');
read(not3);
qt := ((not1 + not2 + not3) / 3);
write('Nota Final quizs y talleres: ', qt);
write('Ingrese la primera nota del examen: ');
read(not4);
write('Ingrese la segunda nota del examen: ');
read(not5);
write('Ingrese la tercera nota del examen: ');
read(not6);
write('Ingrese la nota del examen final: ');
read(not7);
prom := ((qt * 10) / 100) + ((not4 * 15) / 100) + ((not5 * 25) / 100) + ((not6 * 25) / 100) + ((not7 * 25) / 100);
write('Nota Final: ', prom);
if prom < 4
then
begin
rep := rep + 1
end;
if mjor < prom
then
begin
mjor := prom;
mejor := nom
end;
end;
write('El total de alumnos que reprobaron el ramo: ', rep);
write('El mejor almuno del curso es ', mejor)
END.
traten de compilarlo y vean el problema, ayuda :P para poder aprender
Usuario basico...!
Valora esta pregunta


0