viernes, 25 de octubre de 2013

1.12. Ejercicios con Si

En esta página veremos múltiples ejercicios que usan la estructura condicional Si, las estructuras como esta son también llamadas estructura de control, es necesario que las conozcamos y también entendamos sus usos, variantes y combinaciones.



Ejercicio 1. El Promedio

Un estudiante tiene dos calificaciones, el promedio de estas representa su calificación final, el promedio indica si el estudiante aprueba o desaprueba, hacer un algoritmo y programa que determine el promedio del estudiante e indique si aprobó o desaprobó.

Análisis:
  • Primero debemos tener las dos notas, en este caso n1 y n2, la cuales son nuestras entradas.
  • Ahora debemos calcular el promedio con la formula: promedio = (n1+n2)/2
  • Las condiciones son:
 Si promedio >=13
Sino 
Mostrar el mensaje: "Aprobado"Mostrar el mensaje: "Desaprobao"

  • También debemos mostrar el promedio como respuesta.

Diseño:
Algoritmo ElPromedio
Inicio
          Real n1, n2, promedio
          Leer(n1,n2)
          promedio = (n1+n2)/2
          Si promedio >= 13 Entonces
                    Escribir("Aprobado")
          Sino
                    Escribir("Desaprobado")
          FinSi
Fin


Código:

Notas:



Ejercicio 2. La División

Hacer un programa para dividir dos números, debemos tener presente que el denominador de la división no puede ser cero, en caso de que lo sea debe mostrarnos un mensaje que indique que la división no es posible.

Análisis:
  • Primero necesitamos dos números, a esto le llamaremos dato1 y dato2.
  • Ahora para realizar la división debemos tener en cuenta la condición que dato2 no sea cero, por tanto:
 Si dato1 != 0
Sino 
  • respuesta = dato1 / dato2
  • Mostramos respuesta como salida
Mostrar el mensaje: "La división no Existe"

  • Debemos recordar que solo podemos hacer la división y mostrar el resultado si dato2 es diferente de cero.

Diseño:
Algoritmo LaDivisiónDeNumeros
Inicio
          Real dato1, dato2
          Leer(dato1, dato2)
          Si dato2  !=  0  Entonces
                    respuesta = dato1/dato2
                    Escribir(respuesta)
          Sino
                    Escribir("La división no Existe")
          FinSi
Fin

Código:
        static void Main(string[] args)
        {
            double a, b, r;
            Console.Write("Ingresa A: ");
            a = double.Parse(Console.ReadLine());
            Console.Write("Ingresa B: ");
            b = double.Parse(Console.ReadLine());
            if (b != 0)
            {
                r = a / b;
                Console.WriteLine("La division es: " + r);
            }
            else
            {
                Console.WriteLine("NO se puede dividir...");
            }
            Console.ReadLine();
        }
Notas:


--En Construcción afuera

Ejercicio 3. La farmacia

Una farmacia hace un descuento a sus clientes según su edad, a todos aquellos mayores a 64 años se les hace el descuento del 7%, a los demás clientes el descuento solo es del 2%. Hacer un programa que permita calcular el pago de un medicamento al ingresar su precio y la edad del cliente.

Análisis:
  • Debes tener en cuenta que necesitamos la edad como entrada, también necesitamos ingresar el precio del medicamento, pues si no tenemos este dato no podemos hacer ningún calculo.
  • Las condiciones son:
 Si edad > 64
Sino 

  • descuento = precio * 7 / 100

  • descuento = precio * 2 / 100
Hora debemos proceder a calcular el total, aplicando el descuento con la siguiente formula:
  • total = precio - descuento
Variables de Entrada: edad, precio
Variables de Salida: descuento, total


Diseño:
Algoritmo LaFarmacia
Inicio
          Entero edad
          Real precio, descuento, total
          Leer(edad)
          Leer(precio)
          Si edad > 64 Entonces
                    descuento = precio * 7 / 100
          Sino
                    descuento = precio * 2 / 100
          FinSi
          total = precio - descuento
          Escribir(descuento)
          Escribir(total)
Fin

Código:

Notas:



Ejercicio 4. El Cine Nuevo

Un cine cobra dos tipos de tarifa, a los niños menores hasta los 13 años les cobra 5.5um, a los demás les cobra 8.8um, se debe tener en cuenta que una parte de este ingreso es un impuesto que se debe pagar al estado, el cual asciende a 10%. hacer un programa para calcular el costo que pagarán los clientes y cuanto recibe la empresa realmente como utilidad.

Análisis:
  • En este ejercicio la edad es importante y necesitamos conocerla, por tanto podemos tener las siguientes condiciones:
 Si edad <= 13
Sino 

  • cobro = 5.5

  • cobro = 8.8
Como el impuesto para los dos es el mismo, este no esta dentro de las condiciones:
  • impuesto = cobro * 10 / 100
Ahora calculamos la utilidad de la empresa:
  • utilidad = cobro - impuesto
Variables de Entrada: edad
Variables de Salida: impuesto, utilidad 


Diseño:
Algoritmo ElCine
Inicio
          Entero edad
          Real cobro, utilidad, impuesto
          Leer(edad)
          Si edad <= 13 Entonces
                    cobro = 5.5
          Sino
                    cobro = 8.8
          FinSi
          impuesto = cobro * 10 / 100
          utilidad = cobro - impuesto
          Escribir(impuesto, utilidad)
Fin


Código:

Notas:



  • Actividad 1. Hacer un algoritmo y programa que permita calcular la raíz cuadrada de un numero, debes considerar que no existe raiz cuadrada para números negativos. 
  • Actividad 2. Hacer un programa que indique el numero mayor de dos números ingresados.

martes, 22 de octubre de 2013

1.11. Estructura Condicional SI

