Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Docente (s):
SEGUNDA FASE
Ing. Henry C. Zegarra Gago
FUNCIONES Y PROCEDIMIENTOS
Fecha: 2020.08.20.
1. Funciones predefinidas
Algunos archivos
de cabecera son:
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
Enlace:
http://www.cplusplus.co
m/reference/
// Programa Principal
#include<iostream>
#include<cmath> // Librería de funciones matemáticas
using namespace std;
//Sintaxis:
// var = strlen(cadena);
// | | |
// | | |-> variable del tipo cadena
// | |
// | |-> Funcion strlen, pertenece librería
// | cstring
// |
// |-> variable tipo int donde se almacena la
// longitud de la variable cadena
// Programa Principal
#include<iostream>
using namespace std;
void main()
{
// Declaración de variables
char cadena1[15]="Ingenieria", cadena2[15];
int longitud1, longitud2;
// Programa Principal
#include<cstring>
#include<cstdio>
void main()
{
char cadena1[30], copiaCadena1[30];
// Visualización de resultados
printf("- Cadena original es: %s.\n- Su copia
es: %s\n",cadena1,copiaCadena1);
}
// Programa principal
#include<cstring> La variable tipo cadena
#include<cstdio> esp[ ] gráficamente es:
void main()
{
char cadena1[25], cadena2[5], esp[]={' ','-','
','\0'}, datos[35];
// Visualización de resultados
printf("- Cadena concatenada es: %s.\n",datos);
}
Ejemplo 5:
//Sintaxis:
// var = strcmp(cadena1,cadena2);
// | | | |
// | | | |-> variable
// | | |
// | | |-> variable
// | |
// | |-> Funcion strcmp, usar librería
// cstring
// |
// |-> variable tipo entero puede ser:
// Si var > 0, Entonces cadena1 > cadena2
// Si var = 0, Entonces cadena1 = cadena2
// Si var < 0, Entonces cadena1 < cadena2
// Programa principal
#include<cstring>
#include<cstdio>
void main()
{
char cadena1[25], cadena2[25];
int r;
cuerpo de la función;
return expresión;
}
{
max = y;
printf( "MAX=%d", max );
}
else
cout<<"Los numeros ingresado son iguales "<<"x
= y = "<<x<<endl;
}
// Programa Principal
void main()
{
long int factorial;
int resultado;
//llamando a la funcion o procedimiento Arreglo unidimen-
implementados sional ‘a’ de tipo entero
con 100 posiciones.
resultado = cuadrado(n); //llamado a funcion
cuadrado con un argumento.
...
factorial = fact (x); //llamado a funcion fact con Arreglo unidimensional
un argumento. ‘b’ de tipo entero con 25
... posiciones
// Archivos de encabezado
#include<libreria>
// Declaración de variables globales
Tipo var1, var2,…;
#define VAR TAM // VAR es una variable cualquiera y TAM un
valor numérico
void procedimientol(void)
{
cout<<"Función no devuelve valores pero si imprime \n" ;
}
Ejemplo 6:
#include <cstdio>
void procedimiento1 ( )
{
puts ("Primer Procedimiento\n") ;
}
int main()
{
puts("Llamadas a Procedmientos desde Prog. Principal\n");
procedimiento 1 ( ) ; // Primer procedimiento - llamada
procedimiento 2 ( ) ; // Segundo procedimiento - llamada
puts ("Programa Principal termina") ;
return (0); // Devuelve control al sistema
}
Los arrays son un elemento muy interesante para utilizar conjuntamente con
las funciones. Al igual que las funciones pueden utilizar enteros, números
reales o caracteres como argumentos, también pueden utilizar arrays; pero su
tratamiento es diferente.
Cuando se pasa por valor, se toma una copia del valor del parámetro; por
referencia se toma la dirección del dato. Esto último implica que cuando se
modifica una variable pasada por referencia, en realidad se está modificando
la variable original y no el parámetro.
En el caso de los arrays, la dirección del primer elemento del array, marca el
comienzo del mismo. Un array se pasa por referencia ya que se pasa sólo el
nombre del array.
Imaginemos que tenemos una función llamada doblaArray que sirve para
doblar el valor de cada elemento que forma parte de un array. Supongamos
también que la función trabaja con arrays de enteros. Si tenemos un array
llamado numero que contiene 10 números enteros, la llamada a la función
que dobla cada elemento sería:
La realidad es que la función recibe la dirección del array (se pasa por
referencia) y que esta dirección será la que utilice el primer parámetro. La
función tendría el siguiente código:
Esta función modifica el contenido del array, no recibe una copia, sino que al
recibir la dirección del array, realmente trabaja con su dirección. Es decir tras
la llamada doblaArray(numero,10) el array numero al que se refiere el código
de la función es el mismo array numero.
// Visualiza el array
void visualizar_Array(int a[], int tamanio)
{
int i;
for(i=0;i<tamanio;i++)
printf("%d \t ",a[i]);
printf("\n");
}
#include <conio.h>
#include<iostream>
using namespace std;
//VARIABLES GLOBALES
int i;//variable 'i' para recorrer el array
int Nuevo_Tam;
const int TAM=10;
int a[TAM], b[TAM], c[TAM];
//PROGRAMA PRINCIPAL
int main()
{
cout<<"Ingresando tamanio del Array :\n";
Nuevo_Tam=Ing_Tamaño(TAM)
#include <conio.h>
#include<iostream>
using namespace std;
//VARIABLES GLOBALES
int i;//variable 'i' para recorrer el array
int Nuevo_Tam, dato;
const int TAM=10;
int a[TAM], b[TAM], c[TAM];
//PROGRAMA PRINCIPAL
int main()
{
sumar_Array(a, b, c, Nuevo_Tam);
}
Ingresando Array A:
Ingrese dato para posicion 1
Ingrese dato para posicion 2
Ingrese dato para posicion 3
Ingrese dato para posicion 4
Ingrese dato para posicion 5
Ver Array A:
1 2 3 4 5
Ingresando Array B:
Ingrese dato para posicion 6
Ingresar_Array(a, Nuevo_Tam);
Ingresar_Array(b, Nuevo_Tam);