Está en la página 1de 27

Unidad 2: 

Estructura general de un programa

  Presentación de la unidad

En esta unidad conocerás la estructura general de un programa, identificando la zona


de declaraciones y de instrucciones, diferenciando que dentro del bloque de
instrucciones se encuentran tres partes fundamentales: Entrada de datos, proceso y
salida de resultados. Además, examinarás los conceptos de: datos, constantes,
variables, expresiones, operadores y diferentes tipos de funciones como elemento
clave en el manejo de datos.

Objetivo

Al término de la unidad diferenciarás los elementos que conforman la estructura


general de un programa, reconociendo paralelamente sus funciones.

Organizador gráfico de la unidad

1
2.1 Concepto de programa
En esencia, un programa es un medio para conseguir un fin, mismo que será probablemente
definido desde la información necesaria para solucionar un problema. (Aguilar, 2008, p.84)
Entiéndase entonces que un programa de computadora es un conjunto de instrucciones —
órdenes dadas a la máquina— que producirán la ejecución de una determinada tarea.
A la par, el proceso de programación es, por consiguiente, la puesta en marcha para solución de
problemas. Para lograr dicho fin, el desarrollo de un programa requiere las siguientes fases:
1. Definición y análisis del problema
2. Diseño de algoritmos:
 Diagrama de flujo, • diagrama N-S
 Seudocódigo
3. Codificación del programa
4. Depuración y verificación del programa
5. Documentación
6. Mantenimiento

2.1.1 Partes constitutivas

2
Un requisito para desarrollar un programa se establecerán un conjunto de especificaciones que
éste debe contener: entrada, salida y algoritmos de resolución (para incluir las técnicas que
permitirá obtener las salidas a partir de las entradas).

En este sentido, un programa también es considerado como una caja negra, (ilustración 2).
Entiéndase por caja negra (o el algoritmo de resolución) como el conjunto de códigos que
transforman las entradas del programa (datos) en salidas (resultados). (Aguilar, 2008, p.85)

Primero se debe tener claro de dónde provienen las entradas al programa. Las entradas, en cualquier
caso, procederán de un dispositivo de entrada —teclado, disco...—. El proceso de introducir la
información de entrada —datos— en la memoria de la computadora se denomina entrada de datos,
operación de lectura o acción de leer.
Las salidas de datos se deben presentar en dispositivos periféricos de salida: pantalla, impresoras,
discos, etc. La operación de salida de datos se conoce también como escritura o acción de escribir.

2.2 Tipos de datos y operadores


2.2.1 Datos
Un dato es la expresión general que describe los objetos con los cuales opera una computadora. La
mayoría de las computadoras pueden trabajar con varios tipos (modos) de datos.
Los datos de entrada se transforman por el programa, después de las etapas intermedias, en datos de
salida.
Un programa de computadora opera sobre datos (almacenados internamente en la memoria
almacenados en medios externos como discos, memorias USB, memorias de teléfonos celulares,
etc., o bien introducidos desde un dispositivo como un teclado, un escáner o un sensor eléctrico). El
tipo de datos determina cómo se representan los datos en la computadora y los diferentes procesos
que dicha computadora realiza con ellos.
A continuación, se muestra como estan divididos por tipos:
 Básicos
Numéricos (entero, real)

3
 Lógicos (boolean)

2.2.2 Operadores lógicos, aritméticos y de asignación

Un operador es un carácter o grupo de caracteres que actúa sobre una, dos o más variables para
realizar una determinada operación con un determinado resultado. Ejemplos comúnes de
operadores son la suma (+), la diferencia (-), el producto (*), etc. Los operadores pueden ser
unarios, binarios y ternarios, según actúen sobre uno, dos o tres operandos, respectivamente.

Operadores aritméticos

Los símbolos +, –, *, ^ (↑ o **) y las palabras clave div y mod se conocen como operadores
aritméticos. En la expresión

5+3

Los valores 5 y 3 se denominan operandos. El valor de la expresión 5 + 3 se conoce como