Estructura Condicional Si

En programación normalmente necesitamos que un programa responda de diversas formas al cumplir ciertas condiciones, por tanto deberemos aprender a utilizar estructuras condicionales, la más útil de usar es la estructura Si.

Cuando usamos la estructura Si debemos tener en cuenta que esta evalúa una condición y luego realiza ciertas operaciones, pero si no se cumpliera la condición podría ejecutar operaciones distintas, esta estructura tiene la siguiente sintaxis:

Si  condición    Entonces
          Operación1
          Operación2
          .....
Sino
          OperaciónA
          OperaciónB
          ......
FinSi

Operadores Condicionales
Cuando hablamos de condiciones, debemos tener en cuenta como escribir las condiciones, para ello tenemos varios operadores que nos ayudarán a escribir estas:

  • >, significa mayor
  • <, significa menor
  • >=, significa mayor o igual
  • <=, significa menor o igual
  • !=, significa diferente
  • ==, significa igual
Ahora que ya tenemos presente la sintaxis y los operadores podemos realizar los ejercicios para entender mejor la estructura condicional.


Ejercicio 1. La Edad

Hacer un algoritmo y programa que al ingresar una edad, este nos indique si la persona es mayor o menor de edad.
Análisis:

  • Debemos leer la edad
  • Cuando la edad es mayor o igual a 18, entonces es mayor de edad, caso contrario es menor de edad.
Variables de Entrada: edad
Variables de Salida: no existen, solo son mensajes indicando si es mayor de edad o menor de edad.
Diseño:
Algoritmo LaEdad
Inicio
          Entero edad
          Leer(edad)
          Si edad >= 18 Entonces
                    Escribir("Es mayor de edad")
          Sino
                    Escribir("Es menor de edad")
          FinSi
Fin

Código:
         public static void Main(string[] args)
        {
            int edad;
            Console.Write("Ingresa la edad: ");
            edad = int.Parse(Console.ReadLine());
            if (edad >= 18)
            {
                Console.WriteLine("♦♦♦ Es mayor de edad ♦♦♦");
            }
            else
            {
                Console.WriteLine("♣♣♣ Es menor de edad ♣♣♣");
            }
            Console.ReadLine();
        }
Notas:

  • Como vemos en el ejercicio podemos observar que el operador si es if, el sino es else.
  • La condición siempre va entre parentesis y usamos llaves tanto para el if y para como para else
  • El if y else trabajan juntos, en algunos casos else puede no estar presente pues es opcional en algunos casos.
  • Normalmente cuando usamos Si debemos considerar el SINO, tenlo siempre presente aunque a veces puede no usarse el SINO.




  • Actividad 1. Un estudiante tiene dos calificaciones, el promedio de estas representa su calificación final, el promedio indica si el estudiante aprueba o desaprueba, hacer un algoritmo y programa que determine el promedio del estudiante e indique si aprobó o desaprobó. 
  • Actividad 2. Hacer un programa para dividir dos números, debemos tener presente que el denominador de la división no puede ser cero, en caso de que lo sea debe mostrarnos un mensaje que indique que la división no es posible.

1.10. Ejercicios Varios

Ejercicios Varios Secuenciales


Ejercicio 1.  Los Segundos

Hacer un algoritmo y su respectivo programa en C# para convertir una cantidad de segundos en horas, minutos y su sobrante de segundos.

Ejercicio 2. El Cajero de Banco

Hacer un algoritmo y su respectivo programa en C# para programar la cantidad de billetes que da un cajero de banco, que sigue los siguientes criterios:

  • Los billetes que se pueden entregar son de 100, 50, 20 y 10.
  • La cantidad de billetes debe ser la mínima cantidad de estos.
  • Consideremos que los billetes nunca faltan.
  • Por ejemplo si sacamos 480, debemos entregar 4 billetes de 100, 1 billete de 50, 1 billete de 20 y 1 billete de 10.

Ejercicio 3. Los Números

Hacer un programa que ingrese dos números (los números ingresados serán de 2 cifras) luego deberá multiplicar las cifras del primero y dividirlas entre la suma de las cifras del segundo numero, por ejemplo:
  • Ingresamos 85 y 37, el programa deberá hacer lo siguiente (8*5) / (3+7)  y darla respuesta para el ejemplo será 4.

Ejercicio 4. La Empresa

La empresa ACME S.A. vende sus productos, cada producto vendido tiene cierto descuento en porcentaje, hacer un algoritmo y programa que determine el valor de venta del producto aplicándole el descuento especifico.

Análisis:

  • Necesitamos el costo del producto, también necesitamos el porcentaje de descuento, luego calculamos el precio, para ello tenemos la siguiente formula.
  • precio = costo - costo * porcentaje / 100
Variables de Entrada: costo, porcentaje
Variables de Salida: precio

Diseño:
Algoritmo LaEmpresa
Inicio
          Real precio, costo, porcentaje
          Leer(costo, porcentaje)
          precio = costo - costo * porcentaje / 100
          Escribir(precio)
Fin

Código:
         public static void Main(string[] args)
        {
            double precio, costo, porcentaje;
            Console.Write("Ingresa el costo del producto: ");
            costo = double.Parse(Console.ReadLine());
            Console.Write("Ingresa el porcentaje de descuento: ");
            porcentaje = double.Parse(Console.ReadLine());
            precio = costo - costo * porcentaje / 100;
            Console.WriteLine("El precio final del producto es: " + precio);
            Console.ReadLine();
        }




Ejercicio 5. El Sueldo

Juancho, trabaja en una empresa de venta de automóviles, esta le paga un sueldo básico de $800, además el puede incrementar su suelto por comisión de ventas que es de 4%, hacer un programa que calcule el sueldo de Juancho y considere su comisión y su sueldo básico.

