![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola.
Es que esa no es la forma correcta de declarar el inicio y finalizacíon de una función o procedimiento, el formato general sería: Código:
function Nombre (<parámetros>): tipo retorno;
<const (declaración de constantes locales)>
<type (definición local de tipos)>
<var (declaración de variables locales)>
<function(<parámetros>): tipo retorno; (declaración de funciones locales)
begin
...
end>
<procedure(<parámetros>); (declaración de procedimientos locales)
begin
...
end>
begin
(cuerpo de la función)
end;
o como locales a ella: Las funciones potencia y factorial (locales o externas) podrían escribirse de modo iterativo,
o de modo recursivo: Pero en cualquiera de los casos, contando con las funciones potencia/factorial, la función Suma podría ser:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#2
|
|||
|
|||
|
Hola ecfisa, ya trate de construir un código siguiendo tus recomendaciones.
El programa ya corre, pero al momento de imprimir los valores y calcular el resultado me sale este mensaje: El proyecto project1 ha lanzado una exepción de la claes 'External:SIGFPE'. At address 43E83B Y este es mi nuevo código:
Esperó y me puedas seguir ayudando. Saludos y Gracias. |
|
#3
|
||||
|
||||
|
Hola.
Intentalo de este modo:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#4
|
|||
|
|||
|
Gracias ecfisa, me sirvió mucho el último código.
Sólo que tengo dos dudas, la primera es: ¿Por qué se utiliza el tipo de retorno "Double"? y ¿Para qué sirve el "StrToIntDef"? Saludos. |
|
#5
|
||||
|
||||
|
Hola.
A fin de obtener un resultado mas fidedigno. Se podría declarar con un retorno de tipo entero, vg.: Pero se pierden decimales por la división entera, ejemplificando: Si enviamos a la función SumaInt como argumentos los valores 3 y 4 nos devuelve como resultado 15, cuando debería ser 16,375 La función StrToIntDef convierte una cadena en un número entero y de no ser posible la conversión, devuelve el valor por defecto (segundo parámetro), ejemplo: Usé esa función por que tu código toma los valores a convertir desde dos Edits y el usuario podría introducir un valor que no represente un número válido y por tanto elevar una excepción como sucedería en el caso de usar la función StrToInt. Por si desearas hacer comprobaciónes, te pongo dos ejemplos con distintos modos:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 20-04-2017 a las 04:04:52. |
|
#6
|
|||
|
|||
|
Muchas gracias ecfisa, me fue de gran ayuda tu explicación.
Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Consulta Mysql Suma entre rango de fechas | kaeltas | MySQL | 4 | 22-06-2012 21:30:44 |
| Factorial hasta 1000 | Cheswar | Varios | 29 | 21-09-2007 20:43:27 |
| Compatibilidad entre aplicaciones ASP.NET entre Delphi 8 .Net y Visual Studio.Net | kenyamg | .NET | 0 | 21-02-2007 07:30:33 |
| exponente con delphi | JODELSA | Varios | 1 | 22-06-2005 15:12:22 |
| Calcular exponente | [Gunman] | Varios | 0 | 18-04-2005 13:28:39 |
|