21
ALGORITMOS Introducción , Seudocódigo , Estructura Secuencial , Estructura Selectiva y Estructura Iterativa . ____________________________________________________ Introducción Formular y resolver problemas constituye una actividad esencial de la vida del ser humano. No se trata de almacenar en memoria problemas y sus correspondientes soluciones, sino de desarrollar una capacidad para hacer frente con éxito a situaciones nuevas o desconocidas en la vida del hombre. Ante situaciones nuevas, el que no sabe buscar soluciones se sentirá confuso y angustiado y entonces no buscará una estrategia, dará una primera solución para poner punto final a su agonía. El que sabe buscar soluciones, selecciona la estrategia que le parece más cercana a la requerida y hace una hábil adaptación que se ajusta a la nueva demanda. Los grandes problemas se pueden subdividir en problemas más simples para solucionarlos, utilizando la filosofía de "dividir para conquistar". Se parte del principio de que es más fácil solucionar varios problemas simples (subproblemas) como parte de un todo que seguir una idea de "todo o nada". _____________________________________________________________ __ Desarrollar la capacidad de formular y resolver problemas nos prepara para enfrentar situaciones desconocidas. _____________________________________________________________ __ Se puede afirmar que todo problema consta de las siguientes partes: Datos, Operaciones y Objetivo (solución) Una metodología para análisis de problemas incluye las siguientes etapas: 1. Definición y análisis del problema

ALGORITMOS DFD

Embed Size (px)

Citation preview

Page 1: ALGORITMOS DFD

ALGORITMOS

Introducción, Seudocódigo, Estructura Secuencial, Estructura Selectiva  y Estructura Iterativa.

____________________________________________________

Introducción

 Formular y resolver problemas constituye una actividad esencial de la vida del ser humano.No se trata de almacenar en memoria problemas y sus correspondientes soluciones, sino de desarrollar una capacidad para hacer frente con éxito a situaciones nuevas o desconocidas en la vida del hombre. Ante situaciones nuevas, el que no sabe buscar soluciones se sentirá confuso y angustiado y entonces no buscará una estrategia, dará una primera solución para poner punto final a su agonía. El que sabe buscar soluciones, selecciona la estrategia que le parece más cercana a la requerida y hace una hábil adaptación que se ajusta a la nueva demanda.

Los grandes problemas se pueden subdividir en problemas más simples para solucionarlos, utilizando la filosofía de "dividir para conquistar". Se parte del principio de que es más fácil solucionar varios problemas simples (subproblemas) como parte de un todo que seguir una idea de "todo o nada". _______________________________________________________________Desarrollar la capacidad de formular y resolver problemas nos prepara para enfrentar situaciones desconocidas._______________________________________________________________Se puede afirmar que todo problema consta de las siguientes partes: Datos,  Operaciones y Objetivo (solución)

Una metodología para análisis de problemas incluye las siguientes etapas:

 1. Definición y análisis del problema 

 2. Diseño de la solución (Algoritmo) 

 3. Verificación de la solución 

     Especificación de un Problema

 Partimos del hecho de que un programador no puede resolver un problema que no entiende. Por esta razón, la primera etapa en todo proceso de desarrollo de software consiste en tratar de entender el problema que tiene el cliente, y expresar toda la información que él suministre, de manera que cualquier otra persona del equipo de desarrollo pueda entender sin dificultad lo que espera el cliente de la solución. Esta etapa se

Page 2: ALGORITMOS DFD

denomina análisis y la salida de esta etapa la denominamos la especificación del problema.

Esto se aplica también a cualquier disciplina, a otras áreas que comparten problemáticas similares. Por ejemplo, considere el caso de un ingeniero civil que se enfrenta al problema de construir una carretera. Lo primero que él debe hacer es tratar de entender y especificar el problema que le plantean. Para eso debe tratar de identificar al menos tres aspectos del problema:  <1> los requerimientos del usuario (punto de origen y punto destino de la carretera, número de carriles que debe tener, tipo de tráfico), <2> El mundo en el que debe resolverse el problema (tipo de terreno, temperatura), y <3> las restricciones y condiciones que plantea el cliente (presupuesto máximo, que los pendientes no sobrepasen el 5%). Sería una pérdida de tiempo y de recursos para el ingeniero civil, intentar construir la carretera si noha entendido y definido claramente los tres puntos antes mencionados. Y más que tiempo y recursos, habrá perdido algo muy importante en una profesión de servicio como es la ingeniería, que es la confianza del cliente.

 En general, todos los problemas se pueden dividir en estos tres aspectos. En el caso de la programación de computadores, un requerimiento funcional hace referencia a un servicio que el programa debe proveer al usuario. Si usted va a escribir un programa para una empresa, no le es suficiente entender la funcionalidad que éste debe tener, sino que debe entender también algunas cosas de la estructura y funcionamiento de la empresa. Si hay un requerimiento funcional de calcular el salario de un empleado, la descripción del problema debe incluir las normas de la empresa para calcular un salario.