Análisis:
  • Consideremos la variable venta que es la cantidad que vende en la empresa Juancho.
  • Calculemos la comisión, por tanto: comision = venta * 4 / 100.
  • Ahora podemos hallar el sueldo que sera: sueldo = 800 + comision
Modelo:
  • comision = venta * 4 / 100
  • sueldo = 800 + comision
Variables de Entrada: venta
Variables de Salida: sueldo

Diseño:
Algoritmo ElSueldo
Inicio
          Real venta, comision, sueldo
          Leer(venta)
          comision = venta * 4 / 100
          sueldo = 800 + comision
          Escribir(sueldo)
Fin

Código:
         public static void Main(string[] args)
        {
            double venta, comision, sueldo;
            Console.WriteLine();
            Console.WriteLine("Ingrese el monto vendio este periodo: ");
            venta = double.Parse(Console.ReadLine());
            comision = venta * 4 / 100;
            sueldo = 800 + comision;
            Console.WriteLine("El Sueldo Es: " + sueldo);
            Console.ReadLine();
        }


Ejercicio 6. La Tienda

Una tienda vende productos, esta tiene que aplicar a sus ventas un 18% de impuesto gubernamental, la empresa tiene la política de aplicar un descuento de 7% antes de ponerle el impuesto, hacer un algoritmo y programa que calcule el valor final de la venta.

Análisis:

  • Sea la variable precio lo que cuestan los productos.
  • Calculamos el precio aplicándole el descuento, total = precio - precio * 7 / 100, el descuento se resta.
  • Ahora ya tenemos el precio con el descuento aplicado entonces ya podemos aplicar el impuesto.
  • Aplicando el impuesto de 18%, total = total + total * 18 / 100, el impuesto se suma.
Modelo:
  • total = precio - precio * 7 / 100
  • total = total + total * 18 / 100
Variables de Entrada: precio
Variable de Salida: total

Diseño:
Algoritmo LaTienda
Inicio
          Real precio, total
          Leer(precio)
          total = precio - precio * 7 / 100
          total = total + total * 18 /100
          Escribir(total)
Fin

Código:
         public static void Main(string[] args)
        {
            double precio, total;
            Console.Write("Ingresa el Monto de la Venta: ");
            precio = double.Parse(Console.ReadLine());
            total = precio - precio * 7 / 100;
            total = total + total * 18 / 100;
            Console.WriteLine("El Precio Final es: " + total);
            Console.ReadLine();
        }






sábado, 12 de octubre de 2013

Borrame

Material Extra Interesantes


Material Extra Interesantes


El material que pongo aquí en esta página es valido para los dos cursos, mucho de este material si estas en el Curso I no lo podrás entender, si estas finalizando el Curso II ya podrás resolverlo y entenderlo con algo de trabajo.

LINK ADICIONALES



















Ejercicios Interesantes en Programación

EJERCICIOS INTERESANTES - PROPUESTOS

En esta página pongo algunos ejercicios interesantes que podemos resolver haciendo un algoritmo y un programa.

1. Desarrollar un programa que indique si un número es a armstrong. Un número es armstrong siempre en cuando la suma de cada cifra elevada a la potencia cantidad de cifras es igual al numero, ejemplo:


  • 5 si es armstrong, puesto que 5^1 es 5
  • 407 si es armstrong, ya que 4^3 + 0^3 + 7^3 = 64 + 0 + 343 es 407

2. Escribe un programa que indique si un número es perfecto. Un número es perfecto si la suma de sus divisores positivos es igual al número.
  • 6, es perfecto ya que 3 + 2 + 1 nos da 6, y estos son sus divisores.
3. Hacer un programa para indicar si un número dado genera un número capicua, ejemplo:

  • 25 genera capicua ya que 25 + 52 nos da una 77 y el 77 si es capicua.
  • 403 genera capicua ya que 403 + 304 da el número 707, este es capicua.
  • 124 genera capicua ya que 124 + 421 da el número 545, es capicua.
4. Hacer un programa que permita con un menú de opciones mostrar cada una de estas pirámides según la opción elegida.

5. Hacer un programa que verifique si el valor de PI se puede calcular con la siguiente serie:

PI = 4 * ( 1 - 1/3 + 1/5 - 1/7 + 1/9 -1/11 + 1/13 ...)

Para verificar debes saber que el valor de PI es 3.1415926535898, los valores con esta serie quiza no sean tan precisos.








Banco de Pseudo Códigos

ALGORITMOS EN PSEUDO CÓDIGO


Estos algoritmos han sido encontrados en diversos sitios Web, aun no los he probado pero los pocos que he revisado están correctos.

Ejercicio. Horas Trabajadas
Dada las horas trabajadas de una persona la tarifa de pago. Calcular su salario e imprimirla.

Algoritmo TarifaPago
     Inicio
            leer: h, t
            S=h * t
            Escribir: s
     fin

Ejercicio. Volumen del Cono
Análisis:
Modelo:
  • V = PI * r * r * h / 3
Variables de Entrada: r, h
Variables de Salida: v

Diseño:
Algoritmo VolumenCono
Inicio
  Real r, h, v, PI
  PI = 3.1416
  Leer(r)
  Leer (h)
  V = PI * r *r *h /3
  Escribir (v)
Fin

Ejercicio Área total del cilindro
1. Hacer un algoritmo para calcular el Área total de un cilindro:
Análisis
Modelo
  • At = 2*PI*r*(h+r)
Variables Entrada: h, r
Variables de Salida: At

Diseño:
Algoritmo AreaTotalCilindro
Inicio
          Real r, h, At, PI
          PI = 3.1416
          Leer(r, h)
          At = 2 * PI * r * (h + r)
          Escribir (At)
Fin

