0% encontró este documento útil (0 votos)
127 vistas27 páginas

Manual U3 - Fundamentos de Programación

Este documento presenta la Unidad 3 de un curso sobre Fundamentos de Programación. La unidad cubre los temas de modularización de programas, definición y características de módulos de programa, y tipos de módulos como procedimientos y funciones. Incluye ejemplos de paso de parámetros y una figura que muestra cómo modularizar código para sumar dos números.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
127 vistas27 páginas

Manual U3 - Fundamentos de Programación

Este documento presenta la Unidad 3 de un curso sobre Fundamentos de Programación. La unidad cubre los temas de modularización de programas, definición y características de módulos de programa, y tipos de módulos como procedimientos y funciones. Incluye ejemplos de paso de parámetros y una figura que muestra cómo modularizar código para sumar dos números.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 27

Fundamentos de

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.

Universidad Continental | Manual 3


Organización de la Asignatura
Resultado de aprendizaje de la asignatura

Al finalizar la asignatura, el estudiante será capaz de aplicar módulos de programación y


librerías de programación, en la construcción de programas computacionales.

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.

Resultado de Resultado de Resultado de Resultado de


aprendizaje aprendizaje aprendizaje aprendizaje
Al finalizar la unidad, Al finalizar la unidad, Al finalizar la unidad, Al finalizar la unidad,
el estudiante será capaz el estudiante será capaz el estudiante será capaz el estudiante será capaz
de aplicar estructuras de aplicar estructuras de aplicar módulos de de aplicar las funciones
de control secuencial y de control repetitivas, programación y propias del lenguaje de
selectivas, en la en la construcción de librerías de programación, en la
construcción de programas programación, en la construcción de
programas computacionales construcción de programas
computacionales usando un lenguaje de programas computacionales.
usando un lenguaje de programación. computacionales.
programación

Tiempo mínimo de estudio

UNIDAD 1 UNIDAD 2 UNIDAD 3 UNIDAD 4

24 horas 24 horas 24 horas 24 horas

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

Tema n.° 1: Modularización de programas: definición y características. Paso de


parámetros en los módulos de programa

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.

Universidad Continental | Manual 5


Sub tema 1.1 Definición de Módulo de Programa

El módulo de programa es un segmento o porción de código, independiente y reutilizable, para

el mismo programa o para otros programas.

Es decir, un módulo puede contener el desarrollo de un algoritmo y ser usado más de una vez.

Fuente: Propia

Sub tema 1.2 Paso de Parámetros

Para que el módulo pueda invocar y ejecutar el conjunto de acciones, puede enviar los valores al

invocar a un bloque de código (módulo) en el mismo programa o en otro.

Se conocen dos formas de pasar parámetros:

a. Paso de Parámetros Por Valor (Parámetros de Entrada)

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

temporal, la variable original que se creó fuera del módulo no es modificada.

b. Paso de Parámetros Por Referencia (Parámetros de Entrada/Salida)

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

programa, ya que se usa la variable a través de su dirección de memoria (usa el operador de

dirección &).

Ejemplo de Paso de Parámetros

Fuente: Propia

Universidad Continental | Manual 7


Sub tema 1.3 Tipos de Módulos

Existen dos tipos de módulos, que pueden usar los dos tipos de pasos de parámetros o no, es

decir pueden tener o no tener argumentos.

a. Procedimiento: Son módulos que realizan acciones de programa, pero no devuelve valor.

Sin argumentos: void NombreProcedimiento ( )

Con argumentos: void NombreProcedimiento (argumentos)

b. Función: Son módulos que realizan acciones de programa, y devuelve 01 valor.

Sin argumentos: TipoDatoDevuelve NombreFunción ( )

Con argumentos: TipoDatoDevuelve NombreFunción (argumentos)

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:

Ejemplo de Programa para Sumar dos números:


Procedimiento con Argumentos

8 Manual
Fuente: Propia

Ejemplo de Programa para Sumar dos números:


Procedimiento sin Argumentos

Fuente: Propia

También el mismo programa puede ser elaborado con Funciones, con o sin argumentos:

Ejemplo de Programa para Sumar dos números:


Función con Argumentos

Universidad Continental | Manual 9


Fuente: Propia

Ejemplo de Programa para Sumar dos números:


Función sin Argumentos

Fuente: Propia

Existe otra manera de definir un Procedimiento y una Función, declarándola como una variable

global, y no es necesario tener un orden de creación en el módulo principal:

Ejemplo de Programa para Sumar dos números:


Otra Forma de Procedimiento con Argumentos

10 Manual
Fuente: Propia

Ejemplo de Programa para Sumar dos números:


Otra Forma de Función con Argumentos

Fuente: Propia

Ejemplo 2: Si compramos al por mayor 100 o más productos hay descuento 40%, si

compramos entre 25 y 100, el descuento es 20% y si compramos entre 10 y 25 el descuento es

de 10%. No hay descuento en menos de 10 productos.

Propuesta de Solución

Código C/C++:

Universidad Continental | Manual 11


Fuente: Propia

Tema n.° 2: Creación de Menú de opciones con módulos de programa.


Librerías de Programación

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

desarrollo y esfuerzo en su creación, para los diferentes procesos de la realidad.

Sub tema 2.1 Definición de Menú de opciones