_______________________________________________________________ En el campo de las Ciencias de la Computación, la solución de problemas se  describe mediante el diseño de procedimientos llamados Algoritmos, los cuales posteriormente se implementan como programas en el computador (utilizando lenguajes de programación como C++, Java, PHP, Perl, Ruby, Delphi, Visual FoxPro...) _______________________________________________________________

 El algoritmo es un conjunto de pasos o acciones que nos permiten alcanzar un resultado o resolver un problema en términos de: 1. Las acciones a ejecutarse, y 2. El orden en el cual se deben ejecutar esas acciones.

La solución del problema a través de éste conjunto de pasos o acciones ordenadas, se logra con un algoritmo, el cual se divide en tres secciones (bloques):

 1. ENTRADA  (datos de entrada) 

 2. PROCESO  (operaciones) 

 3. SALIDA  (resultados) 

Page 3: ALGORITMOS DFD

 Los algoritmos se pueden clasificar en computacionales y no computacionales.Es importante aclarar que el computador es un medio y no es el fin en la solución de problemas. En otras palabras, no es el computador el que soluciona los problemas, somos nosotros quienes lo hacemos y de alguna manera le contamos cómo es el asunto para que él, con su velocidad y exactitud, trabaje con muchísimos datos. 

 En algoritmia, la Lógica para solución de problemas se puede representar mediante las siguientes herramientas de programación:<> Algoritmo<> Diagrama de flujo (DFD)<> Seudocódigo

   Conceptos básicos de Programación

a) Identificadoresb) Declaración de Variables\Constantesc) Tipos de Datos      - Numéricos            : Entero            : Real      - Alfanuméricos            : Caracter            : Cadena      - Lógicos o Booleanosd) Operadores      - Aritméticos      - Relacionales      - Lógicose) Instrucción de Asignaciónf)  Instrucciones de Entrada\Salidag) Estructuras de Control de Flujo (Secuencial, Selectiva, Iterativa).

  Ejercicios

Escribir un algoritmo para cada uno de los siguientes casos:

1) Llamar a un amigo(a) desde un teléfono celular público2) Determinar cuántas letras "e" hay en un texto dado3) Calcular la edad promedio entre las edades de sus tres mejores amiga(o)s4) Determinar el número más pequeño de tres números diferentes5) Usted va a comprar un artículo en la tienda del barrio; según el costo del producto y la cantidad de dinero que usted paga, calcule el cambio (o las 'devueltas') que el tendero debe entregarle (Asuma que el pago es mayor al precio del artículo).

  Ejemplo de CLASE y ALGORITMO

Page 4: ALGORITMOS DFD

 ANÁLISIS DEL PROBLEMA  Nr. 5

Datos de entrada cospro: Costo del productopago   : Pago realizado por el cliente

Datos de salidacamb  : Valor devuelto al cliente

________________________________________________________________________________

 La siguiente es la forma de representar gráficamente una Clase: Un rectángulo dividido en tres secciones.

Nombre de la Clase

Datos oAtributos

Operaciones oMétodos

Compra_Tienda

cospro

pago

camb

leer( )

calcular_camb( )

mostrar( )

________________________________________________________________________________

 SOLUCIÓN ALGORÍTMICA

Page 5: ALGORITMOS DFD

Algoritmo Compra_TiendaINICIO  1. Crear el objeto Cambio     2. Leer cospro y pago  3. Hacer la operación (camb = pago - cospro)  4. Mostrar cambFIN 

____________________________________________________

Seudocódigo

 

 El seudocódigo es un lenguaje artificial e informal para codificar los algoritmos. Esta versión es la más parecida a un programa de computador. (El color azul corresponde a todos los símbolos y palabras reservadas de nuestro lenguaje informal de programación).

 

 clase Compra_Tienda {

       privado:             cospro, pago, camb : real

       publico:             Cambio( ) { cospro= pago=camb=0 }                leer( ) { leer  (cospro, pago) }             calcular_camb( ) { camb = pago - cospro }             mostrar( ) { mostrar (camb) }

 }