Ejercicio la Comisión
Juancho trabaja en una tienda de autos, el recibe un sueldo fijo de 800 um, también recibe el 5% de comisión por sus ventas, hacer un programa que calcule el sueldo final de Juancho.
Análisis:
Modelo:

  • comision = venta * 5 / 100
  • total = 800 + comisión

Variables de Entrada: venta
Variables de Salida: total

Diseño:
Algoritmo LaTiendadDeAutos
Inicio
          Real comision, venta, total
          Leer(venta)
          comision = venta * 5 / 100
          total = 800 + comisión
          Escribir (total)
Fin

Ejercicio Conversión de Segundos
Hacer un algoritmo para convertir una cantidad de segundos en horas, minutos y segundos.

Algoritmo ConversionDeSegundos
Inicio
          Leer(tiempo)
          horas = tiempo DIV 3600;
          minutos = (tiempo MOD 3600) DIV 60
          segundos = (tiempo MOD 3600) MOD 60
          Escribir(horas, minutos, segundos)
Fin

Ejercicio. Pelotas de Ping Pong
Una tienda de pelotas de ping pong, venden sus pelotitas de $4 cada una, luego se debe recargar el 18% de IGV y al final obtener cuanto se paga en total. (Se debe ingresar la cantidad de pelotitas a comprar)
Análisis:

Modelo:

  • precio = cantidad*4
  • impuesto = precio * 18 /100
  • total = precio + impuesto

Variables de Entrada: cantidad
Variables de Salida: total
Variables Auxiliares: impuesto, precio

Diseño:
Algoritmo PrecioPelotitas
Inicio
  Entero cantidad
  Real precio, impuesto, total
  Leer(cantidad)
  precio = cantidad*4
  impuesto = precio * 18 /100
  total = precio + impuesto
  Escribir(total)
Fin


Ejercicio Promedio
Escribir un algoritmo que lea las cuatro notas de un estudiante e imprima el promedio de la nota definitiva.

Algoritmo Promedio
Inicio
          Leer n1, n2, n3, n4
          suma = n1 + n2 + n3 + n4
          notadef = suma/4
          Escribir notadef
Fin

Ejercicio Area del Triangulo
Escribir un algoritmo que calcule e imprima el area de un triangulo.

Algoritmo AreaTriangulo
Inicio
          Leer base, altura
          area = (base*altura)/2
          Escribir area
fin

Ejercicio el Vendedor
Un vendedor que tiene su sueldo base, recibe una comisión del 10% del total de las ventas del mes. El quiere saber cuanto ganará en un mes que tuvo tres ventas:

Algoritmo Vendedor
Inicio
          leer sueldobase, venta1, venta2, venta3
          subtotal = venta1 + venta2 + venta3
          comision = subtotal *0,10
          total = sueldobase + comision
          Escribir total
fin

Ejercicio los porcentajes
Dado 3 números calcular el porcentaje que representa cada uno con respecto a la suma total.

Algoritmo Porcentajes
Inicio
          Lea n1, n2, n3
          s= n1+n2+n3
          Pn1=(n1*100)/s
          Pn2=(n2*100)/s
          Pn3=(n3*100)/s
          Escribir Pn1, Pn2, Pn3
Fin

2.-Hacer un programa que no determine un numero tiene o no parte fraccionaria.

Algoritmo
Inicio
     Variables  parte_fracciomaria
     Real  n
     Escribir "ingresa numero"
     Leer n
     Si n = trunc(n) entonces  
          Escribir "numero no tiene parte fraccionaria"
     Sino
          Escribir "numero con parte fraccionaria"
     Fin si
Fin

3. Dado un tiempo en segundos, calcular los segundos restantes que le correspondan para convertirse exactamente en minutos.

Algoritmo TiempoConversión
      inicio
              variables: tiempo_seg,minutos,segundos
              leer: tiempo_seg
              si minutos  = tiempo_seg div 60 entonces
                  segundos = tiempo_seg mod 60
              fin_si
              Escribir: minutos,segundos.
       fin

4.Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una compra de un articulo determinado, del que se adquieren una o varias unidades. El IVA es del 15% y si el precio bruto ( precio venta mas IVA) es mayor de 50.00 pesetas se debe realizar un descuento del 5%.

Algoritmo

Inicio
     Variables: precio, numeros de articulos(Nart), precio venta(Pv), descuento(d)
     Leer precio, Nart
     Pv= Precio * Nart
     IVA= Pv * 0.15
     Pb= Pv + IVA
     Si Pb >= 50 entonces
          d= (Pb * 5)/100
     Sino
          d= 0
     Finsi
     Pl= Pb - d
     Escribir Pv, IVA, Pb,d, Pl
Fin

5.-Hacer un programa que registre el nº de créditos de un alumno.
    *El número máximo de crédito es 25
    *Imprimir número de crédito y total de crédito.

Algoritmo

Inicio
     Variables crédito, numero_de_crédito
     total_de_crédito <- 0
     Leer crédito
     Si total_de_crédito + crédito  < = 25 entonces
          Total_de_crédito  <-   total_de_crédito + crédito
          Numero_de_crédito  <-  número_de_cedito + 1
     Fin si
     Imprimir Numero_de_crédito, crédito
Fin

6. A un trabajador le pagan segun sus horas y una tarifa de pago por horas. si la cantidad de horas trabajadas es mayor a 40 horas. la tarifa se incrementa en un 50% para las horas extras. calcular el salario del trabajador dadas las horas trabajadas y la tarifa.

Algoritmo Trabajador

      inicio
              variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e
              leer: horas_trabajadas,tarifa
              si: horas_trabajadas <= 40 entonces
                  salario = horas_trabajadas * tarifa
              si_no
                  tarifa_extra = tarifa + 0.50 * tarifa
                  horas_extras = horas_trabajadas - 40
                  salario = horas_extras * tarifa_extra + 40 *
                  tarifa
              fin_si
              Escribir: salario.
       fin

