Está en la página 1de 19

Tecnológico Nacional de México

Instituto Tecnológico de Los Mochis

Tema: Programación Modular

Alumno: Mario Gael Quevedo Cardona

Carrera: Electromecánica

A-12

Maestra: Martha Guadalupe Quiroz Ibarra

14/Noviembre/2022
INDICE

Presentación 3

5.1 Declaración de funciones 4

5.1.1Simples 5

5.1.2 Con parámetros 6

5.2 Uso de bibliotecas de funciones 7

5.2.1 Entrada y salida 9

5.2.2 Archivos 12

5.2.3 Cadenas 14

Referencias 19
PRESENTACIÓN

El objetivo de esta antología es que al finalizar el lector


logre diferenciar entre los distintos tipos de
declaraciones de funciones y los distintos tipos de
bibliotecas de funciones y sus usos además de poder
realizarlos sin ningún problema gracias a los ejemplos
que se encuentran en cada apartado.
5.1 Declaración de funciones.
Las funciones deben tener una definición y deberían tener una declaración,
aunque una definición puede actuar como declaración si la declaración aparece
antes de que se llame a la función. La definición de función incluye el cuerpo de
la función (el código que se ejecuta cuando se llama a la función).
Una declaración de función establece el nombre, el tipo de valor devuelto y los
atributos de una función definida en otra parte del programa. Una declaración de
función debe preceder a la llamada a la función. Esta es la razón por la que los
archivos de encabezado que contienen las declaraciones de las funciones en
tiempo de ejecución se incluyen en el código antes de la llamada a una función
en tiempo de ejecución. Si la declaración tiene información sobre los tipos y el
número de parámetros, la declaración es un prototipo.
El compilador utiliza el prototipo para comparar los tipos de los argumentos en
las llamadas subsiguientes a la función con los parámetros de la función y para
convertir los tipos de los argumentos a los tipos de los parámetros cuando sea
necesario.
Una llamada de función pasa el control de la ejecución de la función de llamada
a la función llamada. Los argumentos, si existe, se pasan por valor a la función
llamada. La ejecución de una instrucción return en la función llamada devuelve
el control y probablemente un valor a la función de llamada.
5.1.1 Simples.
Una función es un bloque de código que realiza alguna operación. Una función
puede definir opcionalmente parámetros de entrada que permiten a los
llamadores pasar argumentos a la función. Una función también puede devolver
un valor como salida. Las funciones son útiles para encapsular las operaciones
comunes en un solo bloque reutilizable, idealmente con un nombre que describa
claramente lo que hace la función. La siguiente función acepta dos enteros de un
autor de llamada y devuelve su suma; a y b son parámetros de tipoint.
C++Copiar
int sum(int a, int b)
{
return a + b;
}

La función puede ser invocada, o llamada, desde cualquier lugar del programa.
Los valores que se pasan a la función son los argumentos, cuyos tipos deben ser
compatibles con los tipos de los parámetros en la definición de la función.
C++Copiar
int main()
{
int i = sum(10, 32);
int j = sum(i, 66);
cout << "The value of j is" << j << endl; // 108
}

No hay ningún límite práctico para la longitud de la función, pero un buen


