Programación modular en C

9

Click here to load reader

Transcript of Programación modular en C

Page 1: Programación modular en C

Programación modular en C.

Primero que nada vamos a definir que son las variables local y global, aclarando que hay otros tipos de variable, que si, también se pueden usar pero no es asunto del propio tema (quizás en otro tutorial lo explique). Primero mostraremos la forma general de cómo debe estar estructurado un programa en C y después definiremos los tipos de variables, aclarando que no todos los programas pueden estar estructurados así, a lo mejor aya ocasiones en la que no utilicemos funciones y todo el codigo este dentro del main.

Esquema 1. Forma general de un programa structurado en C

Variable local.Su ámbito, es decir donde actúa o realiza su función es dentro de la propia función, esto es: que su valor solo es utilizado o modificado dentro de esta (o sea la función). No necesariamente se utiliza este tipo de variables en funciones, sino que también se puede utilizar en un programa completo realizado dentro del main.

Autor: Pablo Juárez López

/*Sección de librerías*/Ex. #include<stdio.h>/*Sección de declaración de prototipos de función*/ /*Encabezado de la función*/Tipo nombre_funcion_( tipo nombre_argumento1, tipo nombre_argumento2);

/*Sección de declaración de variables globales*/Tipo nombre_variable;

/* Programa principal*/Void main(){ }

/*Sección de declaración o definición de funciones*/Tipo nombre_funcion (tipo nombre_argumento1, tipo nombre_argumento2){ /* Declaración de variables locales */ Tipo nombre_variablelocal; Return ( variable || expresión);}

Page 2: Programación modular en C

En C las variables locales se declaran de la siguiente forma:

Tipo de dato _ nombre de la variable;

Ex: int num;Donde int es de tipo entero, y num es el nombre de la variable.

Por ejemplo:

Esquema 2. variable local dentro del main.

Variable Global.Su ámbito se desarrolla en todo el programa, esto es que el valor que toma la variable global se puede utilizar en cualquier lugar, habiendo funciones o no.

En C las variables globales se declaran de la siguiente forma: Tipo nombre_variable;

Por ejemplo:

Fig2 Variable Global.

En C hay la particularidad de poder utilizar las funciones las cuales son muy útiles, fáciles y cómodas de utilizar para cuando se trabaja en un proyecto grande o algo complejo, ya que estas al ejecutar el programa si el compilador detecta un error seria fácil localizar dicho error ya que nos marca en que función se encuentra tal error y así depurarlo.

Autor: Pablo Juárez López

#include<stdio.h>int num;

void main (){ printf("moshi moshi dame numero"); scanf("%d",&num);}

#include<stdio.h>void main (){ int num; printf("moshi moshi dame numero"); scanf("%d",&num);}

Variable local

Variable Global

Page 3: Programación modular en C

Función.

Una función es una sección o trozo de codigo (programa) que tiene un nombre definido y realiza una determinada acción.Por ejemplo, una función que devuelve un valor en pantalla:

scanfO una función que acepta información y no devuelve nada, por ejemplo:

printf

Cuando se llama a una función en una determinada parte del programa se ejecutan las instrucciones que se encuentran dentro de esta; Se puede acceder a una misma función desde varios lugares distintos del programa.Generalmente, una función procesara la información que le es pasada y puede o no devolver un valor.La información pasada a esta es por medio de unos Argumentos (también llamados parámetros) estos pueden ser formales o actuales.

Argumentos formales.

Se declara en el encabezado de la función y sirve para recibir los valores con los cuales la función será ejecutada.Por ejemplo:

Argumentos Actuales.

Es el que se usa al momento de hacer la llamada a la función y contiene el valor con el cual se desea que la función se ejecute.Por ejemplo:

Autor: Pablo Juárez López

void funcion ( int ren, int col)

Argumentos actuales

void funcion ( int ren, int col);

Argumentos formales

Page 4: Programación modular en C

Hay 4 modos de usar a las funciones.

• Función que no devuelve una expresión y no tiene argumentos.• Función que no devuelve una expresión y si tiene argumentos.• Función que si devuelve una expresión y no tiene argumentos.• Función que si devuelve una expresión y si tiene argumentos

• Función que no devuelve una expresión y no tiene argumentos.

En C una función de este tipo seria:

Donde void es de tipo vacío y a la vez indica que no regresa ningún valor, princi es el nombre de la función, ( ) indica que no tiene argumentos.Este tipo de funciones es útil para cuando tenemos que repetir el mismo codigo dentro del programa.

