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

COMPUTACIÓN Y

ALGORITMOS II
VA R I A B L E S L O C A L E S Y F U N C I O N E S
UNIVERSIDAD NACIONAL DE CAJAMARCA

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

Docente: JAMER DELGADO PEREZ


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
• Definir que son variables locales y funciones, aplicadas a la programación.

OBJETIVOS ESPECÍFICOS
• Dominar las funciones locales en las distintas funciones.
• Tener conocimiento sobre los parámetros de una función.
• Distinguir que es una acción y una función.
• Demostrar lo aprendido por ejemplos.
MARCO TEÓRICO
VARIABLES
DESDE EL PUNTO DE VISTA MATEMÁTICO,
SE TIENE LO SIGUIENTE:
• Una variable es una función que toma valores pertenecientes a un determinado conjunto, su
dominio, y que produce como resultado su propio valor.
• El conjunto de valores que pueden tomar la variable es infinito, salvo indicación expresa en
contra. A fin de cuentas, se trata de símbolos y un símbolo puede representar cualquier cosa. El
problema surgirá, claro, al operar con el símbolo.
• Se supone que las variables denotan valores que posiblemente tenga un número infinito de
cifras significativas.
DESDE EL PUNTO DE VISTA INFORMÁTICO,
SE TIENE LO SIGUIENTE:
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).
Una variable es una abstracción sobre un valor almacenado en una localización de
memoria, usando la representación asociada a un tipo de datos.
• Una variable puede tener un nombre.
• El valor almacenado puede cambiar durante la ejecución de un programa.
• La localización puede cambiar durante la ejecución del programa.
LAS VARIABLES COMO
ABSTRACCIONES
Abstracción aquí significa que podemos olvidarnos de:
• El valor concreto (solo hay que conocer su tipo)
• La localización y tamaño de la zona de memoria donde se almacena la
representación del valor
• La representación concreta asociada al tipo de datos
BENEFICIOS DE LA ABSTRACCIÓN
• Olvidarnos de todo esto nos libera de la necesidad de ocuparnos de estos
aspectos:
• Esto impide que cometamos los errores que se pueden cometer al ocuparnos
de ellos (mayor fiabilidad)
• El uso de variables con nombres y tipos facilita la escritura de programas, y
aumenta su legibilidad
CONTENIDO Y ASIGNACIÓN DE UNA
VARIABLE
CL ASIFICACIÓN
DE VARIABLES
VARIABLES GLOBALES
• Una variable global es, en informática, una variable accesible en todos los
ámbitos de un programa informático. Los mecanismos de interacción con
variables globales se denominan mecanismos de entorno global.
• El uso de este tipo de variables suele considerarse como una mala práctica,
por el riesgo que conlleva esa deslocalización: una variable global puede ser
modificada en cualquier parte del programa
• En ocasiones, las variables globales resultan muy útiles. Por ejemplo, se pueden
usar para evitar tener que pasar variables usadas muy frecuentemente de
forma continua entre diferentes subrutinas.
VARIABLES LOCALES
En resumen una de una variable local:
• Su ámbito está restringido a una sentencia o a un
subprograma
• Su tiempo de vida coincide con los intervalos de tiempo
en los cuales se está ejecutando la sentencia o
subprograma
• Se crean y se destruyen automáticamente al entrar o
salir del subprograma o sentencia
Declaración de una variable local
Sin lugar a dudas, es el nivel de alcance más utilizado y
recomendado para una variable. Estas variables se
declaran en un procedimiento o evento mediante la
instrucción Dim y sólo existen mientras se ejecuta el
procedimiento. Cuando termina el procedimiento,
desaparece el valor de la variable. Además, el valor de una
variable de un procedimiento es local de dicho
procedimiento; es decir, no puede tener acceso a una
variable de un procedimiento desde otro procedimiento.
CLASIFICACION DE VARIABLES LOCALES
AC C E S I B I L I DA D
D E VA R I A B L E S
EJEMPLO DE VARIABLES LOCALES
FUNCIONES
DEFINICIÓN

• Una función es una subrutina o subprograma que forman un programa que realiza
tareas bien definidas. todo programa en c consta de una o más funciones. una de
estas funciones se llama main. la ejecución del programa siempre comenzará por la
de las instrucciones contenidas en main. a la función se le puede “pasar” información
mediante unos identificadores denominados argumentos o parámetros.
• TIPOS DE FUNCIONES:
 TIPOS DE FUNCIONES SIN ARGUMENTO.- Son aquellas que no se otorga valores ni los devuelve.
TIPOS DE PARAMETROS:

 FUNCIONES CON PASO DE PARAMETROS POR


VALOR .- Nos dice que nuestra función recibirá una
copia de la variable que pasemos y, cualquier
modificación que realicemos, solo afectará a dicha
copia.
Nos
 Funciones con paso de parámetros por referencia.-
lleva a entregar prácticamente la variable original,
es decir, si realizamos algún cambio en el
parámetro de nuestra función, esto equivaldría a
estar actuando directamente sobre la variable
original.
EJEMPLO:

Escribe una función que devuelva el área de un círculo dado su radio, además hallar el área de un
cuadrado dado su lado y el área de un rectángulo dado su altura y su base

 SE desarrolla el formulario y hacemos click al Button


“limpiar”, dándole el siguiente pseudocódigo.
 Desarrollamos una función pública para cada parámetro que queremos hallar (áreas)
 Posteriormente se hace click al Button Calcular,
dándole el respectivo pseudocódigo base.
 Aquí ya ejecutamos el programa, dándole valores a
cada txtbox designados para la ejecución de áreas.  El programa calcula correctamente.
 Hacemos click en “limpiar”, mostrándonos limpias
las casillas para volver a introducir nuevos valores.
B. Función que devuelve un valor:
C. INVOCACIÓN DE UNA FUNCIÓN A OTRA FUNCIÓN
EJEMPLO:

Escribe una función que devuelva la suma, resta, multiplicación y división de dos
números.
1. Creamos un proyecto y diseñamos nuestro algoritmo.
2. Creamos un procedimiento simple (damos doble clic en el título de nuestro
formulario).
No va a retornar ningún valor pero si va a ejecutar cierta cantidad de
instrucciones.
3. Desarrollamos una función privada que va a tener tres parámetros. Luego
declaramos las variables.
4. Finalmente declaramos las variables para cada operación.
SUMA
RESTA
MULTIPLICACIÓN
DIVICIÓN
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>

Вам также может понравиться