jueves, 1 de octubre de 2015
martes, 29 de septiembre de 2015
sábado, 26 de septiembre de 2015
sábado, 13 de junio de 2015
Crear una Clase en Delphi Números Naturales
Para crear una clase, Primero debemos dar un nombre a
nuestra unidad,
Después debemos asignar un nombre a nuestra clase donde Nuestras funciones
y procedimientos.
y procedimientos.
Ej. Unit Natural;
Interface
Type
ClaseNatural=Class
End;
Implementation
End.
Y esta clase va ser de tipo ClaseNatural.
Luego debemos construir nuestra clase
Ej. Unit Natural;
Interface
Type
Constructor
crear;
End;
Implementation
End.
Luego ver que funciones o procedimientos van ser de tipo
publico o privado.
Interface
Type
ClaseNatural=Class
Private
Public
End;
Implementation
End.
Nuestro constructor debe ser de tipo public.
Luego si es necesario usar librerías para realizar algún
procedimiento o función
colocamos .
colocamos .
Ej. Unit Natural;
Interface
// aquí van
las librerías que uno debe usar
Uses SysUtils;
Type
ClaseNatural=Class
ClaseNatural=Class
Private
Public
End;
Implementation
End.
IMPLEMENTAREMOS FUNCIONES Y PROCEDIMIENTOS A NUESTRA ClaseNatural
IMPLEMENTAREMOS FUNCIONES Y PROCEDIMIENTOS A NUESTRA ClaseNatural
sábado, 24 de enero de 2015
jueves, 22 de enero de 2015
lunes, 19 de enero de 2015
Crear una Clase en Delphi :
unit Uclase_natural;
interface
uses sysutils,math;
type
CEMnumeronatural=class(Exception);
cnatural=class
valor :integer;
public
constructor crear;
procedure asignarvalor(numero:integer);
function obtenervalor:integer;
function numero_digitos:integer;
end;
implementation
{ cnatural }
constructor cnatural.crear;
begin
valor:=0;
end;
procedure cnatural.asignarvalor(numero: integer);
begin
valor:=numero;
end;
function cnatural.obtenervalor: integer;
begin
//obtenervalor:=valor;
result:=valor;
end;
function cnatural.numero_digitos:integer;
var cont,r,n:integer
begin
// result:=trunc(ln(valor)/ln(10)+1);
{ o tambien resulta este pero antes tienes que llamar a la libreria math para usar este codigo }
// result:=trunc(log10(valor)+1);
// de la forma mecanica
n:=valor;
cont:=1;
while ( n>0 ) do
begin
r:= n mod 10;
c:=c+1; // Inc(c);
n:= n div 10;
end;
result:=cont;
end;
end.
lunes, 12 de enero de 2015
Ejercicios Basicos 10 : Cant. Dig. Primos II METODO
function cnatural.cant_dig_primos2(n: integer): integer;
var
c,dig:integer;
begin
c:=0;
while n>0 do
begin
dig:= n mod 10;
if (primo(dig)=true) then
c:=c+1;
n:=n div 10;
end;
Result:=c;
end;
Llamar :
begin
edit3.Text:=inttostr(clase.cant_dig_primos2(strtoint(edit2.Text)));
end;
var
c,dig:integer;
begin
c:=0;
while n>0 do
begin
dig:= n mod 10;
if (primo(dig)=true) then
c:=c+1;
n:=n div 10;
end;
Result:=c;
end;
Llamar :
begin
edit3.Text:=inttostr(clase.cant_dig_primos2(strtoint(edit2.Text)));
end;
Ejercicios Basicos 9 : Cantidad de Digitos Primos
function cant_dig_primos(numeros: integer): integer;
var
r,aux,cont:integer;
begin
cont:=0;
while (numeros>0) do
begin
r:=numeros mod 10;
if r in [ 2,3,5,7 ] then
begin
inc(cont);
end else begin
end;
numeros:=numeros div 10;
end;
Result:=cont;
end;
Forma de llamar :
begin
edit3.Text:=inttostr(Form1.cant_dig_primos(strtoint(edit2.Text)));
end;
Ejercicios Basicos 8 : Suma Digitos Primos
function suma_dig_primos(numero: integer): integer;
var
suma,r:integer;
begin
suma:=0;
while ( numero > 0 ) do
begin
r:= numero mod 10;
if ( r in [ 2,3,5,7 ] ) then
begin
suma:= suma + r ;
end else begin
end;
numero:=numero div 10;
end;
Result:=suma;
end;
Forma de llamar :
begin
edit3.Text:=inttostr(form1.suma_dig_primos(strtoint(edit2.Text)));
end;
var
suma,r:integer;
begin
suma:=0;
while ( numero > 0 ) do
begin
r:= numero mod 10;
if ( r in [ 2,3,5,7 ] ) then
begin
suma:= suma + r ;
end else begin
end;
numero:=numero div 10;
end;
Result:=suma;
end;
Forma de llamar :
begin
edit3.Text:=inttostr(form1.suma_dig_primos(strtoint(edit2.Text)));
end;
Ejercicios Basicos 7 : Suma Digitos Pares
function suma_dig_pares(numero: integer): integer;
var
suma,r:integer;
begin
suma:=0;
while (numero>0) do
begin
r:= numero mod 10;
if (r mod 2)=0 then
begin
suma:=suma+r;
end else begin
end;
numero:=numero div 10;
end;
Result:=suma;
end;
Forma de llamar :
begin
edit3.Text:=inttostr(form1.suma_dig_pares(strtoint(edit2.Text)));
end;
Ejercicios Basicos 6 : Digitos Pares
function digitos_pares(numero: integer): integer;
var
residuo,dig,cont:byte;
begin
while (numero>0) do
begin
residuo:=numero mod 10;
if (residuo mod 2)=0 then
begin
Inc(cont);
end;
numero:=numero div 10;
end;
Result:=cont;
end;
Forma de Llamar:
begin
edit1.Text:=inttostr(form1.digitos_pares(strtoint(edit2.Text)));
end;
var
residuo,dig,cont:byte;
begin
while (numero>0) do
begin
residuo:=numero mod 10;
if (residuo mod 2)=0 then
begin
Inc(cont);
end;
numero:=numero div 10;
end;
Result:=cont;
end;
Forma de Llamar:
begin
edit1.Text:=inttostr(form1.digitos_pares(strtoint(edit2.Text)));
end;
Ejercicios Basicos 5 : Numero de Digitos
Function cantidad_digitos(numero:byte):byte;
var
acumulador,r:integer;
begin
acumulador:=0;
while numero>0 do
begin
r:=numero mod 10;
Inc(acumulador); //acumulador:=acumulador+1;
numero:=numero div 10;
end;
Result:=acumulador;
end;
forma de llamar a la función :
begin
edit1.Text:=inttostr(form1.numero_digitos(strtoint(edit1.Text)));
end;
Otra Forma mas Sencilla :
function cantidad_digitos: integer;
begin
result:=trunc((ln(valor)/ln(10))+1);
end;
var
acumulador,r:integer;
begin
acumulador:=0;
while numero>0 do
begin
r:=numero mod 10;
Inc(acumulador); //acumulador:=acumulador+1;
numero:=numero div 10;
end;
Result:=acumulador;
end;
forma de llamar a la función :
begin
edit1.Text:=inttostr(form1.numero_digitos(strtoint(edit1.Text)));
end;
Otra Forma mas Sencilla :
function cantidad_digitos: integer;
begin
result:=trunc((ln(valor)/ln(10))+1);
end;
forma de llamar a la función :
begin
edit1.Text:=inttostr(form1.cantidad_digitos);
end;
begin
edit1.Text:=inttostr(form1.cantidad_digitos);
end;
viernes, 2 de enero de 2015
Ejercicios Basicos 4 : Verificar si un numero es primo
function primo: boolean;
var
sw:boolean;
t,n:cardinal;
begin
sw:=true;
t:=2;
n:=valor;
while (t<n) and (sw) do
begin
if (n mod t)=0 then
sw:=false;
t:=t+1;
end;
Result:=sw;
end;
// forma de llamar a la función
var
r:boolean;
begin
r:=clase.primo;
if (r=true) then
begin
edit3.Text:='Es Primo';
end else begin
edit3.Text:='No es Primo';
end;
end;
var
sw:boolean;
t,n:cardinal;
begin
sw:=true;
t:=2;
n:=valor;
while (t<n) and (sw) do
begin
if (n mod t)=0 then
sw:=false;
t:=t+1;
end;
Result:=sw;
end;
// forma de llamar a la función
var
r:boolean;
begin
r:=clase.primo;
if (r=true) then
begin
edit3.Text:='Es Primo';
end else begin
edit3.Text:='No es Primo';
end;
end;
Ejercicios Basicos 3 : Nuevo Numero con los Digitos Pares , Impares
function Nuevo_Numero_con_los_Digitos_Pares (numero: integer): integer;
var
dig,nu,inc:integer;
begin
inc:=1;
nu:=0;
while (numero>0) do
begin
dig:=numero mod 10;
// para digitos pares // para digitos impares
if (dig mod 2)=0 then // if (dig mod 2)<>0 then
begin // begin
nu:=nu+(dig*inc); // nu:=nu+(dig*inc);
inc:=inc*10; // inc:=inc*10;
end else begin // end else begin
end; // end;
numero:=numero div 10;
end;
Result:=nu;
end;
// Forma de llamar a la función
begin
edit3.Text:=inttostr(clase.Nuevo_Numero_con_los_Digitos_Pares(strtoint(edit2.Text)));
end;
begin
edit3.Text:=inttostr(clase.Nuevo_Numero_con_los_Digitos_impares(strtoint(edit2.Text)));
end;
var
dig,nu,inc:integer;
begin
inc:=1;
nu:=0;
while (numero>0) do
begin
dig:=numero mod 10;
// para digitos pares // para digitos impares
if (dig mod 2)=0 then // if (dig mod 2)<>0 then
begin // begin
nu:=nu+(dig*inc); // nu:=nu+(dig*inc);
inc:=inc*10; // inc:=inc*10;
end else begin // end else begin
end; // end;
numero:=numero div 10;
end;
Result:=nu;
end;
// Forma de llamar a la función
begin
edit3.Text:=inttostr(clase.Nuevo_Numero_con_los_Digitos_Pares(strtoint(edit2.Text)));
end;
begin
edit3.Text:=inttostr(clase.Nuevo_Numero_con_los_Digitos_impares(strtoint(edit2.Text)));
end;
Ejercicios Basicos 2: Verificar si es Capicua
function capicua(numero:integer): boolean;
var
aux:integer; aux2:integer;
begin
aux2:=invertir(valor); // se llama a la función invertir
aux:=valor;
if (aux2=aux) then
begin
result:=true;
end else begin
result:=false;
end;
end;
// Formar de llamar a la función dentro del boton de un formulario
begin
if (clase.capicua(strtoint(edit1.Text))=true) then
begin
edit3.Text:='es capicua';
end else begin
edit3.Text:='no es capicua';
end;
end;
var
aux:integer; aux2:integer;
begin
aux2:=invertir(valor); // se llama a la función invertir
aux:=valor;
if (aux2=aux) then
begin
result:=true;
end else begin
result:=false;
end;
end;
// Formar de llamar a la función dentro del boton de un formulario
begin
if (clase.capicua(strtoint(edit1.Text))=true) then
begin
edit3.Text:='es capicua';
end else begin
edit3.Text:='no es capicua';
end;
end;
Ejercicios Basicos 1 : Invertir un Numero
Function Invertir(Numero:Integer ):Integer;
var
Inv,Residuo:Integer;
begin
Inv:=0;
While (Numero>0) do
begin
Residuo:= Numero mod 10;
Inv:=Inv*10+Residuo;
Numero:=Numero div 10;
end;
Result:=Inv;
end;
Forma de llamar a la función :
//dentro de un botón en un formulario
begin
edit2.text:=inttostr(clase.Invertir(strtoint(edit1.text)));
end;
Suscribirse a:
Entradas (Atom)