Вы находитесь на странице: 1из 18

COMPUTACIÓN Y

ALGORITMOS II
UNIVERSIDAD NACIONAL DE CAJAMARCA

• ALUMNOS:
• MANOSALVA HORNA, GUSTAVO HEYLER.
• PORTAL VALDIVIA, MARCO ESAÚ.
• SILVA CERDÁN, JHAN CARLOS
• VASQUÉZ ROJAS, FRANK ADERLIN.
INTRODUCCIÓN

• La informática no queda excluida del uso de lenguajes, ya que estos son la manera de especificar
las acciones que se desea sean realizadas en la computadora.
• Los lenguajes de programación están destinados a distintos ámbitos, dependiendo de sus
características que simplifican algunas tareas y complejizan otras. Pueden estar destinados a
aplicaciones científicas, aplicaciones de negocios, inteligencia artificial, programación de sistemas,
scripting, y también disponemos de lenguajes de propósitos especiales.
• En la mayoría de lenguajes de programación las variables locales son variables
automáticas almacenadas directamente en la pila de llamadas. Esto significa que cuando una función
recursiva se llama a sí misma, las variables locales reciben, en cada instancia de la función, espacio
para el direccionamiento de memoria separados. De esta forma las variables con este ámbito se
pueden declarar, reescribir y leer sin riesgo de efectos secundarios para los procesos fuera del
bloque en el que son declarados.
OBJETIVOS
OBJETIVO PRINCIPAL
• Brindar información sobre variables y funciones, aplicadas a la programación.

OBJETIVOS ESPECÍFICOS
• Dominar las funciones locales en las distintas funciones.
• Tener conocimiento sobre los parámetros para que una función se clasifique.
• Distinguir que es una acción y una función.
• Demostrar lo aprendido por ejemplos.
MARCO TEÓRICO

Variable
Desde el punto de vista informático, una variable es un determinado segmento de memoria de
proceso, del cual se conoce:
• La posición de memoria en que comienza (dirección).
• El número de bytes de que consta (extensión, un número finito).
• La codificación binaria correcta para interpretar su contenido (tipo).
Tipos de Variables
Variables locales
Las variables que se declaran dentro del cuerpo de una función se dice que son locales a dicha
función o que tienen un alcance local. En el ejemplo, hay una variable llamada cuadrado que es
local a la función main y otro variable también llamada cuadrado pero que es local a la función
square. Dichas variables son diferentes.
• Funciones
Es una sección de un programa que calcula un valor de manera independiente al resto del
programa.
Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su
tarea el control es devuelto al punto desde el cual la función fue llamada.
Una función tiene tres componentes importantes:
los parámetros, que son los valores que recibe la función como entrada;
el código de la función, que son las operaciones que hace la función; y
el resultado (o valor de retorno), que es el valor final que entrega la función.
En esencia, una función es un mini programa. Sus tres componentes son análogos a la entrada, el
proceso y la salida de un programa.
Parámetros
Existen dos formas en C++ de pasar parámetros a una función; por referencia o por valor. El
hecho es que si en una declaración de función se declaran parámetros por referencia, a los
mismos no se les podrá pasar valores literales ya que las referencias apuntan a objetos (variables
o funciones) residentes en la memoria; por otro lado, si un parámetro es declarado para ser
pasado por valor, el mismo puede pasarse como una constante literal o como una variable.
Parámetros por valor
La función cuadrado() (ver arriba) es un clásico ejemplo que muestra el paso de parámetros
por valor, en ese sentido la función cuadrado() recibe una copia del parámetro n. En la misma
función se puede observar que se realiza un calculo ( n*n ), sin embargo el parámetro original no
sufrirá cambio alguno, esto seguirá siendo cierto aún cuando dentro de la función hubiera una
instrucción parecida a n = n * n; o n*=n;.
Parámetros por referencia
Para mostrar un ejemplo del paso de parámetros por referencia, vamos a retomar el caso de la
función cuadrado, salvo que en esta ocasión cambiaremos ligeramente la sintaxis para definir la
misma.
Veamos:

Al poner a prueba las funciones cuadrado() y cuadrado2() se podrá verificar que la primera de
estas no cambia el valor del parámetro original, mientras que la segunda sí lo hace.
Llamar a una función
para llamar a la función cuadrado() vista anteriormente, podemos emplear:
FUNCIONES VOID
• Bajo ciertas circunstancias se deseará escribir funciones que no regresen valor alguno (esto
sería algo parecido a escribir procedures en Pascal) y para ello podemos declarar a la función
como void. La palabra reservada void es utilizada para declarar funciones sin valor de retorno
y también para indicar que una función específica no requiere de parámetros. Por ejemplo, la
función pausa() que se verá en seguida, no devolverá valor alguno y la misma no requiere de
parámetros.
FUNCIONES ANIDADAS
• A diferencia de '''Pascal''', el lenguaje C, C++ no permite anidar funciones, sin embargo, dentro
de una funcíon puede existir la llamada a una o más funciones declaradas previamente, que
determinara en cierto punto un resultado para que sea ejecutado cuando el programador lo
desee.
<div style="background:#FFFFBB; padding:16px; border-color:#0000FF; border-style:"solid">
<div style="background:#FFFFBB; padding:16px; border-color:#0000FF; border-style:"solid">

FUNCIONES DE TIPO PUNTERO (*)


<div style="background:#FFFFBB; padding:16px; border-color:#0000FF; border-style:"solid">

• En muchas ocasiones se desea que ciertas funciones regresen una referencia o puntero hacia
un tipo (sea este estructurado o no) específico de dato en lugar de un valor específico. En tales
casos, la función se deberá declarar como para que regrese un puntero. Por ejemplo,
supongamos que deseamos crear una función para convertir un número entero en notación
decimal a una cadena de caracteres en forma de números binarios, luego, la función
mencionada podría escribirse para que reciba el número entero como parámetro y regrese un
puntero a una cadena de caracteres conteniendo la conversión. Para ser más puntuales, vamos
a escribir un programa en donde se verá la función '''binstr()''', y cuyo objetivo será
precisamente convertir números decimales en cadenas binarias.
• observe que en la sintaxis para declarar funciones tipo puntero se debe de poner el símbolo
'''*''' despues del tipo y antes del nombre de la función que se está declarando. Esto se puede
ver en el programa, ya que la función binstr se declara como: '''char *binstr(unsigned
int);'''</div>