Un menú de opciones ofrece una selección para el usuario, que le permitan realizar más de una

vez el conjunto de acciones, sin considerar un orden secuencial de realización, o simplemente

finalizar el proceso (SALIR).

Ejemplo 01: Interfaz de Menú de Opciones creado en Java

Fuente: http://codigosjava.blogspot.com/2008/05/menu-de-opciones-usando-switch-case-gui.html

Ejemplo 02: Creación de Menú de Opciones en C/C++ (consola)

Fuente: http://tareasipnice.blogspot.com/2013/05/hacer-un-menu-c-usando-switch-do-while.html

Universidad Continental | Manual 13


También se puede considerar que, de un menú de opciones, se despliegue o muestre un

submenú de opciones, y así sucesivamente.

Ejemplo 03: Propuesta de interfaz de Menú y Submenú de opciones.

Fuente: http://elblogdefiko.blogspot.com/2011/12/crear-menu-horizontal-desplegable.html

Ejemplo 04: Interfaz de Menú y Submenú de opciones en C/C++ (consola)

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

en una frutería, con descuento según la sgte. tabla.

Solución con Módulo de Menú de opciones:

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,

invoca al módulo VENTA.

El módulo VENTA, es un procedimiento que requiere mostrar más de un valor, invoca a

leedatoe y a leedatof, (los valores son de diferentes tipos de datos).

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

completamente, cuantos panes quedan para el ultimo cliente?

Solución con Módulo de Menú de opciones:

Se incorporará la creación de un módulo SALIR.

Fuente: Propia

También se ha creado el módulo MOSTRAR, que reporta los datos solicitados.

Universidad Continental | Manual 15


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

Universidad Continental | Manual 17


Sub tema 2.2 Definición de Librerías de Programación

Una librería es un archivo, que contiene módulos, que pueden ser función o procedimiento, con

o sin argumentos y con finalidad similar.

Esta librería puede ser almacenada en un repositorio (servidor) para ser invocado y proporcionar

los módulos que contiene, y ser invocados y ejecutados en diferentes programas.

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”

Ejemplo de Creación de Librería en DevC++

2
1

Fuente: Propia

18 Manual
Para que esta librería sea independiente a los programas, es necesario crearla en una carpeta

diferente a la del proyecto o de cada programa.

De esta manera aseguramos su reutilización entre programas, disminuyendo esfuerzo y tiempo.

Ejemplo de Carpeta de Creación de Librería

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

“LecturaDatos.h” como se muestra en la siguiente figura.

Observe que para usar el tipo de dato “string”, debe invocarse en la cabecera del programa, la

librería del mismo nombre.

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.

Universidad Continental | Manual 19


Ejemplo de Librería de Lectura de Datos

Fuente: Propia

Este es un ejemplo de creación de librería para lectura de datos, sin embargo, se pueden crear

otras librerías con otro nombre y con otros módulos.

Pero recuerde que el nombre de la librería y los módulos que vaya a crear, deben estar

relacionados o atender a un requerimiento, por ejemplo puede agregar a la carpeta Librerías, la

creación de una librería OperacionesBasicas.h y que contendría los módulos de sumar( ),

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 ,

“LecturaDatos.h”, creada por el programador.

Fuente: Propia
Se debe definir la ruta de la carpeta de la librería antes de iniciar la compilación del programa.

Configurar la Ruta de la librería en DevC++

Universidad Continental | Manual 21


1

Fuente: Propia
En el caso de que estuviera usando otro entorno de programación, como por ejemplo el

VisualStudio, debe realizar los siguientes pasos:

22 Manual
Configurar la Ruta de la librería en VisualStudio:
Seleccionar Directorios del C++ en las propiedades del Proyecto

Fuente: Propia

Configurar la Ruta de la librería en VisualStudio:


Modificar Directorios del C++

Universidad Continental | Manual 23


1

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

Universidad Continental | Manual 25


Glosario de la Unidad 3
Argumento: valores suministrados a un módulo de programa, al momento de ser invocado.
Cabecera: sección inicial del programa donde se declara el uso de librerías para que el
programa logre ser compilado (traducido y ejecutado).
Compilación: es la acción e compilar, es decir traducir del programa fuente al código máquina.
Invocación: es la acción de llamar a ejecución a un módulo, en otro módulo, en otra librería o
en el módulo principal.
Librería: es un archivo, que contiene código, usualmente en módulos de programa. Que pueden
ser reutilizados por diferentes proyectos de programa.
Operador de Dirección: permite a una variable, almacenar valores en hexadecimal
específicamente direcciones de memoria del computador.
String.h: librería del compilador, en este caso el C/C++, que permite usar el tipo de dato del
mismo nombre: string.
Variable Global: espacio de memoria, que se declara en la cabecera del programa, y puede
usarse en todos los módulos del mismo programa.

26 Manual
Bibliografía de la Unidad 3

Ceballos Sierra , F. (2006). C / C++ curso de programación (6ta ed.). México: AlfaOmega.

Joyanes Aguilar, L. (2008). Fundamentos de Programación (4ta ed.). España: McGraw-Hill.

Pressman, R. (2002). Ingeniería del software (5ta ed.). España: McGraw-Hill.

Rojas Moreno, C. (2013). Algorítmia y estructura de datos. Perú: Universidad Continental.

Universidad Continental | Manual 27

También podría gustarte