Nro. 1
P ro-Digital P
r
o
g
r
a
m
a
c
i
รณ
n
Ejercicios pag. 22
Pro-Digital es una revista virtual gratuita dirigida a todos aquellos programadores y estudiantes de ingenierรญa, que estรกn comenzando en el campo de la programaciรณn donde encontrarรกs contenido informativo que te ayudara a desarrollarte como buen programador y sumergirte en el mundo de la programaciรณn. Buscamos brindarte informaciรณn que ayuden a tu crecimiento profesional. Pro-Digital tiene como propรณsito mantenerte informado en los temas que te interesan e invitarte a descubrir otros nuevos. En esta ediciรณn Pro-Digital te brindarรก un contenido bรกsico de la programaciรณn como: Programas, algoritmos, medios de programaciรณn, ventajas y desventajas de estos medios para hacer buen uso de ellos, estructuras secuenciales, condicionales y repetitivas, ejemplos de cada punto y resoluciรณn de ejercicios que te ayudaran a entender el tema y ponerlo en practica.
Editores: Franco J Montilla N / Emma C Contreras C Escritores: Franco J Montilla N / Emma C Contreras C
2
RESVITA PRO-DIGITAL ALGORITMOS SECUENCIALES, CONDICIONALES, Y REPETITIVOS COMO MÉTODOS DE SOLUCIÓN DE PROBLEMAS EN LA INGENIERÍA
Programa Algoritmos Medios de programación Diagrama de flujo
Pseudocódigo Ventajas y desventajas de el Diagrama de Flujo y el Pseudocódigo Estructuras secuenciales, condicionales y repetitivas Estructuraras secuenciales Estructurales condicionales Estructuras repetitivas Importancia de la programación para la ingeniería
Resolución de ejercicios
3
Programa Es una secuencia de instrucciones, escritas para realizar una tarea específica en una computadora.Este dispositivo requiere programas para funcionar, por lo general, ejecutando las instrucciones del programa en un procesador central. El programa tiene un formato ejecutable que la computadora puede utilizar directamente para ejecutar las instrucciones. El mismo programa en su formato de código fuente legible para humanos, del cual se derivan los programas ejecutables (por ejemplo, compilados), le permite a un programador estudiar y desarrollar sus algoritmos. Una colección de programas de computadora y datos relacionados se conoce como software.
Fases de creación de un programa El proceso de resolución de problemas en un ordenador conduce a la escritura de un programa y su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la siguiente forma: 1. Analizar el problema: conocer claramente en qué consiste y qué resultados se desean obtener. 2. Planificación de la resolución del problema: dividiéndolo, si es complicado, se divide en una secuencia de etapas más simples. Lo ideal es rayar en una hoja, determinando claramente la finalidad de cada etapa, los datos que se necesitan de entrada, los datos que producirán en salida, los algoritmos que se utilizarán, entre otros. 3. Edición del código fuente: escritura del mismo utilizando un editor de textos simple y un lenguaje de programación. 4. Compilación y ejecución del programa al lenguaje máquina.
5.
6.
4
Corrección de errores del programa: Los errores se corregirán en el código fuente, repitiendo los pasos 3 y 4 tantas veces como sea necesario. Si se producen errores en la lógica del programa, es decir, si el programa “funciona” pero produce resultados incorrectos, hay que modificar el algoritmo volviendo al paso 2. Documentación: Cuando el programa funcione correctamente, es conveniente revisar el código fuente para ordenarlos, eliminar cálculos innecesarios e incluir las líneas de comentario necesarias, en las que se incluyen explicaciones al principio del código sobre la finalidad del programa y sus argumentos de entrada y de salida.
La base de un buen programa es el algoritmo, pero primero debemos entender que es un algoritmo
Algoritmos Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite llevar a cabo una actividad mediante pasos sucesivos que no generen dudas a quien deba hacer dicha actividad. En un algoritmo se distinguen las siguientes acciones: Entrada: es la información de partida que necesita el algoritmo para arrancar. Proceso: es el conjunto de todas las operaciones a realizar. Salida: son los resultados obtenidos.
Las características de un buen algoritmo son:
Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema. Debe ser finito en tamaño y tiempo de ejecución. Un ejemplo de un algoritmo de la vida cotidiana sería; Entrada: gato para carro, herramientas, caucho. Salida: Cambiar Caucho INICIO. levantar el auto con el gato. soltar y sacar los pernos de el caucho quitar el caucho. colocar caucho de repuesto. colocar y apretar los pernos. bajar el gato. FIN
5
edios de expresión de un algoritmo Una vez que se ha elegido la mejor alternativa para solucionar un problema o reto para el que se crea el algoritmo es el momento de representarlo, estos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Pero Las dos herramientas más utilizadas comúnmente para describir algoritmos son:
I.
DIAGRAMA DE FLUJO
Son representaciones gráficas de los pasos necesarios que conllevan a la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. Cada paso se representa a través del símbolo adecuado, que se van uniendo con flechas, denominadas líneas de flujo, que a su vez indican el orden en que los pasos deben ser ejecutados. Se utiliza en disciplinas como la programación, la economía, los procesos industriales y la psicología cognitiva. Pasos a seguir para construir el diagrama de flujo:
6
1.
Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama.
2.
Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.
3.
Identificar y listar los puntos de decisión.
4.
Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
5.
Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.
Los diagramas de flujos tienen características importantes
De uso, permite facilitar su empleo. De destino, permite la correcta identificación de actividades. De comprensión e interpretación, permite simplificar su comprensión. De interacción, permite el acercamiento y coordinación. De simbología, disminuye la complejidad y accesibilidad. De diagramación, se elabora con rapidez y no requiere de recursos sofisticados.
SIMBOLOGIA DE LOS DIAGRAMAS DE FLUJO Determina el inicio y el fin de los algoritmos.
INICIO/FIN
Representa el ingreso de los datos al programa.
LECTURA/ ESCRITURA
Representa las operaciones que se efectúan para obtener el resultado
PROCESO
SI
Representa las operaciones de tipo lógico que contenga el algoritmo.
DECISIÓN
NO
Indican la secuencia del flujo de las operaciones del diagrama.
LINEAS DE FLUJO
7
Ejemplo: Hacer el diagrama de flujo para sumar dos números leídos por teclado y escribir el resultado. Inicio
Leer A
Leemos el primer número y lo dejamos en A.
Leer B
Leemos el primer número y lo dejamos en B.
C=A+B
Sumamos A y B, dejamos el resultado en C.
Escribir C
Escribir C.
Fin
II.
PSEUDOCÓDIGO
Es sin duda de las representaciones más utilizadas, significa escribir las instrucciones del algoritmo en lenguaje natural y como lo expresamos de manera cotidiana, este procedimiento facilita su escritura en los lenguajes de programación. Según Joyanes (2003) “El pseudocódigo es un lenguaje de especificación (descripción) de algoritmos”, pág 68. El pseudocódigo se concibió para superar las dos principales desventajas del diagrama de flujo, el diagrama de flujo es lento de crear y difícil de modificar sin un nuevo redibujo. Por otra parte el pseudocódigo es más fácil de utilizar ya que es similar al español o al ingles, catalán, vasco o gallego. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas.
8
Las principales características de este lenguaje son:
Se puede ejecutar en un ordenador Es una forma de representación sencilla de utilizar y de manipular. Facilita el paso del programa al lenguaje de programación. Es independiente del lenguaje de programación que se vaya a utilizar. Es un método que facilita la programación y solución al algoritmo del programa.
Ejemplo: Escribir un Pseudocódigo de un programa que permita leer la edad y peso de una persona y posteriormente imprimirla. Inicio VariablesNumericas: edad, peso. Imprimir "Escribir los datos (Edad, Peso):"; Leer Edad, Leer Peso; Escribir "Tu peso es: ", peso, " y tu edad es: ", edad.; Fin.
¿Sabias que? El primer lenguaje de programación no fue en una computadora. Los primeros lenguajes de programación, o lenguajes de dominio especifico fueron los telares y los pianos del siglo
9
Ya hablamos de el diagrama de flujo y el pseudocódigo queremos resaltar algunas ventajas y desventajas con las que cuanta cada una de estas herramientas, para saber cual utilizar en determinados casos y cuál es la que sería menos eficiente. Para esto encontraras un cuadro comparativo donde se mencionan sus principales ventajas y desventajas.
PSEUDOCÓDIGO Ventajas
Desventajas
DIAGRAMA DE FLUJO Ventajas
Favorecen la comMejora la claridad Complejo de enten- presión del procede la solución de der para la persona so a través de un problema. común y corriente. mostrarlo como un dibujo.
Es más fácil de modificar.
Son utilizados para resolver problemas de manera rápida, no siendo posible Simplicidad. analizar la totalidad de posibilidades.
Desventajas No se elaboran con base en los principios de la programación estructurada.
Demasiado detalle, genera errores o imprecisiones.
Algoritmo expresaFácil de comprendo en pseudocódiOrientado a ProEl pseudocódigo no der, programar y go puede gramación Estruces el más extendiser traducido fácil- es programable. turada. do. mente. El pseudocódigo es útil para una escri- Técnico y complejo. Fácil implementación. tura rápida de representaciones de algoritmos. Es necesario que exista una palabra Se puede traducir clave para la seleca cualquier idioma. ción y otra para la iteración condicional.
10
Eficiente, aprovechando al máximo los recursos de la computadora.
Uno de los menos eficientes y normalmente, se aprende su técnica pero no se utiliza. Requiere de muchas lecturas/ escrituras en memoria.
Explicamos las estructuras secuenciales, cómo se representan en pseudocódigo y un ejemplo práctico de las mismas. La estructura secuencial es aquella en la que una acción sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma: DIAGRAMA DE FLUJO INICIO ACCION 1 ACCION 2 . . ACCION N FIN
INICIO
ACCION 1 ACCION 2
ACCION N FIN
11
Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados en Pseudocódigo y en diagramas de flujos:
Tengo un teléfono y necesito llamar a alguien pero no sé como hacerlo. PSEUDOCÒDIGO
DIAGRAMA DE FLUJO INICIO
LEVANTE EL TELEFONO
INICIO LEVANTE EL TELEFONO ESPERE TONO MARQUE EL NÚMERO ESPERE QUE CONTESTEN HABLE CON LA OTRA PERSONA CUELGUE EL TELEFONO FIN
ESPERE TONO
MARQUE EL NÚMERO ESPERE QUE CONTESTEN HABLE CON LA OTRA PERSONA CUELGUE EL TELEFONO FIN
El anterior ejemplo es un sencillo algoritmo de un problema cotidiano dado como muestra de una estructura secuencial. Ahora veremos los componentes que pertenecen a ella:
12
Asignación: La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. Escritura o salida de datos: Consiste en mandar por un dispositivo de salida un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Lectura o entrada de datos: La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada un valor o dato. Declaración de variables y constantes: La declaración de variables es un proceso que consiste en listar al principio del algoritmo todas las variables que se usarán, además de colocar el nombre de la variable se debe decir qué tipo de variable es.
Veamos un ejemplos donde se aplique todo lo que hemos visto hasta el momento sobre algoritmos: Ejemplo: Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de estos. Use Pseudocódigo y diagrama de flujos. PSEUDOCODIGO
DIAGRAMA DE FLUJO INICIO
INICIO Num1, Num2, Suma : ENTERO ESCRIBA ‘’DIGA DOS NUMEROS’’ LEA Num1, Num2 Suma Num1 + Num2 ESCRIBA ‘’La Suma es:’’, Suma FIN
Num1, Num2, Suma : ENTERO ‘’DIGA DOS NUMEROS’’
Num1, Num2
Suma
Num1 + Num2
’La Suma es:’’, Suma FIN
13
Explicamos las distintas estructuras condicionales poniendo ejemplos tanto o en diagrama de flujo como en pseudocódigo. Las estructuras condicionales comparan una variable contra otro valor, para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples. 1.
Simples: Las estructuras condicionales simples se les conoce como Tomas de decisión. Estas tomas de decisión tienen la siguiente forma:
PSEUDOCÓDIGO
DIAGRAMA DE FLUJO
Si <condición> entonces Instrucciones Fin-Si <condición>
No
2.
14
Si
TAREAS A REALIZAR SI LA CONDICION ES VERDADERA
Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma:
PSEUDOCÓDIGO SI <condición> entonces Instrucciones Si no Instrucciones Fin-Si
DIAGRAMA DE FLUJO
No
TAREAS A REALIZAR SI LA CONDICION ES FALSA
<condición>
Si
TAREAS A REALIZAR SI LA CONDICION ES VERDADERA
Donde: Si: Indica el comando de comparación Condición : Indica la condición a evaluar Entonces : Precede a las acciones a realizar cuando se cumple la condición Instrucciones: Son las acciones a realizar cuando se cumple o no la condición Si no :Precede a las acciones a realizar cuando no se cumple la condición Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones. Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma común es la siguiente:
15
PSEUDOCÓDIGO
DIAGRAMA DE FLUJO
<condición>
Si <condición> entonces Instrucciones Si no Si <condición> entonces Instrucciones <condición 2> Si no . . Varias condiciones . <condición 3>
¿Cuantos lenguajes de programación conoces? 10? 30? 50? Novato. alrededor de 1150 lenguajes diferentes .
16
TAREA A REALIZAR SI LA CONDICION ES VERDADERA
TAREA A REALIZAR SI LA CONDICION ES VERDADERA
TAREA A REALIZAR SI LA CONDICION ES VERDADERA
Explicamos las tres posibles estructuras repetitivas; Para, mientras, repetir. Complementamos con tres ejemplos para la correcta asimilación de estas estructuras. Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa). Los ciclos se clasifican en:
1.
Ciclos con un Numero Determinado de Iteraciones
(Para): Son aquellos en que el número de iteraciones se conoce antes de ejecutarse el ciclo. La forma de esta estructura es la siguiente: PSEUDOCÓDIGO Para <va> <expo1> hasta <expo2> paso <expo3> haga <Tareas a repetir> Fin-Para DIAGRAMA DE FLUJO
<variable> <expo1> hasta <expo2> paso <expo3>
Grupo de instrucciones
17
Dado un valor inicial exp1 asignado a la variable esta se irá aumentando o disminuyendo de acuerdo a la exp3 hasta llegar a la exp2; si se omite el paso, significa que la variable aumentará de uno en uno. 2.
Ciclos con un Número Indeterminado de Iteraciones
Son aquellos en que el numero de iteraciones no se conoce con exactitud, ya que esta dado en función de un dato dentro del programa. Mientras Que: Esta es una estructura que repetirá un proceso durante N veces, donde N puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso. La forma de esta estructura es la siguiente: PSEUDOCÓDIGO
Mientras que <condición> Acción 1 Acción 2 . . Acción N Fin-Mientras
18
DIAGRAMA DE FLUJO
<condición>
Grupo de instrucciones
Repita-Hasta: Esta es una estructura similar en algunas características, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del ‘’Mientras Que’’, el ‘’RepitaHasta’’ lo hace hasta que la condición se cumple y no mientras, como en el ‘’Mientras Que.’’ Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condición se evalúa al final del proceso, mientras que en el ‘’Mientras Que’’ puede ser que nunca llegue a entrar si la condición no se cumple desde un principio. La forma de esta estructura es la siguiente: PSEUDOCÓDIGO INICIO Contador : Entero Para Contador 1 hasta 10 haga Escriba Contador FIN
DIAGRAMA DE FLUJO INICIO Contador: Entero
Contador
1 hasta 10 haga
Contador
FIN
19
La programación es de gran utilidad, debido a todos los procedimientos que llevan a cabo como ingenieros, como organizacionales, administrativos, matemáticos, informáticos, logísticos etc. Como se puede ver todo eso lo podemos desarrollar con apoyo de las PC. Como el dibujo y su famoso AutoCAD. Entonces para que sirve la programación, pues para hacer que la computadora haga lo que queremos que haga y no al revés. Desarrollar rutinas que nos da mucha ventaja en tiempo e implementación, reduce los tiempos de elaboración de planos a menos de la mitad y con mayor calidad, claro también hay que ser bueno para el uso del programa en sí. Otra herramienta mágica en nuestra rama es el EXCEL es un programa que se usa en casi cualquier ámbito, entonces es muy ventajoso y mas económico que comprar software especializados para cada función hacer pequeñas o grandes rutinas de programación para llevar a cabo las tareas mas repetitivas e iterativas, para que con un clic, haga revisiones y diseños, balances de costos, estados de cuenta, programación laboral entre mil otras cosas. Además, se tiene el control de lo que hace el programa u hoja de calculo.
20
Si por otra parte, se adquiere un software diseñado para digamos, diseño de fabricación, este programa debe estar probado y aprobado , pero tendrá criterios que difieran de los que necesitamos, o se tendrá limitantes si por ejemplo se desea refuerzo en lecho superior de zapata y el programa no lo maneja o si se trabaja con STAAD para análisis estructural y ese programa de fabricación no es compatible o lo que STAAD considera momento negativo o cortante positivo, o la orientación de las coordenadas, el de fabricación lo considere de otra forma. Entonces con las herramientas de programación se puede hacer muchísimas cosas que funcionen como queremos y no viceversa y hagan lo que queremos y se acomoden a nuestras necesidades y estilo y no al revés. Por otra parte, los mismos programas como Staad, Excel, AutoCAD, SAFE, Etabs, entre otros. Traen módulos compatibles con lo que es Visual Basic o C++ lo que se puede aprovechar para ajustar el uso y respuesta del programa a la manera en la que deseemos a nuestro criterio. En general en todas las ramas y cualquier tarea que desee desarrollar se puede ver apoyada por la PC y por consiguiente por programación que puede ser simple y básica o avanzada.
21
RESOLUCIÓN DE EJERCICIOS En esta sección de la revista encontraras una resolución de ejercicios en PSeInt donde aplicamos todo el contenido visto hasta ahora. EJERCICIOS 1. Se desea conocer los datos estadísticos de una asignatura, por lo tanto, necesitamos un algoritmo que lea el número de reprobados, aprobados, excelentes y sobresalientes de una asignatura, y nos devuelva: a. El porcentaje de estudiantes que han aprobado la asignatura. b. El porcentaje de reprobados, aprobados, excelentes y sobresalientes dela asignatura Inicio Escribir "Ingrese la cantidad de alumnos Reprobados:"; Leer alumnos_reprobados; Escribir "Ingrese la cantidad de alumnos Aprobados:"; Leer alumnos_aprobados; Escribir "Ingrese la cantidad de alumnos Excelentes:"; Leer alumnos_excelentes; Escribir "Ingrese la cantidad de alumnos Sobresalientes:"; Leer alumnos_sobresalientes; total <- alumnos_reprobados+alumnos_aprobados+alumnos_excelentes+alumnos_sobres alientes; porcentaje_de_reprobados <- 100*alumnos_reprobados/total; porcentaje_de_aprobados <- 100*alumnos_aprobados/total; porcentaje_de_exelentes <- 100*alumnos_excelentes/total; porcentaje_de_sobresalientes <- 100*alumnos_sobresalientes/total; Escribir "Valor de porcentaje de reprobados: ", porcentaje_de_reprobados,"%"; Escribir "Valor de porcentaje de aprobados: ", porcentaje_de_aprobados,"%"; Escribir "Valor de porcentaje de Excelentes: ", porcentaje_de_exelentes,"%"; Escribir "Valor de porcentaje de sobresalientes: ", porcentaje_de_sobresalientes,"%"; FinAlgoritmo
22
2. El costo de un automóvil nuevo para un comprador es la suma total del costo del vehículo, del porcentaje de la ganancia del vendedor y de los impuestos locales o estatales aplicables (sobre el precio de venta). Suponer una ganancia del vendedor del 15% en todas las unidades y un impuesto del 12% y diseñar un algoritmo para leer el coste total del automóvil e imprimir el coste para el consumidor.
Inicio Escribir "Ingrese el coste del automovil"; Leer coste_sin_impuesto; comision <- coste_sin_impuesto*0.15; impuesto <- coste_sin_impuesto*0.12; total <- coste_sin_impuesto+impuesto+comision; Escribir "La comision es de: ", comision,"Bsf"; Escribir "Los impuestos son de: ", impuesto,"Bsf"; Escribir "El coste total del automóvil es de: ", total,"Bsf"; FinAlgoritmo
3. Leer 10 calificaciones de un grupo de alumnos. Calcule y escriba el porcentaje de reprobados. Tomando en cuenta que la calificación mínima aprobatoria es de 9.5 PTOS. Inicio Algoritmo sin_titulo alumnos<-10; reprobados<-0; Para i<-1 Hasta alumnos Con Paso 1 Hacer Escribir "Nota del alumno",i; Escribir "Ingrese la nota: "; Leer nota; Si (nota<9.5) Entonces reprobados<-reprobados+1; FinSi FinPara reprobados<-(reprobados*100)/alumnos; Escribir "Porcentaje de reprobados: ",reprobados,"%"; FinAlgoritmo
23
4. Desarrollar un algoritmo que permita leer dos valores, e indicar si el resultado de dividir la suma de los dos números entre la resta de los mismos es exacta, caso contrario imprimir no es exacta. Inicio Escribir "Valor n°1: " Leer A Escribir "Valor n°2:" Leer B suma = A + B resta = A - B Si suma MOD resta = 0 Entonces Escribir "Es exacta" Sino Escribir "No es exacta" Fin Si FinAlgoritmo 5. A un trabajador le pagan según sus horas trabajadas y la tarifa está a un valor determinado por hora. Si la cantidad de horas trabajadas es mayor a 40 horas, la tarifa por hora se incrementa en un 25% para las horas extras. Calcular el salario del trabajador dadas las horas trabajadas y la tarifa de horas extras. Inicio Escribir "Horas trabajadas:" Leer horas_trabajadas Escribir "Tarifa:" Leer tarifa si (horas_trabajadas <= 40) entonces salario <- horas_trabajadas * tarifa SiNo tarifa_extra <- tarifa + (0.25 * tarifa) horas_extras <- horas_trabajadas - 40 salario <- (horas_extras * tarifa_extra) + (40 *tarifa) finsi Escribir "Su salario es: ",salario,"Bfs"; FinAlgoritmo
24
6. Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a la semana. Su política de pagos es que un vendedor recibe un sueldo base, y un 10% extra por comisiones de sus ventas. El gerente de su compañía desea saber cuánto dinero obtendrá en la semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuanto tomando en cuenta su sueldo base y sus comisiones. Inicio calculo<-1; numero_trabajadores<-0; sueldo_base<-0; comision<-0; Escribir "Digite el numero de vendedores"; Leer numero_trabajadores; Mientras calculo<=numero_trabajadores Hacer Escribir "Valor 1era venta: " Leer venta1 Escribir "Valor 2da venta: " Leer venta2 Escribir "Valor 3era venta: " Leer Venta3 total_ventas<- (venta1+venta2+venta3) comision<-(total_ventas*10)/100; Escribir "Sueldo Básico: "; Leer sueldo_base; Escribir "El empleado gana comision de: ",comision,"Bfs"; escribir "El Sueldo Neto del empleado es: ", sueldo_base+comision,"Bfs"; calculo<-calculo+1; FinMientras FinAlgoritmo
25
7. Realizar un algoritmo que permita pedir 50 nĂşmeros naturales y determine e imprima cuantos son pares, impares, positivos y negativos. Inicio Escribir "Digite numeros" par<-0; impar<-0; positivo<-0; negativo<-0; contador <-50; Para i<-1 Hasta contador Con Paso 1 Hacer Leer numero; Si numero mod 2= 0 Entonces par<-par+1 Sino impar<-impar+1 FinSi Si numero>0 Entonces positivo<-positivo+1 Sino negativo<-negativo+1 FinSi FinPara Escribir "los numeros pares son:",par; Escribir "los numeros impares son: ",impar; Escribir "los numeros positivos son: ",positivo; Escribir "los numeros negativos son: ",negativo; FinAlgoritmo
26
8. Se desea saber cuánto tendrá que pagar una persona por la compra de un artículo en base a las siguientes condiciones. Si compra menos de 5 del mismo artículo se le hará un descuento del 10% sobre el total de su compra. Si compra 5 o más, pero menos de 10 se le hace un 15% de descuento. Si compra más de 10 pero menos de 15 se le hace un 20% de descuento y en caso contrario se le hará un 25% de descuento sobre su compra. Inicio Escribir "N° de articulos a comprar: " Leer num_articulos Escribir "Precio: " Leer precio total_comprar<-num_articulos*precio si num_articulos >= 15 Entonces total_pagar<-total_comprar-total_comprar*.25 Escribir "Total a pagar: ",total_pagar,"Bfs"; SiNo si num_articulos >= 10 Y num_articulos < 15 Entonces total_pagar<-total_comprartotal_comprar*.20 Escribir "Total a pagar: ",total_pagar,"Bfs"; finsi si num_articulos >= 5 Y num_articulos < 10 Entonces total_pagar<-total_comprartotal_comprar*.15 Escribir "Total a pagar: ",total_pagar,"Bfs"; SiNo si num_articulos <5 Entonces total_pagar<-total_comprartotal_comprar*.10 Escribir "Total a pagar: ",total_pagar,"Bfs"; finsi finsi FinSi FinAlgoritmo
27