7. A un  trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo.

Algoritmo DescuentoSueldo
      inicio
             variables: sueldo,sueldo_neto,descuento
              leer: sueldo
              si: sueldo <= 1000 entonces
                  descuento = sueldo * 0.1
              si_no
                 si: sueldo <= 2000 entonces
                     descuento = (sueldo - 1000) * 0.05 + 1000 * 0.1
                 si_no
                     descuento = (sueldo - 2000) * 0.03 + 1000 * 0.1
                 fin_si
                 Escribir: descuento.
       fin

8. Dado un monto calcular el descuento considerando que por encima de 100 el descuento es el 10% y por debajo de 100 el descuento es el 2%.

Algoritmo DescuentoEspecial
      inicio
             variables: monto,descuento
             leer: monto
              si: monto > 100 entonces
                  descuento = monto * 10 / 100
              si_no
                  descuento = monto * 2 / 100
              fin_si
              Escribir: monto, descuento
       fin

9. Dado un tiempo en minutos, calcular los dias, horas y minutos que le corresponden.

Algoritmo OtraTransformacion
      inicio
              variables: tiempo,dias,horas,minutos
              leer: tiempo
              si: dias = tiempo div 1440
                   x = tiempo mod 1440
                  horas = x div 60
                  minutos = x mod 60
                  Escribir: dias,minutos,horas
              fin_si
       fin  

10. Calcular mediante un algoritmo repetitivo la suma de los  N primeros números naturales.

Algoritmo SumaNumerosNaturales
     Inicio
              Leer : N
              X=1
              S=0
              Mientras x<=N hacer
                   S=s+1
                   X=x+1
              Fin _ mientras
              Escribir: s
     Fin


11. Modificar el ejercicio 1 para obtener la suma de los salarios de todos los trabajadores.

Algoritmo SumaSalarios
     Inicio
             Leer: N
             X=1
             S=0
             Mientras x<=N hacer
              Leer: h, t
              S=h*t
              Imprimir s
              S=s+s
              X=x+1
             Fin _ mientras
             Escribir: s
     Fin

12. Dado N notas de un estudiante calcular:

   a) Cuantas notas tiene desaprobados.
   b) Cuantos aprobados.
   c) El promedio de notas.
   d) El promedio de notas aprobadas y desaprobadas.

Algoritmo LasNotas
   Inicio
        Leer: N
        X=1
        Cd=0
        NA <-0
        acum_desap <-0
        acum_ap  <- 0
        acum <- 0
        Mientras x<=N hacer
            Leer: not
            Si: not < 10.5 entonces
               CD=cd+1
               acum_desap <- acum_desap + not
            Sino
                NA <- NA + 1
                acum_ap <- acum_ap + not
            fin _ si
            acum <- acum + not
            x=x+1
        Fin _ mientras
        prom_ap <- acum_ap /NA
        prom_desap <- acum_desap/CD
        prom <- acum / N
        Escribir: prom, prom_ap, prom_desap, NA, CD
    Fin


13. Dado un numero determinar la suma de sus dígitos.
Algoritmo SumaDigitos
    Inicio
            Leer: n
            S=0
            Mientras n<>0 hacer
                R=n mod 10
                S=s + r
                N=n div 10
            Fin _ mientras
            Escribir: s
    Fin


14. Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos.

Algoritmo ParesImpares
Inicio
     variables:par(p), impares(im), positivos(pos), negativos(n)
     p= 2
     in= 0
     pos.= 0
     n= 0
     Para  x= 1 hasta 50
          Leer n
          Si n mod 2= 0 entonces
               p= p + 1
          Sino
               in= in + 1
          Finsi
          Si n > 0 entonces
               Pos= pos + 1
          Sino
               n=  n + 1
          Finsi
     Fin_para
     Escribir p, in, pos, n
Fin

15. Desarrollar un algoritmo para calcular e imprimir el factorial de un número.

Algoritmo Factorial

Inicio
     variables: factorial(f). numero(n)
     f= 1
     Para x= 1 hasta n
          f = f * x
     Fin_para
     Escribir f
Fin

16. Calcular la media de 100 números e imprimir su resultado.
Algoritmo Media

Inicio
     variables: suma(s), media
     s= 0
     x= 1
     Mientras x<= 100 hacer
          Leer n
          s = s + n
          x = x + 1
     Finmientras
     media = s /100
     Escribir media
Fin

17. Calcular y visualizar la suma y el producto de los números pares comprendidos entre 20 y 400 ambos  inclusive.

Algoritmo SumaProductoPares

Inicio
     variables: suma(s), producto(p)
     s = 0
     p = 1
     x = 20
     Mientras x<= 400 hacer
          s = s +1
          p = p *x
          x = x +1
     Finmientras
     Escribir s, p
Fin

18.-Hacer un programa que al ingresar un número de Amstrong nos escriba si es o no es un número de amstrong, y si no es que indique que vuelva a intentar.

Algoritmo NumeroAmstrong

INICIO
     variables número, número original, digito
     Leer numero
     Numeró original
     Suma   0
     Mientras  numero < > 0 hacer
          digito <- digito  mod 10
          Suma <-  suma + dijito ^ 3
          Numero  <-  numero mod 10
     FinMientras
     Si suma = Número _ original Entonces
          Escribir "es un numero de amstrong"
     Sino
          Escribir "no es un numero de amstrong, intente otra vez"
     Finsi
Fin

19.-Hacer un programa para escribir la primera vocal leída del teclado.
    *Se supone que se leen, uno a uno, carácter desde el teclado

Algoritmo Vocal