resultado de la expresión.

4
Los operadores se utilizan de igual forma que en matemáticas. Por consiguiente, A ∙ B se escribe
en un algoritmo como A * B y 1/4 ∙ C como C/4. Al igual que en matemáticas el signo menos
juega un doble papel, como resta en A – B y como negación en –A. (Aguilar, 2008, p.96)

Operadores de incremento y decremento

Los lenguajes de programación C/C++, Java y C# soportan los operadores unitarios (unarios) de
incremento, ++, y decremento, --. El operador de incremento (++) aumenta el valor de su
operando en una unidad, y el operador de decremento (--) disminuye también en una unidad. El
valor resultante dependerá de que el operador se emplee como prefijo o como sufijo (antes o
después de la variable). Si actúa como prefijo, el operador cambia el valor de la variable y
devuelve este nuevo valor; en caso contrario, si actúa como sufijo, el resultado de la expresión es
el valor de la variable, y después se modifica esta variable. (Aguilar, 2008, p.97)

++i Incrementa i en 1 y después utiliza el valor de i en la correspondiente expresión.

i++ Utiliza el valor de i en la expresión en que se encuentra y después se incrementa en 1. --i


Decrementa i en 1 y después utiliza el nuevo valor de i en la correspondiente expresión. i-i--
Utiliza el valor de i en la expresión en que se encuentra y después se incrementa en 1.

Operadores relacionales

Los operadores relacionales se utilizan para evaluar una relación entre dos valores. La relación
puede tener como resultado el valor verdadero o falso. (Aguilar, 2008, p.99)

5
Operadores de asignación
El operador de asignación basico es el igual ( = ), el cual asigna el valor del operando derecho al
operando izquierdo, como se muestra en la siguiente tabla. (Aguilar, 2008, p.104)

2.3
Tamaños, declaración y modificadores
En este tema comenzamos a adentrarnos en un tipo de lenguaje especifico de programación C.
Esta es la sintaxis en C:
main ()
{
       Lista_de_sentencias
}
El Tipo de dato “int”
En una variable de este tipo se almacenan números enteros (sin decimales). Una variable tipo int se
almacena en 2 bytes (16 bits), aunque algunos compiladores utilizan 4 bytes (32 bits).
Con 16 bits se pueden almacenar 216 = 65536 números enteros diferentes: de 0 al 65535 para
variables sin signo, y de -32768 al 32767 para variables con signo (que pueden ser positivas y
negativas), que es la opción por defecto. Este es el rango de las variables tipo int.
Para poder usar una variable primero hay que declararla (definirla). Hay que decirle al compilador
que queremos crear una variable y hay que indicarle de qué tipo. Por ejemplo:

6
unsigned int numero; int nota = 10;
Cuando el ahorro de memoria es muy importante puede asegurarse que el computador utiliza 2
bytes para cada entero declarándolo en una de las formas siguientes:
int numero;
Como se ha dicho antes, ANSI C no obliga a que una variable int ocupe 2 bytes, pero declarándola
como int sí que necesitará sólo 2 bytes (al menos en los PC’s).
Como vemos %i al imprimir se sustituye por el valor de la variable. Veamos un ejemplo para
resumir todo:
Algoritmo:
inicio declara variables enteras
x ← 20
escribir ( ‘ El valor inicial de x es ‘, x ) x ←
60
escribir ( ‘Ahora el valor es ‘, x ); pausa
fin
Programa:

Cuya salida será:

El valor inicial de x es 20

Ahora el valor es 60

Si imprimimos una variable a la que no hemos dado ningún valor no obtendremos ningún error al
compilar pero la variable tendrá un valor cualquiera.

El Tipo de dato “char”

Las variables de tipo char sirven para almacenar caracteres y se almacenan en un byte de
memoria (8 bits).

7
En un bit se pueden almacenar dos valores (0 y 1); con dos bits se pueden almacenar 22 = 4
valores (00, 01, 10, 11 en binario; 0, 1 2, 3 en decimal). Con 8 bits se podrán almacenar 28 = 256
valores diferentes (normalmente entre 0 y 255; con ciertos compiladores entre -128 y 127).

