Está en la página 1de 7

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE ELECTROTECNICA Y
COMPUTACION INGENIERIA ELECTRONICA

PROGRAMACION II
FUNCIONES EN C,&&ARREGLOS UNI Y
BIDIMENCIONALES.

Nombres:
 Natalia Carolina Fonseca Molina.
 Sergio Antonio Romero Cruz.
Docente:
 Ing. Gioconda L. Zepeda Ayerdis.

Grupo:
2N1-EO

12 de junio del 2019, Managua


I. FUNCIONES CREADAS POR EL USUARIO
Las funciones que se han utilizado hasta ahora son funciones que el lenguaje de
programación ha predefinido en sus bibliotecas o librerías. Sin embargo, también
es posible que el programador defina y utilice sus propias funciones.

Las funciones definidas por el programador se escriben “fuera” de la función main.


Si se recuerda, uno de los objetivos del uso de las funciones es la descomposición
de problemas complejos y el trabajo en grupo. El siguiente es un ejemplo de una
definición de una función.

Se utiliza antes de presentar la sintaxis formal de modo que nos podamos


familiarizar con la terminología:

double square (double numero)


{
double cuadrado;
cuadrado = numero * numero;
return cuadrado;
}

Esta definición de la función square consiste de:


1) El encabezado de la función “double square (double numero)” Observe que el
encabezado no termina con punto y coma. Las partes del encabezado de una
función son los siguientes.

a) Una lista de los argumentos de la función entre paréntesis: “(double numero)” Si


se considera a la función como un programa pequeño, las listas de argumentos
serían equivalentes a los datos que en un programa se introduciría a través de la
instrucción cin. Es importante que observe que en la lista de argumentos se
Programación Instituto Tecnológico de Celaya Ingeniería Química indican tanto la
lista de los argumentos necesarios como el tipo de cada uno de ellos.

b) El nombre de la función “square” que puede ser cualquier identificador válido en


C++.

c) El tipo de valor que regresa la función como resultado. “doublé”

2) El cuerpo de la función
{
double cuadrado;
cuadrado = numero * numero;
return cuadrado;
}

El cuerpo de la función se encierra entre llaves y en él se escriben las sentencias


que se necesitan ejecutar para lograr el objetivo de la función. Contiene al menos
una sentencia return. La sentencia return va seguida del nombre de una variable o
de un valor constante. return cuadrado; El valor de dicha variable (o el valor de
dicha constante) constituye el valor de regreso de la función. El tipo del valor que
regresa la función debe ser consistente con el tipo del valor de regreso
especificado en el encabezado de la función. Observe que, en este ejemplo, el
valor de regreso de la función (tipo de la variable llamada cuadrado) es double, al
igual que el tipo de valor de regreso especificado en el encabezado.

En las funciones juegan un papel muy importante las variables, ya que como se ha
dicho estas pueden ser locales o globales.

 Variables Globales: Estas se crean durante toda la ejecución del programa,


y son globales, ya que pueden ser llamadas, leídas, modificadas, etc; desde
cualquier función. Se definen antes del main().
 Variables Locales: Estas, pueden ser utilizadas únicamente en la función
que hayan sido declaradas.
La sintaxis de una función es la siguiente:
Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos)
{
    acciones
}
 
donde:
 Tipo_de_datos: Es el tipo de dato que devolverá esa función, que puede ser
real, entera, o tipo void (es decir que no devolverá ningún valor).
 Nombre_de_la_funcion: Es el identificador que le damos a nuestra función,
la cual debe cumplir las reglas que definimos en un principio para los
identificadores.
 Tipo y nombre de argumentos: son los parámetros que recibe la función.
Los argumentos de una función no son más que variables locales que
reciben un valor. Este valor se lo enviamos al hacer la llamada a la función.
Pueden existir funciones que no reciban argumentos.
 Acciones: Constituye el conjunto de acciones, de sentencias que cumplirá
la función, cuando sea ejecutada. Entre ellas están:
1. Asignaciones
2. Lecturas
3. Impresiones
4. Cálculos, etc.

Ejemplo:
Diseñe un Programa en C, que Dado un número entero y mayor que cero,
Determine si es o no un número Primo. Ojo, los números primos sólo son
divisibles por el mismo y por la unidad (1).
#include <stdio.h>
#include <conio.h>
void primo (int numero);
main()
 {
     int numero, ban=1;
     clrscr ();
     while(ban==1)
     {
     printf ("Introduzca el número por favor:\n");
     scanf ("%d", &numero);
     while(numero<0)
       {
              printf ("ERROR, el valor del número debe ser mayor que cero\n");
              scanf ("%d", &numero);
       }
 
           primo(numero);
 
     printf ("¨Otro número (si=1 y No=0)? \n");
     scanf ("%d", &ban);
     }
     getch ();
     return 0;
 }
  void primo (int numero)
 {
    int div, primo=1;
    for (div=2; div<numero; div++)
    {
       if(numero%div==0)
       {
             primo=0;
             printf ("%d NO es primo\n\n\n", numero);
             return 0;
       }
       else
             primo=1;
    }
    if (primo! =0)
       printf ("%d es primo\n\n\n", numero);
 }