diseño tiene como objetivo funciones que realizan una sola tarea bien definida.
Los algoritmos complejos deben dividirse en funciones más sencillas y fáciles de
comprender siempre que sea posible.
Las funciones definidas en el ámbito de clase se denominan funciones
miembros. En C++, a diferencia de otros lenguajes, una función también puede
definirse en el ámbito de espacio de nombres (incluido el espacio de nombres
global implícito). Estas funciones se denominan funciones libres o funciones no
miembros; se utilizan de forma exhaustiva en la biblioteca estándar.
5.1.2 Con 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.
Considera el siguiente programa:
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.
5.2 Uso de bibliotecas de funciones.
¿Qué son exactamente las librerías?
En C++, se conoce como librerías (o bibliotecas) a cierto tipo de archivos que
podemos importar o incluir en nuestro programa. Estos archivos contienen las
especificaciones de diferentes funcionalidades ya construidas y utilizables que
podremos agregar a nuestro programa, como por ejemplo leer del teclado o
mostrar algo por pantalla entre muchas otras más.
Al poder incluir estas librerías con definiciones de diferentes funcionalidades
podremos ahorrarnos gran cantidad de cosas, imaginemos por ejemplo que cada
vez que necesitemos leer por teclado, debamos entonces crear una función que
lo haga (algo realmente complejo), al poder contar con las librerías en C++,
podremos hacer uso de una gran variedad de funciones que nos facilitarán la
vida y aumentarán el modularidad de nuestros códigos.
Las librerías no son únicamente archivos externos creados por otros, también
es posible crear nuestras propias librerías y utilizarlas en nuestros programas.
Las librerías pueden tener varias extensiones diferentes, las más comunes son:
.lib, .bpl, .a, .dll, .h y algunas más ya no tan comunes.
En conclusión: Las librearías son archivos (no siempre externos) que nos
permiten llevar a cabo diferentes tareas sin necesidad de preocuparnos por
cómo se hacen sino simplemente entender cómo usarlas. Las librearías en C++
permiten hacer nuestros programas más modulares y reutilizables, facilitando
además crear programas con funcionalidades bastante complejas en unas pocas
líneas de código.
Sintaxis para declarar Librerías en C++
La declaración de librerías, tanto en C como en C++, se debe hacer al principio
de todo nuestro código, antes de la declaración de cualquier función o línea de
código, debemos indicarle al compilador que librerías usar, para el saber que
términos estarán correctos en la escritura de nuestro código y cuáles no. La
sintaxis es la siguiente: #include <nombre de la librería> o alternativamente
#include "nombre de la librería". Cualquiera de las 2 formas es válido en C++ (no
estoy seguro si en C sea válido), ten en cuenta que siempre el nombre de la
librería debe ir entre " y " o entre < y >. En tu código puedes declarar todas las
librerías que quieras, aunque en realidad no tienen sentido declarar una librería
que no vas a usar en tu programa, sin embargo, no existe límite para esto.
¿Cómo declarar una librería en C++?
Veamos a continuación como se haría la declaración de unas cuantas librerías
conocidas, recuerda que ese puede declarar todas las librerías necesarias y
siempre debe hacerse al comienzo del código fuente
#include "iostream" #include "string" #include <math.h> #include <conio.h>
using namespace std;
Con esto debió quedar claro, como declarar librerías C++ al interior de un
código fuente. Lo único adicional, es la línea que dice using namespace std; esta
línea nos ayuda a declarar un espacio de nombre que evita tener que usarlo cada
que accedemos a alguna función específica de una librería. Teniendo este
namespace declarado podemos llamar por ejemplo el comando cout >>, que
pertenece a la librería iostream, sin embargo, sin este namespace sería std::cout
>>, imagina tener que hacer esto cada vez que uses algún comando o función
de las librerías, sería bastante tedioso.
5.2.1 Entrada y salida.
En c++ hay varias formas de ingresar y sacar un dato, esto depende en gran
parte de las librerías que se utilice y la IDE que se esté trabajando, algunas
librerías usadas para esta labor son: iostream.h y sodio.h. Estas librerías son de
las más usadas en C++.
La librería estándar, tiene las operaciones de entrada y salida, ya que no
forman parte del conjunto de sentencias de C++, sino que pertenecen al conjunto
de funciones y clases de la biblioteca estándar. Esta se encuentra en el archivo
de cabecera iostream.h por lo que siempre que se quiera utilizarlas deberemos
introducir la línea de código

#include <iostream.h>

Esta biblioteca utiliza los siguientes objetos para realizar sus funciones
específicas que ya están predefinidos, estos son:
• cin, entrada estándar por el teclado;
• cout, salida estándar por el monitor o pantalla
• cerr y clog mensajes de error en la salida estándar.
Estos objetos se utilizan con los operadores << y >>. El operador << se llama
operador de inserción y se utiliza con el cout. Por lo tanto, la sintaxis de cout es:

