Está en la página 1de 12

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación Universitaria


(Misión Sucre (Aldea Universitaria “ Francisco de Miranda”)

P.N.F. (Informática) {T1.T2}


Guanare Estado Portuguesa

Unidad 2
Programación
Modular

Bachilleres:
Profesor:
Javier franco; CI: 29945737
Jesús Echeganucia
Francys Jiménez; CI: 2727788
Unidad Curricular:
Luis Hidalgo; CI: 30575556
Algorítmica y Programación
María Uzcategui; CI: 30856550

Introducción:
1
El texto a continuación trata básicamente de la programación modular la cual
consiste en dividir un programa en distintos subprogramas independientes. De esta forma el
software principal se vuelve más fácil de manejar. Pero, además, los subprogramas
resultantes del programa principal pueden también ser divididos en subprogramas más
pequeños aún.

Lo que se busca con ello básicamente es poder lograr obtener subprogramas lo más


simple posibles. De esta manera los problemas pueden ser resueltos de forma fácil por un
lenguaje de programación.

Esto es gracias a que la programación modular permite en principio dividir la


complejidad de un problema, y además se puede reutilizar el código de un programa en
cualquier momento.

Este trabajo fue redactado conforme a lenguaje (C)

Índice;

2
Funciones y procedimientos: Funciones…………………………………………………
pagina (4)

Declaración de funciones…………………………………pagina (4), (5)

Procedimientos…………………………………………… pagina (5)

Declaración de procedimientos……………………………. Página (6)

Ámbito de variable: ………………………………. Página (6)


Datos locales………………………………………pagina (6), (7)
Datos globales……………………………………pagina (7),
Llamadas a funciones y pase de parámetro
Llamado de función……………………………página (7)
Como se llama una función en c …………………pagina (7), (8)
Paso de parámetros……………………………pagina (8), (9),10
Tablas como parámetro a una función………. Página (10)

3
Funciones y procedimientos:
Funciones:

Una función es un subprograma que recibe como argumentos o parámetros, datos de


tipos numérico y devuelve un único resultado. Esta característica le diferencia
esencialmente de un procedimiento.

Su formato es el siguiente:

función nombre función (p1,p2,...) : tipo a devolver


 declaraciones locales
inicio
 cuerpo de la función
 nombre función <- valor a devolver
fin

Descrito de otra forma Un subalgoritmo función es un algoritmo que recibiendo o


no datos devuelve un único resultado. Tienen su origen ligado al concepto matemático de
función de una o más variables. Ejemplo de este tipo de subalgoritmo son las llamadas
funciones internas (sin, cos, abs). Las cuales pueden usarse en expresiones algorítmicas
como si se tratara de variables.

Declaración de funciones:

La declaración da a conocer la función al compilador, de forma que a partir del


punto de declaración, ya se pueden realizar invocaciones a la misma. A su vez, la definición
estará en algún otro punto del programa, tal vez en una librería externa (en forma ya
compilada) o en otro módulo de programa (como texto fuente).

Los prototipos de las funciones que se utilizan en un programa se incluyen


generalmente en la cabecera del programa y presentan la siguiente sintaxis.

En el prototipo de una función no se especifican las sentencias que forman parte de


la misma, sino sus características. Por ejemplo:

4
En este caso se declara la función cubo que recibe como parámetro una variable de
tipo entero (numero) y devuelve un valor del mismo tipo. En ningún momento estamos
especificando qué se va a hacer con el variable número, sólo declaramos las características
de la función cubo.

Los prototipos de las funciones son utilizados por el compilador para verificar que
se accede a la función de la manera adecuada con respecto al número y tipo de parámetros,
y al tipo de valor de retorno de la misma. Las funciones de biblioteca se declaran en lo que
se conocen como ficheros de cabecera o ficheros .h (del inglés hederse, cabeceras).
Cuando deseamos utilizar alguna de las funciones de biblioteca, debemos especificar el
fichero .h en que se encuentra declarada la función, al inicio de nuestro programa.

Procedimiento:

Un Procedimientos o Subrutina realiza una tarea específica. Puede recibir cero o


más valores del programa que llama y devolver cero o más valores a dicho programa.

Dicho procedimiento está compuesto de un grupo de sentencias a las que se asigna


un nombre (identificador) y constituye una unidad de programa. La tarea determinada al
procedimiento se ejecuta siempre que se encuentra el nombre del procedimiento.

En síntesis, es un subalgoritmo que recibiendo o no datos permite devolver varios


resultados, un resultado o ninguno.

La declaración indica las instrucciones a ejecutar. Su sintaxis es:

procedimiento nombre procedimiento (lista de par)


 declaraciones locales
inicio
 cuerpo del procedimiento (instrucciones)
fin.

Declaración de procedimientos:

5
La declaración de un procedimiento no indica a la computadora que ejecute las
instrucciones dadas, sino que indica a la computadora cuáles son estas instrucciones y
dónde están localizadas cuando sea necesario.

Declaración

Formato 1

Subrutina nombre () Declaración de variables

Inicio Acciones

Fin subrutina

Formato 2

Subrutina nombre (lista de parámetros formales)

Declaración de variables

Inicio Acciones

Fin subrutina:

Ámbito de variable:

El ámbito de las variables es la zona o fragmento del programa donde podemos


acceder a la misma y, por lo tanto, obtener correctamente su valor. Las reglas de ámbito de
un lenguaje son las reglas que controlan si un fragmento de código conoce o tiene acceso a
otro fragmento de código o de datos.

 Datos locales /Ámbito local / Ámbito de bloque: aquel que hace referencia a una
función o bloque. Toda región delimitada por {} será considerada como un bloque, y todas
las variables que se encuentren declaradas dentro de estos corchetes tendrán un ámbito de
carácter local. No obstante, dentro de un bloque puede haber otros bloques. Todas las

6
variables de ámbito local serán accesibles desde el bloque en el que se declaran y todos sus
bloques internos. Fuera de este bloque no se podrá acceder a las variables declaradas en él.

En concreto Las variables son creadas cuando el programa llega a la función en la


que están definidas. Al finalizar la función desaparecen de la memoria.
Si dos variables, una global y una local, tienen el mismo nombre, la local prevalecerá sobre
la global dentro de la función en que ha sido declarada.

 Datos globales/Ámbito global: incluye a las variables globales, es decir, a todas


aquellas variables que no pertenecen a un bloque o grupo en particular. Dado que este tipo
de variables almacena su valor durante todo el programa, el hecho de tener un ámbito
global hace posible que se pueda acceder a las mismas independientemente de la parte del
programa en el que nos encontremos. Aquellas variables declaradas con ámbito global
podrán ser utilizadas por todas las funciones de un programa.

Llamadas a funciones y pase de parámetros:

Llamada de función:

Las funciones para ser ejecutadas, deben ser llamadas o invocadas para redirigir el
control del programa a la función nombrada. Normalmente la llamada a una función se
realiza desde la función principal main (), aunque también podrá ser invocada desde otra
función.

Nota: en caso de que sean más de un parámetro estos deberán ir separados por comas.

 Como llamar una función en C

Una función puede ser llamada en otra función y la intención de usar funciones es evitar
repetir código y tener el código mejor organizado para que sea más legible.

La estructura general de una función en C es la siguiente:

7
tipo_de_retorno nombre_de_la_función (lista_de_parámetros)

cuerpo_de_la_función

return expresión

Dónde: – tipo_de_retorno: es el tipo del valor devuelto por la función, o, en caso de que la
función no devuelva valor alguno, puede usarse la palabra reservada void.

– nombre_de_la_función: es el nombre asignado a la función y con el cual será llamada en


otra función si así se requiere.

– lista_de_parámetros: es la lista de declaración de los parámetros que son pasados a la


función. Éstos se separan por comas. Debemos tener en cuenta que pueden existir
funciones que no utilicen parámetros.

– cuerpo_de_la_función: está compuesto por un conjunto de sentencias que llevan a cabo la


tarea específica para la cual ha sido creada la función.

– return expresión: mediante la palabra reservada return, se devuelve el valor de la función,

en este caso representado por expresión.

Paso de parámetros

Los parámetros son variables locales a los que se les asigna un valor antes de
comenzar la ejecución del cuerpo de una función. Su ámbito de validez, por tanto, es el
propio cuerpo de la función. El mecanismo de paso de parámetros a las funciones es
fundamental para comprender el comportamiento de los programas en C.

8
1 int addition (int a, int b)
2 {
3 return (a + b);
4 }
5 int main ()
6 {
7 int x = 10;
8 int y = 20;
9 int z;
10
11 z = addition (x, y);
12 }

Los parámetros a y b declarados en la línea 1 son válidos únicamente en la


expresión de la línea 3. Las variables x, y, y z, por su lado, son válidas en el cuerpo
de la función main (líneas 7 a 11).

El ámbito de las variables x, y, y z (ámbito llamador), y el de las

variables a y b (ámbito llamado) son totalmente diferentes. El ámbito llamador desaparece


temporalmente cuando se invoca la función desde la línea 11. Durante esa ejecución, el
ámbito llamado es el visible. Al terminar la función, el ámbito llamado desaparece y se
recupera el ámbito llamador.

La comunicación entre estos dos ámbitos se realiza en la línea 11. Antes de


comenzar la ejecución de la función, los valores de las variables del ámbito llamador son
copiadas sobre las variables del ámbito llamado. Cuando termina la ejecución de la función,
la expresión de la llamada en la línea 11 se reemplaza por el valor devuelto. En la siguiente
figura se ilustra este procedimiento para el ejemplo anterior.

9
Tablas como parámetro a una función:

La copia de parámetros del ámbito llamador al llamado tiene una excepción.


Cuando una función recibe como parámetro una tabla, en lugar de realizarse un duplicado
se copia su dirección de memoria. Como consecuencia, si una función modifica una tabla
que recibe como parámetro, estos cambios sí son visibles en el ámbito llamador. El
siguiente ejemplo ilustra esta situación:

#define NUMBER 100 int main ()


{
void fill (int int I, data[NUMBER];
table[NUMBER], int
size)
for (I = 0; I < size; I++)
{
{
int I;
data[I] = 10;
for (I = 0; I <
size; I++) }

{ fill (data, NUMBER);

table[i] = 0; /* Valores de data todos a


cero */
}
}
}
10
Conclusión:

  A modo de cierre. Este trabajo se ha realizado con la intención de profundizar en


los términos de programación más concretamente en (programación modular) donde hemos
podido destacar distintos puntos de modularidad. De entre los cuales se destacan
 los programas pueden incluir subprogramas que han sido desarrollados con códigos
independientes.
 Cada módulo es un conjunto de sentencias que permiten realizar una acción u
operación.
 Gracias a su modularidad, la programación modular permite disponer de pequeños
módulos o sentencias simples que se acoplan a la función principal del software, en
reemplazo de una única función principal larga.
 Cada uno de los módulos es más fácil de comprender, con lo cual es posible al final
tener una gran solución para un problema complejo.
 La comunicación entre estos subprogramas se realiza por medio de
parámetro=variable.
 En este punto, es necesario destacar la importancia de la programación
modular sobre los demás paradigmas de programación. La programación modular te
permite resolver un problema dividiéndolo en problemas más pequeños, más
conocidos como subproblemas. Esto es de mucha importancia para el desarrollo de
aplicaciones modernas. Con la programación modular se obtiene una manera de
resolver una tarea muy complicada resolviendo primero los problemas más
pequeños que acarrea.

En consecuencia. Para cerrar la idea.

 Gracias a su estructuración, es capaz de reducir la complejidad y los alcances del


problema. Debido a lo anterior, también es posible reducir el tamaño del problema.
 También favorece el entendimiento del problema. Esta característica es muy
interesante cuando más de un programador tiene que hacerse cargo del
mantenimiento del programa.
 Facilita la cooperación entre programadores. Esto es muy útil en proyectos muy
grandes y complejos.
 Una de las características más importantes es la posibilidad de reutilizar el código.

Sin más a que hacer referencia gracias por su atención

11
Bibliografía:

1#
https://www.tecnologia-informatica.com/que-es-programacion-modular/#Qu
%C3%A9_es_programaci%C3%B3n_modular?%C2%A0

https://sites.google.com/site/algoritmicai/procedimientos-y-funciones

https://sites.google.com/site/basesdelaprogramacion/unidad-iii

https://usuarios.fceia.unr.edu.ar/~sorribas/info1_notas_de_clase_3.pdf

https://www.ecured.cu/Declaraci%C3%B3n_de_funciones#Sintaxis:
2#
https://es.linkedin.com/learning/javascript-para-diseno/que-son-los-ambitos-de-una-
variable#:~:text=Concretamente%2C%20el%20%C3%A1mbito%20de%20las,definidas
%20dentro%20de%20una%20funci%C3%B3n.

https://ia-notes.com/2021/07/15/que-es-el-ambito-de-una-variable/

https://www2.eii.uva.es/fund_inf/cpp/temas/2_tipos_variables/ambito_variables.html

https://edukativos.com/apuntes/archives/3731

https://ccia.ugr.es/~jfv/ed1/c/cdrom/cap6/cap62.htm
3#
https://platzi.com/tutoriales/1968-funciones-c/7837-funciones-en-c-estructura-basica-de-
una-funcion-en-c-y-como-llamar-una-funcion-en-otra-funcion-2/

http://www.gedlc.ulpgc.es/docencia/NGA/Ada2005/ada/general/function_call.html

12

También podría gustarte