martes, junio 09, 2015

Ejercicio Lazarus

Comparo la práctica en Lazarus





unit codnotas;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  StdCtrls;

type

  { TfrmNotas }

  TfrmNotas = class(TForm)
    btnInsertar: TButton;
    btnLimpiar: TButton;
    btnSalir: TButton;
    pnlBotones: TPanel;
    txtExcelente: TEdit;
    txtBuena: TEdit;
    txtRegular: TEdit;
    txtMala: TEdit;
    txtMuyMala: TEdit;
    lblExcelente: TLabel;
    lblBuena: TLabel;
    lblRegular: TLabel;
    lblMala: TLabel;
    lblMuyMala: TLabel;
    pnlTotales: TPanel;
    txtNota: TEdit;
    lblNota: TLabel;
    pnlNota: TPanel;
    procedure btnInsertarClick(Sender: TObject);
    procedure btnLimpiarClick(Sender: TObject);
    procedure btnSalirClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end; 

var
  frmNotas: TfrmNotas;
  nota,nExce,nBue,nReg,nMal,nMMal:integer;

implementation

{ TfrmNotas }

procedure TfrmNotas.btnSalirClick(Sender: TObject);
begin
  close;
end;

procedure TfrmNotas.btnLimpiarClick(Sender: TObject);
begin
  txtNota.Clear;
  txtExcelente.Clear;
  txtBuena.Clear;
  txtRegular.Clear;
  txtMala.Clear;
  txtMuyMala.Clear;
  txtNota.SetFocus;
  nExce:=0;
  nBue:=0;
  nReg:=0;
  nMal:=0;
  nMMal:=0;
end;

procedure TfrmNotas.btnInsertarClick(Sender: TObject);
begin
  nota:=strtoint(txtNota.Text);
  if((nota>=19) and (nota<=20))then
  begin
       nExce:=nExce+1;
       txtExcelente.Text:=inttostr(nExce);
  end;
  if((nota>=15) and (nota<=18))then
  begin
       nBue:=nBue+1;
       txtBuena.Text:=inttostr(nBue);
  end;
  if((nota>=10) and (nota<=14))then
  begin
       nReg:=nReg+1;
       txtRegular.Text:=inttostr(nReg);
  end;
  if((nota>=7) and (nota<=9))then
  begin
       nMal:=nMal+1;
       txtMala.Text:=inttostr(nMal);
  end;
  if((nota>=0) and (nota<=6))then
  begin
       nMMal:=nMMal+1;
       txtMuyMala.Text:=inttostr(nMMal);
  end;
  
  txtNota.Clear;
  txtNota.SetFocus;
end;

initialization
  {$I codnotas.lrs}

  nExce:=0;
  nBue:=0;
  nReg:=0;
  nMal:=0;
  nMMal:=0;


end.

Factorial
unit codfactorial;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  StdCtrls;

type

  { TfrmFactorial }

  TfrmFactorial = class(TForm)
    btnCalcular: TButton;
    btnLimpiar: TButton;
    btnSalir: TButton;
    pnlBotones: TPanel;
    txtResult: TEdit;
    lblResultado: TLabel;
    pnlResult: TPanel;
    txtNumero: TEdit;
    lblNumero: TLabel;
    pnlNumero: TPanel;
    procedure btnCalcularClick(Sender: TObject);
    procedure btnLimpiarClick(Sender: TObject);
    procedure btnSalirClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end; 

var
  frmFactorial: TfrmFactorial;

implementation

{ TfrmFactorial }

procedure TfrmFactorial.btnSalirClick(Sender: TObject);
begin
  close;
end;

procedure TfrmFactorial.btnLimpiarClick(Sender: TObject);
begin
  txtNumero.Clear;
  txtResult.Clear;
  txtNumero.SetFocus;
end;

procedure TfrmFactorial.btnCalcularClick(Sender: TObject);
var
   numero,resultado,i:integer;
begin
     numero:=strtoint(txtNumero.Text);
     i:=numero;
     resultado:=1;
     repeat
     begin
          resultado:=numero*i;
          i:=i-1;
     end
     until(i>1);
     txtResult.text:=inttostr(resultado);

end;

initialization
  {$I codfactorial.lrs}

end.




No hay comentarios:

Publicar un comentario