DIAGRAMACION Y ALGORITMOS
ALGORITMOS DEFINICIÓN DE ALGORITMO La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema especifico. Tipos de Algoritmos Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Lenguajes Algorítmicos Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Tipos de Lenguajes Algorítmicos Gráficos: Es la representación representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo). Características de un algoritmo 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.
Las
Ejemplo: 1.Se
desea construir un algoritmo que cambie la rueda de un automóvil. La siguiente lista de paso le ayudará a en la construcción del algoritmo pero, para ellos debe ordenarlas en una secuencia lógica.
a. Sacar las tuercas b. Inicio c. Bajar el auto y retirar las tuercas d. Colocar repuesto e. Sacar herramientas y respuesta. f. Cerrar maletera g. Colocar tuercas h. Fin i. Abrir maletera j. Apretar turcas k. Posicionar gata y levantar l. Guardar herramientas y rueda
Ing. Carlos Javier Pastrana Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
ALGORITMOS DEFINICIÓN DE ALGORITMO La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema especifico. Tipos de Algoritmos Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Lenguajes Algorítmicos Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Tipos de Lenguajes Algorítmicos Gráficos: Es la representación representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo). Características de un algoritmo 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.
Las
Ejemplo: 1.Se
desea construir un algoritmo que cambie la rueda de un automóvil. La siguiente lista de paso le ayudará a en la construcción del algoritmo pero, para ellos debe ordenarlas en una secuencia lógica.
a. Sacar las tuercas b. Inicio c. Bajar el auto y retirar las tuercas d. Colocar repuesto e. Sacar herramientas y respuesta. f. Cerrar maletera g. Colocar tuercas h. Fin i. Abrir maletera j. Apretar turcas k. Posicionar gata y levantar l. Guardar herramientas y rueda
Ing. Carlos Javier Pastrana Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
m. Retirar rueda mala n. Soltar tuercas 2.Escriba el algoritmo que soluciona los siguientes problemas cotidianos. a. Cambiar las cuatro ruedas de un vehículo. b. Guardar 20 monedas de $ 100 en una alcancía. c. Destapar un botellas de bebidas hasta que se terminen, es decir un número indefinido de botellas.
ENTIDADES PARA EL DESARROLLO DE UN ALGORITMO: ALGORITMO: DATO: Recordemos que el dato es una entidad, tratable por software, la cual puede ser procesada, a fin de obtener resultados o información útil. Un dato está compuesto por tres partes, las cuales son: 1.Identificador: Es un nombre para referenciarlo, puede contener letras, números o combinaciones de ambas, donde el primer carácter es un letra, y su nombre comúnmente esta relacionado con la información que representa, para facilitar nuestra tarea y evitar confusiones. Ejemplo Hola Punto_Final 5puntos $punto3 Punto/2 Punto1 .P4
Válido Válido No válido, comienza con un número Válido Válido Valido No válido, comienza con el carácter .
Tipo: El tipo se refiere a la forma del dato, esto puede ser: de carácter (char), numérico (real o entero), fecha, cadena de caracteres (string), booleano (lógico, es decir, verdadero o falso). Ejemplo: Si A=12, B=3.5, C= ³hola´, D=´S´, entonces las variables son del siguiente tipo: A: entero B: real C: string o cadena D: char Valor: El valor está directamente relacionado con el tipo. Ejemplo Si las siguientes variables son declaradas como: X: entero, debe almacenar un valor entero, es decir cualquier número del conjunto Z H: boolena, debe almacenar un valor lógico es decir, Verdadero o falso Z: real, debe almacenar cualquier número del conjunto de los reales (R) Ing. Carlos Javier Pastrana Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
P: char, debe almacenar sólo un carácter de cualquier tipo F: String, debe almacenar una cadena de caracteres, desde dos caracteres o más caracteres.
Constantes, Variables y expresiones Constantes: Constantes: Las constantes son valores declarados en un programa para su utilización posterior y poseen un valor que no varia durante el proceso de ejecución; Ejemplo PI= 3.14, constante numérica
INACAP Dirección de Área Informática 22
OP= ³s´, constante char Men=´ hola´ , constante string Variables: Las variables son objetos que poseen un valor que puede ir cambiando o ser modificado a lo largo de la l a ejecución del programa. Expresiones: Las expresiones son la representación de un cálculo necesario para la obtención de un resultado. En informática existen tres tipos de expresiones: a) Numéricas: Generan un resultado numérico y se construyen mediante operadores aritméticos: Ejemplo PI*4. 15+X b) Alfanuméricas: Resultados alfanuméricos, se construyen mediante operadores alfanuméricos: Ejemplo N=´Juan´ ³Don´+N=´Don Juan´ c) Booleanos: Resultados verdaderos o falso, se construyen mediante operadores relacionales y lógicos: Ejemplo A>O y B<5.
Ing. Carlos Javier Pastrana Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Operadores: Sirven para la construcción de expresiones. La presente tabla muestra su respectiva clasificación.
Operadores Aritméticos: Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes). Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real. Ejemplos: 7 / 2 = 3.5 12 mod 7 = 5 4 + 2 * 5 = 14 Prioridad de los Operadores Aritméticos Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero. Dentro de una misma expresión los operadores se evalúan en el siguiente orden. a) ( ) Parentesis b) ^ Exponenciación c) *, /, mod Multiplicación, división, modulo. d) +, - Suma y resta. Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.
Ejemplos: 1.Observe el siguiente calculo respetando las prioridades 4 + 2 * 5 = 14 23 * 2 / 5 = 9.2 Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
46 / 5 = 9.2 3 + 5 * ( 10 - (2 + 4)) = 23 3 + 5 * ( 10 - 6) =23 3.5 + 5.09 - 3.5 = 5.09 2.1 * (1.5 + 3.0 * 4. 1) = 28.98 Operadores Alfanuméricos La operación mas utilizado es la concatenación representada por el signo +; La concatenación no es mas que la unión de caracteres o cadena de caracteres, transformándola de este modo a una sola cadena. Ejemplo: Observe las siguientes concatenaciones a) ³12´ + ³ 12´ = ³1212´ b) ³EL RESULTADO´ + ³ ES´= ³EL RESULTADO ES´ c) ³METODO´+´LOGICO´ = ´METODOLOGICO´ d) ³123´+´.24-³+´A´ = ³123.24-A´ Operadores Relaciónales: Se utilizan para establecer una relación entre dos valores. Compara estos valores entre sí del mismo tipo y esta comparación produce un resultado verdadero o falso, tienen el mismo nivel de prioridad en su evaluación . Ejemplos: Si a = 10, b = 20, c = 30 a + b > c Falso a - b < c Verdadero a - b = c Falso a * b < > c Verdadero Operadores Lógicos y las proposiciones: Los operadores lógicos, permiten entre otras cosas resolver proposiciones, donde llamaremos proposiciones a toda expresión que tenga un sentido y de la cual se puede decir que es verdadera o falsa. Esta es llamada lógica proposicional. Ejemplo: a) La quinta región se caracteriza por ser zona minera (Esta proposición es falsa). b) ¿Cómo se resuelve este ejercicio? (Esta no es una proposición) c) El caballo blanco de Napoleón es blanco (Esta proposición es verdadera). Las proposiciones pueden ser nominadas con algunas letras tales como p,q,r, etc. Las cuales pueden ser unidas por conectivos lógicos, dando origen a una expresión lógicas. Los operadores lógicos más utilizado en la programación es la negación (not), los conectivos and (y) or (o). Su tablas de verdad son:
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
PSEUDOCÓDIGO: Manera no gráfica de resolver algoritmos
Ejercicio, Leer dos números, sumarlos y obtener su resultado
Explicación
Sección encabezado (líneas 1,2,3) Línea 1 ->definición del nombre, todo algoritmo debe ser identificado con un nombre Línea 2 -> Palabra para identificar las variables a utilizar Línea 3 -> variables utilizadas y el tipo de las mismas, para este caso de tipo entero (recordemos que los datos numéricos se dividen en enteros y reales) Línea 4 -> Damos inicio al cuero del algoritmo Línea 5 ->La palabra escriba es una directiva de salida, es decir todo lo que se ingresa dentro de esta instrucción son comentarios o valores, que serán visualizados por el usuario, para este caso, estamos solicitando que ingrese un número. Línea 6 -> La palabra lea es una directiva de entrada, significa que todo lo que se escriba dentro, será ingresado, en este caso estamos ingresando un número cualquiera Línea 7 y 8 -> repite la secuencia de las líneas 5 y 6 Línea 9 -> Proceso, en este segmento se le asigna el valor de la suma de dos variables a una tercera (suma) Línea 10 -> podemos observar una salida doble, es decir la primera parte un cometario y luego la variable de resultado Línea 11-> final del algoritmo
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
P ara
tener en cuenta
Con los algoritmos, resulta más cómodo, presentar mensajes de claridad al usuario, por ejemplo cundo decimos (³por favor ingrese un número´), en ese momento somos explícitos con lo que queremos hacer, Resumiendo
Escriba ->sirve para dar a conocer mensajes o resultados Lea -> permite capturara información
E
structuras de Selección
Las estructuras de selección son estructuras de control utilizadas para la toma decisiones dentro de un programa. A estas estructuras se conocen también como estructuras selectivas o estructuras de decisión y son las siguientes: La estructura de selección simple (SI). La estructura de selección doble (SI-SINO). Estructura de Selección doble en Cascada SI-SINO-SI
y y y
La estructura de selección simple permite ejecutar una acción o un grupo de acciones sólo si se cumple una determinada condición. Si (condicional) Sentencia 1 Sentencia 2 « Fin _si La estructura de selección doble permite seleccionar una ruta de dos rutas posibles en base a la verdad o falsedad de una condición __
_ Si (condicional) Sentencia 1 Sentencia 2 « Si_no Sentencia 1 Sentencia 2 « Fin_fi
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
La estructura de selección doble en cascada esta formada por varias estructuras de selección doble SI-SINO puestas una a continuación de otra de forma que a un SI-SINO le sigue otro SI-SINO. En la estructura de selección doble en cascada, las condiciones se evalúan orden descendente, pasando de una condición a otra si la condición anterior resulta falsa. En el momento que se encuentra una condición verdadera, se efectúa acción correspondiente a dicha condición se corta el resto de la estructura. Si todas las condiciones resultan falsas, se efectuará acciones correspondientes al SINO, que se considera como la acción por defecto.
SI( condicional1 ) accion1
SINO SI( condicional2 ) accion2
_ ((_ SINO SI( condicional3 ) accion3
SINO
. . .
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Ejemplo 3 Variación del ejercicio anterior, que pasa si los números son iguales Entonces una posible solución es la siguiente 1. Algoritmo mayor_v1 2. var 3. a,b:entero 4. inicio 5. Escriba(³Por Favor entre un número´); 6. Lea(a); 7. Escriba(³por favor entre el segundo número´); 8. Lea (b); 9. Si (a=b) 10. escriba (³los Números son Iguales´); 11. fin_si 12. Si (a>b) 13. escriba (³El mayor es :´, a); 14. fin_si 15. Si (a
Por favor discuta y analice con su compañeros de grupo, porque en este ejercicio se emplearon 3 condicionales?, Existen otras formas de resolverlo?
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Estructuras de secuencia Ciclos o Bucles Este tipo de estructuras marcan como orden de ejecución la reiteración de una serie de acciones basándose en un bucle. ³U n BUCLE (loop, en inglés) es un trozo de algoritmo cuyas instrucciones son repetidas un cierto número de veces, mientras se cumple una cierta condición que ha de ser claramente especificada. La condición podrá ser verdadera o falsa, y se comprobará en cada paso o iteración del bucle. Básicamente, existen tres tipos de estructuras repetitivas: Desde o Para: este tipo de ciclo es ideal cuando se conoce la cantidad de veces que se desea ejecutar una acción
También
se hace necesario conocer otros conceptos que se manejan mucho cuando hablamos de ciclos o bucle ellos son: Decisión: donde se evalúa la condición y, en caso de ser cierta, se ejecuta. y
Cuerpo del bucle: son las instrucciones que queremos ejecutar
y
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
repetidamente un cierto número de veces. Salida del bucle: es la condición que dice cuándo saldremos de hacer repeticiones (caminar mientras encuentro un sillón, en el momento de encontrar un sillon dejo de caminar y he salido del ciclo). Una forma de controlar un bucle es mediante una variable llamada y
CONTADOR, cuyo valor se incrementa o decremento en una cantidad constante en cada repetición que se produzca. También, en los bucles suele haber otro tipo de variables llamadas
ACUMULADOR, cuya misión es almacenar una cantidad variable resultante de operaciones sucesivas y repetidas. Es como un contador, con la diferencia que el incremento/decremento es variable.
CICLO PARA O DESDE La estructura repetitiva PARA ó DESDE permite que las instrucciones las cuales contiene en su ámbito, se ejecuten un número de veces determinado Una variable de control, que llamamos contador, se incrementa o decrementa esde un valor inicial hasta un valor final. Supondremos un incremento de uno en uno y decrementos de menos uno en menos uno. Bueno para ser explicito, lo mejor es realizar un ejercicio donde se comprenda todos los conceptos mencionados hasta el momento.
Ejercicio Realizar un algoritmo que sume los 10 primeros números naturales e imprima su resultado. Análisis
1. los números naturales se tomaran del 1 al 10 2. como se conoce la cantidad de veces que hay que sumar los números, lo mejor es utilizar el ciclo desde o para 3. como se necesita sumar los números, lo mejor es utilizar un acumulador 4. En este caso, los números se conocen, por lo tanto no habría que capturar ningún valor
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Explicación Línea 5 -> es importante inicializar las variables que serán utilizadas como acumuladores Línea 6 -> instrucción del ciclo básico desde el número 1 hasta el 10, en este caso la variable k se comporta como un contador Línea 7-> Al valor anterior que tiene la variable suma, le acumulamos un nuevo valor, como puede observarse en la prueba de escritorio Línea 8-> todo ciclo al igual que todo condicional se debe cerrar Línea 9-> esta línea, se hubiese podido colocar antes de cerrar el ciclo, pero se imprimiría 10 un resultado
Ejercicio 2 Una pequeña variación al ejercicio anterior Realizar la suma de 10 números cualesquiera e imprimir su resultado Análisis
1.- Para este caso se saben cuantos números serán los sumados, por lo cual se recomienda utilizar nuevamente el ciclo para 2.- No se sabe cuales son los números, por lo tanto hay que capturarlos 3.- se aumentará una variable, la que captura los números
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Ejercicio Realizar un algoritmo que permita ingresar 10 números, de los cuales se debe sumar aquellos que son positivos y contar los que son negativos, imprimir los resultados Análisis
1.-Al igual que los ejercicios anteriores, se sabe cuantos números son 2.-Nuevamente el ciclo recomendado es el ciclo para o desde (desde i=1 hasta 10) 3.-Se complica un poco, pues se pide sumar y contar dependiendo el número 4.-Tendremos que utilizar una variable para contar y otra para acumular 5.-es necesario dentro del ciclo tomar una decisión
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Explicación
Línea 6-> inicializamos en cero la variable que utilizamos como contador de números negativos Línea 10-> condicionamos el número leído, par determinar si es positivo o negativo, en el caso de ser positivos lo sumamos en la línea 11, en el caso de ser negativo lo contamos en la línea 13
EJERCICIOS DE VERIFICACIÓN Desarrollar el siguiente taller (grupos de 3 personas) 1.-Realizar un algoritmo que permita leer 20 temperaturas (grados Cº) diferentes durante un día, se debe indicar cual fue la temperatura el promedio de ese día 2.-Una empresa que cuenta con n empleados desea realizar algunos cálculos para la nueva nómina. Los datos con que cuenta son los sueldos de los n empleados: n, s1 , s2 , s3 , ..., sn. Elabore un algoritmo de para leer los datos y contestar a las siguientes preguntas: a) ¿Cuál es el aumento correspondiente a cada empleado según el siguiente criterio? 17% si el sueldo es inferior a $5,000 Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
10% si el sueldo está entre $5,000 y $15,000 5% si el sueldo es superior a $15,000 b) ¿Cuál es el nuevo sueldo para cada empleado? c) ¿Cuál es el total de la nueva nómina? d) ¿Cuál es el incremento en la nómina? e) ¿Cuál es el máximo sueldo nuevo? f) ¿Cuál es el mínimo sueldo nuevo? Se sugiere leer la variable k para determinar la cantidad de empleados antes de hincar el ciclo 3.-se desea desarrollar un algoritmo que permita, desarrollar la tabla de multiplicar de un determinado número (la tabla básica va de 1 a 9); 4.-Variación del ejercicio anterior, se debe desarrollar un algoritmo que permita mostrar las tablas del 1 al 9 5.-Se desea construir un algoritmo que permita imprimir el resultado del factorial de un número dado (factorial =n!); 6.- una empresa con 20 empleados desea saber cuantos ganan menos de un salario mínimo, cuantos tienen un salario entre uno y dos salarios mínimos y cuantos ganan más de tres salarios mínimos, además cual es el valor actual de la nomina de la empresa, cuanto aumentará la nomina mensual si se hace incrementos así; 20% a aquellos que gana menos de un salario mínimo, 10% a los que ganan entre 1 y dos salarios mínimos y 5% a quienes gana más de 3 salarios mínimos. Se deben realizar los cálculos, teniendo en cuenta el valor del salario mínimo legal vigente 7.-Se desea desarrollar un algoritmo que permita determinar e imprimir el promedio de las edades de los alumnos de el curso algoritmos de este Cead, a demás se debe aprovechar la consulta para determina cuantos son casados, cuanto viven en unión libre, cuantos solteros, cuantos son viudos, cuantos vienen de otras ciudades, cuantos conocen la misión de la Unad, si lo desean lo pueden clasificar por géneros. La realización de este ejercicio con datos reales podrá conocer un poco más a sus compañeros de curso 8.-Consultar información referente a los ciclos mientras y el ciclo Repita
Ciclo Mientras
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Controla la ejecución de un conjunto de instrucciones de tal forma que éste se ejecuta mientras se cumpla la condición de control que aparece al comienzo de la instrucción. Es decir funciona siempre y cuando la condición sea verdadera.
Ejemplo Se debe desarrollar un algoritmo que este permita ingresar las notas del curso de algoritmos, el programa debe terminar cuando la nota ingresada es cero (cero), luego mostrar el promedio de las notas ingresadas Análisis
1. En este ejercicio no se sabe la cantidad de notas 2.-Se sabe que se termina cuando una de las notas ingresada es cero 3.-Se debe utilizar un contador, para determinar el número de notas ingresadas 4.-también se debe utilizar un acumulador para sumar cada nota 5.-se utilizara una variable extra si es del caso para obtener el promedio.
Explicación Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Línea 4-> no olvidemos que en algunos casos no se debe emplear números enteros Línea 6 -> se pude emplear una línea para realizar varias actividades Línea 7 -> se da inicio al ciclo con el condicional, para este caso que la nota sea diferente a 0, la sentencia diferente también se puede representar como (!=) Línea 10. Es importante el condicional para controlar que solo recibamos números positivos Línea 14->todo ciclo se debe cerrar
CICLO REPETIR HAST A Controla la ejecución de un conjunto de instrucciones de tal forma que éste se ejecuta hasta que se cumpla la condición de control que aparece al final de la instrucción.
Ejercicio Se realza una variación al ejercicio anterior Las notas permitidas son únicamente, números positivos comprendidos entre 0.1 y cinco. Con este ejercicio se pretende abordar un tema de mucha importancia, como son los f iltros, los cuales solo permiten el ingreso de unos determinados valores, en caso de que esos valores no sean validos se generara mensajes de error, Con este planteamiento, podemos involucrar los dos ciclos Análisis
1.-El análisis prácticamente es el mismo anterior, solo que se debe tener en cuenta las notas permitidas (0.1 a 5.0) 2.-En caso de no ser una nota permitida el algoritmo emitirá un mensaje y pedirá un nuevo número
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Explicación
De la línea 8 a la 14 esta controlada por el ciclo re pita ..hasta Línea 11-> este condicional permite generar un mensaje de error, si la nota esta fuera del rango establecido Línea 14, termina el ciclo repita con una condición de verificación Línea 15->, por qué validar que la nota sea diferente de 0,?. Bueno la respuesta es que el cero es nuestro valor CENTINEL A o B A NDER A y no lo estamos teniendo en cuenta dentro del ciclo repita ni en el condicional Observación importante, en este ejercicio, hemos empleado los conectores lógicos, para este caso el conector o lo podemos observar en las líneas 11 y 14, se sugiere consultar más referente a estos conectores
Ejercicios de verificación Evidencia: documento con informe de la actividad, y registro en el portafolio 1.-Determine cuál es la diferencia entre: a) contador y acumulador b) ciclo para y ciclo mientras d) ciclo mientras y ciclo repita e) condicional y ciclo En un periodo académico existen 45 alumnos y cada uno de ellos tiene 4 calificaciones, correspondientes a 5 diferentes cursos. Se requiere encontrar: _ El promedio de cada estudiante. _ el promedio general del curso (=promedio de los promedios). d) se debe realizar una mejora al algoritmo anterior, permitiendo controlar para cada alumno n cursos, se debe imprimir los mismos ítems e) Para las elecciones presidenciales que se realizarán en Colombia, existen tres partidos políticos aspirando con sus candidatos (1, 2,3). Uno de estos ha decidido realizar una consulta (encuesta) a un cierto número de personas, para determinar las preferencias de los electores A cada persona se le pregunta: Si va a votar, En caso de que la respuesta se afirmativa, se le preguntará por qué partido votará. Elaborar un algoritmo, para llevar un control de la información y así Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
obtener unos resultados con prontitud Nota: el dato partido solamente se lee si la persona entrevistada ha contestado que sí votará. El algoritmo imprimirá la siguiente información: _ ¿Cuál es el partido que esta repuntando? _ ¿cuál es % de abstención? _ ¿Cuál es % a favor de cada partido, teniendo en cuenta, las entrevistas validas? _ ¿cual es el % de personas que SI votaran? f) Realizar un algoritmo que permita determinar si un número es par o impar, teniendo en cuenta las siguientes condiciones: Solo se admiten números positivos Solo se evalúan números entre 1000 y 147890, cualquier otro número genera una advertencia de error El algoritmo, termina cuando el usuario decide no ingresar más números (³Desea continuar S/N´) g) Un almacén desea obtener una serie de informes diarios a partir de las ventas realizadas en un día. Elabore un algoritmo que: Solicite el código del artículo El valor unitario La cantidad de artículos El código para terminar es -999 Se desconoce el número de ventas que se realizan en un día, por lo que el final de los datos se indica con un ±1. Suponga que el IVA es del 15%.
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
DIAGRAMA DE FLUJO Para el diseño de algoritmos se utilizan técnicas de representación. Una de estas técnicas son los denominados diagramas de flujo, que se definen como la representación gráfica que mediante el uso de símbolos estándar conectados o unidos mediante líneas de flujo, muestran la secuencia lógica de las operaciones o acciones que debe realizar un ordenador, así como la corriente o flujo de datos en la resolución de problema. Algunos símbolos correspondientes a operaciones de proceso son:
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Ejemplo:
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Recorrer el siguiente diagrama de flujo, considerando N 1=4.5, N2=5.5, N3=6.5, el valor de P es 5.5, como el mayor que 3.9, la ruta continua por la alternativa NO por lo tanto se imprime la cadena Aprobado.
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Recomendaciones para el diseño de Diagramas de Flujo Se deben usar solamente líneas de flujo horizontales y/o verticales. Se debe evitar el cruce de líneas utilizando los conectores. Se deben usar conectores solo cuando sea necesario. No deben quedar líneas de flujo sin conectar. Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
Ejercicios: a) Crear un algoritmo en diagrama de flujo que al leer un número entero positivo (asuma que el número cumple las condiciones), imprimir PAR si el número es par e IMPAR si es impar. b) Supongamos que el I.P.C. de los meses de Febrero y Marzo fueron 0.3% y 0.6% respectivamente. Crear un algoritmo en diagrama de flujo que muestre el valor de un producto actualizado y la diferencia de precio entre el mes de febrero y Marzo. c) Confeccione un algoritmo en diagrama de flujo que al leer el neto de una factura, calcule el I.V.A. y de cómo salida el total de la factura. d) Crear un algoritmo en diagrama de flujo que al ingresar dos números imprima el mayor de ellos o IGUA LES si son iguales. e) Confeccionar un algoritmo en diagrama de flujo que imprimir el salario reajustado de un trabajador según las siguientes categorías. b.1. 36000 - 60.000 20% b.2. 6000 1 ± 80000 15% b.3. 8000 1 - 120000 10% b.4. 120001 y más 8% f) En una financiera utilizan la formula C f =N*I*Ci+Ci para calcular el capital final de un ahorrante a un interés simple. Si I = Interés en (%) , N = Meses, C i = Capital inicial Crear los siguientes un algoritmo en Pseudolenguaje:
Al ingresar el capital inicial, los años y el interés simple, la salida sea el capital final. Al ingresar los meses, capital inicial y final de como salida el interés. Al ingresar el interés, capital inicial y final de como salida la cantidad de meses.
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
g) Recorra (rutee) el siguiente diagrama de flujo
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
ESTRUCTURAS DE PROGRAMACIÓN. ESTRUCTURAS BASICAS
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Ejemplo: 1.
Realice un algoritmo para ingresar el Nombre y el sueldo base de un empleado. Calcular el sueldo líquido y mostrar el resultado con un mensaje correspondiente. Considere el sueldo líquido como el 80% del sueldo base. Mire: Entienda el problema Se desea imprimir el sueldo líquido de un empleado. Determinar lo que se intenta hacer Se debe ingresar el nombre del empleado y su sueldo base, es decir sin descuentos para luego calcular el sueldo liquido e imprimirlo. Identifique los datos importantes Nombre del empleado. Sueldo base. Planee: Construya un plan Lea el nombre del empleado en una variable alfanumérica. Lea el sueldo base del empleado en una variable entera. Calcular el sueldo liquido y almacenar en una variable real. Sueldo liquido sueldo base por 0.8 Escribir un mensaje y el resultado. Construya un ejemplo: Nombre = Juan Pérez Sueldo base = 500 000 Sueldo Liquido = 500 000*0.8=400 000
Solución: PROGRAMA Sueldo_Líquido VARIABLES Nombre : Alfabético Sbase : Entero Liquido : Real INICIO Escribir (³Ingrese Nombre Empleado´) Leer (Nombre) Escribir (³Ingrese Sueldo Base´) Leer(Sbase) Liquido = Sbase* 0.8 Escribir(³El Sueldo Líquido de ´, Nombre, ³ Es ´, Liquido) FIN
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Realizar un diagrama que permita determinar cual es el mayor de 2 números Análisis
Para determinar cual es el mayor de dos números, debemos primero conocer los números, para el caso se deben leer (A,B), luego realizar la comparación, si a> b, entonces el mayor es A, en caso contrario el mayor es B:
Una pregunta que nace del ejercicio anterior es, ¿qué pasa cuando son iguales? Para ese caso necesitamos de un segundo condicional que verifique si las dos variables son iguales (a=b) Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Ejercicios de verificación Realizar el análisis, diagrama de flujo y prueba de escritorio, para los siguientes Planteamientos 1.-determinar cual es el cuadrado, de un determinado número 2.-Elaborar un diagrama de flujo que permita determinar si un número es Positivo o Negativo 3.-Ejercicio de conversión, desarrollar un diagrama, que perita ingresar una cantidad en metros y la convierta a Centímetros, Kilómetros, Pies, pulgadas.. 3.-Leer una determinada temperatura en grados centígrados y convertirla a Fahrenheit 4.-una persona es apta para prestar el servicio militar obligatorio (presente), cuando: es mayor de 18 años, menor de 25 años, nacionalidad Colombiana y género masculino. Realizar un diagrama que permita determinar si una persona es apta o no par prestar el servicio militar 5.- Elabore un diagrama de flujo que teniendo como datos de entrada el radio y la altura de un cilindro calcule el área total y el volumen del cilindro 6 Una persona recibe un préstamo de un banco por un año y desea saber cuánto pagará de interés al terminar el préstamo si se sabe que el banco le cobra una tasa del 1.8% mensual. Realice un diagrama de flujo que permita determinar este monto 7.- Elaborar un diagrama de flujo, que permita ingresar 3 valores y los imprima en forma descendente Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
8.- Una empresa desea conocer el monto de comisión correspondiente a una venta realizada por un vendedor bajo las siguientes condiciones. Si la venta es menor a $1,000.00, se le otorga el 3% de comisión. Si la venta es de $1,000.00 o más, el vendedor recibe el 5% de comisión 9.-Una empresa ha decidido, realizar aumentos de salario a sus trabajadores de acuerdo a las siguientes categorías Sindicalizado 20% De confianza 10% Alto directivo 5% Ejecutivo 0% Usted debe desarrollar un diagrama que perita ingresar la categoría, el salario actual y calcular el nuevo salario. Ejemplo: 2. Realice un algoritmo el cual permita obtener los cálculos de una venta de televisores, donde hay que ingresar la cantidad de TV y su valor unitario, este algoritmo debe considerar: Sí el monto de la venta es mayor que $ 50 000 se aplica un descuento a la venta de 3%, imprimir el valor descontado. Calculo del impuesto IVA que es un 18% sobre la venta total. Por ultimo imprima la venta bruta que es la venta total más el IVA calculado anteriormente.
Mire: Entienda el problema Hay que ingresar la cantidad de TV y su valor analizar si corresponde descuento, calcular el IVA e imprimir el total de la venta. Determinar lo que se intenta hacer Se quiere imprimir el descuento (si corresponde ) y la venta total de la venta de TV. Identifique los datos importantes Número de TV. Valor unitario de TV. Planee: Construya un plan Ingrese cantidad de TV en una variable entera. Ingrese valor unitario de TV en una variable entera. Calcule el total de la venta: Multiplicar Cantidad de TV por el valor unitario de estos y almacenar el resultado en una variable real . Preguntar si la venta es mayor que 50000 realizar descuento y guardar el resultado. Imprimir el resultado del descuento. Calcular el iva y guardar el resultado en una variable real. Obtener vanta bruta: Sumar venta más iva y guardar en una variable real. Imprimir venta bruta con un mensaje adecuado.
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Construya un ejemplo: a) N° de TV 5, valor unitario $ 12000 La venta es 5* 12000=60000 Descuento 60000*0.03= 1800 Nueva venta 60000- 1800=58200 Iva: 58200*0. 18= 10476 Venta brutal es: 58200 + 10476= 68676. b) N° de Tv 5, valor unitario $ 8000 La venta es 5*8000=40000 No hay descuento Iva: 40000*0. 18=7200 Venta brutal es: 40000 + 7200= 47200. Solución: PROGRAMA Venta_TV VARIABLES Ct, Vut: Entero Venta, IVA, Vbruta, Dcto: Real INICIO Escribir(³Ingrese cantidad de TV´), Leer(Ct) Escribir(³Ingrese valor unitario de TV´), Leer(Vut) Venta = Ct * Vut Si (Venta > 50000) Entonces Dcto= Venta*0.03 Venta = Venta - Dcto Escribir(³El descuento es: ³ Dcto) Fin Si IVA = Venta * 0. 18 Vbruta = Venta + IVA Escribir(Venta Bruta Es:", Vbruta) FIN
INSTRUCCION DE ALTERNATIVA DOBLE
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Ejemplo: Realice un algoritmo el cual permita obtener los cálculos de una venta de televisores, donde hay que ingresar la cantidad de TV y su valor unitario, este algoritmo debe considerar:
Sí el monto de la venta es mayor que $ 100 000 se aplica un descuento a la venta de 5%, imprimir el valor descontado. Sí el monto de la venta es menor o igual que $ 100 000 se aplica un descuento a la venta de 3%, imprimir el valor descontado. Calculo del impuesto IVA que es un 18% sobre la venta total. Por ultimo imprima la venta bruta que es la venta total más el IVA calculado anteriormente. Mire: Entienda el problema Hay que ingresar la cantidad de TV y su valor analizar si corresponde un descuento de 5% o 3% , luego calcular el IVA e imprimir el total de la venta. Determinar lo que se intenta hacer Se quiere imprimir el descuento correspondiente y el monto de la venta total de TV. Identifique los datos importantes Número de TV. Valor unitario de TV.
Construya un ejemplo: a) N° de TV 5, valor unitario $ 12000 La venta es 5* 12000=60000 Descuento 60000*0.03= 1800 Nueva venta 60000- 1800=58200 Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Iva: 58200*0. 18= 10476 Venta brutal es: 58200 + 10476= 68676. b) N° de Tv 10, valor unitario $ 20000 La venta es 10*20000=200000 Descuento 200000*0.05= 10000 Nueva venta 200000- 10000=190000 Iva: 190000*0.18=34200 Venta brutal es: 190000 + 34200= 155800 Solución:
PROGRAMA Venta_TV2 VARIABLES Ct, Vut: Entero Venta, IVA, Vbruta, Dcto: Real INICIO Escribir(³Ingrese cantidad de TV´), Leer(Ct) Escribir(³Ingrese valor unitario de TV´), Leer(Vut) Venta = Ct * Vut Si (Venta > 100000) Entonces Dcto= Venta*0.05 Venta = Venta ± Dcto Sino Dcto= Venta*0.03 Venta = Venta ± Dcto Fin Si
FIN
Escribir(³El descuento es: ³ Dcto) IVA = Venta * 0. 18 Vbruta = Venta + IVA Escribir(Venta Bruta Es:", Vbruta)
EJERCICIOS PROPUESTOS DE ALTERNATIVA SIMPLE, DOBLE Y MULTIPLE 1)
Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual. 2) Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones. 3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra. 4) Un alumno desea saber cual será su calificación final en la materia de Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Algoritmos. Dicha calificación se compone de los siguientes porcentajes: 55% del promedio de sus tres calificaciones parciales. 30% de la calificación del examen final. 15% de la calificación de un trabajo final. 5) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. 6) Realizar un algoritmo que calcule la edad de una persona. 7) Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta. 8) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario. 9) En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000 ¿ Cual será la cantidad que pagara una persona por su compra? 10) Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera: Si trabaja 40 horas o menos se le paga $ 16 por hora INACAP Dirección de Área Informática 44
Si trabaja mas de 40 horas se le paga $ 16 por cada una de las primeras 40 horas y $20 por cada hora extra. 11) Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta. 12) Que lea dos números y los imprima en forma ascendente 13) Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber cuantas calorías consume su cuerpo durante todo el tiempo que realice una misma actividad. Las actividades que tiene permitido realizar son únicamente dormir o estar sentado en reposo. Los datos que tiene son que estando dormido consume 1.08 calorías por minuto y estando sentado en reposo consume 1.66 calorías por minuto. 14) Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su precio con descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es del 10% y si la clave es 02 el descuento en del 20% (solo existen dos claves). 15) Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10% 16) Una empresa quiere hacer una compra de varias piezas de la misma clase a una fabrica de refacciones. La empresa, dependiendo del monto total de la compra, decidirá que hacer para pagar al fabricante. Si el monto total de la compra excede de $500 000 la empresa tendrá la capacidad de invertir de su propio dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo pagara solicitando un crédito al fabricante. Si el monto total de la compra no excede de $500 000 la empresa tendrá Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
capacidad de invertir de su propio dinero un 70% y el restante 30% lo pagara solicitando crédito al fabricante. El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a crédito. 17) Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume. 18) Leer tres números diferentes e imprimir el numero mayor de los tres. 19) Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de INACAP Dirección de Área Informática 45
trabajo exceden de 40, el resto se consideran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple. 20) Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo con la sig. tabla: Tiempo Utilidad Menos de 1 año 5 % del salario 1 año o mas y menos de 2 años 7% del salario 2 años o mas y menos de 5 años 10% del salario 5 años o mas y menos de 10 años 15% del salario 10 años o mas 20% del salario 21) En una tienda de descuento se efectúa una promoción en la cual se hace un descuento sobre el valor de la compra total según el color de la bolita que el cliente saque al pagar en caja. Si la bolita es de color blanco no se le hará descuento alguno, si es verde se le hará un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el cliente deberá pagar por su compra. se sabe que solo hay bolitas de los colores mencionados. 22) El IMSS requiere clasificar a las personas que se jubilaran en el año de 1997. Existen tres tipos de jubilaciones: por edad, por antigüedad joven y por antigüedad adulta. Las personas adscritas a la jubilación por edad deben tener 60 años o mas y una antigüedad en su empleo de menos de 25 años. Las personas adscritas a la jubilación por antigüedad joven deben tener menos de 60 años y una antigüedad en su empleo de 25 años o mas. Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años o mas y una antigüedad en su empleo de 25 años o mas. Determinar en que tipo de jubilación, quedara adscrita una persona.
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
S RUCTURAS CÍCLICAS O D E ITERACIÓN
E T
CONCEPTOS Contadores: Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Los contadores se utilizan en las estructuras de repetición con la finalidad de contar sucesos o acciones internas del bucle; deben realizar una operación de inicialización y, posteriormente, las sucesivas de incrementación o decrementación del contador. La inicialización consiste en asignar al contador un valor inicial. Se situará antes y fuera del bucle la inicialización. Su estructura es la siguiente. Nombre_del_contador=valor_inicial
En cuanto a los incrementos o decrementos del contador, puesto que la operación de asignación admite que la variable que recibe el valor final de una expresión intervenga en la misma, se realizarán a través de este tipo de instrucción de asignación, de la siguiente forma: (incremento) Nombre_del_contador = Nombre_del_contador + valor_constante (decremento) Nombre_del_contador = Nombre_del_contador - valor_constante Acumulador: Son variables cuyo valor se incrementa o decrementa en una cantidad variable, al igual que los contadores también necesitan inicilizarce fuera del bucle, esto es: Nombre_del_acumulador=valor_inicial
Su operación dentro del bucle queda definida en la siguiente expresión: Nombre_del_acumuladorr = Nombre_del_acumulador + nombre_variable
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
INSTRUCCIÓN MIENTRAS
Ejemplo:
5. Escriba un algoritmo que permita obtener la nota final de cada uno de los 20 alumnos de un curso y el promedio general del curso. Para ello, se debe ingresar el promedio del semestre y la nota del examen de cada alumno, considerando lo siguiente: El Promedio General Equivale Al 60% De La Nota Final. El Examen Equivale Al 40 % De La Nota Final. Mire: Entienda el problema Se necesita calcular la nota final de cada alumno y luego con estas notas calcular el promedio del curso. Hay que imprimir el promedio de cada alumno y el promedio del curso. Determinar lo que se intenta hacer Hay que ingresar 20 veces el promedio semestral y la nota examen de cada, además se debe calcular el promedio del curso. Identifique los datos importantes Se debe tener un contador que permita controlar que el proceso se repita 20 veces. Se debe ingresar el promedio del semestre y la nota del examen. Planee: Construya un plan Se debe inicializar un contador con el valor 1. Leer dentro del ciclo promedio semestral y nota del examen. Calcular e imprimir, dentro del ciclo ,la nota de cada alumno Acumular dentro del ciclo las notas de cada alumno Calcular el promedio del curso fuera del ciclo
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Construya un ejemplo: Este ejemplo considera 3 alumnos pero se puede proyectar para 20. Alumno PS Examen Nota Final Alu-1 5.0 6.0 5.0*0.6 + 6.0*0.4 = 5.4 Alu-2 4.0 5.5 4.0*0.6 + 5..5*0.4 = 4.6 Alu-3 3.0 7.0 3.0*0.6 + 7.0*0.4 = 4.6 Suma= 5.4+4.6+4.6= 14.6 Promedio= 14.6/3=4,86 SOLUCION PROGRAMA Notas VARIABLES Num : Entero Sum,Prom,Nota : Real INICIO Num = 1 Sum = 0 Mientras ( Num <= 20 ) Hacer Escribir(³Ingrese Promedio Semestral´) Leer (Prom) Escribir(³Ingrese Nota Examen´) Leer(Ex) Nota = (Prom * 0.6) + (Ex * 0.4) Sum=Sum + Nota Escribir(³El promedio es: ³,Nota) Num = Num + 1 Fin Mientras Prom=Sum/20 Escribir(³El promedio general del Curso es´, Prom) FIN
INSTRUCCIÓN REPETIR
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Ejemplo:
Escriba un algoritmo que permita obtener la nota final de cada uno de los 20 alumnos de un curso y el promedio general del curso. Para ello, se debe ingresar el promedio del semestre y la nota del examen de cada alumno, considerando lo siguiente: Se deben Validar las notas. El Promedio General Equivale Al 60% De La Nota Final. El Examen Equivale Al 40 % De La Nota Final. Mire: Entienda el problema Se necesita calcular la nota final de cada alumno y luego con estas notas calcular el promedio del curso. Hay que imprimir el promedio de cada alumno y el promedio del curso. Determinar lo que se intenta hacer Hay que ingresar 20 veces el promedio semestral y la nota examen de cada alumno, además se debe calcular el promedio del curso. Identifique los datos importantes Se debe tener un contador que permita controlar que el proceso se repita 20 veces. Se debe ingresar el promedio del semestre y la nota del examen. Planee: Construya un plan Se debe inicializar un contador con el valor 1. Leer dentro del ciclo promedio semestral y nota del examen. Validar que la nota semestral y del examen este entre 1 y 7 Calcular e imprimir, dentro del ciclo ,la nota de cada alumno Acumular dentro del ciclo las notas de cada alumno Calcular el promedio del curso fuera del ciclo
Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
Construya un ejemplo: Este ejemplo considera 3 alumnos pero se puede proyectar para 20. Alumno PS Examen Nota Final Alu-1 5.0 6.0 5.0*0.6 + 6.0*0.4 = 5.4 Alu-2 4.0 5.5 4.0*0.6 + 5..5*0.4 = 4.6 Alu-3 3.0 7.0 3.0*0.6 + 7.0*0.4 = 4.6 Suma= 5.4+4.6+4.6= 14.6 Promedio= 14.6/3=4,86 Solución: PROGRAMA Notas VARIABLES Num : Entero Sum,Prom,Nota : Real INICIO Num = 1 Sum = 0 Mientras ( Num <= 20 ) Hacer Repetir Escribir(³Ingrese Promedio Semestral´) Leer (Prom) Hasta (Prom>= 1 and Prom<=7)
Repetir Escribir(³Ingrese Nota Examen´) Leer(Ex) Hasta (Prom>= 1 and Prom<=7)
FIN
Nota = (Prom * 0.6) + (Ex * 0.4) Sum=Sum + Nota Escribir(³El promedio es: ³,Nota) Num = Num + 1 Fin Mientras Prom=Sum/20 Escribir(³El promedio general del Curso es´, Prom)
A continuación se mostrara el ejemplo del programa Boletos de Viaje pero validando el destino y la clase con la instrucción Repetir. De esta forma no necesitaremos el interruptor. PROGRAMA Boletos de Viaje2 VARIABLES Coddes, Precio : Entero Nombre, Región, clase : Alfanumérico INICIO Escribir (³Ingrese Nombre Del Cliente´) Leer(NomCli) Repetir Escribir(³Ingrese Código De Destino)´) Leer(Coddes)
Hasta (Coddes>=1 and Coddes<=5)
Repetir Escribir(³Ingrese Clase E:ejecutiva, T:turista) Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS Leer(Clase)
Hasta (Clase<>´E´ or Clase<>´T´)
FIN
Opción Coddes de 1 : Hacer Región=´Primera Región´ Precio=100 000 2: Hacer Región=´Segunda Región´ Precio=80 000 3: Hacer Región=´Tercera Región´ Precio=60 000 4: Hacer Región=´Cuarta Región´ Precio=40 000 5: Hacer Región=´Quinta Región´ Precio=30 000 Fin Opción Si Clase=´E´ Entonces Precio=Precio + 20000 Fin Si Escribir(³Nombre´, Nombre) Escribir(³Región Destino´, Región) Escribir ³Precio Del Vuelo´, Precio)
EJERCICIOS PROPUESTOS DE CICLOS 1)
Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Diseño Estructurado de Algoritmos 2) Leer 10 números y obtener su cubo y su cuarta. 3) Leer 10 números e imprimir solamente los números positivos 4) Leer 20 números e imprimir cuantos son positivos, cuantos negativos y cuantos neutros. 5) Leer 15 números negativos y convertirlos a positivos e imprimir dichos números. 6) Suponga que se tiene un conjunto de calificaciones de un grupo de 40 alumnos. Realizar un algoritmo para calcular la calificación media y la calificación mas baja de todo el grupo. 7) Calcular e imprimir la tabla de multiplicar de un numero cualquiera. Imprimir el multiplicando, el multiplicador y el producto. 8) Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un día desde las 0:00:00 horas hasta las 23:59:59 horas 9) 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 cuanto 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. 10) En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que laboran en ella. El salario se obtiene de la sig. forma: Si el obrero trabaja 40 horas o menos se le paga $20 por hora Si trabaja mas de 40 horas se le paga $20 por cada una de las primeras 40 horas y $25 por cada hora extra. 11) Determinar cuantos hombres y cuantas mujeres se encuentran en un grupo de n personas, suponiendo que los datos son extraídos alumno por alumno. Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS 12)
El Depto. de Seguridad Publica y Transito del D.F. desea s aber, de los n autos que entran a la ciudad de México, cuantos entran con calcomanía de cada color. Conociendo el ultimo dígito de la placa de cada automóvil se puede determinar el color de la calcomanía utilizando la sig. relación: DÍGITO COLOR 1 o 2 amarilla 3 o 4 rosa 5 o 6 roja 7 o 8 verde 9 o 0 azul 13)
Obtener el promedio de calificaciones de un grupo de n alumnos.
14)
Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de interés. Cual será la cantidad de dinero que esta persona tendrá al cabo de un año si la ganancia de cada mes es reinvertida?. 15)
Calcular el promedio de edades de hombres, mujeres y de todo un grupo de alumnos. 16)
Encontrar el menor valor de un conjunto de n números dados.
17)
Encontrar el mayor valor de un conjunto de n números dados.
18)
En un supermercado un cajero captura los precios de los artículos que los clientes compran e indica a cada cliente cual es el monto de lo que deben pagar. Al final del día le indica a su supervisor cuanto fue lo que cobro en total a todos los clientes que pasaron por su caja. 19)
Cinco miembros de un club contra la obesidad desean saber cuanto han bajado o subido de peso desde la ultima vez que se reunieron. Para esto se debe realizar un ritual de pesaje en donde cada uno se pesa en diez básculas distintas para así tener el promedio mas exacto de su peso. Si existe diferencia positiva entre este promedio de peso y el peso de la ultima vez que se reunieron, significa que subieron de peso. Pero si la diferencia es negativa, significa que bajaron. Lo que el problema requiere es que por cada persona se imprima un letrero que diga: ³SUBIO´ o ³BAJO´ y la cantidad de kilos que subió o bajo de peso. 20) Se desea obtener el promedio de g grupos que están en un mismo año escolar; siendo que cada grupo puede tener n alumnos que cada alumno puede llevar m materias y que en todas las materias se promedian tres calificaciones para obtener el promedio de la materia. Lo que se desea desplegar es el promedio de los grupos, el promedio de cada grupo y el promedio de cada alumno. 21) En una tienda de descuento las personas que van a pagar el importe de su compra llegan a la caja y sacan una bolita de color, que les dirá que descuento tendrán sobre el total de su compra. Determinar la cantidad que pagara cada cliente desde que la tienda abre hasta que cierra. Se sabe que si el color de la Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
bolita es roja el cliente obtendrá un 40% de descuento; si es amarilla un 25% y si es blanca no obtendrá descuento. 22) En un supermercado una ama de casa pone en su carrito los artículos que va tomando de los estantes. La señora quiere asegurarse de que el cajero le cobre bien lo que ella ha comprado, por lo que cada vez que toma un articulo anota su precio junto con la cantidad de artículos iguales que ha tomado y determina cuanto dinero gastara en ese articulo; a esto le suma lo que ira gastando en los demás artículos, hasta que decide que ya tomo todo lo que necesitaba. Ayúdale a esta señora a obtener el total de sus compras. 23) un teatro otorga descuentos según la edad del cliente. determinar la cantidad de dinero que el teatro deja de percibir por cada una de las categorías. Tomar en cuenta que los niños menores de 5 años no pueden entrar al teatro y que existe un precio único en los asientos. Los descuentos se hacen tomando en cuenta el siguiente cuadro: Categorías Edad Descuento Categoría 1 5 - 14 35 % Categoría 2 15 - 19 25 % Categoría 3 20 - 45 10 % Categoría 4 46 - 65 25 % Categoría 5 66 en adelante 35 % 24) La presión, volumen y temperatura de una masa de aire se relacionan por la formula: masa= presión * volumen . 0.37 * (temperatura + 460) Calcular el promedio de masa de aire de los neumáticos de n vehículos que están en compostura en un servicio de alineación y balanceo. Los vehículos pueden ser motocicletas o automóviles. 25) Determinar la cantidad semanal de dinero que recibirá cada uno de los n obreros de una empresa. Se sabe que cuando las horas que trabajo un obrero exceden de 40, el resto se convierte en horas extras que se pagan al doble de una hora normal, cuando no exceden de 8; cuando las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una hora normal y el resto al triple. 26) En una granja se requiere saber alguna información para determinar el precio de venta por cada kilo de huevo. Es importante determinar el promedio de calidad de las n gallinas que hay en la granja. La calidad de cada gallina se obtiene según la formula: calidad = peso de la gallina * altura de la gallina numero de huevos que pone Finalmente para fijar el precio del kilo de huevo, se toma como base la siguiente tabla: PRECIO TOTAL DE CALIDAD PESO POR KILO DE HUEVO mayor o igual que 15 1.2 * promedio de calidad mayor que 8 y menor que 15 1.00 * promedio de calidad Ing. Carlos Javier Pastrana e-mail:
[email protected]
DIAGRAMACION Y ALGORITMOS
menor o igual que 8 0.80 * promedio de calidad 27) En la Cámara de Diputados se levanta una encuesta con todos los integrantes con el fin de determinar que porcentaje de los n diputados esta a favor del Tratado de Libre Comercio, que porcentaje esta en contra y que porcentaje se abstiene de opinar. 28) Una persona que va de compras a la tienda ³Enano, S.A.´, decide llevar un control sobre lo que va comprando, para saber la cantidad de dinero que tendrá que pagar al llegar a la caja. La tienda tiene una promoción del 20% de descuento sobre aquellos artículos cuya etiqueta sea roja. Determinar la cantidad de dinero que esta persona deberá pagar. 29) Un censador recopila ciertos datos aplicando encuestas para el ultimo Censo Nacional de Población y Vivienda. Desea obtener de todas las personas que alcance a encuestar en un día, que porcentaje tiene estudios de primaria, secundaria, carrera técnica, estudios profesionales y estudios de posgrado. 30) Un jefe de casilla desea determinar cuantas personas de cada una de las secciones que componen su zona asisten el día de las votaciones. Las secciones son: norte, sur y centro. También desea determinar cual es la sección con mayor numero de votantes. 31) Un negocio de copias tiene un limite de producción diaria de 10 000 copias si el tipo de impresión es offset y de 50 000 si el tipo es estándar. Si hay una solicitud de un el empleado tiene que verificar que las copias pendientes hasta el momento y las copias solicitadas no excedan del limite de producción. Si el limite de producción se excediera el trabajo solicitado no podría ser aceptado. El empleado necesita llevar un buen control de las copias solicitadas hasta el momento para decidir en forma rápida si los trabajos que se soliciten en el día se deben aceptar o no. 32) Calcular la suma siguiente: 100 + 98 + 96 + 94 + . . . + 0 en este orden 33) Leer 50 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 70. 34) Leer por cada alumno de Diseño estructurado de algoritmos su numero de control y su calificación en cada una de las 5 unidades de la materia. Al final que escriba el numero de control del alumno que obtuvo mayor promedio. Suponga que los alumnos tienen diferentes promedios. 35) El profesor de una materia desea conocer la cantidad de sus alumnos que no tienen derecho al examen de nivelación. Diseñe un algoritmo que lea las calificaciones obtenidas en las 5 unidades por cada uno de los 40 alumnos y escriba la cantidad de ellos que no tienen Ing. Carlos Javier Pastrana e-mail:
[email protected]