INSTITUTO
TECNOLÓGICO
DE
MINATITLAN

ING. EN SISTEMAS
COMPUTACIONALES
DISEÑO
ESTRUCTURADO DE ALGORITMOS
Programas
CATEDRÁTICO:
JOSÉ ÁNGEL TOLEDO ÁLVAREZ
PRESENTA:
JHOANA CORTEZ
FLORES
Minatitlan ,Ver.
abril de 2004
Realiza un algoritmo que nos determine
si un numero entero leído de teclado es o no primo. Un numero es compuesto en
cuanto que tiene algún divisor distinto de si mismo o la unidad.
Análisis del problema:
Datos de entrada:
Numero (n)
Proceso:
n % 2 = m
Datos de salida:
El Valor de m
Diseño de la solución:
El numero es compuesto
Si_no el numero es primo
Codificación:
# include <studio.h>
# include
<conio.h>
int n, m ;
main ()
{
clrscr();
printf (“Bienvenido”/n);
printf (“Introduce el numero”/n);
scanf (“%d”,& n);
m = n % 2;
if (m=0)
printf (“Es un número compuesto”);
else
printf (“Es un número primo”);
getch();
return(0);
}
Diseña un algoritmo que
calcule las áreas de un circulo , un cuadrado y un triangulo.
Análisis del problema:
Datos de entrada:
Radio (r)
Lado (l)
Base (b)
Altura (h)
Procesos:
A1 = pi
* r * r
A2 = l * l
A3 = b * h / 2
Datos de salida:
A1 A2 A3
Diseño de la solución:
Escribe “Bienvenido aquí
calcularas el área de un circulo”
Escribe “Introduce el valor
del radio”
Lee r
Calcular A1 = pi * r * r
Escribir “El resultado
es:” A1
Escribir “Bienvenido
aquí calcularas el área de un cuadrado”
Escribe “Introduce el
valor del lado”
Lee l
Calcular A2 =
l * l
Escribir “El resultado
es:” A2
Escribir “bienvenido
aquí calcularemos el área de un triangulo””
Escribe “Introduce el
valor de la base”
Lee b
Escribe “Introduce el
valor de la altura”
Lee h
Calcular A = b * h / 2
Escribir “El resultado
es:” A3
Salir
Codificacion:
# include <studio.h>
# include <conio.h>
int r, l, b, h, A1,
A2, A3 opc ;
main()
{
clrsc();
printf (“Elige una opción 1)Circulo
2)Cuadrado 3)Triangulo 4)salir”/n);
scanf (“%d”, & opción);
if (opc == 1);
{
printf (“Bienvenido aquí calcularemos el
área de un circulo”/n );
printf (“Introduce el radio”/n);
scanf
(“%d”, & r);
A1 =
pi * r * r
Printf
(“%d”, A1);
}
if (opc == 2);
{
printf (“Bienvenido aquí calcularemos el
área de un cuadrado”/n);
printf (“introduce lado”/n);
scanf
(“%d”, & l);
A2
= l * l
printf
(“%d”, A2);
}
if (opc ==
3);
{
printf (“Bienvenido aquí calcularemos el
área de un triangulo”/n);
printf (“Introduce la base”);
scanf
(“%d”,&b);
printf
(“Introduce la altura”);
scanf
(“%d”,&h);
A3
= (b * h )/2
Printf
(“%d”, A3);
}
if (opc ==
4);
{
printf
(“Salir”/n);
scanf (“%c”,& Salir);
}
getch();
return(0);
}
Suponiendo que nuestro
compilador no tiene la función seno podríamos calcular el seno de x mediante la
siguiente serie:
Sen (x) = x - x3/3!
+ x5/5! –x7/7!
( Hasta 17 términos )
X
( Angulo en radianes )
Escribir un algoritmo
que calcule el seno de x empleando la serie especificada.
Análisis de la solución:
Datos de entrada:
Valor de x en radianes
Proceso:
Calcular sen(x)= x – x3/3! + x5/5!
– x7/7! (solo hasta 17 términos)
Datos de salida:
Sen(x)
Diseño de la solución:
0.Inicio
1.Escribir “Hola que tal
bienvenido”
2.Escribir “Introduce el
valor de x”
3.Leer x
4.Acumulador = x
5.Contador =1; i=1;
6.Hacer
i=i+2, contador = contador + 1
auxiliar = -(xi / Factorial (i)), acumulador =
acumulador + auxiliar
i = i +2, contador = contador + 1;
auxiliar = xi / Factorial (i),
acumulador = acumulador + auxiliar
Mientras (contador <= 17)
7.Escribir “El resultado
es,”acumulador
8.Fin
Factorial (n)
Si n=2
Regresar el valor de 2
Si_no
Desde i = 0 hasta n
Acumulador =
acumulador * i
Regresar el valor de
acumulador
Codificación:
# include <studio.h>
# include <conio.h>
int fact (int n);
int i, contador;
float x, auxiliar,
acumulador, resultado;
main()
{
clrscr();
printf (“Introduce el valor de x”/n);
sacnf (“%f”,
& x);
i =
1
acumulador = x;
contador = i;
do
{
i = i +2;
contador = contador + 1;
auxiliar = -(pow (x,i)/fat(i));
acumulador = acumulador + auxiliar;
i= i + 2;
contador = contador + 1;
auxiliar =
pow (x,i)/fact (i),
acumulador = acum,ulador + auxiliary;
}
while (contador <=17);
print (“El resultado , es: %4f, acumulador);
getch();
}
int fat (int
n)
{int I, acumulador;
if (n ==2)
return 2;
else
{ for (i = 1;
i < n; i ++)
{acumulador = acumulador * i
}
return acumulador;
}
}
Realiza un programa que haga la conversión de ºC a ºF y ºF a ºC
Análisis del problema:
Datos de entrada:
Los valores de : C , F
Procesos:
F = (c * 1.8) + 32
C = (F –32) / 1.8
Datos de salida:
Los
resultados de F y C
Diseño de la solución:
0.Inicio
1.Escribir “Hola!!!!! ”
2.Escribir “Elige una
opción”
1)Conversión de C a F
2)Conversión de F a C
3.Leer opción
4.Si opción = 1
Escribir “Conversión de C a F”
Escribir “Introducir grados centígrados”
Leer C
F = C * 1.8 + 32
Escribir “El resultado es,” F
5.Si
opción = 2
Escribir “Conversión de F a C”
Escribir “Introduce grados Fahrenheit”
Leer F
C = (F – 32) /1.8
Escribir “El resultado es,” C
6.Fin
Codificación:
# include
<studio.h>
# include
<conio.h>
int C, F, opc ;
main()
{
clrsc();
printf (“Bienvenido”/n);
printf (“Elija una opción 1)Convertir de C a
F 2)Convertir de F a C”/n);
scanf (“%d”,
& opc);
if
(opc == 1)
{
printf (“Conversión de C a F”/n);
printf (“Introducir grados centígrados”/n);
scanf (“%d”,
& C);
F
= C * 1.8 + 32
Printf (“El resultado es,” F);
}
if (opc == 2)
{
printf (“Conversión de F a C”/n);
printf (“Introducir grados Fahrenheit”/n);
scanf (“%d”,
& F);
C
= (F – 32) /1.8
Printf (“El resultado es,” C);
}
getch();
return(0);
}
Realiza un programa que resuelva las siguientes ecuaciones:
a)
x + (q2/ r) b) w + m * n /4 v c) z * a2 / 5/b +c
Análisis del problema:
Datos de entrada:
Los valores de : x, q, r, w, m, n, v, z, a, b, c
Procesos:
a) x + (q
* q) / r
b) w + (m * n) / (4 * v)
c) z * (a
* a) / ((5/b) + c)
Datos de salida :
Resultados de las ecuaciones R1
R2 R3
Diseño de la solución:
0.inicio
1.Escribir ”Bienvenido”
2.Hacer
3.Escribir ”Elige una
opción”
1) R1 = x + (q
* q) / r
2) R2=
w + (m * n) / (4 * v)
3) R3 = z * (a * a) / ((5/b) +
c)
4)Salir
4.Leer opción
5.Si la opción es 1
Escribir “Dame x”
Leer x
Escribir “Dame q”
Leer q
Escribir “Dame r”
Leer r
Se realiza el calculo R1 = ( x +
(q * q) )/ r
Escribir “El resultado es,” R1
6.Si la opción es 2
Escribir “Dame w”
Leer w
Escribir “Dame m”
Leer m
Escribir “Dame n”
Leer n
Escribir “Dame v”
Lee v
Se realiza el calculo R2 = ( w +
(m * n) )/ (4 *v)
Escribir “El resultado es,” R2
7.Si la opción es 3
Escribir “Dame z”
Leer z
Escribir “Dame a”
Leer a
Escribir “Dame b”
Leer b
Escribir “Dame c”
Leer c
Se realiza el calculo R3 = (z *
(a *a) )/ ((5 / b) +c)
Escribir “El resultado es,” R3
8.Mientras opción sea !=
4
9.Fin
Codificación:
#
include <studio.h>
# include
<conio.h>
# include
<math.h>
int x, q, r, w, m, n, v, z, a, b, c
main()
do
{
clrscr();
Printf (“Bienvenido”/n);
Printf (“Elige una opción” /n);
Printf (“1) R1 = x + (q * q) / r”/n);
Printf (“2) R2= w + (m * n) / (4 * v)”/n);
Printf (“3) R3 = z * (a * a) /
((5/b) + c)”/n);
Printf (“4)Salir” /n);
Scanf (“%d”, & opc);
if (opc == 1)
{
printf (“Dame x” /n);
scanf (“%d”, & x);
printf (“Dame q” /n);
scanf (“%d”, & q);
printf (“Dame r” /n);
scanf (“%d”, & r);
R1 = x + (q * q) / r
printf (“El resultado es”, R1);
}
if
(opc == 2)
{
printf (“Dame w”/n);
scanf (“%d”, & w);
printf (“Dame m” /n);
scanf (“%d”, & m);
printf (“Dame n” /n);
scanf (“%d”, & n);
printf (“Dame v” /n);
scanf (“%d”, & v);
R2=
w + (m * n) / (4 * v)
printf (“El resultado es”, R2);
}
if
(opc == 3)
{
printf (“Dame z”/n);
scanf (“%d”, & z);
printf (“Dame a” /n);
scanf (“%d”, & a);
printf (“Dame b” /n);
scanf (“%d”, & b);
printf (“Dame c” /n);
scanf (“%d”, & c);
R3 = z * (a * a) /
((5/b) + c)
printf (“El resultado es”, R3);
}
while
(opc != 4);
getch();
return(0);
}
Realiza un programa que
de la oportunidad al usuario de calcular 5 magnitudes físicas diferentes.
Análisis del problema:
Datos de entrada:
Los valores de: v, t, T, m , r, s
Proceso:
a = v / t
F = 1 / T
p = m / v
I = v / r
v = s / t
Datos de salida:
a, F, p, I,
v
Diseño de la solución:
0.Inicio
1.Escribir “Bienvenido”
2.Hacer
3.Escribir “Elige una
opción ”
1)Aceleración
2)Frecuencia
3)Velocidad
4)Densidad
5)Intensidad
6)Salir
4.Leer opción
5.Si la opción = 1
Escribir “Introduce velocidad”
Leer v
Escribir “Introduce tiempo”
Leer t
Calcular a = v / t
Escribir “El resultado es, “ a
6.Si la opción = 2
Escribir “Introduce Periodo”
Leer T
Calcular F = 1 / T
Escribir “El resultado es,” F
7.Si la opción = 3
Escribir “Introduce Distancia”
Leer s
Escribir “Introduce Tiempo”
Leer t
Calcular v = s / t
Escribir “El resultado es,” V
8.Si la opción = 4
Escribir “ Introduce
masa”
Leer m
Escribir “Introduce volumen”
Leer v
Calcular p = m / v
Escribir “El resultado es,” p
9.Si la opción = 5
Escribir “Introduce Voltaje ”
Leer v
Escribir “Introduce Resistencia”
Leer r
Calcular I = v / r
Escribir “El resultado es,” I
10.Mientras opción sea != 6
11.Fin
Codificación:
# include <studio.h>
# include<conio.h>
int v, t, T, m
, r, s, opc;
main()
do
{
clrscr();
printf (“Bienvenido”/n);
printf (“Elige una opción a calcular”/n);
printf (“1)Aceleración”/n);
printf (“2)Frecuencia”/n);
printf (“3)Velocidad”/n);
printf (“4)Densidad”/n);
printf (“5)Intensidad”/n);
scanf (“%d”,
& opc);
if (opc == 1)
{
printf (“Introduce velocidad”);
scanf (“%d”, & v);
printf (“Introduce tiempo”);
scanf (“%d”,& t);
a = v / t
printf (“El resultado es: %d”, & a);
}
if (opc == 2)
{
printf (“Introduce Periodo”);
scanf (“%d”, & T );
F = 1 / T
Printf (“El resultado es, %d”, & F);
}
if (opc == 3)
{
printf (“Introduce Distancia”);
scanf (“%d”, & s );
printf (“Introduce tiempo”);
scanf (“%d”, & t );
v = s / t
Printf (“El resultado es, %d”, & v);
}
if (opc == 4)
{
printf (“ Introduce masa”);
scanf (“%d”, & m );
printf (“Introduce volumen”);
scanf (“%d”, & v );
p = m / v
Printf (“El resultado es, %d”, & p);
}
if (opc == 5)
{
printf (“Introduce Voltaje”);
scanf (“%d”, & v );
printf (“Introduce Resistencia”);
scanf (“%d”, & r );
I = v / r
Printf (“El resultado es, %d”, & I );
}
while (opc !=6);
getch();
return(0);
}
Realiza un programa
(metodológicamente) que obtenga la nomina semanal - salario neto de los
empleados de una empresa cuyo, trabajo se paga por horas y del modo siguiente:
1.- Las horas
inferiores o iguales a 35 horas (normales) se pagan a una tarifa determinada
que se debe introducir por teclado al igual que el numero de horas y el nombre
del trabajador.
2.- Las horas
superiores a 35 se pagan como extras al precio de las horas normales.
3.- Los impuestos a
deducir a los trabajadores varían en función de su sueldo mensual:
·
Sueldo mensual
<= 20 000, libre de impuesto
·
Los siguientes 15
000 pesos al 20%
·
El resto al 30%
Análisis del problema:
Datos de entrada:
Nombre del empleado (nom_emp)
Horas trabajadas (hrs_t)
Precio por hora (prec_hr)
Proceso:
Hrs_t <=35
S_S = hrs_t *
prec_hr
Hrs_t >35
Hrs_ext = hrs_t -
35
S_hrs_ext= hrs_ext
* (prec_hr * 1.5)
S_S1 = (hrs_tr *
prec_hr) + prec_hrs_ext
S_M <=20 000
S_M >=20 000 y
S_M <= 35 000
Imp = S_M * .2
S_N = S_M – imp
S_M > 35
000
Imp = S_M * .3
S_N = S_M - imp
Datos de salida:
Nombre del empleado (nom_emp)
Salario neto (S_N)
Diseño e la solución:
0.Inicio
1.Realizar 4 veces
2.Escribir “Nombre del
empleado”
3.Leer nom_emp
4.Escribir “Introduce
Horas trabajadas”
5.Leer hrs_t
6.Escribir “Introduce
Precio de hora”
7.Leer prec_hr
8.Si
hrs_t <= 35
S_S = hrs_t
* prec_hr
S_M = S_M
+S_S
9.Si hrs_t >35
hrs_ext =
hrs_t -35
S_N = 35 *
prec_hr
S_ext
= hrs_ext * (prec_hr * 1.5)
S_S = S_N +
S_ext
S_M = S_M +
S_S
10.Si S_M <= 20 000
Escribir
“S_N = S_N”
si S_M >
20 000 y S_M <=35 000
imp = S_M *
.2
S_N = S_M –
imp
Escribir
“S_N= S_N”
11.Si S_M > 35 000
imp = S_M * .3
S_N = S_M – imp/
Escribir “S_N = S_N”
12.Fin
Codificación:
#Include<stdio.h>
#Include<conio.h>
int hrs,hrs_ext,i;
float sal_sem,
sal_hrs_ext, sal_sem_net, imp, sal_net;
main ( )
{
float sal_men=0;
for ( i=0; i<4; i++)
{
printf
(“Introduzca el Nombre del Empleado”/n);
scanf (“%s”, & nom_emp);
printf
(“Introduzca las Horas Trabajadas”/n);
scanf (“%d”, & hrs_t);
printf (“Introduzca el
Precio por hora”/n);
scanf (“%f”, & prec_hr);
if (hrs <= 35)
{
S_S = hrs_t * prec_hr
S_M = S_M + S_S
}
if (hrs > 35)
{
hrs_ext = hrs_t – 35
S_N = 35 * S
S_ext= hrs_ext * (hrs *1.5)
S_S = S_Ext + S_N
S_M = S_M + S_S
}
}
if (S_M <= 20 000)
{
printf (“S_N = %f”, S_M);
}
if (S_M > 20 000) && (S_M <=
35 000)
{
imp = S_M * .2
S_N = S_M – imp
printf(“S_N =%f”,S_N);
}
if (S_M > 35 000)
{
imp = S_M * .3
S_N = S_M – imp
printf (“S_N = %f”, S_N);
}
return (0);
}
Diseñar un
algoritmo(como propuesta de sistema) susceptible de ser programado para llevar
el control de las compras y ventas de una tienda de computo.
Dentro del análisis
explicar cuales son los tipos de datos que emplearon como variables,
constantes(si las hay), como lo emplearon dentro del algoritmo y que
operaciones tendrá que realizar (tipo de operaciones).
Análisis del problema:
Datos de entrada:
Constantes:
ccomp. = 5000 cimp = 500
cmouse = 25 ctecl = 50 cmoni = 800
vcomp. = 10000 vimp = 1000
vmouse = 50 vtecl = 100 vmoni = 1500
v
Son datos de tipo
numérico real los precios de los artículos y carácter el nombre de los
artículos
Procesos
Subtotal = subtotal + opción * articulo
IVA = subtotal * .15
TOTAL = subtotal + IVA
Datos de salida:
Subtotal = subtotal +
opción * articulo
IVA = subtotal * .15
TOTAL = subtotal + IVA
Diseño de la solución:
0.Inicio
1.Escriba “Bienvenido a tu tienda de compra – venta Jhoana”
2.Escribir “ Que operación desea realizar ”
3.Escribir “1) Comprar 2) Vender 3) Salir”
4.Leer opción
5.Si la opción es 1
Escribir “Bienvenido a
compras”
Escribir “ Que articulo desea
comprar “
Escribir “1.Computadoras”
Leer ccomp.
Escribir “2.Monitores”
Leer cmoni
Escribir “3.Impresoras”
Leer cimp
Escribir “4.Teclado”
Leer ctecl
Escribir “5.Mouse”
Leer cmouse
Escribir “6.Salir”
Leer Salir
6.Si opción 1=1
Escribir “Cuantos artículos
desea comprar”
Leer cantidad
Calcular Subtotal = comp
* cantidad Iva = subtotal *
.15 Total = subtotal + IVA
7.Si opción 1=2
Escribir “Cuantos articulos
desea comprar”
Leer cantidad
Calcular Subtotal = cmoni
* cantidad Iva = subtotal * .15 Total = subtotal + IVA
8.Si opción 1=3
Escribir “Cuantos articulos
desea comprar”
Leer cantidad
Calcular Subtotal = cimp
* cantidad Iva = subtotal *
.15 Total = subtotal + IVA
9.Si opción 1=4
Escribir “Cuantos articulos
desea comprar”
Leer cantidad
Calcular Subtotal = ctecl
* cantidad IVA = subtotal *
.15 Total = subtotal + IVA
10.Si opción 1=5
Escribir “Cuantos articulos
desea comprar”
Leer cantidad
Calcular Subtotal = cmouse
* cantidad IVA = subtotal * .15 Total = subtotal + IVA
11.Si opción 1=6
Regresa al menú principal
12.Si opción = 2
Escribir “Bienvenido a
ventas”
Escribir “ Que articulo
desea vender”
Escribir “1.Computadoras”
Leer vcomp.
Escribir “2.Monitores”
Leer vmoni
Escribir “3.Impresoras”
Leer vimp
Escribir “4.Teclado”
Leer vtecl
Escribir “5.Mouse”
Leer vmouse
Escribir “6.Salir”
Leer Salir
13.Si opción 2 = 1
Escribir “Cuantos artículos
desea vender”
Leer cantidad
Calcular Subtotal = vcomp
* cantidad IVA = subtotal *
.15 Total = subtotal + IVA
14.Si opción 2=2
Escribir “Cuantos artículos
desea vender”
Leer cantidad
Calcular Subtotal = vmoni
* cantidad IVA = subtotal * .15 Total = subtotal + IVA
15.Si opción 2=3
Escribir “Cuantos articulos desea vender”
Leer cantidad
Calcular Subtotal = vimp
* cantidad IVA = subtotal *
.15 Total = subtotal + IVA
15.Si opción 2=4
Escribir “Cuantos articulos
desea vender”
Leer cantidad
Calcular Subtotal = vtecl
* cantidad IVA = subtotal *
.15 Total = subtotal + IVA
16.Si opción 2=5
Escribir “Cuantos articulos
desea vender”
Leer cantidad
Calcular Subtotal = vmouse
* cantidad IVA = subtotal * .15 Total = subtotal + IVA
17.Si opción 1=6
Regresa al menú principal
18.Si la opción es 3
Escribir “Salir”
Leer Salir
Codificación:
# include <stdio.h>
# include <conio.h>
# include <process.h>
/* DECLARACION DE CONSTANTES*/
const vcomp =10000,
vimp =1000, vmouse =50, vtecl =100, vmoni =1500;
const ccomp =5000,
cimp =500, cmouse =25, ctec l=50, cmon i=800;
/*DECLARACION DE VARIABLES*/
int
opcion,op2,cant=0,subtotal=0;
float iva, total;
void main()
{
men_prin:
clrscr();
printf("\n QUE OPERACION DESEA REALIZAR \n 1.- COMPRAR \n 2.- VENDER \n 3.- SALIR \n ");
gotoxy(7,6);scanf("%d",&opcion);
/* INICIO
DE COMPRAS*/
if(opcion==1)
{
menu:
clrscr();
printf("\nBIENVENIDO A COMPRAS");
printf("\n\nQUE ARTICULO DESEA COMPRAR\n");
printf("\n1.-COMPUTADORAS");
printf("\n2.-MONITORES");
printf("\n3.-IMPRESORAS");
printf("\n4.-TECLADOS");
printf("\n5.-MOUSE");
printf("\n6.-SALIR ");
gotoxy(4,12);scanf("%d",&op2);
if(op2==1) // compra de
computadoras
{
printf("\nCUANTOS
ARTICULOS DESEA COMPRAR ");
scanf("%d",&cant);
subtotal= ccomp*cant;
goto
opera1;
}
if(op2==2) // compra de
monitores
{
printf("\nCUANTOS ARTICULOS DESEA COMPRAR ");
scanf("%d",&cant);
subtotal=subtotal
+ cmoni*cant;
goto
opera1;
}
if(op2==3) // compra de impresoras
{
printf("\nCUANTOS ARTICULOS DESEA COMPRAR ");
scanf("%d",&cant);
subtotal=subtotal + cimp*cant;
goto opera1;
}
if(op2==4) // compras de teclados
{
printf("\nCUANTOS ARTICULOS DESEA COMPRAR ");
scanf("%d",&cant);
subtotal=subtotal + ctecl*cant;
goto opera1;
}
if(op2==5) // compras de mouse
{
printf("\nCUANTOS ARTICULOS DESEA COMPRAR ");
scanf("%d",&cant);
subtotal=subtotal + cmouse*cant;
goto opera1;
}
if(op2==6) // por si no compra nada
{
goto men_prin;
}
opera1: /* etiqueta de inicio delas poperaciones*/
iva =
subtotal* 0.15;
total=
subtotal + iva;
printf("\n El total es: $ %d",subtotal);
printf("\n El iva es :
$ %f ",iva);
printf("\n El total a pagar es: $ %f ",total);
printf("\ngracias por su compra");
getch();
goto menu;
} /* FIN DE COMPRAS*/
/*INICIO DE VENTAS*/
if(opcion==2)
{
menu2:
clrscr();
printf("\nBIENVENIDO A VENTAS");
printf("\n\nQUE ARTICULO DESEA VENDER\n");
printf("\n1.-COMPUTADORAS");
printf("\n2.-MONITORES");
printf("\n3.-IMPRESORAS");
printf("\n4.-TECLADOS");
printf("\n5.-MOUSE");
printf("\n6.-SALIR ");
gotoxy(4,12);scanf("%d",&op2);
if(op2==1) // SI VENDE COMPUTADORAS
{
printf("\nCUANTOS ARTICULOS DESEA VENDER ");
scanf("%d",&cant);
subtotal= vcomp*cant;
goto opera;
}
if(op2==2) // SI VENDE MONITORES
{
printf("\nCUANTOS ARTICULOS DESEA VENDER ");
scanf("%d",&cant);
subtotal=subtotal + vmoni*cant;
goto opera;
}
if(op2==3) // SI VENDE IMPRESORAS
{
printf("\nCUANTOS ARTICULOS DESEA VENDER ");
scanf("%d",&cant);
subtotal=subtotal + vimp*cant;
goto opera;
}
if(op2==4) // SI VENDE TECLADOS
{
printf("\nCUANTOS
ARTICULOS DESEA VENDER ");
scanf("%d",&cant);
subtotal=subtotal + vtecl*cant;
goto opera;
}
if(op2==5) // SI VENDE
MOUSEïS
{
printf("\nCUANTOS ARTICULOS DESEA VENDER
");
scanf("%d",&cant);
subtotal=subtotal + vmouse*cant;
goto opera;
}
if(op2==6)
{
goto men_prin;
}
/* INICIO DE OPERACIONES DE VENTAS*/
opera:
iva = subtotal* 0.15;
total= subtotal + iva;
printf("\n
El total es: $ %d",subtotal);
printf("\n El iva es :
$ %f ",iva);
printf("\n El total a pagar es: $ %f ",total);
printf("\ngracias por su VENTA");
getch();
goto menu2;
} /* FIN DE VENTAS*/
if(opcion==
3)
exit(1);}
Dado que el valor de e
^ x (es decir ex ) se puede aproximar por la suma : 1 + x + x ^ 2/2 ! + x ^ 3/ 3 ! + ....... + x ^ n/n !
Escribir un algoritmo que forme el valor de x y
calcule e ^ x, mediante el método expuesto y empleando los términos necesarios
hasta que x ^ n/n ! sea menor que 0.01
Datos de entrada:
El Valor de x
Proceso
Suma + X!/¡!
Datos de Salida
Resultado de la suma
Diseño de la solución:
0.Inicio
1.Escribir (“Introduce el valor de X”)
2.Leer x
3.Cont = 2
4.suma = 1+X
5.Realizar
6.Suma = suma + (x ^ cont) / factorial
(cont)
7.Mientras (((x ^ cont) / factorial ( cont
) ) < 0.01)
8.Escribir (“El resultado es :” suma)
9.Fin
Codificación:
#include
<stdio.h>
#include <conio.h>
#include <math.h>
int factorial(int n);
void main()
{
int cont=0,x;
float suma=0,fact;
clrscr();
printf("Introduce el valor de x: ");
scanf("%d",&x);
cont=2;
suma=1+x;
do{
fact=(pow(x,cont)/factorial(cont));
suma=suma+fact;
}while(fact<0.01);
printf("El resultado es: %.4f",suma);
getch();
}
int factorial(int n)
{
int i,aux=1;
if(n<=2){
return
n;
}
else{
for(i=1;i<=n;i++){
aux=aux*i;
}
return aux;
}
}
Realizar un
algoritmo susceptible de ser computarizado que calcule los salarios mensuales
de los empleados de una empresa, sabiendo que estos se calculan en base a las
horas semanales trabajadas y de un precio especificado por hora. Si se pasa de
40 horas semanales las horas extraordinarias se pagaran a razón de 1.5 veces la
hora ordinaria.
Análisis del problema:
Datos
de entrada:
Nom_emp, hrs_trab_sem, sal_hrs
Proceso:
Si
hrs_t <=40
Sal_sem = sal_hrs * hrs_t.
Sal_men = sal_men + sal_sem
Si
hrs_t > 40
Sal_sem = sal_hrs * 40
Sal_ext = (1.5 * sal_hrs) * hrs_ext
Sal_men = sal_men + (sal_sem + sal_ext)
Datos
de salida:
Nom_emp, sal_men.
Diseño de la
solución:
0.Inicio
Escribir“Introduce el Nombre del empleado”
Leer
“nom_emp”
Escribir
“Introduce Salario por hora”
Leer
“sal_hr”
1. Desde i = 1 hasta i <= 4 hacer
Escribir
“Introduce Horas trabajadas”
Leer “hrs_t”
2. Si (hrs_t <= 40)
sal_sem = hrs_t * sal_hr
sal_men = sal_men + sal_sem
3. Si_no
Hrs_ext = hrs_t – 40
sal_sem = 40 * sal_hr
sal_ext = hrs_ext * (1.5 * sal_hr)
sal_men = sal_men + Sal_sem + sal_ext
Escribir
“Nombre del empleado:” nom_emp
Escribir“Salario semanal:” sal_men
4. Fin
Codificación:
#
include <stdio.h>
#
include <conio.h>
int horas, horas_ext, i;
float sal_hr, sal_sem, sal_men, sal_ext;
char
nom_emp[50];
main()
{
clrscr();
printf("Introduce el nombre del
empleado: ");
gets(nom_emp);
printf("Introduce el salario por hora: ");
scanf("%f",&sal_hrs);
sal_men=0;
for (i=0; i < 4; i++)
{
printf("Horas trabajadas en la semana %d: ",i+1);
scanf("%d",&hrs_t);
if(hrs_t<=40)
{
sal_sem=hrs_t*sal_hrs;
sal_men=sal_men+sal_sem;
}
else
{
hrs_ext=hrs_t - 40;
sal_sem=40*sal_hrs;
sal_ext=hrs_ext*(1.5*sal_hrs);
sal_men=sal_men+(sal_sem+sal_ext);
}
}
printf("\nNombre del
empleado: %s",nombre);
printf("\nSalario mensual:
%.2f",sal_men);
getch();
}
Diseña un algoritmo susceptible de ser
computarizado que calcule las raíces de una ecuación de segundo grado mediante
la formula general.
Análisis del
problema:
Datos
de entrada:
Los
valores de a, b , c.
Procesos:
X1 = - b + sqrt ((b^2) – 4*a*c) / (2*a)
X2= - b - sqrt ((b^2) – 4*a*c) /
(2*a)
Datos
de salida
Los
resultados X1 y X2
Diseño de la solución:
0.inicio
1.Escribir “Bienvenidos”
2.Escribir “Introduce el valor de a”
3.Leer a
4.Escribir “Introduce el valor de b”
5.Leer b
6.Escribir “Introduce el valor de c”
7.Leer c
8.Calcular:
X1 = - b + sqrt ((b^2) – 4*a*c) / (2*a)
X2= - b -
sqrt ((b^2) – 4*a*c) / (2*a)
9.Escribir “Los resultados son:” X1 , X2
10.Fin
Codificación:
#
include <studio.h>
#
include <conio.h>
#
include <math.h>
int
a, b, c;
float X1 , X2
main()
{
clrscr();
printf (“Introduce el valor de a”/n);
scanf (“%d”, & a);
printf (“Introduce el valor de b”/n);
scanf (“%d”, & b);
printf (“Introduce el valor de c”/n);
scanf (“%d”, & c);
X1 = - b + sqrt
((b^2) – 4*a*c) / (2*a)
X2= - b -
sqrt ((b^2) – 4*a*c) / (2*a)
Printf (“El primer valor es:%f”, X1 );
Printf (“El segundo valor es:%f”, X2 );
getch();
return(0);
}
Realizar un programa
que permita al usuario calcular las áreas y losa perímetros de los triángulos :
rectángulos, isósceles, escaleno. Al termino de una operación , el usuario
deberá tener la oportunidad de valor al menú principal y realizar otro calculo.
Análisis del
problema:
Datos
de entrada:
Los
valores de :
Base
(b),
Altura
(h),
Lados
(l1,l2,l3).
Proceso:
A = (b * h) / 2 P = l1+ l2 + l3 P = 2 * l1+ l2
Datos
de salida:
Los
resultados de A y P
Diseño de la
solución:
0.Inicio
1.Escribir “Bienvenidos”
2.Escribir “Que desea realizar”
Hacer
a)Área
1)Triangulo
isósceles
2)Triangulo
escaleno
3)Triangulo
rectángulo
4)Salir
Mientras opción != 4
Hacer
b)Perímetro
1)Triangulo isósceles
2)Triangulo escaleno
3)Triangulo rectángulo
4)Salir
Mientras opción != 4
3.Leer opción
4.Si opción a = 1
Escribir “Introduce Base”
Leer b
Escribir “Introduce Altura”
Leer h
Calcular A = (b * h) / 2
Escribir “El resultado es:” A
5.Si opción a = 2
Escribir “Introduce Base”
Leer b
Escribir “Introduce Altura”
Leer h
Calcular A = (b * h) / 2
Escribir “El resultado es:” A
6.Si opción a = 3
Escribir “Introduce Base”
Leer b
Escribir “Introduce Altura”
Leer h
Calcular A = (b * h) / 2
Escribir “El resultado es:” A
7.Si opción a = 4
Escribir “Salir”
8.Si opción b = 1
Escribir “Introduce Lado 1”
Leer l1
Escribir “Introduce Lado 2”
Leer l2
Calcular P = (2 * l1)
+ l2
Escribir “El resultado es:”
P
9.Si opción b = 2
Escribir “Introduce Lado 1”
Leer l1
Escribir “Introduce Lado 2”
Leer l2
Escribir “Introduce lado 3”
Leer l3
Calcular P = l1+ l2 +
l3
Escribir “El resultado es:”
P
10.Si opción b = 3
Escribir “Introduce Lado 1”
Leer l1
Escribir “Introduce Lado 2”
Leer l2
Escribir “Introduce lado 3”
Leer l3
Calcular P = l1+ l2 +
l3
Escribir “El resultado es:”
P
11.Si opción b = 4
Escribir “Salir”
12.Fin
Codificación:
#include
<stdio.h>
#include <conio.h>
#include <math.h>
int opc ;
float l1,l2,l3 base, altura, area, perímetro ;
main()
{
clrscr();
printf("Bienvenido");
printf("Que desea realizar"/n);
do
{
printf("a) Área "/n);
printf("1)Triangulo isósceles
"/n);
printf("2)Triangulo escaleno
"/n);
printf("3)Triangulo
rectángulo"/n);
printf("4)Salir"/n);
printf("b) Perímetro "/n);
printf("1)Triangulo isósceles
"/n);
printf("2)Triangulo escaleno
"/n);
printf("3)Triangulo
rectángulo"/n);
printf("4)Salir"/n);
scanf("%d",&opc);
if(opc
a == 1)
{
printf("Introduce Base:"/n);
scanf("%f",&b);
printf("Introduce Altura:"/n);
scanf("%f",&h);
A =(b
* h)/2;
printf("El area es: %f",& A);
}
if(opc
a == 2)
{
printf("Introduce Base: "/n);
scanf("%f",&b);
printf("Introduce el valor de la
altura: "/n);
scanf("%f",&h);
A =(b * h)/2;
printf("El area es: %f",& A);
}
if
(opc a == 3)
{
printf("Introduce Base: "/n);
scanf("%f",&b);
printf("Introduce el
valor de la altura: "/n);
scanf("%f",&h);
A =(b * h)/2;
printf("El area es: %f",& A);
}
while
(opc a != 4)
}
do
{
if
(opc b == 1)
{
printf("Introduce Lado 1:"/n);
scanf("%f",& l1);
printf("Introduce Lado
2:"/n);
scanf("%f",& l2 );
P = (2 * l1)
+ l2
printf("El Perímetro es:
%f",& P);
}
if
(opc b == 2)
{
printf("Introduce Lado 1:"/n);
scanf("%f",&
l1);
printf("Introduce Lado
2:"/n);
scanf("%f",&
l2 );
printf("Introduce Lado 3:"/n);
scanf("%f",& l3 );
P = l1+
l2 + l3
printf("El Perímetro
es: %f",& P);
}
if
(opc b == 3)
{
printf("Introduce Lado 1:"/n);
scanf("%f",&
l1);
printf("Introduce Lado
2:"/n);
scanf("%f",&
l2 );
printf("Introduce Lado
3:"/n);
scanf("%f",&
l3 );
P = l1+
l2 + l3
printf("El Perímetro
es: %f",& P);
}
while
(opc a != 4)
}
getch();
return
(0);
}
Prueba
y Depuración
Es ejecutar el programa
para verificar que funcione adecuadamente, y si es lo contrario corregir los
errores que pueden ser sintaxis y de lógica.
Documentación
En esta documentación puede ser interna o externa
con el objetivo de guiar al usuario y al técnico para realizarle el
mantenimiento
Mantenimiento
En este se le hacen
mejoras al programa para que este mejor
día a día y para que sea de mas fácil manejo para el usuario, se le pueden
poner otras versiones y mucho mas.
Tipos de datos utilizados
Bueno pude observar que en cada problema se utilizaban frecuentemente los siguientes datos:
Entero ( int )
Es un conjunto finito de los números enteros. Los
enteros son números completos, no tienen componentes fraccionarios o decimales
y pueden ser negativos y positivos.
*Los cuales fueron utilizados en la
mayoría de los problemas para dar valores a las variables.
Real
(float)
Consiste en un subconjunto de los números reales. Estos números siempre
tienen un punto decimal y pueden ser positivos o negativos. Un número real
consiste de un número entero y una parte decimal.
*Lo cual se dan con mas
frecuencia en los resultados de las operaciones marcas a realizarse .
*Este fue
utilizado para especificar nombres como por ejemplo el Nombre del empleado
(nom_emp)
Los Operadores que se utilizaron son los siguientes:
Aritméticos: Relación:
*
Multiplicación < Menor que
/ División <=
Menor que o igual
+
Suma > Mayor que
- Resta >=
Mayor que o igual
%
Modulo
!= No igual
++ Incremento en i
-- Decremento en i