INICIO  1. Compra_Tienda Cambio     2. Cambio.leer( )  3. Cambio.calcular_camb( )  4. Cambio.mostrar( )FIN 

 Descargar, analizar los siguientes algoritmos y codificarlos con orientación a Objetos:

Area de un rectánguloArea de un círculoVelocidad de un carro

Page 6: ALGORITMOS DFD

 Después de presentar la solución de problemas a través del algoritmo y su correspondiente Diagrama de Flujo, ahora se modelará la solución de un problema hasta escribir el programa en el lenguaje denominado seudocódigo.

 * Un cliente compró una camioneta en ColombiAutos. El vendedor le ofreció un descuento del 3% y también calculó el porcentaje del IVA. Determinar e imprimir el valor neto pagado por el cliente.

 Lo primero, hacer un buen análisis del problema y especificarlo a través de un MODELO DE DATOS:

Nombre del dato Identificador Tipo Var\Const Entra\Sale Restricciones

Valor del vehículo vlr_veh R V E >0

Porcentaje del IVA por_iva E V E >0

Porcentaje del descto. por_des R C E = .03

Valor neto a pagar vlr_net R V S  

 Segundo, describir los pasos lógicos de la solución en un algoritmo:

Algoritmo VehiculoINICIO    Conocer el valor del vehículo    Conocer el porcentaje del IVA y del descuento    Calcular el iva (valor del vehículo x porcentaje del IVA)    Calcular el descuento (valor del vehículo x 0.03)    Calcular el valor neto a pagar (valor vehículo + iva - descuento)    Mostrar el valor neto a pagarFIN

_________INICIO

_________  ↓

______________Leer

vlr_veh, por_iva______________

 ↓___________________________________________

vlr_net = vlr_veh + (vlr_veh * por_iva - vlr_veh * 0.03)___________________________________________

↓______________

imprimirvlr_net

Page 7: ALGORITMOS DFD

______________↓

_________FIN

_________ 

 A continuación, una solución del problema en lenguaje SEUDOCÓDIGO.

Programa Venta_vehiculo// Un primer programa escrito en seudocódigo// Autor : Usted// Fecha : 09/09/2006

Var       // declaración de variables    vlr_veh, vlr_net : Real    por_iva            : EnteroConst   // declaración de constantes    por_des = 0.03

INICIO    escribir("ColombiAutos Ltda.")    //ENTRADA    escribir("Valor del vehículo : $")    leer(vlr_veh)    escribir("Porcentaje del IVA ?")    leer(por_iva)     //PROCESO    vlr_net = vlr_veh + (vlr_veh * (por_iva/100) - vlr_veh * por_des)    //SALIDA    escribir("Valor pagado por el cliente -> $", vlr_net)FIN   // fin del programa

 Diseñar la clase y escribir el anterior seudocódigo con orientación a Objetos:

____________________________________________________

Estructura Secuencial

 

 Como lo sugiere su nombre, en una estructura secuencial las instrucciones se ejecutan en el mismo orden en que están escritas. Una secuencia de instrucciones son pasos sucesivos, uno seguido de otro.

Page 8: ALGORITMOS DFD

Descargar, analizar los siguientes algoritmos y codificarlos con orientación a Objetos:

Costo de un vidrioCosto total de balonesLadrillos para una pared

 Escribir un Seudocódigo para solucionar c/u de los siguientes problemas simples de computación:

 * Giovanni compró un terreno en Argentina. La extensión del terreno está especificada en Acres. Leer la extensión del campo en Acres y calcular e imprimir su extensión en Hectáreas. (1 Acre = 4047 metros cuadrados. 1 Hectárea = 10000 metros cuadrados).

Algoritmo Terreno // Otro ejemplo en lenguaje de seudocódigo // Autor  : Otra vez Usted// Fecha  : 14/10/2003Var       // declaración de variables   ext_acres, ext_hecta : RealConst   // declaración de constantes   Acre1 = 4047   Hect1 = 10000Inicio   escribir ("Digite la extensión del terreno en Acres : ")   leer(ext_acres)      // entrada de datos   ext_hecta = (ext_acres * Acre1) / Hect1      // Proceso   escribir ("Extensión del terreno en hectáreas = ", ext_hecta)   // salida de datosFin

 

 // A continuación, la solución en seudocódigo orientado a objetos:

 clase Terreno {

       privado:             ext_acres, ext_hecta : real

       publico:             Terreno( ) { ext_acres= ext_hecta=0 }                leer( ) {  mostrar ("Digite la extensión del terreno en Acres : ")

                          leer  (ext_acres) }             calcular_ext_hecta( ) { ext_hecta = (ext_acres * 4047) / 10000 }             mostrar( ) { mostrar ("Extensión del terreno en hectáreas = ", ext_hecta) }

Page 9: ALGORITMOS DFD

 }

