Article View: chile.comp.programacion
Article #670Re: Programacion en C
From: Cristian Gutierrez
Date: Thu, 14 Feb 2008 12:33
Date: Thu, 14 Feb 2008 12:33
66 lines
3339 bytes
3339 bytes
Antonia wrote:
> Hola;Mi duda es sobre el tema de programación modular.En el primer
> ejercicio del tema pide indicar si debe resolverse comofunción o
> procedimiento,e indicar salidas y entradas.
A ver, pareciera que la distincion que se hace (puedo estar equivocado)
es la siguiente:
* Las funciones retornan algo, y pueden usarse en expresiones.
Ej.
double p = sqrt(s) + 1;
* Los procedimientos no retornan, ya que solo interesan sus efectos
secundarios (como imprimir a la pantalla) o en realidad "retornan"
modificando las variables que le fueron pasadas. Tecnicamente, su
tipo de retorno es "void".
Ej:
memset(buf, c, size);
Incluso bajo esas definiciones, uno puede tomar una funcion, darle un
argumento extra (puntero) para que deje alli el resultado, fijar su tipo
de retorno en "void" y ya pasaria -bajo las premisas anteriores- a ser
un procedimiento. Al final, si cierta tarea se resuelve con una funcion
o procedimiento es a gusto del consumidor.
> a. Calcualar a elevado a b,siendo a un número real y b un valor entero
> positivo no nulo. entrada:a y b salida:a^b
>
> recibe dos entradas y tiene una única sálida: FUNCIÓN
En principio si, pero puede implementarse como procedimiento tambien.
void elevar(float a, int b, float *resultado) {
*resultado = /* a elevado a b */ ;
}
> b. Dado un carácter car devolver la mayúscula correspondiente (si no es
> minúscula devuelve el carácter sin modificar). entrada:car salida:car
> mayúscula
>
> Realiza la función de pasar a mayúscula: PROCEDIMIENTO.
Pero podria ser funcion:
char mayuscula(char minuscula) {
return /* minuscula pasada a mayuscula */;
}
> c. Dado un número entero decir si es primo o no. entrada: número salida:
> es primo o no
>
> Realiza la funcion de decir si es primo o no: PROCEDIMIENTO
Si "decir si es primo o no" es imprimir el dato en la pantalla, de
acuerdo, procedimiento. Si es devolver un valor de verdad (0/1), puede
ser procedimiento o funcion, pero lo esperable es que sea funcion.
int es_primo(int n) {
return /* n es primo o no */;
}
Creo que ya captas la idea, no te voy a hacer toda la tarea ;-)
--
Guti
Technical Details
Message-ID:
<87bq6j67ki.fsf@dogbert.simple.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news1.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.cec.uchile.cl!not-for-mailReferences:
<5ad12cab-37df-42cb-96e9-9d1fecff0e55@h11g2000prf.googlegroups.com>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,fe564b3081b5d4e2 X-Google-Attributes: gid1593cb,public,usenet X-Google-Language: SPANISH,UTF8 Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news1.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.cec.uchile.cl!not-for-mail From: Cristian Gutierrez <crgutier@dcc.uchile.cl> Newsgroups: chile.comp.programacion Subject: Re: Programacion en C Date: Thu, 14 Feb 2008 09:33:49 -0300 Organization: DCC/Uchile Lines: 66 Message-ID: <87bq6j67ki.fsf@dogbert.simple.cl> References: <5ad12cab-37df-42cb-96e9-9d1fecff0e55@h11g2000prf.googlegroups.com> NNTP-Posting-Host: vpn-client-022.cec.uchile.cl Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: cipres.cec.uchile.cl 1202992428 11499 172.17.35.22 (14 Feb 2008 12:33:48 GMT) X-Complaints-To: news@cipres.cec.uchile.cl NNTP-Posting-Date: Thu, 14 Feb 2008 12:33:48 +0000 (UTC) User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.1.50 (gnu/linux) Cancel-Lock: sha1:v71v0Ot/aZcZKxiLrjv0mIE6Yeo=