Académique Documents
Professionnel Documents
Culture Documents
GRUPO
1 301304_57
TUTOR
INGENIERÍA DE SISTEMAS
CALI, COLOMBIA.
2015.
1
Contenido
Introducción. .................................................................................................................................. 3
Objetivos. ........................................................................................................................................ 4
Objetivo General......................................................................................................................... 4
Objetivos específicos................................................................................................................... 4
Ejercicio 1. ..................................................................................................................................... 7
Seudocódigo .......................................................................................................................... 12
Conclusiones. ............................................................................................................................... 36
Bibliografía. ................................................................................................................................. 37
2
Introducción.
La fase 1 del curso académico introducción a la programación, propone dos serie de ejercicios que
son resueltos a través de algoritmos, en seudocódigo y mediante diagrama de flujo, el primero de
ellos. Para el segundo ejercicio propuesto por la guía de actividades, se hace uso del software de
programación Falcón, en su desarrollo. El primer ejercicio consiste en ordenar los datos de productos
ofertados por una empresa de cerámica, a través de un algoritmo, el cual permita mostrar código del
producto, color del producto, cantidad, costo y precio del producto seleccionado. Para dar solución a
este primer punto se plantean en primer lugar, las variables de entrada, proceso y salida del
algoritmo, describiendo de qué tipo son cada una de ellas. Una vez se han definido las variables del
proceso de forma clara, se realiza una serie de arreglos, que contienen la información de cada
producto mencionada anteriormente, las cuales son presentadas como variables de salida, sin
tratamiento, a excepción de la cantidad y precio del producto, pues estas se definen como las
variables de proceso del algoritmo. Para la primera de las variables de proceso, es decir la cantidad
de producto, se plantea dentro del algoritmo, una cantidad elegida por los estudiantes responsables
del desarrollo del mismo, que va incrementando a través de un contador, el cual almacena la cantidad 3
de un determinado producto y la presenta en su debido momento como una variable de salida. Para el
precio de cada producto, se hace un tratamiento similar, pues esta es de igual manera una de las
variables de proceso, en este caso se define una sencilla operación matemática, que muestre el precio
de cada producto, como el costo del producto más un 30% del mismo.
Para el desarrollo del ejercicio 2 de la guía de actividades se hace uso del software de programación
Falcón, en el cual se realiza un programa en C++, que compara tres números, decidiendo cual es
mayor, menor o si los números son iguales. En este documento se presenta el código fuente del
programa realizado, así como la demostración a través de capturas de pantalla del funcionamiento
del mismo.
3
Objetivos.
Objetivo General.
Poner en práctica los saberes previos al curso Introducción a la programación, a través del
desarrollo de algoritmos que permitan solucionar problemas planteados dentro del desarrollo
del momento 1 del curso académico.
Objetivos específicos
Presentar soluciones a través del desarrollo de seudocódigos y diagramas de flujo soluciones
a situaciones planteadas que se deben solucionar mediante esos medios.
Presentar soluciones a través del desarrollo de programas basados en algoritmos y
desarrollados en el software de programación Falcón C++, a las situaciones planteadas dentro
de la guía de actividades que deban ser resueltas a través de este medio.
Reconocer de manera general el entorno de trabajo, comandos, forma de compilar y manera
de correr un programa en el software de simulación Falcón C++.
Generar acuerdos al interior del grupo de trabajo colaborativo que permitan un buen
desarrollo de las actividades de la guía de la fase 1 del curso Introducción a la programación.
4
4
Tabla de coevaluación.
Desarrollada por: Daniel F. Urreste B.
5
josesich@hotmail.com Presenta un archivo donde se evidencia
que instalo el programa Falcón y lo
Cuenta de Skype: josesich
practica.
CEAD: Palmira Realiza correcciones que mejoran de
manera significativa el programa en
Falcón C++, por el compañero Urreste,
mejorando no solo la parte estética del
programa sino su funcionalidad.
Diego Cruz Celular: 312 875 4716 Buena participación en el foro, pendiente
de contribuir al desarrollo del trabajo
E-Mail
colaborativo.
diegoct@arquitecsoft.com Presenta un archivo donde se evidencia
Cuenta de Skype: que instalo el programa Falcón y lo
practica.
diegotrullo1 Realiza correcciones que mejoran de
CEAD Palmira Valle del manera significativa el programa en
Falcón C++, por el compañero Urreste,
Cauca mejorando no solo la parte estética del
programa sino su funcionalidad.
6
Desarrollo de actividades.
Ejercicio 1.
Descripción del problema.
La empresa “ABC” produce y distribuye cerámica para pisos y requiere un software que le permita
llevar el control de sus productos, registrando: código, existencia en metros, color, valor de costo y
valor de venta (el valor de venta se obtiene incrementando el 30% al valor de costo). El software
debe proporcionar listas ordenadas por código, existencia, costo y venta. También debe presentar
informes de un producto y la lista de productos cuya existencia sea inferior a 100.
Tabla 1. Ejemplo de las Variables del Proceso. Ítems Usados en la construcción del
algoritmo.
7
Una vez presentadas las variables de entrada de proceso a través del ejemplo mostrado en la
tabla 1, se procede a realizar la definición formal de las mismas. Como para cada código de
producto que se lea se debe presentar, no solo el código, sino además la existencia del producto,
el costo y el precio de venta, se proponen realizar un registro, que contenga todas estas variables,
las cuales se define a continuación:
Variable de Entrada| Tipo de Variable
Código Entero. No es necesario tratar esta variable
como tipo flotante o tipo real, pues la
definición de los códigos permite que las
asignaciones a cada producto se hagan con
números enteros.
Color. Carácter. Es un variable tipo carácter que
muestra solo el color de un determinado
producto a través de la lectura del código
asociado a él.
Costo. Flotante o real. Asignación de valor en 8
pesos que se hace a un determinado
producto, la cual no necesariamente se
hace única y exclusivamente a través de
números enteros, pues puede hacerse
mediante números decimales para
representar los centavos del precio de un
producto. Precio fijado por el distribuidor
del producto.
Tabla 2. Definición de las variables de entrada del proceso.
Teniendo en cuenta que el algoritmo está diseñado para leer y mostrar en pantalla la información
de un determinado producto tal y como ha sido asignada está a través de sus variables, a
excepción de la cantidad y precio. Para las dos últimas variables se define un tipo de variables
llamadas variables de proceso, las cuales son campos en los que se almacena información del
proceso, no son ni variables de entrada ni de salida.
8
Variables de proceso
Existencia Contador tipo Entero. Los productos en
existencia independientemente de su tipo y
color, en general se cuentan como números
enteros, es decir en general las tiendas de
cerámica solo venden cantidades enteras de
metros cuadrados de determinados
productos. Este tipo de variables de
proceso registran la cuenta de
determinadas variables a través de
incrementos constantes, en general de 1 en
1, pero este número también puede variar.
A través del contador se va llevando la
cuenta de la existencia de la cantidad de
metros cuadrados que hay en existencia de
cada producto de la empresa. 9
Precio. Real o flotante. Se asume esta variable
como una variable de proceso, pues se pide
al algoritmo que calcule el precio de venta
de cada producto, teniendo como
referencia el costo de cada uno de ellos, es
decir se hace un proceso matemático a una
variable de entrada y se almacena hasta
cuando sea requerida en otro apartado del
algoritmo propuesto.
Tabla 3. Presentación de las variables de proceso del algoritmo.
A continuación se describen las variables de salida del algoritmo, que son los resultados de
cierto tratamiento realizado a través del algoritmo a las variables de entrada, para ser presentadas
al usuario final del programa.
9
Variables de salida
Código Entero. No es necesario tratar esta variable
como tipo flotante o tipo real, pues la
definición de los códigos permite que las
asignaciones a cada producto se hagan con
números enteros.
Color. Carácter. Es un variable tipo carácter que
muestra solo el color de un determinado
producto a través de la lectura del código
asociado a él.
Costo. Flotante o real. Asignación de valor en
pesos que se hace a un determinado
producto, la cual no necesariamente se
hace única y exclusivamente a través de
números enteros, pues puede hacerse
mediante números decimales para 10
representar los centavos del precio de un
producto. Precio fijado por el distribuidor
del producto.
Existencia Contador tipo Entero. Los productos en
existencia independientemente de su tipo y
color, en general se cuentan como números
enteros, es decir en general las tiendas de
cerámica solo venden cantidades enteras de
metros cuadrados de determinados
productos. Este tipo de variables de
proceso registran la cuenta de determinadas
variables a través de incrementos
constantes, en general de 1 en 1, pero este
número también puede variar. A través del
contador se va llevando la cuenta de la
10
existencia de la cantidad de metros
cuadrados que hay en existencia de cada
producto de la empresa.
Precio. Real o flotante. Se asume esta variable
como una variable de proceso, pues se pide
al algoritmo que calcule el precio de venta
de cada producto, teniendo como referencia
el costo de cada uno de ellos, es decir se
hace un proceso matemático a una variable
de entrada y se almacena hasta cuando sea
requerida en otro apartado del algoritmo
propuesto.
Alerta de baja existencia. Entero. Se desprende del contador
propuesto en el apartado de variables de
proceso, se incluye un condicional, que
obligue al algoritmo a mostrar un mensaje 11
de alerta cuando la cantidad de metros
cuadrados de un determinado producto este
por debajo de 100.
Tabla 4. Variables de salida del algoritmo.
Para el desarrollo del algoritmo se propone realizar declaraciones de registro, el cual se puede
almacenar los datos de un producto, dentro de un número finito de productos que maneja la tienda
ABC. A continuación se presenta el Seudocódigo propuesto para el desarrollo del punto 1 de la guía
de actividades.
11
Algoritmo de solución
Seudocódigo
Proceso ABC
Dimension Producto(9)
Dimension Color(3)
Leer OP
Segun OP Hacer
1:
Producto(1)<-(1011)
12
Existencia1<-87
ExistenciaP1<-Existencia1+1
Costo1<-50000
Precio1<-Costo1+0.3*costo1
FinPara
2:
Producto(2)<-(1012)
ExistenciaP2<-Existencia2+1
Costo2<-55000
Precio2<-Costo2+0.3*costo2
FinPara
3:
Producto(3)<-(1013)
13
Existencia3<-87
ExistenciaP3<-Existencia3+1
Costo3<-60000
Precio3<-Costo3+0.3*costo3
FinPara
4:
Producto(4)<-(1021)
Existencia4<-97
14
Escribir 'El codigo del producto ',i,' ,es:',Producto(4)
ExistenciaP4<-Existencia4+1
Costo4<-45000
Precio4<-Costo4+0.3*costo4
FinPara
5:Producto(5)<-(1022)
Existencia5<-122
14
Escribir 'El color del producto ',i,' ,es: Negro'
ExistenciaP5<-Existencia5+1
Costo5<-43000
Precio5<-Costo5+0.3*costo5
FinPara
6:Producto(6)<-(1023)
Existencia6<-87
ExistenciaP6<-Existencia6+1
Costo6<-41000
Precio6<-Costo6+0.3*costo6
FinPara
7:Producto(7)<-(1031)
Existencia7<-87
ExistenciaP7<-Existencia7+1
15
Escribir 'La Cantidad del producto ',i,'
,es:',ExistenciaP7
Costo7<-35000
Precio7<-Costo7+0.3*costo7
FinPara
8:Producto(8)<-(1032)
Existencia8<-200
ExistenciaP8<-Existencia8+1
16
Escribir 'La Cantidad del producto ',i,'
,es:',ExistenciaP8
Costo8<-33000
Precio8<-Costo8+0.3*costo8
Finpara
9:Producto(9)<-(1033)
Existencia9<-200
ExistenciaP9<-Existencia9+1
16
,es:',ExistenciaP9
Costo9<-31000
Precio9<-Costo9+0.3*costo9
Finpara
10:
Si ExistenciaP1<99 Entonces
FinSi
Si ExistenciaP2<99 Entonces
FinSi
Si ExistenciaP3<99 Entonces
FinSi
Si ExistenciaP4<99 Entonces
FinSi
Si ExistenciaP5<99 Entonces
FinSi
Si ExistenciaP6<99 Entonces
FinSi
Si ExistenciaP7<99 Entonces
FinSi
17
Si ExistenciaP8<99 Entonces
FinSi
Si ExistenciaP9<99 Entonces
FinSi
FinSegun
FinProceso
18
18
Pantallazos seudocódigo ejercicio 1.
El diagrama de flujo generado a partir del seudocódigo presentado anteriormente es un poco extenso,
por tanto se presenta por partes con la respectiva explicación para cada una de ellas. En la figura 1 se
muestra la definición del proceso, la declaración de las variables del algoritmo, además de la
configuración del menú a través del cual el usuario puede acceder a la información del producto que
desee, así como conocer cuáles de los productos que maneja la empresa ABC se encuentran en baja
existencia.
19
Figura 1. Definición de tipo de variables del algoritmo y generación del menú de usuario del
mismo.
19
En la figura dos se muestra el diagrama de flujo para las tres primera opciones del menú, de las 10
propuesta, en la cuales se muestra a través de arreglos la información de los tres productos, el
contador de existencia y la línea de código que calcula el precio de cada producto a través del costo
del mismo.
Figura 2. Diagrama de flujo para las tres primera opciones del menú mostrado en la figura 1. 20
En la figura tres se muestra el diagrama de flujo para las opciones 4, 5 y 6 del menú, de las 10
propuesta, en la cuales se muestra a través de arreglos la información de los tres productos, el
contador de existencia y la línea de código que calcula el precio de cada producto a través del costo
del mismo.
Figura 3. Diagrama de flujo para las opciones 4, 5 y 6 del menú mostrado en la figura 1.
20
En la figura cuatro se muestra el diagrama de flujo para las opciones 7, 8 y 9 del menú, de las 10
propuesta, en la cuales se muestra a través de arreglos la información de los tres productos, el
contador de existencia y la línea de código que calcula el precio de cada producto a través del costo
del mismo.
Figura 4. Diagrama de flujo para las opciones 7, 8 y 9 del menú mostrado en la figura 1.
En la figura 5 se muestra la opción del algoritmo propuesta para mostrar una lista con aquellos 21
productos cuya existencia sea inferior a las 100 unidades.
21
22
Figura 5. Diagrama de flujo de la opción de menú para mostrar productos con existencias
inferiores a 100 unidades.
22
En la figura 6 se muestra el cierre del algoritmo al cual se conectan los diagramas presentados en las
figuras 2, 3, 4 y 5.
Ejercicio 2.
Descripción del algoritmo
Realizar un programa en el entorno de desarrollo Falcón que reciba 3 números digitados por el
usuario, los analice e indique cuál es mayor, cuál es menor o si son iguales. Al ejecutar el programa
se debe mostrar los nombres de los estudiantes que participaron en la actividad y el resultado de la
comparación de los 3 números. El programa costa de menú donde se darán a conocer dos opciones
23
que serán: 1. Comparar números y 2. Salir del programa., al escoger la opción 1, permitirá al usuario
digitar tres números que estarán representadas por tres variables que serán (a,b,c) y el programa
procederá a analizar cuál de ellos es el mayor , si todos los números son iguales, si los números a y
b son iguales pero a y b son mayores que c, si los números a y b son iguales pero c es mayor que a y
b, si los números a y c son iguales pero b es mayor que a y c, si los números a y c son iguales pero b
es menor que a y c, si los números b y c son iguales pero a es mayor que b y c, si los números b y c
son iguales pero c y b son mayores que a.
Datos de entrada
printf("Ingrese el valor del numero a:\n");/*Funcion printf muestra en pantalla un mensaje para
preguntar por el valor de la variable a*/
23
scanf("%d", &a);/*Función que permite leer datos por teclado en este caso de la variable a*/
printf("Ingrese el valor del numero b:\n");/*Funcion printf muestra en pantalla un mensaje para
preguntar por el valor de la variable b*/
scanf("%d", &b);/*Función que permite leer datos por teclado en este caso de la variable b*/
scanf("%d", &c);/*Función que permite leer datos por teclado en este caso de la variable c*
Datos de proceso.
Datos de salida.
24
printf("los números a y c son iguales pero b es mayor que a y c \n\n")
25
retorna nada*/
void menor (float a, float b, float c); /*Declaracion de prototipo de la funcion menor del
programa, variable global con datos de tipo flotante, la funcion no
retorna nada*/
void igual (float a, float b, float c); /*Declaracion de prototipo de la funcion igual del programa,
variable global con datos de tipo flotante, la funcion no
retorna nada*/
main()/*Definicion de la funcion principal del programa, indispensable en cualquier programa en
C, define la funcion principal del
programa en lenguaje C, dirige el algoritmo que da estructura al programa*/
{
int op;
system("color 9A"); // fondo Rojo, letra blanco brillante (F) 26
printf("Grupo 57\n\n");/*Mensaje de apertura*/
printf("Urreste Daniel\n\n");/*Mensaje de apertura*/
printf("Montaño Jose\n\n");/*Mensaje de apertura*/
printf("Diego Cruz\n\n");/*Mensaje de apertura*/
printf("Jhon Aguirre\n\n");/*Mensaje de apertura*/
printf("Jose Vallejo\n\n");/*Mensaje de apertura*/
printf("Introduccion a la Programacion_ UNAD\n\n");/*Mensaje de apertura*/
printf("Programa Comparativo de 3 Numeros\n\n");/*Mensaje de apertura*/
while(op!=2)
{
26
system("cls"); //Limpia la pantalla.
if(op!=2)
switch(op)
{
case 1: printf("Ingrese el valor del numero a:\n");/*Funcion printf muestra en pantalla un
mensaje para preguntar por el valor de la variable a*/
scanf("%d", &a);/*Funcion que permite leer datos por teclado en este caso de la variable
a*/
printf("Ingrese el valor del numero b:\n");/*Funcion printf muestra en pantalla un mensaje
para preguntar por el valor de la variable b*/
scanf("%d", &b);/*Funcion que permite leer datos por teclado en este caso de la variable
b*/
printf("Ingrese el valor del numero c:\n");/*Funcion printf muestra en pantalla un mensaje
para preguntar por el valor de la variable c*/ 27
scanf("%d", &c);/*Funcion que permite leer datos por teclado en este caso de la variable
c*/
27
if(a==b && a<c)/*Condicional, si dos de los 3 numeros son iguales*/
printf("los numeros a y b son iguales pero c es mayor que a y b\n\n");/*Funcion printf,
funcion estandar de salida, muestra en pantalla el mensaje en caso de que se
cumpla la condicion evaluada*/
else /*Si no se cumple la condicion */
28
if(a>b && a>c)/*Condicional, evalua si el dato a es el mayor*/
printf(" El valor de a es mayor\n\n");/*Funcion printf, funcion estandar de salida, muestra
en pantalla el mensaje en caso de que se
cumpla la condicion evaluada*/
else /*Si no se cumple la condicion */
break;
case 2: break;
}
}
29
Pantallazos funcionamiento Programa ejercicio 2.
En la figura 7 se muestra el mensaje de bienvenida del programa construido en el software Falcón
C++, donde se enlistan además los nombres de los integrantes del grupo de trabajo que participaron
en su construcción.
Figura 8. Funcionamiento del programa cuando todos los números son iguales.
30
En la figura 9 se muestra la situación en que el número a es el número mayor de los tres.
Figura 10. Ejecución del programa en el caso que el número b sea el mayor.
31
En la figura 11 se muestra la situación en que el número c es el número mayor de los tres.
Figura 11. Ejecución del programa en el caso que el número c sea el mayor.
En la figura 12 se muestra el caso en que los números a y b son iguales, pero mayores al número c.
32
Figura 12. Ejecución del programa en el caso de los números a y b iguales y mayores que c.
32
En la figura 13 se muestra el caso en que los numero a y b son iguales pero menores al número c.
Figura 13. Ejecución del programa en el caso de los números a y b iguales y menores que c.
33
En la figura 14 se muestra el caso en que los números b y c son iguales y mayores que a.
Figura 14. Ejecución del programa cuando los números b y c son iguales y mayores que a.
33
En la figura 15 se muestra el caso en que los números b y c son iguales pero menores que a.
Figura 15. Ejecución del programa cuando los números b y c son iguales y menores que a.
34
En la figura 16 se muestra el caso en que los números a y c son iguales y mayores que b.
Figura 16. Ejecución del programa cuando los números a y c son iguales y mayores a b.
34
En la figura 17 se muestra el caso en que los números a y c son iguales y menores que b.
Figura 17. Ejecución del programa cuando los números a y c son iguales y menores a b.
35
35
Conclusiones.
El desarrollo de la fase 1 del curso académico Introducción a la programación permite al
estudiante afianzar conocimiento previos necesarios para el desarrollo de las temáticas del
curso, en especial en cuanto se refiere al desarrollo de algoritmos a través de seudocódigo y
diagramas de flujo, para la solución de situaciones que puedan resolverse a través de ellos.
A través del desarrollo de algoritmos se halló la forma de encontrar la mejor solución a los
problemas planteados dentro de la actividad correspondiente a la fase 1 del curso se, además
se evidencio diferentes técnicas de complejidad, variedad y alternativa para la solución, por
eso un algoritmo es el conjunto de operaciones y procedimientos que debemos seguir para
resolver un problema, es por ellos que debemos de estudiarlo, analizarlo y conocerlo.
A través del desarrollo del presente documento, el estudiante pudo reconocer el entorno de
trabajo del software Falcón C++, identificando la forma de definición de variables, de
construcción de un programa, como compilarlo y ejecutarlo.
El estudiante desarrollo habilidades primarias de programación en C++, mediante la
construcción de un algoritmo simple, que compara números y define cual es el mayor de
ellos, menor o si son iguales. A través de la construcción de este programa el estudiante 36
identifico la estructura de un programa en C++, los comando utilizados, la librerías a utilizar
y demás aspectos relevantes para desarrollar un programa en este lenguaje de programación
con éxito.
36
Bibliografía.
Joyanes Aguilar, L & Zahonero Martínez, I. (2000). Programación en C. Madrid:
McGraw-Hill.
37
37