II. ARREGLOS UNI Y BIDIMENSIONALES

Un arreglo comprende una secuencia finita y ordenada de posiciones de memoria


que almacena datos del mismo tipo, organizados en una misma columna y en uno
o más renglones.

En este caso tenemos 2 tipos de arreglos que son unidimensional y bidimensional,


y antes de hablar a profundidad de cada uno podemos abordar acerca de que
trata cada arreglo.

Unidimensional Bidimensional

Un arreglo comprende tablas de


Unidimensional, esta valores, donde cada
formado por un conjunto elemento de un arreglo
de elementos de un bidimensional esta
mismo tipo de datos que simultáneamente en
se almacenan bajo un una fila y en una
mismo nombre y se columna.
diferencian por la posición
(índice)que tiene cada
elemento dentro del
arreglo de datos.

Teniendo claro alguna diferencia entre estos tipos de arreglos profundizaremos en


cada uno de ellos para entender el significado y desarrollarlo en nuestras horas de
clases.

Arreglo Unidimensional
Como decíamos anteriormente este arreglo o también conocido como array
unidimensional, es un tipo de datos estructurado que está formado de una
colección finita y ordenada de datos del mismo tipo. Es la estructura natural para
modelar listas de elementos iguales. El tipo de acceso a los arreglos
unidimensionales es el acceso directo, es decir, podemos acceder a cualquier
elemento del arreglo sin tener que consultar a elementos anteriores o posteriores,
esto mediante el uso de un índice para cada elemento del arreglo que nos da
su posición relativa. Para implementar arreglos unidimensionales se debe reservar
espacio en memoria, y se debe proporcionar la dirección base del arreglo, la cota
superior y la inferior.

Para generar la sintaxis del arreglo unidimensional este consiste en establecer las
características del arreglo y sus elementos, por medio de la siguiente sintaxis:
<tipo> [] < identificador >;

<tipo>: Indica el tipo correspondiente a los elementos del arreglo.


[]: Representa la dimensión del arreglo y encierra un número entero que corresponde al
número de elementos del arreglo.
<identificador>: Es el nombre del arreglo.

Para la creación tenemos que reservar espacio de memoria para todos sus elementos,
utilizando la siguiente sintaxis:
< identificador > = new <tipo> [ tamaño];

New: Es el operador para gestionar espacio de memoria, en tiempo de ejecución.


[ tamaño]: Es un número entero que representa el número de elementos del arreglo.

#include <stdio.h>
#define num 3 //definimos una constante llamada num y que tendrá un valor de 3
float calificacion[num]; //Declaramos el arreglo a utilizar
float suma=0, promedio; //Variables a utilizar
int i;
int main()
{
printf ("Programa para el cálculo del promedio de 3 calificaciones\n\n");
for (i=0; i<num; i++) //Este primer ciclo nos sirve para capturar y asignar los valores
{ //al arreglo
printf (“Dame la calificación %d\n”, i+I); //El “i+I” es porque “i” comienza en 0
scanf (“%f”, &calificación[I]);
}
for (i=0; i<num; i++) //Este ciclo hace la suma de los valores capturados
{
suma=suma+calificación[i]; //observa el uso de la variable contadora
} //para ir cambiando de posición en el arreglo.
promedio=suma/num; //Sacamos el promedio
printf(“El promedio es %f\n\n”,promedio); //Mostramos resultado
system(“PAUSE”);
return 0;
}

Arreglo Bidimensional
Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo
bidimensional está simultáneamente en una fila y en una columna. En
matemáticas, a los arreglos bidimensionales se les llama matrices, y son muy
utilizados en problemas de Ingeniería. En un arreglo bidimensional, cada elemento
tiene una posición que se identifica mediante dos índices: el de su fila y el de su
columna.

Una representación gráfica de los array de una sola dimensión con los valores 7,


9, 1, 0, 12, 50 se vería de la siguiente manera: 

7 9 1 0 12 50
0 1 2 3 4 5
Ahora, una array con dos dimensiones tiene una estructura diferente, donde
debemos tomar en cuenta las filas y las columnas. Por ejemplo, creamos un
array de nombre matriz y lo declaramos con las siguientes dimensiones:

int matriz[4][3];

En este arreglo podemos ingresar números de tipo entero, pero ya no será una


lista. Ahora hay que tomar en cuenta que el máximo de sus elementos viene dado
por la multiplicación de la fila y la columna, donde el 4 representa las filas, y el 3
las columnas. 

4x3 = 12 que es el número máximo de elementos que podremos agregar en el


array. Y su representación gráfica es la siguiente:

0 1 2

Ejemplo:
#include <stdio.h>
int main()
{
int fila, columna;
int matriz[2][2];
for(fila=0; fila<2; fila++)
for(columna=0; columna<2; columna++)
printf(“%d”, matriz[fila][columna]);
return 0;
}

También podría gustarte