Los 128 primeros (0 a 127) son el ASCII estándar. El resto es el ASCII extendido y depende del
idioma y de la computadora.

Para declarar una variable de tipo char hacemos:

char letra; char a, b, caracter;

Por ejemplo, para definir la variable carácter letra a y asignarle el valor ‘A’, se puede escribir:

char letra = ’A’;

letra = 65;

En una variable char sólo podemos almacenar solo una letra (no podemos almacenar ni frases ni
palabras). La única diferencia para obtener uno u otro es el modificador que usemos (%c o %i).

El Tipo de dato “long”

Existe la posibilidad de utilizar enteros con un rango mayor si se especifica como tipo long en su
declaración:

long int numero _ grande;

o, ya que la palabra clave int puede omitirse en este caso,

long numero _ grande;

El rango de un entero long puede variar según el computador o el compilador que se utilice, pero
de ordinario se utilizan 4 bytes (32 bits) para almacenarlos, por lo que se pueden representar 232
=

4.294.967.296 números enteros diferentes. Si se utilizan números con signo, podrán representarse
números entre -2.147.483.648 y 2.147.483.647. También se pueden declarar enteros long que
sean siempre positivos con la palabra unsigned:

unsigned long numero_positivo_muy_grande;

El Tipo de dato “float”

En muchas aplicaciones hacen falta variables reales, capaces de representar magnitudes que
contengan una parte entera y una parte fraccionaria o decimal. Estas variables se llaman también
de punto flotante.

8
Declaración de una variable de tipo float:

float numero;

Para imprimir valores tipo float Usamos %f.

float num=4060.80;

printf( "El valor de num es : %f", num );

El resultado será:

El valor de num es: 4060.80

Las variables tipo double, utilizan 8 bytes (64 bits) para almacenar una variable. Se utilizan 53
bits para la mantisa (1 para el signo y 52 para el valor) y 11 para el exponente (1 para el signo y
10 para el valor).

Las variables tipo double se declaran de forma análoga a las anteriores:

double numero_real_grande;

Cuando escribimos una expresión aritmética a+b, en la cual hay variables o valores de distintos
tipos, el compilador realiza determinadas conversiones antes de que evalúe la expresión. Estas
conversiones pueden ser para 'aumentar' o 'disminuir' la precisión del tipo al que se convierten los
elementos de la expresión. Un ejemplo claro, es la comparación de una variable de tipo int con una
variable de tipo double. En este caso, la de tipo int es convertida a double para poder realizar la
comparación.
Constantes

9
Se entiende por constantes aquel tipo de información numérica o alfanumérica que no puede
cambiar más que con una nueva compilación del programa.
Constantes Enteras
Un constante entero decimal está formado por una secuencia de dígitos del 0 al 9, constituyendo un
número entero. Las constantes enteras decimales están sujetas a las mismas restricciones de rango
que las variables tipo int y Long, pudiendo también ser unsigned. A continuación, se muestran
algunos ejemplos que siguen:

Constantes de punto flotante


Existen también constantes de punto flotante, que pueden ser de tipo float, double y long double.
Una constante de punto flotante se almacena de la misma forma que la variable correspondiente del
mismo tipo. Por defecto si no se indica otra cosa las constantes de punto flotante son de tipo double.
Para indicar que una constante es de tipo float se le añade una f o una F; para indicar que es de tipo
long double, se le añade una l o una L. En cualquier caso, el punto decimal siempre debe estar
presente si se trata de representar un número real.
A continuación se presentan algunos ejemplos válidos:

10
Seguidos de otros que no son correctos:

Cadenas de caracteres