Inicio
     Variables vocal
     Carácter  J
     sw = 1
     Mientras sw = 1 hacer
          Leer J
          si (J= "a") o (J = "e")  o (J = "i") o (J = "o") o (J ="u")
               Escribir "LA PRIMERA VOCAL INGRESADA FUE",J
               sw <- 0
          fin_si
     Fin_mientras    
Fin


20. Hacer un programa que permita escoger en un conjunto de numeros naturales:
     *Cuales son menores que 15.
     *Cuales son mayores de 50.
     *Cuales estan comprendidos entre 25 y 50.
     *el programa termina con el ingreso de un numero negativo y el numero de iteraciones debe ser 100.

Algoritmo EscojeNaturales
Inicio
     Leer n
     para I = 1 hasta 100 hacer
          Si n < 15 entonces
               Escribir n
          Sino
               Si n > 50 entonces
                    Escribir n
               Sino
                    Si n > 25 y n < 50 entonces
                         Escribir n
                    Fin_si
               Fin_si
          Fin_si
     Fin_para
     n = n + 1
     si n < 0 entonces
          Escribir “error de datos procesados”
     Fin_si
Fin.

21. Programa que resuelve la siguiente serie:
  • 1, 1000, 112, 889, 223, 778, 334

Algoritmo Serie
Inicio
          s1 = 1
          s2 = 1000
          k = 1
          Leer(n)
          Mientras (k<=n)
                    Si k MOD 2 = 1 Entonces
                              Escribir(s1)
                              s1 = s1 + 111
                    Else
                              Escribir(s2)
                              s2 = s2 – 111
                    FinSi
                    k = k + 1;
          FinMientras
Fin


22. Programa que resuelve la siguiente serie:
  • 1, 3, 6, 11, 20, 37, 70, 135
Algoritmo Serie
Inicio
          t = 1
          d = 1
          Leer(n)
          k = 1
          Mientras (k<=n)
                    K=k+1
                    Escribir(t)
                    t = 2*t + d
                    d = d - 1
          FinMientras
Fin

23. Calcular la serie:

  • 12, 26, 81, 328, 1645, .... 


Algoritmo Serie 5
Inicio
Entero ter, aum, k;
ter = 12
aum = 2
k = 1
Mientras ( k <= 5)
Escribir(ter)
ter = ter*aum + aum
aum = aum + 1
k = k + 1
FinMientras
fin

viernes, 11 de octubre de 2013

Asignación 1. Ejercicios secuenciales

Asignación - Curso I

Desarrolla y resuelve los siguientes ejercicios, estos ejercicios deberán ser cargados vía E-Learning un día antes del examen hay plazo solo hasta las 11:45pm, los trabajos que sean entregados después tendrán una calificación bastante menor, tome sus previsiones.


Figura de Formulas


Ejercicio 1: Desarrolle el análisis y diseño de la formula de Herón Nº 1.

Ejercicio 2: Desarrolle el análisis y diseño de la formula de Bhaskara Nº2.

Ejercicio 3: Desarrolle el análisis, diseño y código en C# de la formula del Anillo Circular Nº 3.

Ejercicio 4: Desarrolle el análisis, diseño y código en C# de la formula de Pitagoras Nº 4.

Ejercicio 5: Una empresa le paga a sus empleados 9 um por hora, al pago se le descuenta por su seguro un 11%, desarrolle un programa de tal forma que se pueda calcular el pago que la empresa hace a sus empleados cuando introducimos el numero de horas trabajadas.

Ejercicio 6: desarrolle un programa que reciba dos números, el primero de tres cifras y el segundo de dos cifras, el programa debe multiplicar las tres cifras del primer numero y dividirla entre la multiplicación de las dos cifras del segundo, ejemplo.
  • El primer numero puede ser 567
  • El segundo numero puede ser 43
  • La solución es (5*6*7) / (4*3)
  • La respuesta será: 17.5

El examen será muy similar a estas preguntas, en esta pagina tienes ejercicios tipo para el examen.



2.4. Ejercicios Con Mientras (while)


Ejercicios Con Mientras o while en C#

Con la estructura repetitiva While puedes hacer cualquier ejercicio que se pueda resolver usando el bucle PARA, además permite realizar otros ejercicios, ahora vamos ha desarrollar programas con opciones.

Ejercicio 1. El Promedio

Hacer un programa para calcular el promedio de varios números, el programa debe terminar cuando se ingresa un numero negativo.
Análisis:
Como puedes ver debemos ingresar números de 0 a 20, si ingresas un numero diferente el programa terminara y nos debe mostrar el promedio de los números ingresado, es decir, si ingresamos 4, 15, 7, 17, 19 y finalmente -1, el programa debe mostrar solo el promedio de los números 4, 15, 7, 17, 19.

  • Condición del bucle Mientras: dato >= 0.
  • Contador dentro del bucle: c = c + 1.
  • Acumulador dentro del bucle: suma = suma + dato.

Diseño:
Algoritmo LosPromedios
Inicio
        Real suma, c, dato, promedio
        suma = 0
        c = -1
        dato = 0
        Mientras ( dato >= 0 )
                suma = suma + dato
                c = c + 1
                Leer(dato)
        FinMientras
        promedio = suma / c
        Escribir(promedio)
Fin

Código:
         public static void Main(string[] args)
        {
            double suma,c,dato,promedio;
            suma = 0;
            c = -1;
            dato = 0;
            while (dato>=0)
            {
                suma = suma + dato;
                c = c + 1;
                Console.Write("Ingresa el Numero: ");
                dato = int.Parse(Console.ReadLine());
            }
            promedio = suma / c;
            Console.WriteLine("El promedio es: "+promedio);
            Console.ReadLine();
        }
