PDA

Ver la Versión Completa : Agradecería opinión sobre este código


serka
03-03-2017, 00:07:04
Ante todo muchas gracias por sus generosos consejos por otro lado ya correjí el problema era un error de semántica pero como les digo mis queridos colegas ya lo solucione aquí esta mi otro formato mejorado que en su libro "programación en lenguajes estructurados" de la maestra María Asunción Criadero Clavero muestra como se debe escribir código legible y fácil de entender aquí esta el ejemplo:

* Nombre del programa: MediaTest *)

(* Constantes *)
const
PESO1 = 50;
PESO2 = 20;
PESO3 = 30;

(* Variables *)
var
NOTA1, NOTA2, NOTA3:Integer;
MEDIA:Real;
begin
// Obtener datos

Write('Introdusca la primera nota: ');
Readln(NOTA1);
Write('Introdusca la segunda nota: ');
Readln(NOTA2);
Write('Introdusca la tercera nota: ');
Readln(NOTA3);

// Fin de obtener datos

// Calcular Media

Media:= NOTA1 * PESO1 / 100 + NOTA2 * PESO2 / 100 + NOTA3 * PESO3 / 100;

// Fin Calcular Media

// Mostrar Resultados

// Imprimir cabecera

Write('Notas del test Peso (%)');
Writeln;

// Fin Impimir cabecera

// Imprimir datos de entrada

Write(NOTA1, + PESO1);
Writeln;
Write(NOTA2, + PESO2);
Writeln;
Write(NOTA3, + PESO3);

// Fin Imprimir datos de entrada

// Imprimir media

Writeln;
Write('Media ponderada: ---' ,MEDIA);
readln
// Fin Imprimir media

// Fin Mostrar Resultados

que les parece .....

Neftali [Germán.Estévez]
03-03-2017, 09:34:16
A mi me parece correcto.
Un apunte, más de apariencia visual de los resultados que otra cosa. Puedes utilizar la función Format, para mejorar la salida de datos.

Por ejemplo, en lugar de esta línea:

Write(NOTA1, + PESO1);


Puedes poner esta:

Write(Format('Nota:%d con peso:%d%%', [NOTA1, PESO1]));


Y verás que hay diferencia.

El primer %d significa que en esa posición va 1 número entero (el primer parámetro NOTA1). El segundo %d significa el segundo parámetro (PESO1) y el %% es para pintar el character de porcentaje(%).
Pruebalo y verás el cambio.

Aquí hay varios ejemplos de cómo se utiliza. (http://www.delphibasics.co.uk/RTL.asp?Name=format)

Algo similar puedes hacer con el resultado.