Escribir Un Programa en Pascal Que Sume Los Valores Que Hay Por Encima

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

Escribir un programa en Pascal que sume los valores que hay por encima de la diagonal principal.

Los valores se pueden asignar como una constante. PROGRAM EJER008; Uses Crt; Const N = 4; {Numero de filas y columnas de la matriz} Const matriz: Array [1..N,1..N] of Integer = ((1, 2, 3, 4), ( 5, 6, 7, 8), ( 9,10,11,12), (13,14,15,16)); {Declaramos la matriz} var i, j, suma: Integer; {i se corresponde con las filas y j con las columnas} Begin ClrScr; {limpiamos la pantalla} {los valores de la diagonal principal son (1,1) (2,2) (3,3) (4,4). Como este ejercicio consiste en sumar los valores que hay encima de la diagonal principal, sumares: 2 + 3 + 4 + 7 + 8 + 12} {Escribimos la matriz original y coloreamos los valores que necesitamos} For i := 1 to N Do Begin For j := 1 to N Do Begin If j > i then Textcolor(9) {Cambiando el numero elegiremos el color} Else TextColor(7); WRITE(matriz[i,j]:3); End; WRITELN(' '); End; WRITELN;{Suma de los valores de la primera fila de la matriz} i := 1; FOR j := 2 to N do Begin suma := suma + matriz[i,j]; WRITELN(suma); {Lo escribimos para chequear los valores, podriamos escribir un write al final y seria suficiente} End; {Suma de los valores de la segunda fila}

i := 2; FOR j := 3 to N do Begin suma := suma + matriz[i,j]; WRITELN(suma); End; WRITELN;{Suma de los valores de la tercera fila} i := 3; FOR j := 4 to N do {N ya vale 4, por lo que solo se realiza 1 vez el bucle} Begin suma := suma + matriz[i,j]; WRITELN('El resultado final es: ',suma); End; End. Escribir un programa en Pascal que almacene en un array de registros los nombres de los alumnos, sus notas parciales y finales. Hallar la nota media y mostrar un mensaje de APTO si el alumno supera o iguala la calificacin de 5 o NO APTO si no lo alcanza. Hacerlo para un nmero de 5 alumnos. PROGRAM EJER009; Uses Crt; Const numalumnos = 5; Type tnotas = record nombre2 : String; n_parcial2, n_final2: Real; {Nota parcial y final} end; {Hacemos una fila dividida en 4 partes:tnotas, nombre2, n_parcial2, n_final2. Es como una tabla de Word, la cual iremos rellenando con los datos obtenidos} notas = Array[1..numalumnos] of tnotas; {Ahora la copiamos tantas veces como numero de alumnos hay, es decir, obtenemos 5 filas iguales} var var var var Begin ClrScr; For i := 1 to numalumnos Do Begin clase : notas; nombre: String; n_parcial, n_final, n_media: Real; i: Integer;

WRITE('Introduzca el nombre del alumno ',i,' : '); READLN(nombre); WRITE('Introduzca su nota parcial: '); READLN(n_parcial); WRITE('Introduzca su nota final: '); READLN(n_final); WRITELN; With clase[i] Do Begin n_parcial2 := n_parcial; n_final2 := n_final; nombre2 := nombre; End; End; ClrScr; WRITELN('NOMBRE':25,'Parcial':8,'Final':8,'Media':8, 'CALIFICACION':15); WRITELN; For i := 1 to numalumnos do With clase[i] do Begin n_media := (n_parcial2 + n_final2) / 2; WRITE(nombre2:25,n_parcial2:8:2,n_final2:8:2); textcolor(14); WRITE(n_media:8:2); If n_media >= 5 then Begin textcolor(11); WRITELN ('APTO :-)':15); End Else Begin textcolor(1); WRITELN ('NO APTO :-(':15); End; textcolor(7); End; End.

También podría gustarte