INICIO  1. Terreno Lote     2. Lote.leer( )  3. Lote.calcular_ext_hecta( )  4. Lote.mostrar( )FIN 

 _________________________________________________

1. Calcular e imprimir el área de un trapecio.

2. Solucionar el problema que tienen en una bomba de gasolina 'TERPEL'. Los surtidores de la gasolinera registran el combustible en galones, pero el precio de la gasolina está fijado en litros. Calcular e imprimir el valor que se le debe cobrar al cliente. (1 galón tiene 3.785 litros).

3. Las tarifas de un transporte intermunicipal se incrementaron en un 10%. Diseñar un seudocódigo para calcular e imprimir el valor actual de un pasaje a Chaparral-Tolima.

4. Si un poste de alumbrado público, de 14 m de altura,  proyecta una sombra de 7 m, ¿cuál será la sombra proyectada por una persona?

5. En N días 5 programadores desarrollan una aplicación. ¿En cuántos días podrían desarrollar el mismo software 8 programadores?

6. Un buque de la Armada, de N marineros, tiene víveres para 2 meses. Si queremos que los víveres duren 10 días más, ¿cuántos marineros habría que dejar en la base naval?

7. Calcular e imprimir el número de segundos que hay en un determinado número de dias.

8. Leer por teclado el radio y la altura de un cilindro y calcular e imprimir el área y su volumen.

9. Desde un globo se deja caer un objeto. Diseñe un seudocódigo para calcular e imprimir su distancia y velocidad al cabo de un tiempo t.

10. Leer la cédula, nombre, sexo, horas trabajadas y valor de la hora de un trabajador y deducir e imprimir su salario neto aplicando una bonificación del 5% y un aporte del 7% a la EPS.

11. Convertir una cantidad de pulgadas a centímetros. Imprimir los dos valores.

Page 10: ALGORITMOS DFD

12. Leer por teclado tres números enteros y calcular e imprimir: a) Su producto, b) Resta, c) División cociente del primero por el segundo, d) División residuo del primero por el tercero, e) raíz cuadrada del segundo y f) la media aritmética de los tres números.

13. Leer la longitud de los catetos de un triángulo rectángulo y determinar e imprimir su hipotenusa.

14. Don David es el dueño de una Casa de Cambio y necesita un programa que permita leer por teclado una cantidad expresada en dólares y convertir e imprimir esa cantidad en pesos colombianos.

15. En una copa de ron hay 8 onzas. Convertir una cantidad de onzas en copas e imprimir los dos valores.

16. Un comerciante compra CD's  a  N pe$os. ¿A qué precio debe venderlos para ganar el 20% del costo?

17. Leer por teclado las tres notas de un alumno de Lógica Computacional  y calcular e imprimir su definitiva correspondiente al primer 60%. Los porcentajes de las notas son 15, 20 y 25, respectivamente.

18. Laura Lucía debe pagar un interés del 4% mensual por los N millones de pesos que le prestó la "Corporación SINFONDOS". Escriba un seudocódigo para determinar e imprimir el valor mensual de interés que ella debe pagar.

____________________________________________________

Estructura Selectiva

 

 Las estructuras lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problemas. Las utilizamos cuando en el desarrollo de la solución de un problema debemos tomar una decisión, para establecer un proceso o señalar un camino alternativo a seguir.

En un diagrama de flujo, la toma de decisión se expresa con un rombo y se basa en la evaluación de una o más condiciones que nos señalarán como alternativa o consecuencia, la rama o el camino a seguir.

Hay situaciones en las que la toma de decisiones se realiza en forma de cascada. Es decir, se toma una decisión, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisión y así sucesivamente. Para solucionar el problema debemos aplicar prácticamente un árbol de decisión.

Las estructuras algorítmicas selectivas que se utilizan para la toma de decisiones lógicas se pueden clasificar así:

Page 11: ALGORITMOS DFD

  - Estructura selectiva simple      (SI ENTONCES)  - Estructura selectiva doble        (SI ENTONCES / SINO)  - Estructura selectiva múltiple    (SI MÚLTIPLE: SI / SINO / SI...)  - Estructura selectiva múltiple abreviada   (EN CASO DE)

Todas estas estructuras se pueden combinar.

Descargar, analizar los siguientes algoritmos y codificarlos con orientación a Objetos:

Número mayorLanzamiento de monedaConversión de días 

Codificar los siguientes algoritmos computacionales  aplicando estructuras SELECTIVAS o CONDICIONALES:

 Escriba un programa (seudocódigo) que lea la edad de una persona y determine si puede votar o no en las próximas elecciones.

Algoritmo Votacion

Var    edad  :  Entero

Inicio

   escribir("Por favor, digite su edad => ")

   leer(edad)

   si (edad >= 18)   // condicional

       escribir("Puedes votar en las próximas elecciones...")

   sino

       escribir("Eres menor de edad... y no puedes votar!!!")

   fsi   // fin del condicional

   escribir("Hasta pronto!")

Fin

 

Page 12: ALGORITMOS DFD

 // A continuación, la solución en seudocódigo orientado a objetos:

 clase Edad_voto {

       privado:             edad : entero

       publico:             Edad_voto( ) { edad=0 }                leer( ) {  mostrar ("Por favor, digite su edad : ")

                          leer  (edad) }             mostrar( ) {

                         si (edad >= 18) 

                             mostrar("Puedes votar en las próximas elecciones...")

                        sino

                             mostrar("Eres menor de edad... y no puedes votar!!!")

                        fsi

 }

INICIO  1. Edad_voto  Edavot  2. Edavot.leer( )  3. Edavot.mostrar( )FIN

 

_________________________________________________

2. Calcular el valor del peaje a pagar por un vehículo en la vía Ibagué - Alvarado. Los automóviles pagan un valor de $3500; los camiones pagan $5000; los buses pagan $4000 más un porcentaje del 1% por cada pasajero. El tiquete de cobro del peaje a generar debe contener: Nombre del tipo de vehículo, Nro. de pasajeros y valor del peaje.

3. Dados dos números enteros, determinar si un número es divisor del otro.

4. Un taxista trabaja en la empresa "PengüiTAXI" en la cual le asignan 3 rutas: Ruta A con un valor de $3000, Ruta B con valor $5000 y Ruta C con valor $7000.  Además, debe cobrar un recargo de $500 si está trabajando entre las 20:00 y las

Page 13: ALGORITMOS DFD

05:00.  Si es festivo, hay un recargo de $100.  ¿Cuánto debe pagar un usuario que tome el servicio?

5. Determinar e imprimir si un número entero X es positivo, negativo o cero.

6. Calcular las raíces reales, de ser posible, de una ecuación de segundo grado: (ax² + bx + c = 0)

7. Determinar si un año es bisiesto. Un año es bisiesto si es múltiplo de 4 (por ejemplo, 1984). Los años múltiplos de 100 no son bisiestos, salvo si ellos son también múltiplos de 400 (2000 es bisiesto, 1800 no lo es).

8. Determinar e imprimir si un número entero X es par, impar o nulo.

9. Examinar el valor de una variable real  llamada HORA y visualizar distintos mensajes a diferentes horas del día: a) "Buenos dias", b) "Buenas tardes", c) "Buenas noches".

10. Examinar el valor de una variable real  llamada TEMP y visualizar uno de los siguientes mensajes: a) "Hielo", si el valor de TEMP es menor que 0, b) "Agua", si el valor de TEMP se encuentra entre 0 y 100, c) "Vapor", si el valor de TEMP es mayor que 100.

11. Hallar la solución de una ecuación de la forma: ax + b = 0.

12. Calcular e imprimir el área de un círculo, rectángulo o triángulo. Utilice una escalera si-sino-si.

13. Leer los tres lados de una figura y determinar si es un triángulo. En caso afirmativo, calcular e imprimir el área según sus lados.

14. Leer por teclado tres números diferentes y determinar cuál es el número mayor.

15. El costo de las llamadas internacionales depende de la zona geográfica en la que se encuentre el país destino, y del número de minutos hablados. En la siguiente tabla se presenta el costo por minuto en cada zona, a la cual se le ha asociado un código o clave.

CLAVE  ZONA  PRECIO

12 América del Norte 2

14 América Central 2.2

18 América del Sur 4.6

19 Europa 3.7

23 Asia 6

25 Africa 6

27 Oceanía 5

