Pascal/Turbo Pascal - programa de registro de notas

 
Vista:

programa de registro de notas

Publicado por francisco (1 intervención) el 28/10/2011 20:02:30
ESTIMADOS AMIGOS, EN REALIDAD SOY NUEVO EN EL DESARROLLO DE PROGRAMAS EN TURBO PASCAL, ES POR ELLO QUE APELO A SUS CONOCIMIENTOS PARA QUE PUEDAN AYUDARME , RESULTA QUE DEBO DISEÑAR UN PROGRAMA QUE CAPTURE LOS DATOS GENERALES DE DOS ALUMNOS, LUEGO CAPTURAR TRES NOTAS POR ASIGNATURA PARA DOS ASIGNATURAS, CALCULAR EL PROMEDIO DE LAS NOTAS POR ASIGNATURA DE CADA ALUMNO Y AL FINAL MOSTRAR UN CUADRO COMO EL SIGUIENTE:


CENTRO ESCOLAR JAIME VILLANUEVA

2º AÑO DE BACHILLERATO EN DESARROLLO DE SOFTWARE AÑO: 2011

NOMBRE DEL ALUMNO: JUAN JOSE CRUZ CODIGO DEL ALUMNO: SC94024 SECCION: 2C2



ASIGNATURA EXAMEN 1 EXAMEN 2 EXAMEN 3 PROMEDIO CONCEPTO

MATEMATICA 9.5 9.5 9.5 9.5 APROBADO

INGLES 4.0 4.0 4.0 4.0 REPROBADO



QUIEN TENGA UN PROGRAMA DE ESTE TIPO LE AGRADECERE MUCHO SI ME LO REGALA.
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

programa de registro de notas

Publicado por ramon (2158 intervenciones) el 29/10/2011 17:14:48
Te puedo a ayudar a que realices tu tarea pero primero los datos los tienes que meter por
teclado o los tomas de un archivo esto es para aclarar conceptos a la hora de realizar el
programa y ten presente que el programa que te realice a lo mejor no cumple con las peticiones
deseadas y tendrás que acoplarlo a tus necesidades espero respuesta para ayudarte.
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

programa

Publicado por ricarodo (8 intervenciones) el 19/05/2016 16:46:21
por fa nesesito ayuda con este ejercicio .........hacer un programa en pascal que visialice n estudiantes de septimo año .ayudemen por favor
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

programa de registro de notas

Publicado por ramon (2158 intervenciones) el 30/10/2011 13:37:50
{Entrada de datos por teclado y presentación de los mismos entrada de 2 alumnos}

program aesamen;
uses
crt;
type
registro_alumno = record
nombre : string[50];
codigo : string[12];
seccion : string[3];
asignat : array[1..2] of string[10];
esamen : array[1..2,1..3] of real;
promedio : array[1..2] of real;
concepto : array[1..2] of string[15];
end;

const
centro = 'CENTRO ESCOLAR JAIME VILLANUEVA';
curso = '2§ A¥O DE BACHILLERATO EN DESARROLLO DE SOFTWARE A¥O: 2011';

var
alumno : array[1..2] of registro_alumno;
tecla : char;
alu, i : integer;

procedure entrada_datos(n : integer);
var
dato : real;
num : integer;
begin
if (n > 2) or (n < 1) then
exit
else
begin
gotoxy(5,3);write('Nombre : ');
gotoxy(14,3);readln(alumno[n].nombre);
gotoxy(5,4);write('Codigo : ');
gotoxy(14,4);readln(alumno[n].codigo);
gotoxy(5,5);write('Seccion : ');
gotoxy(15,5);readln(alumno[n].seccion);
gotoxy(5,6);write('Asignatura N§ 1 : ');
gotoxy(23,6);readln(alumno[n].asignat[1]);
for i := 1 to 3 do
begin
gotoxy(5,6 + i);write('Esamen N§',i,' : ');
gotoxy(18,6 + i);readln(alumno[n].esamen[1][i]);
end;
dato := 0.0;
for i := 1 to 3 do
begin
dato := dato + alumno[n].esamen[1][i];
end;
alumno[n].promedio[1] := (dato / 3);
if round(alumno[n].promedio[1]) in[0..4] then
alumno[n].concepto[1] := 'Insuficiente';
if round(alumno[n].promedio[1]) in[5..6] then
alumno[n].concepto[1] := 'Suficiente';
if round(alumno[n].promedio[1]) in[7..8] then
alumno[n].concepto[1] := 'Bien';
if round(alumno[n].promedio[1]) in[9..10] then
alumno[n].concepto[1] := 'Notable';
if round(alumno[n].promedio[1]) >= 11 then
alumno[n].concepto[1] := 'Sobresaliente';
gotoxy(5,11);write('Asignatura N§ 2 : ');
gotoxy(23,11);readln(alumno[n].asignat[2]);
for i := 1 to 3 do
begin
gotoxy(5,11 + i);write('Esamen N§',i,' : ');
gotoxy(18,11 + i);readln(alumno[n].esamen[2][i]);
end;
dato := 0.0;
for i := 1 to 3 do
begin
dato := dato + alumno[n].esamen[2][i];
end;
alumno[n].promedio[2] := (dato / 3);
if round(alumno[n].promedio[2]) in[0..4] then
alumno[n].concepto[2] := 'Insuficiente';
if round(alumno[n].promedio[2]) in[5..6] then
alumno[n].concepto[2] := 'Suficiente';
if round(alumno[n].promedio[2]) in [7..8] then
alumno[n].concepto[2] := 'Bien';
if round(alumno[n].promedio[2]) in[9..10] then
alumno[n].concepto[2] := 'Notable';
if round(alumno[n].promedio[2]) >= 11 then
alumno[n].concepto[2] := 'Sobresaliente';
end;
end;

