Popular channels

Aprende a Programar en C [Parte 4]

Contenido que vamos a ver.


  • Introduccion: Contenido,Lenguaje C, CodeBlocks, Funcion Main( "Hola Mundo " ).
  • Introduccion a Funciones y Modularizacion.(Ahora)
  • Introduccion a Pilas y Punteros: Teoria de Pila, FIFO, pilavacia(),desapilar(),apilar(),tope(), mostrar(),leer()... int * p, direccion de memoria &..
  • Librerias y Definiciones : #include <"nom_lib"> (dentro de CB) , #include "nom_lib" (dentro de Carpeta), #Define "variable" "valor" , #ifnDef , #ifDef , #EndIf (lo basico).
  • Ejercicios Basicos II : con ejercicios de Pilas.
  • Introduccion a Arreglos (Arrays) y Matrices: char A[dimension], int B[dimension],
  • Ejercicios Basicos III: con ejercicios de Arreglo y Pilas (pasaje de elementos de arreglo a pilas, entre otras).
  • Estructuras y Registros (arreglo de estructuras): Typedef Struct, Typedef Struct A[dimension].
  • Ejercicios Medios I: con Arreglos, Estructuras y Registros.
  • Manejo de Archivos: fopen(),fseek,ftell,fwrite,fread, modos de lectura/escritura, etc.
  • Ejercicios Medios II : con manejo de Arreglos, a pasajes de registros, y de registros a archivos.
  • Fabricacion de Pilas.
  • Estructuras Dinamicas: Malloc.
  • Recursividad.
  • Listas Enlazadas: Listas simples, Listas doblemente vinculadas.
  • Arboles: nodos->der, nodos->izq.
  • Ejercicios Avanzados I: Recursion con Listas
  • Ejercicios Avanzados II: Arboles (recursion) y Listas.
  • Ejercicios Avanzados III: Estructuras compuestas: Registros de Listas con recursividad.


Funciones (Subprogramas)


Hasta el momento, no habiamos ido mas alla del main, ahora, aprenderemos a programar fuera y dentro de este.

¿Que son y para que sirven las funciones?
Las funciones son subprogramas, que se dividen en bloques de codigo, cada una con una funcion diferente y que cumplen un rol en particular, por ejemplo, una funcion que sume dos valores, otra funcion que se encargue de la resta, otro de la multiplicacion, otro de la divicion, etc,

En teoria, la funcion es un recurso que permite la modularizacion de un programa. A traves de esta se puede descomponer un programa complejo en subprogramas mas simples, cada una con una tarea especifica, una funcion puede ser llamada desde el main() como tambien puede ser llamada por otra funcion.

Sus ventajas:
  • Evita la duplicacion de codigo, solo basta con llamar a la funcion tantas veces como se necesite.
  • Reduce la complejidad del programa ("Divide y venceras" ).
  • Mejora la legibilidad del codigo.
  • Oculta la complejidad de los algoritmos que pueden llegar a ser demasiado largos.

En general, toman valores de entrada y salida, aunque tambien pueden que no.

Estructura de una Funcion:

nombre_funcion ( )
{

return
}

Una funcion que devuelve un valor, su variable receptora tiene que cumplir su mismo tipo de retorno.

= ( )
Esto en caso de que la funcion tenga retorno.

( )
Esto en caso de que la funcion NO retorne nada.

Una vez que este la funcion definida, puede usarse las veces que sea necesario.
<tipo de retorno>: Si la funcion no retorna nada, el tipo de retorno sera void, si no se establece, por defecto sera int, aunque lo correcto siempre es establecer el tipo de retorno, que tambien pueden ser float (si devuelve un float), int (si devuelve un int), double, etc. E incluso puede devolver un tipo de estructura, pero lo veremos mas adelante.
<nombre_funcion>: Lo recomendable siempre es poner un nombre adecuado que especifique el funcionamiento de la funcion. Si se tiene que usar varias palabras, lo recomendable es usar "_" o las indicarcon mayúsculas cada inicial de la palabra (sumar_elementos,contar_socios,CargarNumeros,etc).
<parametros formales>: Los parametros de la funcion, representan los valores de entrada (a veces tambien de salida) que seran ingresados desde el main o desde otra funcion a parte, que llame a esta funcion. Cada parametro se declara igual que una variable y puede haber mas de uno, en este caso, se separan por comas pero puede haber mas de 2 parametros.

-----a) Parámetros formales: están puestos en la definición de la función. Se declaran dentro de la lista de
parámetros, estableciendo nombre y tipo para cada uno. En el momento de declararlos no contienen
datos, están vacíos, y sirven a los fines de posibilitar la codificación del algoritmo de la función.
Son la “puerta de entrada y a veces de salida” de los datos que necesita procesar la función.

----b) Parámetros actuales: se usan en la invocación de la función. Son variables del programa invocante
(el que llama a la función) y se ubican reemplazando a los parámetros formales. Los parámetros
actuales contienen datos (valores) que son usados por el cuerpo de la función para realizar los
cálculos propios y generar (si hubiere ) el valor de retorno.

----c) Pasaje de parámetros: existen dos maneras de usar los parámetros actuales, lo que determina el tipo de pasaje: pasaje por valor (o copia) y pasaje por referencia (pasando mediante el "&" su direccion de memoria, modificando directamente a la misma desde la funcion). A diferencia del de copia, que en ese caso el parametro actual no modifica el valor original de este (esto lo veremos con mas claridad en pasaje de parametros por punteros).

<instrucciones>: Representa el codigo que sera ejecutado cuando se llame a la funcion, el cuerpo de la funcion se encierra entre llaves " { } ".







Cuando veamos Pilas entraremos mas en detalle con las funciones. Lo importante es entender el concepto los subprogramas.

0
1
0
1Comment
cronadek

excelente para quienes quieren iniciarse en programación y empezar a elaborar sus propias herramientas, ojala termines con este curso que desde ya pinta excelente

0