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:

 

  1. Inicio
  2. Escribir “ Bienvenido “
  3. Escribe “Introduce n”
  4. Leer n
  5. Calcular m = n % 2
  6. Si m = 0

El numero es compuesto

           Si_no el numero es primo

  1. Fin

 

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:

 

  1. Inicio
  2. Escribir “Hola!!! Bienvenido”
  3. Elige una opción: 1)Circulo 2)Cuadrado 3)Triangulo 4)Salir
  4. Leer opción
  5. si opción = 1

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

  1. si opción = 2

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

  1. si opción = 3

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

  1. Si opción = 4

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

 

Análisis del problema:

 

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 .

 

Cadena

Son los datos que representan información textual (palabras, frases, símbolos, etc). No representan valor alguno para efectos numéricos. Pueden distinguirse porque son delimitados por apóstrofes o comillas. Se clasifica en dos categorías :

Datos tipo carácter (char )

Es un conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato de este tipo contiene solo un carácter.

*Los cuales fueron mas representativos en para los contadores los cual solo utilizábamos una letra

Datos tipo cadena (string).

Es una sucesión de caracteres que se encuentran delimitados por una comilla (apóstrofe) o dobles comillas, según el tipo de lenguaje de programación.

*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

 

Hosted by www.Geocities.ws

1