Una cadena de caracteres es una secuencia de caracteres delimitada por comillas ("), como por
ejemplo: "Esto es una cadena de caracteres". Dentro de la cadena, pueden aparecer caracteres en
blanco y se pueden emplear las mismas secuencias de escape válidas para las constantes carácter.
Por ejemplo, las comillas (") deben estar precedidas por (\), para no ser interpretadas como fin de
la cadena; también la propia barra invertida (\). Es muy importante señalar que el compilador
sitúa siempre un byte nulo (\0) adicional al final de cada cadena de caracteres para señalar el final
de la misma. Así, la cadena "mesa" no ocupa 4 bytes, sino 5 bytes. A continuación se muestran
algunos ejemplos de cadenas de caracteres:

"Informática I" "'A'"

" cadena con espacios en blanco "

"Esto es una \"cadena de caracteres".\n"

Operadores Lógicos Aritméticos y de Asignación

Para evaluar expresiones en C++ hay una variedad de operadores, a continuación, se listarán tres
categorías generales:

 Operadores de asignación
 Operadores de asignación
 Operadores lógicos

11
Tabla de operadores lógicos, aritméticos y de asignación:

2.4 Funciones de biblioteca

Una función es una parte de un programa (subrutina) con un nombre, que puede ser invocada
(llamada a ejecución) desde otras partes tantas veces como se desee. Opcionalmente puede recibir
valores; se ejecuta y puede devolver un valor.

Uno de los principales objetivos de la programación modular es la reutilización de código, esto es


escribir una función de manera que cualquier otra persona puede utilizarla en sus códigos.

Una biblioteca es una colección de funciones, proporcionadas por el compilador para utilizarse
dentro de un programa, para usar una función de estas bibliotecas (“librerías”), se debe incluir el
archivo de encabezado correspondiente que contiene el prototipo de la función y una vez listo; la
función solo se usa (entonces la función realiza la operación para lo que fue creada), y listo.

En particular desde este subtema de la unidad hablaremos de las caracteristicas del lenguaje de
programación C, en este lenguaje se establecen una serie de funciones, denominadas de
biblioteca; que cualquier compilador debe incorporar, de forma que cualquier programa que
utilice dichas funciones pueda ser compilado sin errores en cualquier máquina.

Existen funciones predefinidas, que se encuentran disponibles en la biblioteca estándar de C y nos


sirven para; manipulación de cadenas, manipulación de caracteres, entrada/salida, verificación de
errores, y muchas otras operaciones.

12
Para usar las bibliotecas de funciones y las llamadas al sistema en un programa de C simplemente
se debe llamar la función apropiada de C.

Ejemplos de las funciones de la biblioteca estándar que han sido vistas son las funciones de E/S
de alto nivel -fprintf(), malloc(), entrada y salida simples printf(), scanf(), operadores aritméticos,
generadores de números aleatorios como random(), srandom(), lrand48(), drand48(), etc. y
funciones para conversión de cadenas a los tipos básicos de C (atoi(), atof(), etc.) son miembros
de la biblioteca estándar stdlib.h.

Todas las funciones matemáticas como sin(), cos(), sqrt() son funciones de la biblioteca estándar
de matemáticas (math.h).

Para muchas llamadas del sistema y funciones de las bibliotecas se tiene que incluir el archivo
cabecera apropiado, por ejemplo: stdio.h, math.h.

Para usar una función se debe asegurar de haber puesto los correspondientes #include en el
archivo de C.

El prototipo de encabezado contiene los prototipos correctos y simplemente tendrás que incluir el
archivo de encabezado mediante la declaración #include y luego se podrá llamar a la función que
se desee. (Reyes - Roldan, 2011, p.24)

Así se incluye una función de biblioteca en C:

Donde #include es el prototipo de encabezado y < stdio. h > es la biblioteca de C, en donde


dentro de ella se encontrarán muchas funciones de biblioteca que se pueden usar dentro de un
programa, las cuales ya realizan una función determinada.

Ejemplos de algunas funciones que se encuentran en las diferentes bibliotecas:

Biblioteca math.h

13
Biblioteca string.h

Biblioteca stdlib.h

Biblioteca stdio.h

14
2.5 Funciones de entrada y salida
Cuando nos referimos a entrada/salida estándar (E/S estándar) queremos decir que los datos o bien
se están leyendo del teclado, ó bien se están escribiendo en el monitor de video.
En C no existe ninguna palabra clave para realizar la entrada y salida de datos (E/S). Se realizan a
través de funciones de biblioteca específicamente stdio.h.
Las funciones principales que realizan la entrada y salida sin formato son:
getchar(): Lee un carácter del teclado, espera hasta que se pulsa una tecla y entonces devuelve su
valor. Putchar(): Imprime un carácter en la pantalla en la posición actual del cursor.
gets(): Lee una cadena de caracteres introducida por el teclado y la sitúa en una dirección apuntada
por su argumento de tipo puntero a carácter.
puts(): Escribe su argumento de tipo cadena en la pantalla seguida de un carácter de salto de línea.
El siguiente fragmento de código lee un carácter del teclado y lo muestra por pantalla. A
continuación lee una cadena (de 10 caracteres incluido el carácter nulo) y también la muestra por
pantalla: (Reyes - Roldan, 2011, p.25)
Algoritmo:
inicio
declarar variables
carácter cadena[10]
entera i i ← getchar( )
putchar( i )
escribir ( ‘ Digita una cadena de caracteres ‘) gets (cadena)
escribir ( ‘ Imprime la cadena de caracteres ‘ ) puts (cadena)
pausa
fin
Programa:

15
Las funciones principales que realizan la entrada y salida con formato, es decir, se pueden leer y
escribir en distintas formas controladas, son:
printf(): Función de salida de datos. Permite imprimir cadenas de caracteres o texto. El prototipo o
la declaración de la función `printf() es el siguiente:
int printf (cont char*formato [, argumentos,…]);
La función `printf()´, como se puede ver en la declaración tiene dos tipos de elementos, el primero
es la cadena de caracteres o texto (char *formato) que se va a imprimir por pantalla; y el segundo
elemento contiene especificadores de formato; que definen la forma en que se muestran los
argumentos.
Especificadores de formato

16
Secuencias de escape

2.6 Funciones matemáticas


Las funciones matemáticas se usan de la biblioteca de funciones llamada < math. h > , misma que
permite al programador reutilizar ciertos cálculos comunes.
Este recurso es relativamente fácil de usar. Para ello se debe incluir la directiva de
preprocesamiento #include < math.h >. Así entonces se podrán utilizar todas las funciones que se
encuentren en dicha librería. A continuación te enseñamos una lista de estas funciones:

17
Estas funciones matemáticas, realizan
tareas sumamente especificas y para las
que fueron creadas, de ahí que el programador no tiene que preocuparse por crear algún código
adicional para ejecuten sus funciones; únicamente tiene que utilizarlas dentro del programa que así
lo desee. (Reyes - Roldan, 2011; 27)

2.7 Funciones Generadas por el usuario


Las funciones de usuario son, como su nombre indica, las que el propio usuario declara. Las
funciones nacen con el propósito de ser subprogramas que siempre tienen que devolver algún valor.
Las dos principales diferencias entre procedimientos y funciones son:
 Las funciones siempre devuelven un valor al programa que las invocó.

18
 Para llamar a un procedimiento se escribe su nombre en el cuerpo del programa, y si los
necesita, se incluyen los parámetros entre paréntesis. Para invocar una función es necesario
hacerlo en una expresión.
Las funciones de usuario vienen definidas por un nombre, seguidas de dos paréntesis () entre los
que puede haber o no argumentos. Los argumentos son valores que se le pasan a la función cuando
se llama.
1- Ejemplo de una función sin argumentos:

En este ejemplo se utiliza la función MiFuncion()


para mostrar en pantalla una frase. Como se ve, MiFuncion() se invoca igual que printf() o scanf(),
es decir, simplemente se escribe el nombre de la función y los paréntesis. La definición de
MiFuncion() tiene el mismo aspecto que main(): el nombre de la función con los paréntesis y,
seguidamente, el cuerpo de la función encerrado entre llaves.
2.- Ejemplo de una función con argumentos. El programa visualiza el cuadrado de un número
entero por medio de una función que recibe dicho número como argumento.

19
Es la declaración de la función cuadrado(). Dentro de los paréntesis se pone la variable que recibirá
el valor pasado a cuadrado() y de qué tipo es. Así, si se teclea el valor 6, se almacena en num y al
hacer la llamada cuadrado (num), la variable num se copia en la variable x, que es con la que trabaja
internamente la función cuadrado().
Es importante mantener claro dos términos:
1. El término Argumento se refiere a la variable usada al llamar la función.
2. El término Parámetro Formal se refiere a la variable de una función que recibe el valor de los
argumentos.
También es importante tener claro que la copia de variables se hace sólo en una dirección: del
argumento al parámetro formal.
Hay que tener en cuenta que el tipo de argumento que se utiliza para llamar a una función debe ser
el mismo que el del parámetro formal que recibe el valor. Así, no debe llamarse a la función
cuadrado con un argumento de tipo float.

2.8 Argumentos y parámetros formales


Llamamos parámetros a la lista de argumentos que dentro de una función se encuentran encerrados
entre paréntesis ejemplo de ellos es:
float Promedio(int A, int B)
{
    float r;
    r=(A+B)/2.0;
    return r;
}
En donde (int A, int B) es la lista de parámetros que tiene esta función, los cuales son utilizados
dentro de ella para realizar un determinado cálculo- En lenguaje C se contemplan dos formas de
pasar argumentos a las subrutinas, esto es pasarle valores a los parámetros que tiene la función,
tantos parámetros tenga serán los argumentos que se enviarán a la función.

20
Los métodos son dos: llamadas por valor y por referencia. En general, se pueden pasar argumentos
a las funciones de dos formas, por valor y por referencia.
La llamada por valor copia el valor de un argumento en el parámetro formal de la función. De esta
forma, los cambios en los parámetros de la función no afectan a las variables que se usan en la
llamada (es la llamada más usual, es decir, en general no se pueden alterar las variables usadas para
llamar a la función).
La llamada por referencia copia la dirección del argumento en el parámetro. Dentro de la función se
usa la dirección para acceder al argumento usado, significando que los cambios hechos a los
parámetros afectan a la variable usada en la llamada.
Ejemplos de función con parámetros: Sintaxis:
Tipo_Retorno nombre_función (argumentos)
{
    Sentencias;
}
Algoritmo:
función entera suma(entero a, entero b ) inicio
retorna ( a + b ) fin_suma
inicio
declara variable
entera x ← 6
entero y ← 7 limpiar pantalla
resultado ← suma ( 6 , 7 )
escribir ( ‘ Resultado: ‘, resultado ) escribir ( ‘ Fin de nuestro programa ‘) return 0
pausa
fin Programa:

21
Ejemplo de paso
por valor: Algoritmo:
función entera valor_a(entero var_1 ) inicio
escribir ( ‘ Valor de la Var_1 : ‘, decremento var_1 )
retorna 0 fin_valor_a
inicio
declara variable
entera var_1 ← 5 limpiar pantalla
escribir ( ‘ Valor de var_1 : ‘, var_1 ) llamar a función valor_a ( var_1 ) escribir ( ‘ Fin de nuestro
programa ‘) return 0
pausa fin
Programa:

22
El valor que debe devolver una función se indica con la palabra return. La evaluación de la
expresión debe dar una valor del mismo tipo de dato que el que se ha definido como resultado. La
declaración de una variable puede incluir una inicialización en la misma declaración.
2.9 Funciones con y sin argumentos
Se denomina funciones sin argumentos a aquellas que, dentro de los paréntesis, no tienen el nombre
de la función (ningún parámetro –variable-). Este tipo de funciones no devuelven ningún valor al
programa principal. En otras palabras, el programa principal no recibe ningún resultado para
mostrarlo en su ejecución.
Entonces, los programas que incorporan funciones que no tienen argumentos, solo realizan sus
líneas y, al momento de mandar llamar a la función realizan todo lo que este dentro de éstas, para
después devolver el mando al programa principal y, así, que éste continúe con sus propias líneas.
Un ejemplo de un programa con una función que no tienen argumentos, sería semejante al
siguiente.
Algoritmo:
Declarar función hola( ) inicio
limpiar pantalla
escribir ( ‘ Que tal... ‘ )
llamar a la función
hola( ) pausa
fin
función hola ( ) inicio
escribir ( ‘ Hola a todos,
este es un ejemplo de
mensaje de una función
‘)
escribir ( ‘ Hasta pronto
amigos ‘ ) fin_hola
Programa:

23
Al correr el siguiente programa se vería como sigue :
Que tal...
Hola a todos, este es un ejemplo de mensaje de una función Hasta pronto amigos.
Por otro lado, las funciones con argumentos son aquellas que dentro del paréntesis si tienen valores
o variables, las cuales se usan dentro de cada función para realizar algo, y después devolverlo al
programa principal par mostrarlo.
Todos los argumentos en C, que se pasan a una función, son considerados como pasados por valor.
Esto se entiende como una variable local de la función a la que se ha pasado, de tal modo que los
cambios realizados sobre esta, tendrán efecto sólo dentro de la función.
- Se recomienda revisar y consultar con el docente elaborador del contenido para detallar más este
párrafo y adecuarlo pertinentemente.
Un ejemplo, para determinar el comportamiento de los parámetros, supongamos desear un
programa que calcule el valor medio de dos variables incrementadas en un valor fijo, es decir:
Lo podríamos resolver de la siguiente forma : Algoritmo:
declarar función double valor_medio(double p_valor, double s_valor, double inc ) inicio
limpiar pantalla declarar variables
double x, y, z
escribir ( ‘ Ingresa el primer valor ‘ )
lee x

24
escribir ( ‘ Ingresa el segundo valor ‘ )
leer y
escribir ( ‘ ingresa el incrementeo ‘ )
leer z
llamar a la función valor_medio ( x, y. z )
escribir ( ‘ Valor con que quedaron las variables ‘ ) escribir ( ‘ Primer valor: ‘ , x )
escribir ( ‘ Segundo valor: ‘ y )
escribir ( ‘ Incremento: ‘, z )
pausa
fin
función double valor_medio (double p_valor, double s_valor, double inc ) inicio
declarar variable
double resultado
p_valor ← p_valor + inc
}
s_valor ← s_valor + inc
res ← (p_valor + s_valor ) / 2.0
escribir ( ‘ Tu resultado del valor medio es: ‘, res )
fin_valor_medio
Programa:

25
2.10 Funciones que regresan valores
Una función puede devolver cualquier tipo de valor a la función que la invoca (a excepción de una
matriz o una función); incluso main puede devolver un valor al ámbito en que se está ejecutando el
programa (entorno del sistema operativo), pero téngase en cuenta que, aunque una función devuelva
un valor, es responsabilidad de la función invocante recibirlo o ignorarlo.
Una función solo puede devolver un valor al punto de llamada mediante la sentencia return. Cuando
una función no va a regresar ningún valor se antecede la palabra void al nombre de la función, pero

26
si esta si va a devolver un valor, entonces se antecede la palabra del tipo de dato que devolverá
ejemplo (int, float, double double).
Ejemplo de funciones que regresan valores al comando principal del programa serían: Algoritmo
que obtiene el cubo de un número dado desde el teclado: declarar variables globales. (Reyes -
Roldan, 2011, p.43-46)
flotantes res, num flotante cubo ( entero x )
inicio
escribir ( ‘ Ingrese un número ‘ ) leer ( num )
res ← cubo ( num )
escribir( num,‘alcuboes:‘,res) return 0;
fin
function flotante cubo( entera x ) inicio
return x*x*x fin_cubo
Programa:

27

También podría gustarte