domingo, 8 de junio de 2025

✅ MiniSistema de Matemáticas en Turbo Pascal

 ✅ ¿Qué incluye?

✅ Álgebra: ecuación cuadrática

✅ Álgebra Lineal: determinante 2x2

✅ Trigonometría: seno, coseno, tangente

✅ Geometría Analítica: distancia entre puntos

✅ Ecuaciones diferenciales: método de Euler


program SistemaMatematico;

uses crt, math;


procedure Algebra;

var a, b, c, d, x1, x2: real;

begin

  clrscr;

  writeln('--- Algebra: Ecuacion Cuadratica ---');

  write('Ingresa a: '); readln(a);

  write('Ingresa b: '); readln(b);

  write('Ingresa c: '); readln(c);

  d := b*b - 4*a*c;

  if d < 0 then

    writeln('No hay soluciones reales.')

  else

  begin

    x1 := (-b + sqrt(d)) / (2*a);

    x2 := (-b - sqrt(d)) / (2*a);

    writeln('x1 = ', x1:0:4, ', x2 = ', x2:0:4);

  end;

  readln;

end;


procedure AlgebraLineal;

var a, b, c, d, det: real;

begin

  clrscr;

  writeln('--- Algebra Lineal: Determinante 2x2 ---');

  write('a: '); readln(a);

  write('b: '); readln(b);

  write('c: '); readln(c);

  write('d: '); readln(d);

  det := a*d - b*c;

  writeln('Determinante = ', det:0:2);

  readln;

end;


procedure Trigonometria;

var grados, radianes: real;

begin

  clrscr;

  writeln('--- Trigonometria ---');

  write('Angulo en grados: '); readln(grados);

  radianes := grados * pi / 180;

  writeln('Seno    = ', sin(radianes):0:4);

  writeln('Coseno  = ', cos(radianes):0:4);

  writeln('Tangente= ', tan(radianes):0:4);

  readln;

end;


procedure GeometriaAnalitica;

var x1, y1, x2, y2, d: real;

begin

  clrscr;

  writeln('--- Geometria Analitica: Distancia entre dos puntos ---');

  write('x1: '); readln(x1);

  write('y1: '); readln(y1);

  write('x2: '); readln(x2);

  write('y2: '); readln(y2);

  d := sqrt(sqr(x2 - x1) + sqr(y2 - y1));

  writeln('Distancia = ', d:0:4);

  readln;

end;


procedure EcuacionDiferencial;

var x, y, h, xn: real;

    n, i: integer;

function f(x, y: real): real;

begin

  f := x + y;

end;

begin

  clrscr;

  writeln('--- Ecuacion Diferencial: Metodo de Euler para dy/dx = x + y ---');

  write('x0: '); readln(x);

  write('y0: '); readln(y);

  write('Valor final xn: '); readln(xn);

  write('Numero de pasos n: '); readln(n);

  h := (xn - x) / n;

  for i := 1 to n do

  begin

    y := y + h * f(x, y);

    x := x + h;

  end;

  writeln('Aproximacion y(', xn:0:2, ') = ', y:0:4);

  readln;

end;


var

  opcion: char;


begin

  repeat

    clrscr;

    writeln('===== MENU MATEMATICO GENERAL =====');

    writeln('1. Algebra');

    writeln('2. Algebra Lineal');

    writeln('3. Trigonometria');

    writeln('4. Geometria Analitica');

    writeln('5. Ecuaciones Diferenciales');

    writeln('0. Salir');

    write('Selecciona una opcion: ');

    opcion := readkey;


    case opcion of

      '1': Algebra;

      '2': AlgebraLineal;

      '3': Trigonometria;

      '4': GeometriaAnalitica;

      '5': EcuacionDiferencial;

    end;


  until opcion = '0';

  writeln('Gracias por usar el sistema.');

end.

No hay comentarios.:

Publicar un comentario