Notas:
Iniciamos el contador en -1 ya que al principio siempre contamos el primer ingreso sin importar el numero ingresado.


--En Construcción afuera

Ejercicio 2. El menú de opciones.

Desarrolla un programa para hacer las 4 operaciones matemáticas, este debe tener un menú de la siguiente forma:

*********** CALCULADORA BÁSICA ***********
1. Sumar
 2. Restar
       3. Multiplicar
 4. Dividir

0. Salir
Elija una Opción -----> _

Al ingresar la opción 1 por ejemplo deberá pedir dos números y sumarlos, al ingresar la opción de 0 el programa deberá terminar.
Análisis:

  • En este ejercicio tenemos las formulas para las operaciones de suma, resta, multiplicación y división.
  • También sabemos que debemos tener un menú de opciones.
  • Deberemos usar 4 estructuras si para el control de las 4 operaciones.
  • El bucle mientras tendrá la condición siguiente: opción != 0

Diseño:
Algoritmo CalculadoraOpciones
Inicio
        Entero a, b, respuesta, opcion
        opcion = 10
        Mientras (opcion != 0)
                Escribir("*********** CALCULADORA BÁSICA ***********")
                Escribir("1. Sumar")
                Escribir("2. Restar")
                Escribir("3. Multiplicar")
                Escribir("4. Dividir")
                Escribir("****************")
                Escribir("0. Salir")
                Escribir("Ingresa la Opción: ")
                Leer(opcion)
                Si opcion = 1 Entonces
                        Leer(a, b)
                        respuesta = a + b
                        Escribir(respuesta)
                FinSi
                Si opcion = 2 Entonces
                        Leer(a, b)
                        respuesta = a - b
                        Escribir(respuesta)
                FinSi
                Si opcion = 3 Entonces
                        Leer(a, b)
                        respuesta = a * b
                        Escribir(respuesta)
                FinSi
                Si opcion = 4 Entonces
                        Leer(a, b)
                        respuesta = a / b
                        Escribir(respuesta)
                FinSi              
        FinMientras
Fin