Veamos un ejemplo en C:

Autor: Pablo Juárez López

void princi ();

#include<stdio.h>void princi();void main(){ princi(); }void princi ( ){printf (" MENU PRINCIPAL ");printf (" ==============\ n");printf (" 1. Nuevo registro \n");printf (" 2. Modificar registro \n");printf(“Dame opcion:”);}

Page 5: Programación modular en C

Función que no devuelve una expresión y si recibe argumentos.

Este tipo de funciones en C se declaran de la siguiente forma:

Donde int es el tipo del argumento, y rol es el nombre del argumento.

Veamos un ejemplo:

Autor: Pablo Juárez López

void elige( int rol);

#include<stdio.h>void elige(int rol);int num;void main(){ int cool,rola; clrscr(); printf("Dame un numero: "); cool =wherex(); rola = wherey(); scanf("%d",&num); while (num<1 || num>4) { gotoxy(cool,rola); clreol(); scanf("%d",&num); } elige(num);}void elige(int rol){ printf("El numero tecleado es: %d",rol); getch();}

Page 6: Programación modular en C

• Función que si devuelve una expresión y no tiene argumentos.

Este tipo de funciones en C se declaran de la siguiente forma:

Donde int es el tipo de la función, que en este caso es entero.

Por ejemplo:

Autor: Pablo Juárez López

int resul( );

#include<stdio.h>

int num,r;

int resul(){ printf("Dame un numero: "); scanf("%d",&num); return (num);}

void main(){ clrscr(); r=resul(); printf("El resultado es: %d",r); getch(); }

Page 7: Programación modular en C

• Función que si devuelve una expresión y si tiene argumentos.

Este tipo de funciones en C se declaran de la siguiente forma:

Donde int es el tipo y (resul, uno y dos ) son los nombres de la función y los argumentos respectivamente.

Por ejemplo:

Para utilizar las funciones se necesita de 2 cosas: declarar a la función y llamar a la función.

Declaración de funciones.

En C para declarar a las funciones es:

Encabezado de la función. Cuerpo de la función.

Encabezado de la función.

El encabezado se declara al inicio del programa antes de las variables globales, y su estructura es:

Autor: Pablo Juárez López

int ultimo( int uno, int dos);

#include<stdio.h>int ultimo(int uno,int dos){ int r; r=uno+dos; return r;}void main(){ p= ultimo( 5,5); printf(“ La suma es: %d”, p);}

int primero( int un, int do);

Page 8: Programación modular en C

Aquí va a depender de que tipo de función es, por ejemplo en el recuadro anterior es de tipo entero, devuelve una expresión y devuelve un argumento, aquí también dependerá del tipo de función que queramos utilizar.

Cuerpo de la función.

Aquí se declara de este modo:

Y va después del programa principal.Tip: A groso modo el encabezado de la función es la misma (se escribe igual) que en el cuerpo de la función exceptuando que esta lleva “ ; “ al final y en el cuerpo de la función no.

Llamada a funciones.

Para llamar a las funciones en C se hace de este modo:

Aquí observamos que cambia la forma en llamar a la función, esto es porque al llamarla solo se hace con el nombre de la variable sin escribir el tipo de la función, y en los argumentos solo se escribe los nombres de las variables, que comúnmente son variables globales y también sin escribir el tipo de la variable, o también se le puede asignar una constante.

Veamos un ejemplo para que se comprenda mejor:

Autor: Pablo Juárez López

int primero( int un, int do)

primero(unos, doces);

Page 9: Programación modular en C

En este pequeño codigo encontramos una llamada a función, su=prim(5,4);Acá llamamos a la función prim y le asignamos como parámetros la constante 5 y 4, después su toma el valor que regresa la función, que en este caso es re y después se imprime el valor que tomo su.Para que quede claro, otra cosa mas, en la llamada a la función su=prim(5,4); la constante 5 es tomada por un en: int prim(int un, int don) y el 4 por el don.

Y pues eso seria todo acerca de las funciones.

Cualquier duda, aclaración o sugerencia será bien recibida y me podrás contactar vía mail: [email protected]

Autor: Pablo Juárez López

#include<stdio.h>#include<conio.h>/*Sección de declaración de prototipos de función*/ /*Encabezado de la función*/int prim(int un,int don);

/* Programa Principal */void main (){ int su; clrscr(); su=prim(5,4); /*<<<<<<<<<Llamamos a la función con sus argumentos*/ printf(" la suma es: %d ",su ); getch();

}int prim(int un,int don){ int re; re= un+don; return re;}