Page 14: ALGORITMOS DFD

Escriba un seudocódigo  para calcular e imprimir el costo total de una llamada.

____________________________________________________

Estructura Iterativa

 

En los algoritmos es muy común encontrar operaciones que se deben ejecutar un número repetido de veces. Aunque las instrucciones son las mismas, los datos sobre los que se opera varían. El conjunto de instrucciones que se ejecuta reiteradamente se llama ciclo o bucle.

Todo ciclo debe terminar de ejecutarse luego de un número finito de veces, por lo que en cada iteración se requiere evaluar las condiciones necesarias para decidir si debe seguir ejecutándose o debe detenerse. En todo ciclo, siempre debe existir una condición de parada o fin de ciclo.

Por lo general, los lenguajes de programación contienen las siguientes estructuras algorítmicas repetitivas:

- Estructura repetitiva mientras             (while)- Estructura repetitiva hacer mientras   (do while)- Estructura repetitiva para                    (for)

Todas estas estructuras también se pueden combinar.

Descargar, analizar los siguientes algoritmos y codificarlos con orientación a Objetos:

Alumnos admitidos (ciclo Mientras)Alumnos admitidos (ciclo Para)Suma de números positivosSuma de edadesSuma de sueldosCompra de productosCuántas mujeres y hombres 

Codificar los siguientes problemas de computación en Lenguaje Seudocódigo, utilizando estructuras ITERATIVAS o REPETITIVAS:

 Escriba un programa (seudocódigo) para leer la estatura de los N jugadores del Deportes Tolima y determinar e imprimir cuál es la estatura promedio del equipo.

Algoritmo  Promedio

Var

Page 15: ALGORITMOS DFD

     estat, sume, prome : Real

     n, conte                : Entero

Inicio

     sume = 0

     escribir("¿Cuántos jugadores tiene el equipo? => ")

     leer(n)

     escribir("Digite la estatura de los ", n, " futbolistas: ")

     conte = 1

     mientras (conte < =  n)  hacer     // ciclo

                   leer(estat)

                   sume = sume + estat

                   conte = conte + 1

     fmientras     // fin del ciclo

     prome = sume / n

     escribir("La estatura promedio del equipo es: ", prome)

Fin

_________________________________________________

1. Calcular e imprimir los valores que toma la ecuación Y = X² + 4X + 3 cuando X va de 1 a 7.

2. Leer por teclado N números enteros y calcular e imprimir la media de los números pares y la media de los impares. Utilizar un ciclo Mientras.

3. Leer el valor de N pensiones. Si el valor de la pensión es superior a 4 salarios mínimos, se debe calcular el IVA correspondiente. Determinar y visualizar el valor total del impuesto a las pensiones.

4. Leer por teclado 27 números enteros y determinar e imprimir cuántos números son primos.

Page 16: ALGORITMOS DFD

5. Construir un ciclo indeterminado para calcular e imprimir el tiempo de conducción dada la distancia y la velocidad media.

6. Generar e imprimir las tablas de multiplicar.

7. Leer por teclado 24 números reales que representan las temperaturas tomadas en Ibagué en un período de 24 horas. Imprimir la temperatura promedio y las temperaturas más alta y más baja del día.

8. Adriana Marcela es la propietaria del almacén de artículos deportivos "SportPengüin" y necesita un programa para determinar cuántos balones de fútbol-5 y cuántos uniformes y guayos para niños (calzado ≤ 30) se vendieron al final del mes. Implementar un ciclo indeterminado e imprimir también el valor general de venta$.

9. La empresa "TOLModels" desea seleccionar para un evento local a un grupo de personas que cumplan los siguientes requisitos: Mujeres con edad igual o superior a 17 años e inferior a 20 años, con un peso menor a 55 kg y estatura entre 1.70 y 1.75 m.  Hombres con edad entre los 18 y 21 años y con estatura superior a 1.75 m.  a) Cuántas mujeres fueron seleccionadas,    b) Porcentaje de hombres seleccionados,    c) Estatura promedio de todos los aspirantes, y    d) Peso de la mujer más joven seleccionada.

10. Una aplicación interesante de las computadoras, es dibujar gráficos de barra (a veces llamados "histogramas"). Escriba un programa que lea 10 números (cada uno de ellos entre 1 y 30). Para cada uno de los números leídos, su programa deberá imprimir una línea, conteniendo dicho número en asteriscos adyacentes. Por ejemplo, si se lee por teclado el número 8, el programa deberá imprimir ********.