cout << "cadena";

De igual forma se pueden escribir los valores que tiene una variable
escribiéndolas sin comillas. el operador >> se denomina operador de extracción,
y se encarga de tomar la información y almacenarla en una variable. con este
operador se utiliza la palabra reservada cin y su sintaxis es:

cin>>variable1 >>...>>variable n;

printf es la instrucción para imprimir en pantalla de la librería stdio.h, por ende,


para utilizarla en los programas se debe incluir la directiva:

#include <stdio.h>

la sintaxis de esta palabra reservada Si sólo queremos imprimir una cadena


basta con escribirla entre comillas utilizando la siguiente línea de código.

printf( "Cadena");
Lo que se escriba entre las comillas es lo que se verá en la pantalla, de igual
forma se pueden poner más de una cadena dentro del printf, para utilizar
caracteres especiales como un salto de línea o escribir dentro del texto unas
comillas por ejemplo se debe utilizar el carácter "\".
Por ejemplo, para hacer un salto de línea se debe poner \n, lo cual retorna el
cursor al principio de la pantalla en la línea siguiente.
Para escribir variables dentro del printf se debe especificar en la cadena el
lugar en donde va a quedar escrita con el símbolo % seguido de una letra que
indica el tipo de dato que es y el nombre de la variable al final separada con
coma. por ejemplo

printf("cadena %d", i);

Esta línea muestra en pantalla el texto cadena seguido del valor que tiene la
variable i. %d indica que i es de tipo entero.

especificación Tipo de dato ejemplo


c caracter a
d or i entero 392
e notacion científica 3.9265e+2
E notación científica 3.9265E+2
float numero con
f 392.65
punto flotante
o octal 610
s cadena string o char sample
u decimal sin signo 7235
x hexadecimal 7fa

Cada uno de estos caracteres debe ir antecedido del símbolo % que le indica al
compilador que allí se va a escribir el valor de una variable, como se mostró en
el ejemplo anterior.
Scanf se usa para capturar datos por la entrada estándar, el uso es muy similar
al de printf con una diferencia, da la posibilidad de que el usuario introduzca datos
en vez de mostrarlos. No permite mostrar texto en la pantalla, por eso si se quiere
mostrar un mensaje usamos un printf antes.

El scanf utiliza una parte entre comillas la cual indica el tipo de dato que se va
a capturar, esta es similar a la de printf, sirve para indicarle al compilador qué
tipo de dato se está pidiendo. Por ejemplo, si se quiere capturar un entero se usa
%i. Después de la coma se coloca la variable donde se almacena el dato
antecedido del símbolo & que indica la dirección o posición en memoria

scanf ("%d", &i);

A cada modificador (%i, %f) le corresponde una variable de su mismo tipo. Es


decir, al poner un %i el compilador espera que su variable correspondiente sea
de tipo entero (int). Si ponemos %f espera una variable de punto flotante (float).

Getch y getche

Si se quiere que el usuario ingrese un carácter por teclado se usan las funciones
getch y getche. Estas esperan a que el usuario introduzca un carácter por el
teclado. La diferencia entre getche y getch es que la primera saca por pantalla la
tecla pulsada y la segunda no

Los métodos de entrada y salida que se quieran aplicar, dependen del