procedure presenta(an : integer);
begin
clrscr;
if (an > 2) or (an < 1) then
exit
else
begin
gotoxy(17,2);write(centro);
gotoxy(5,3);write(curso);
gotoxy(5,5);write('NOMBRE DEL ALUMNO : ',alumno[an].nombre);
gotoxy(5,6);write('CODIGO DEL ALUMNO : ',alumno[an].codigo);
gotoxy(5,7);write('SECCION : ',alumno[an].seccion);
gotoxy(5,8);write('ASIGNATURA : ',alumno[an].asignat[1]);
gotoxy(5,9);write('EXAMEN 1 : ',alumno[an].esamen[1][1]:2:2);
gotoxy(5,10);write('EXAMEN 2 : ',alumno[an].esamen[1][2]:2:2);
gotoxy(5,11);write('EXAMEN 3 : ',alumno[an].esamen[1][3]:2:2);
gotoxy(5,12);write('PROMEDIO : ',alumno[an].promedio[1]:2:2);
gotoxy(5,13);write('CONCEPTO : ',alumno[an].concepto[1]);
gotoxy(5,14);write('ASIGNATURA : ',alumno[an].asignat[2]);
gotoxy(5,15);write('EXAMEN 1 : ',alumno[an].esamen[2][1]:2:2);
gotoxy(5,16);write('EXAMEN 2 : ',alumno[an].esamen[2][2]:2:2);
gotoxy(5,17);write('EXAMEN 3 : ',alumno[an].esamen[2][3]:2:2);
gotoxy(5,18);write('PROMEDIO : ',alumno[an].promedio[2]:2:2);
gotoxy(5,19);write('CONCEPTO : ',alumno[an].concepto[2]);
gotoxy(5,20);write(alumno[an].asignat[1],' | ',alumno[an].esamen[1][1]:2:2,
' | ',alumno[an].esamen[1][2]:2:2,' | ',alumno[an].esamen[1][3]:2:2,
' | ',alumno[an].concepto[1]);
gotoxy(5,21);write(alumno[an].asignat[2],' | ',alumno[an].esamen[2][1]:2:2,
' | ',alumno[an].esamen[2][2]:2:2,' | ',alumno[an].esamen[2][3]:2:2,
' | ',alumno[an].concepto[2]);
gotoxy(5,24);write('PULSE UNA TECLA');
repeat until keypressed;
end;
end;

procedure menu;
var
r : integer;
tec : char;
begin
gotoxy(10,3);write('MENU JENERAL');
gotoxy(6,5);write('1 = ','Entrada datos');
gotoxy(6,6);write('2 = ','Ver datos');
gotoxy(6,7);write('3 = ','Salir');
gotoxy(6,9);write('Elija Opcion');
repeat
tecla := readkey;
clrscr;
case tecla of
#49 : begin
alu := 1;
repeat
clrscr;
entrada_datos(alu);
alu := alu + 1;
until alu > 2;
end;
#50 : begin
gotoxy(10,2);write('ALUMNO A PRESENTAR [1 o 2]');
repeat
tec := readkey;
until tec in[#49,#50];
case tec of
#49 : r := 1;
#50 : r := 2;
end;
presenta(r);
end;
end;
clrscr;
gotoxy(10,3);write('MENU JENERAL');
gotoxy(6,5);write('1 = ','Entrada datos');
gotoxy(6,6);write('2 = ','Ver datos');
gotoxy(6,7);write('3 = ','Salir');
gotoxy(6,9);write('Elija Opcion');
until tecla = #51;
end;


begin
clrscr;
menu;
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

programa

Publicado por ricardo (8 intervenciones) el 19/05/2016 16:49:09
porfa si me pudes ayudar a resover este ejercicio ,,,hacer un programa en pascal que visualice un boletin de n estudiantes de septimo año..te lo agradeseria
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

programa

Publicado por ramon (2158 intervenciones) el 19/05/2016 22:11:41
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
{Mira esto}
 
 program notas;
   uses
     crt;
   type
     notas_alumno = array[1..3] of real;
 
   var
 
     alumno : array[1..20] of notas_alumno;
     i, cont, k : integer;
 
   procedure entrada_notas;
   begin
      write('   entre numero alumnos 20 max : ');
      readln(cont);
      if cont > 20 then
      cont := 20;
      for k := 1 to cont do
      begin
         for i := 1 to 3 do
         begin
         write('  Entre Notas alumno ',k,' nota n. ',i,' : ');
         readln(alumno[k][i]);
         end;
         writeln;
         write(' Resultado = ',alumno[k][1] + alumno[k][2] + alumno[k][3] /
                                                                100:0:2);
         writeln;
      end;
   end;
 
 
 
 
 
   begin
      entrada_notas;
      readkey;
   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