Código:
         public static void Main(string[] args)
        {
         
            double a,b,respuesta,opcion;
            opcion = 10;
            while(opcion != 0)
            {
                Console.Clear();
                Console.WriteLine("*************** CALCULADORA ***************");
                Console.WriteLine("1. Suma");
                Console.WriteLine("2. Resta");
                Console.WriteLine("3. Multiplicacion");
                Console.WriteLine("4. Division");
                Console.WriteLine("********************************************");
                Console.WriteLine("0. Salir");
                Console.Write("Ingresa la opción: ");
                opcion = int.Parse(Console.ReadLine());

                if (opcion == 1)
                {
                    Console.WriteLine("Ingresa A: ");
                    a = double.Parse(Console.ReadLine());
                    Console.WriteLine("Ingresa B: ");
                    b = double.Parse(Console.ReadLine());
                    respuesta = a +b;
                    Console.WriteLine("La suma es: " + respuesta);
                    Console.ReadLine();
                }
                if (opcion == 2)
                {
                    Console.WriteLine("Ingresa A: ");
                    a = double.Parse(Console.ReadLine());
                    Console.WriteLine("Ingresa B: ");
                    b = double.Parse(Console.ReadLine());
                    respuesta = a - b;
                    Console.WriteLine("La resta es: " + respuesta);
                    Console.ReadLine();
                }
                if (opcion == 3)
                {
                    Console.WriteLine("Ingresa A: ");
                    a = double.Parse(Console.ReadLine());
                    Console.WriteLine("Ingresa B: ");
                    b = double.Parse(Console.ReadLine());
                    respuesta = a  * b;
                    Console.WriteLine("La Multiplicacion es: " + respuesta);
                    Console.ReadLine();
                }
                if(opcion == 4)
                {
                    Console.WriteLine("Ingresa A: ");
                    a = double.Parse(Console.ReadLine());
                    Console.WriteLine("Ingresa B: ");
                    b = double.Parse(Console.ReadLine());
                    respuesta = a / b;
                    Console.WriteLine("La division es: " + respuesta);
                    Console.ReadLine();
                }
     
            }        
Notas:






Actividad 1. Desarrolla un programa para mostrar los primeros n numeros, los primeros n numeros pares, los primeros n numeros impares, la opción S debe ser para salir:

*********** LOS NUMEROS ***********
N: Numeros
 P: Numeros Pares
I: Numeros Impares
S: Salir
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
Elija una Opción -----> _


  • Las opciones son letras, aquí al poner S, debemos poder salir o terminar el programa.

Curso 2. Resumen de Ordenes de C#

Curso 2. Resumen de Ordenes de C#

Bucle Mientras

Es un bucle que puede ser aplicado en todos los ejercicios del bucle Para, incluso tiene mayores ventajas respecto a este dependiendo el uso y las necesidades que tengamos, debemos considerar que primero se evalúa la condición y luego se hacen las operaciones,  su sintaxis es la siguiente:

Sintaxis:

Algoritmo  C# 
Mientras (condición)
          Operación1
          Operación2
          ...
FinMientras 
while (condición)
{
          Operación1;
          Operación2;
          ...

Características:
  • Primero se evalúa la condición.
  • Luego si la condición es verdadera, se ejecutan las operaciones.
  • El bucle termina si la condición se vuelve falsa.



Bucle Hacer Mientras

Es un bucle que puede ser aplicado en todos los ejercicios de los dos bucles anteriores, tiene la ventaja de primero realizar operaciones y luego evaluar la condición para determinar si se siguen repitiendo las operaciones, su sintaxis es la siguiente:

Sintaxis:

Algoritmo C# 
Hacer
          Operación1
          Operación2
          ...
Mientras(condición)
do
{
          Operación1;
          Operación2;
          ...
}
while (condición)

Características:

  • Primero se hacen las operaciones.
  • Luego se evalúa la condición y si esta es verdadera se vuelven a realizar las operaciones.
  • Si la condición se evalúa como falsa se termina el bucle.





Curso 1. Resumen de Ordenes en C#

Curso 1. Resumen de Ordenes en C Sharp

Las siguientes ordenes no pretenden ser una guía completa del lenguaje C# esta solo pretende mostrar las ordenes y elementos del lenguaje que usamos en este curso. Las ordenes estan orientadas a aplicaciones de consola.

Inicio y Fin

Cuando programamos necesitamos indicar cuando comienza y cuando termina un programa o una estructura del programa, en C#, se usan las llaves para realizar esta indicación. El inicio y el fin son elementos vitales de un programa.

C# 
Algoritmo 
Descripción 
{
InicioLa llave de apertura significa inicio ya sea del programa general o de otra estructura.
}
FinLa llave de cierre es el fin ya sea del programa general o de otra estructura.

Declaración de variables

Cuando programamos, el programa necesita datos para trabajar, estos datos deben ser asignados a variables, las variables necesitan ser declaradas, es decir, se necesita que el programa sepa que variables tiene para trabajar y que datos maneja.

C# 
Algoritmo 
Descripción 
int dato, x, num; Entero dato, x, num Creamos tres variables denominadas dato, x, num indicando que son números enteros.
double total, a, imp; Real total, a, imp Se declaran o crean tres variables que son números reales, estas se denominan total, a, imp. 

string r, nom, dir;
Cadena r, nom, dir; También creamos tres variables llamadas r, nom, dir, estas variables son de tipo texto o cadena.

Ingreso de Datos (Lectura de datos)

Cuando hablamos de ingreso de datos, significa que una vez que las variables han sido declaradas, podemos darle valores desde el teclado, este ingreso por el teclado lo denominamos lecturas, no olvides nunca que cuando haces una lectura el tipo de dato de la variable debe coincidir con el tipo de lectura.

C# 
Algoritmo 
Descripción 
num=int.Parse(Console.ReadLine()); Leer(num) Hace la lectura de un dato de tipo entero a la variable num.
dat=double.Parse(Console.ReadLine()); Leer(dat) Lectura de datos de tipo real a la variable dat.
dir=Console.ReadLine(); Leer(dir) ingresa de datos de tipo texto o cadena a la variable dir.
x=int.Parse(Console.ReadLine());
y=int.Parse(Console.ReadLine());
Leer(x, y) Permite el ingreso de dos datos de tipo entero, primero para la variable x, luego para la variable y.
  • int.Parse(), la usamos para convertir texto a un numero entero.
  • double.Parse(), es usado para convertir un texto a numero real.
  • Console.ReadLine(), es la instrucción que permite la lectura de los datos, la orden hace la lectura solo de textos, luego es necesario convertirlo al tipo de dato que se desea.

Salida de Datos (escribir resultados)

Cuando haces un programa es necesario que los resultados se puedan ver, para ello recurrimos a instrucciones que permiten mostrar estos valores, la siguiente tabla muestra las formas en las que se pueden mostrar estos mensajes.

C# 
Algoritmo 
Descripción 
Console.WriteLine("Hola_Mundo"); Escribir("Hola_Mundo") Muestra un mensaje, se usa para poner mensajes informativos.
Console.WriteLine("" +num); Escribir(num) Escribe en la pantalla el valor de la variable num.
Console.WriteLine("Resultado:"+dat); Escribir(dat) Escribe un mensaje seguido del valor de la variable dat.
Console:WriteLine("El_"+num+"_Salio"); Escribir(num) Escribe el valor de la variable num, pero entre mensajes.

Operadores Matemáticos


C# 
Algoritmo 
Descripción 
+
-
*
/
%
Math.Pow()
Math.Sqrt()
+
-
*
DIV
MOD
^
Raiz()
Suma
Resta
Multiplicación
División para reales ó Div si son enteros
Residuo de la División
Potencia
Raíz cuadrada de un numero

Importante:
  • Debemos considerar que el operador "/", cuando lo usamos en C#, tiene doble comportamiento, si se operan números reales, el operador es de división. Si operamos números enteros, el operador "/" se comporta como DIV.
  • Para elevar por ejemplo 2 a la potencia 5, en algoritmo será 2^5, pero en C# esto será Math.Pow(2,5).
  • Para la raíz cuadrada por ejemplo de 7, en algoritmo será Raiz(7), y en C# será Math.Sqrt(7).


Ejemplo 1:



Ejemplo 2:


Ejemplo 3:


Ejemplo 4:


Operadores Condicionales


C# 
Algoritmo 
Descripción 
>
<
==
>=
<=
!=
>
<
=
>=
<=
!=
Mayor
Menor
Igual
Mayor o Igual
Menor o Igual
Diferente

Operadores Lógicos

C# 
Algoritmo 
Descripción 
&&
||
!
Y
O
No
Operador "Y" Lógico
Operador "Ó"Lógico
Operador No


Estructura Condicional Si

C# 
Algoritmo 
Descripción 
if (x >= 7)
{

}
Si x >= 7 Entonces


FinSi
  • La estructura condicional si, observe el inicio y el fin.
  • El Inicio de la condición Si en C# es: {
  • Por tanto el fin de esta estructura será: }
.....



CÓDIGOS ASCII

Los códigos ASCII, son un conjunto de 255 símbolos que usamos normalmente, estos nos permiten obtener caracteres que normalmente no encontramos en nuestro teclado, se usan al escribir el numero con el teclado numérico presionando la tecla alt, ejemplos:
Alt + 64 = @
Alt + 225 = ß
Alt + 185 = ╣