programador, sin embargo, es bueno saber que existen varias formas de captura
e impresión de información utilizados en C++
5.2.2 Archivos.
una Biblioteca de programación es un conjunto de implementaciones
funcionales (archivos) codificados en un lenguaje de programación que se utiliza
para desarrollar una tarea específica en un software.
Usualmente están compuestas por códigos y datos; y su objetivo es ser
utilizada por otros programas o bibliotecas de forma autónoma. En otras palabras,
una biblioteca de programación es un archivo que se puede importar, y definir
concretamente la función que desempeña.
Las bibliotecas de programación vienen con la mayoría de sistemas operativos
modernos que las usan para implementar los servicios de un sistema.
Entonces una biblioteca de programación es un conjunto de archivos que
ayuda a los desarrolladores a realizar su trabajo fácil y rápidamente. En otras
palabras, facilita la comunicación de estas bibliotecas con programas y otras
bibliotecas.
Las bibliotecas de programación son espacios donde se guardan archivos que
posteriormente utilizan los programadores para ejecutar un programa. Hay
diferentes tipos de bibliotecas; estas se usan dependiendo del programa o
aplicación que se busque desarrollar.
En conclusión, existen varios tipos de bibliotecas todas con funciones y trato
de información diferente y según la definición que hemos construido podemos
decir que estas bibliotecas son los espacios donde se guardan archivos.
Tipos De Bibliotecas.
Existen diferentes tipos de bibliotecas, a continuación, te explico algunas.
Bibliotecas estáticas: es un fichero que contiene varios archivos de código
objeto en su interior que se utilizan en los ficheros ejecutables, copiándolos y
relocalizando según la necesidad. En este caso la biblioteca actúa como
recipiente de archivos.
Se graban en programas como los ejecutables y sirven exclusivamente para
esto, posteriormente se pueden borrar sin ningún problema porque el programa
está funcionando con la función adecuada.
En pocas palabras, una biblioteca estática es aquella que está conformada por
archivos de código objeto y su utilizan en los programas por medio de un proceso
de enlazado, donde se pasan los archivos para que este se ejecute y
posteriormente se puedan borrar.
Bibliotecas dinámicas: son archivos que tienen código objeto que se
construyeron de manera independiente a su ubicación. Esto nos indica que
este tipo de bibliotecas se utilizan cargando los archivos en el tiempo de
ejecución y no se enlazan en el tiempo de compilación; de forma que acá
radica su diferencia respecto a las estáticas, que se enlazan.
En otras palabras, las bibliotecas dinámicas, son aquellas que guardan
archivos que se construyeron independientes a su ubicación y se pueden cargar
los archivos cuando el programa se esté ejecutando.
Bibliotecas remotas: Esta es una biblioteca que utiliza ejecutables
separados y por medio de un procedimiento remoto, llevado a cabo por otra
computadora. Estas bibliotecas trabajan con un enfoque que maximiza la
reutilización del sistema operativo; el código que soporta la biblioteca es el que
le da a la aplicación el soporte y seguridad para otro programa.
Si bien este tipo de bibliotecas no requieren información grabada en la
máquina, si necesitan más dinero para hacerlo.
Las bibliotecas de programación son espacios donde se guardan archivos que
posteriormente utilizan los programadores para ejecutar un programa. Hay
diferentes tipos de bibliotecas; estas se usan dependiendo del programa o
aplicación que se busque desarrollar.
En conclusión, existen varios tipos de bibliotecas todas con funciones y trato
de información diferente y según la definición que hemos construido podemos
decir que estas bibliotecas son los espacios donde se guardan archivos.
5.2.3 Cadenas
Una cadena de caracteres es una secuencia de caracteres que termina con un
carácter especial, que indica el final de la cadena, llamado carácter fin de
cadena o carácter nulo. Se utilizan en C para almacenar y manipular texto.
El carácter fin de cadena tiene el código ASCII 0 (es el primero de la tabla
ASCII) y se representa por ‘\0’.
Las cadenas de caracteres se representan en C como un texto delimitado por
comillas dobles (“).
Ejemplo:
“Cadena ejemplo”
Aunque el carácter fin de cadena no aparece entre las comillas, está presente
al final de la cadena. Internamente la cadena anterior tiene 15 caracteres (los 14
caracteres visibles más el carácter fin de cadena):

\
C a d e n a e j e m p l o
0

Cuestión 1: ¿Cuántos caracteres tiene una cadena vacía: “”?


Las cadenas de caracteres se almacenan en vectores de caracteres (arrays
unidimensionales de tipo char).
Ejemplos de inicialización de cadenas de caracteres:
En el siguiente ejemplo se declara un vector de caracteres y se inicializa con la
cadena de caracteres “hola”:
char texto] = “hola”;
La variable texto tiene una longitud de 5 caracteres:

