Manual U3 - Fundamentos de Programación
Manual U3 - Fundamentos de Programación
Programación
Carol R. Rojas Moreno
Manual – Unidad 3
Índice
Introducción...................................................................................................................................................3
Organización de la Asignatura.......................................................................................................................4
Unidades didácticas...................................................................................................................................4
Tiempo mínimo de estudio........................................................................................................................4
UNIDAD 3: ………………………………………………..........................................................................5
Diagrama de organización.........................................................................................................................5
Tema n.° 1: ………………………………................................................................................................5
Sub tema 1.1..........................................................................................................................................5
Tema n.° 2: ………………………………………………........................................................................6
Sub tema 2.1..........................................................................................................................................6
De la teoría a la práctica............................................................................................................................6
Glosario de la Unidad 3.................................................................................................................................7
Bibliografía de la Unidad 3............................................................................................................................8
2 Manual
Introducción
Fundamentos de Programación es una asignatura que tiene como finalidad proporcionar al estudiante, los
conocimientos necesarios en las técnicas para la programación basada en el enfoque estructurado,
requeridos en su formación básica para poder desarrollar programas en otros niveles más avanzados. El
resultado de aprendizaje: Al finalizar la asignatura el estudiante será capaz de implementar programas
para computadora con la finalidad de resolver problemas de ingeniería.
El presente material consta de cuatro unidades: Unidad I: Estructuras de control para la programación:
Secuencial y Selectiva. Unidad II: Estructuras de control para la programación: Repetitiva. Unidad III:
Módulos para la programación: Función y Procedimiento. Unidad IV: Módulos para la programación:
Funciones propias del Lenguaje de Programación – Recursividad, desarrollados a partir del texto
Fundamentos de Programación (Joyanes Aguilar Luis, 2012).
Es recomendable que el estudiante desarrolle una permanente lectura de estudio junto a la elaboración de
programas en un lenguaje de programación, así como la investigación en otros textos y vía internet. El
contenido del material se complementará con las lecciones presenciales y a distancia que se desarrollan en
la asignatura.
Agradecemos a quienes con sus aportes y sugerencias han contribuido a mejorar la presente edición, que
sólo tiene el valor de una introducción al conocimiento de las estructuras de datos para la programación
en un computador.
La autora.
Unidades didácticas
UNIDAD 1 UNIDAD 2 UNIDAD 3 UNIDAD 4
Estructuras de control Estructuras de control Módulos para la Módulos para la
para la programación: para la programación: programación: Función programación:
Secuencial y Selectiva Secuencial y Selectiva. y Procedimiento. Funciones propias del
Lenguaje de
Programación –
Recursividad.
4 Manual
UNIDAD 3: Módulos para la programación:
función y procedimiento.
Diagrama de organización
¿Qué puedo reutilizar del código Identifico el código que lo puedo Codificación de algoritmo de solución
que ya elaboré hasta el momento? usar más de una vez, y los agrupo usando el archivo que agrupó código
en un archivo reutilizable
Para iniciar el presente tema, se tiene presente que siempre encontrará algún conjunto de
acciones que se usan no solo en un proceso por más de una vez, sino también en diferentes
procesos.
Por lo que, se puede recurrir a un agrupamiento de estas acciones, y ser usadas (invocadas) en
un proceso o más.
Es decir, un módulo puede contener el desarrollo de un algoritmo y ser usado más de una vez.
Fuente: Propia
Para que el módulo pueda invocar y ejecutar el conjunto de acciones, puede enviar los valores al
En este caso, se crea en memoria una copia temporal de la variable, y en el módulo solo se
6 Manual
utiliza la copia, cuando se modifica el valor del parámetro solo afecta al almacenamiento
Es decir, los cambios que se efectúen sobre una variable dentro del módulo se mantienen
incluso después de que este haya terminado, es decir los cambios afectan a todo el
dirección &).
Fuente: Propia
Existen dos tipos de módulos, que pueden usar los dos tipos de pasos de parámetros o no, es
a. Procedimiento: Son módulos que realizan acciones de programa, pero no devuelve valor.
De la teoría a la práctica
Ejemplo1: Considere la siguiente figura con un programa simple para sumar dos números:
Fuente: Propia
El mismo programa puede ser elaborado con Procedimientos, con o sin argumentos:
8 Manual
Fuente: Propia
Fuente: Propia
También el mismo programa puede ser elaborado con Funciones, con o sin argumentos:
Fuente: Propia
Existe otra manera de definir un Procedimiento y una Función, declarándola como una variable
10 Manual
Fuente: Propia
Fuente: Propia
Ejemplo 2: Si compramos al por mayor 100 o más productos hay descuento 40%, si
Propuesta de Solución
Código C/C++:
Recuerde que siempre requerirá ofrecer al usuario un menú de opciones para realizar un
proceso.
12 Manual
Además, el conjunto de acciones con finalidad similar, pueden estar agrupadas y encontrarse
en un repositorio (servidor) y permitirá ser usado más de una vez, ahorrando tiempo de
Un menú de opciones ofrece una selección para el usuario, que le permitan realizar más de una
Fuente: http://codigosjava.blogspot.com/2008/05/menu-de-opciones-usando-switch-case-gui.html
Fuente: http://tareasipnice.blogspot.com/2013/05/hacer-un-menu-c-usando-switch-do-while.html
Fuente: http://elblogdefiko.blogspot.com/2011/12/crear-menu-horizontal-desplegable.html
Fuente: http://oldbam.blogspot.com/2008/03/implementing-menu-with-submenus-in-c.html
De la teoría a la práctica
Ejemplo 01: Elabore un programa, el cual permita calcular el monto a pagar compre manzanas
Código C/C++:
14 Manual
Fuente: Propia
Como se muestra en la figura anterior, el código propuesto debe ser ejecutado desde el módulo
principal (main), el cual invoca al Módulo MENU, el mismo que es una función de tipo entera,
que devuelve la opción seleccionada, para garantizar la repetición del procesar VENTA, o elegir
SALIR. A su vez, el módulo MENU, invoca al módulo leedatoe() y en el caso 1 del switch,
Ejemplo 02: Elabore un programa, para una vendedora que tiene n unidades de pan al
comenzar el día. ¿Si cada cliente le pide m panes, cuantos clientes son atendidos
Fuente: Propia
Finalmente, del Módulo MENU, se invoca al submenú PROCESAR y este a su vez invoca al
submenú VENTA.
Fuente: Propia
16 Manual
Código C/C++:
Fuente: Propia
Una librería es un archivo, que contiene módulos, que pueden ser función o procedimiento, con
Esta librería puede ser almacenada en un repositorio (servidor) para ser invocado y proporcionar
Existen librerías estándar del procesador del lenguaje C++, que se denominan de cabecera
(header, por tener extensión de archivo “.h”) como por ejemplo iostream.h, math.h, conio.h,
stdio.h, etc. y ser invocadas en diferentes programas fuente (el programa con extensión “ .cpp”)
como parte de la reutilización de código. Ud., como creador de programas, además de usar estas
librerías, también puede crear sus propias librerías con sus propios módulos de programa.
Se puede crear la librería en cualquier editor, pero al guardar el archivo tendrá la extensión “.h”
2
1
Fuente: Propia
18 Manual
Para que esta librería sea independiente a los programas, es necesario crearla en una carpeta
Fuente: Propia
De la teoría a la práctica
Ejemplo 01: Elaboremos un ejemplo, creando la librería con extensión “.h” para la ingresar
valores a través de función de lectura de datos de los diferentes tipos de datos, llamado
Observe que para usar el tipo de dato “string”, debe invocarse en la cabecera del programa, la
También considere, que algoritmo de leer datos de cada función es el mismo, pero se
diferencian ya que cada módulo define un tipo de dato diferente y un nombre de módulo
diferente.
Además, en la librería solo se crean los módulos y no contiene ningún módulo principal “main”,
ya que este existe en el programa fuente con extensión “.cpp” que lo puede compilar y ejecutar.
Fuente: Propia
Este es un ejemplo de creación de librería para lectura de datos, sin embargo, se pueden crear
Pero recuerde que el nombre de la librería y los módulos que vaya a crear, deben estar
restar( ), multiplicar( ) y dividir( ), pero de ninguna manera tendría algún módulo de leer datos.
Entonces sí, se requiere leer un número entero diferente a cero y positivo para realizar otras
20 Manual
acciones en el programa. Se debe crear el programa .cpp que invoca a la librería .h ,
Fuente: Propia
Se debe definir la ruta de la carpeta de la librería antes de iniciar la compilación del programa.
Fuente: Propia
En el caso de que estuviera usando otro entorno de programación, como por ejemplo el
22 Manual
Configurar la Ruta de la librería en VisualStudio:
Seleccionar Directorios del C++ en las propiedades del Proyecto
Fuente: Propia
Fuente: Propia
Figura N°100
Configurar la Ruta de la librería en VisualStudio:
Asignar Librería a Directorios del C++
24 Manual
2
Fuente: Propia
26 Manual
Bibliografía de la Unidad 3
Ceballos Sierra , F. (2006). C / C++ curso de programación (6ta ed.). México: AlfaOmega.