0 1 2 3 4
h o l a \0
o También podemos inicializar un vector de caracteres
especificando todos los caracteres individualmente, en este caso
es necesario escribir explícitamente el carácter fin de cadena:
char texto [] = {‘h’, ‘o’, ‘l’, ‘a’, ‘\0’};
o En el siguiente ejemplo se inicializa un vector de 14 caracteres
con una cadena de menor tamaño:
char texto [14] = “hola”;
Los 5 primeros elementos de la variable texto se han inicializado con la cadena
“hola”, el resto de elementos permanece sin inicializar. Puesto que el carácter
fin de cadena ocupa un elemento del vector, la variable texto puede contener
como máximo cadenas de 13 caracteres más el carácter fin de cadena.

1 1 1 1
0 1 2 3 4 5 6 7 8 9
0 1 2 3
h o l a \0

También podemos inicializar un puntero a char con una cadena de caracteres:


char *p = "Cosa";
La variable p apunta al primer carácter de la cadena “Cosa”.
Arrays de cadenas de caracteres: Podemos definir los arrays de cadenas de
caracteres de dos formas distintas:
Como una matriz de caracteres (array bidimensional de tipo char) en la que
cada fila contiene una cadena diferente. Por ejemplo:
char cadenas [5][19] = {
"Sumo con precisión",
"Almaceno datos",
"Dibujo gráficos",
"Ejecuto programas",
"Domino el C";
1 1 1 1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8
ca
de
na S u m o c o n p r e c i s i o n \0
s[
0]
ca
de
na A l m a c e n o d a t o s \0
s[
1]
ca
de
na D i b u j o g r a f i c o s \0
s[
2]
ca
de
na E j e c u t o p r o g r a m a s \0
s[
3]
ca
de
na D o m i n o e l C \0
s[
4]
Podemos acceder a las cadenas del array utilizando el índice de filas. Por
ejemplo, para acceder a la tercera cadena se utiliza la siguiente expresión:
cadenas [2]
Como un vector de punteros a caracteres en el que cada elemento es un
puntero que apunta al inicio de una cadena diferente. Por ejemplo:

char *cadenas [5] = {


"Sumo con precisión",
"Almaceno datos",
"Dibujo gráficos",
"Ejecuto programas",
"Domino el C"};

Podemos acceder a las cadenas del array utilizando el índice del vector. Por
ejemplo, para acceder a la primera cadena se utiliza la siguiente expresión:
cadenas [0]
REFERENCIAS
Información general de funciones. (2022, 26 septiembre). Microsoft Learn.

https://learn.microsoft.com/es-es/cpp/c-language/overview-of-

functions?view=msvc-170

Funciones (C++). (2022, 7 noviembre). Microsoft Learn. https://learn.microsoft.com/es-

es/cpp/cpp/functions-cpp?view=msvc-170

Fundamentos de Informática II: Guión 5: Cadenas de caracteres. (s. f.).

https://ocw.uca.es/mod/resource/view.php?id=2945

Qué es una librería de programación. (2022, 1 noviembre). Auladig-Agencia de

Marketing Digital. https://auladig.co/que-es-una-libreria-de-programacion/

Programación modular en C. (s. f.).

http://sopa.dis.ulpgc.es/diplomatura/practicas9798/modular2.html

Neira, A. & Perfil, V. T. M. (s. f.). Entradas y Salidas en C++.

http://programacionjand.blogspot.com/p/entradas-y-salidas-en-c.html

Librerías de Entradas/Salidas. (s. f.). https://www.zator.com/Cpp/E5_3.htm

Entrada y salida de datos en C++ ejemplos - En-c. (s. f.). https://www.codigazo.com/en-

c/entrada-salida-programacion-c-ejemplos

González, J. D. M. (2020, 29 noviembre). Librerías o Bibliotecas.

https://www.programarya.com/Cursos/C++/Bibliotecas-o-Librerias

También podría gustarte