Problemas Resueltos- Algoritmos

37
1.- Mostrar su nombre, sexo edad y estado civil, que son ingresados por teclado ALGORITMO datopersonal INICIO CARACTER nombre[30], sexo, Ec Entero edad 1.-LEER nombre, sexo, edad, Ec // Ec = estado civil 2.-MOSTRAR nombre, sexo, edad , Ec FIN 2.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima tanto el nombre como la edad ALGORITMO edad INICIO CARACTER nombre[30]. Entero edad 1.-LEER nombre, edad 2.-MOSTRAR nombre, edad FIN 3.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima, solo si la persona es mayor de edad, el nombre de la persona. ALGORITMO adulto INICIO CARACTER nombre Entero edad 1.- LEER nombre, edad 2.- SI (edad >= 18) ENTONCES a)MOSTRAR nombre FINSI FIN 4.- .- Ingresar por teclado el nombre y la edad de cualquier persona e imprima solo si la persona es mayor de edad, el nombre de la persona, de lo contrario, imprima un mensaje que diga : “no puede votar”.

description

Ejercicios de Algoritmos Resueltos

Transcript of Problemas Resueltos- Algoritmos

Page 1: Problemas Resueltos- Algoritmos

1.- Mostrar su nombre, sexo edad y estado civil, que son ingresados por teclado ALGORITMO datopersonal INICIO CARACTER nombre[30], sexo, Ec Entero edad 1.-LEER nombre, sexo, edad, Ec // Ec = estado civil 2.-MOSTRAR nombre, sexo, edad , Ec FIN   2.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima tanto el nombre como la edad ALGORITMO edad INICIO CARACTER nombre[30]. Entero edad   1.-LEER nombre, edad 2.-MOSTRAR nombre, edad FIN   3.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima, solo si la persona es mayor de edad, el nombre de la persona. ALGORITMO adulto INICIO CARACTER nombre Entero edad   1.- LEER nombre, edad 2.- SI (edad >= 18) ENTONCES a)MOSTRAR nombre FINSI FIN 4.- .- Ingresar por teclado el nombre y la edad de cualquier persona e imprima solo si la persona es mayor de edad, el nombre de la persona, de lo contrario, imprima un mensaje que diga : “no puede votar”. ALGORITMO votar INICIO Cadena nombre Entero edad   1.-LEER nombre , edad 2.-SI ( edad >= 18) ENTONCES a)MOSTRAR nombre SINO a)MOSTRAR “no puede votar” FINSI FIN

Page 2: Problemas Resueltos- Algoritmos

  5.- Ingresar por teclado el nombre, la edad y el sexo de cualquier persona e imprima, solo si la persona es de sexo masculino y mayor de edad, el nombre de la persona. NOTA: suponga que en el campo denominado sexo el numero 1 es masculino o el numero 2 es femenino ALGORITMO sex INICIO Cadena nombre Entero sexo , edad  1.-LEER nombre, sexo, edad 2.-SI (sexo = 1) y (edad>= 18)

ENTONCES a)MOSTRAR nombre. FINSI FIN   6.- Ingresar por teclado el nombre, la edad, el sexo (1 o 2) y el estado civil de cualquier persona e imprima solo si la persona es un hombre soltero mayor de edad, el nombre de la persona. NOTA: en el campo de estado civil se graba el numero 1 en vez de soltero, el numero 2 en vez de casado o el numero 3 en vez de otro.   ALGORITMO hombsolt INICIO Cadena nombre Entero edad , sexo, ec // ec =estado civil.   1.-LEER nombre, edad, sexo, ec. 2.-SI (sexo = 1) y (ec = 1) y (edad >= 18) ENTONCES a)MOSTRAR nombre FINSI FIN   7.-Lea de un registro el nombre, la edad, el sexo y el estado civil de cualquier persona e imprima, solo si la persona es hombre o mujer menor de edad o es hombre casado de cualquier edad, el nombre de la persona y un mensaje que diga “usted no se manda”. En los demás casos imprima el nombre de la persona solamente. ALGORITMO mensaje INICIO CARÁCTER nombre[30], s, ec // s = sexo, e = edad Entero, e // ec = estado civil   1.-LEER nombre, e, s, ec 2.-SI (s = “M”) o ((s = “F”) y (e < 18)) o ((s = “M”) y ( ec = “C”))

ENTONCES a)MOSTRAR nombre, “usted no se manda” SINO

Page 3: Problemas Resueltos- Algoritmos

a)MOSTRAR nombre. FINSI FIN   8.-Ingrese un numero e imprima el numero y el valor absoluto del mismo.   ALGORITMO valorabsoluto INICIO Real , x, VA // {x es el numero} 1.-LEER x 2.-VA abs (x) 3.- MOSTRAR VA // VA es el valor absoluto FIN 9.-Ingrese un número y calcule e imprima su raíz cuadrada. Si el numero es negativo imprima el número y un mensaje que diga “tiene raíz imaginaria” ALGORITMO RC INICIO Real ,num, RC   1.-LEER num 2.- SI (num >= 0)

ENTONCES a.      RC sqrt (num) b.      MOSTRAR RC

SINO a. MOSTRAR num “tiene raíz imaginaria” FINSI FIN   10.-Ingrese dos números desde el teclado e imprima solo los positivos ALGORITMO pos INICIO Real A, B 1.-LEER A, B 2.-SI (A>0)

ENTONCES MOSTRAR A FINSI 3.-SI (B>0) ENTONCES MOSTRAR B FINSI FIN 11.-Ingrese dos números desde el teclado e imprima ambos números sólo si son positivos ALGORITMO numpos INICIO Real , A, B 1.-LEER A, B 2.-SI (A>0) y (B>0) ENTONCES

Page 4: Problemas Resueltos- Algoritmos

a)MOSTRAR A, B FINSI FIN 12.-Ingrese dos números desde el teclado e imprima ambos números si por lo menos uno de ellos es positivo ALGORITMO num INICIO Real A ,B 1.-LEER A, B 2.-SI (A>0) o (B>0) ENTONCES a) MOSTRAR A, B FINSI FIN 13.-Ingrese dos números desde el teclado e imprima ambos números solo si son de diferente signo y distintos de cero ALGORITMO signosop INICIO Real A, B 1.-LEER A, B 2.-SI ( A B ) y ( B0 ) ENTONCES

a)     SI (A<0 ) y (B>0) o (A>0) y (B<0) ENTONCES 1) MOSTRAR A, B FINSI

FINSI FIN   14.-Ingrese dos números desde el teclado. Calcule la suma e imprima los números leídos y la suma. ALGORITMOsum INICIO Real, A, B, S // S, es la suma 1.- LEER A, B 2.- S A + B 3.- MOSTRAR A, B, S FIN   15.- Lea dos números de un mismo registro. Calcule la suma de los números. Imprima los números leídos y sólo si suma es negativa. Imprímala también ALGORITMOsuma INICIO Real A, B, S // S es la suma 1.- LEER A, B 2.- S A + B 3.- SI ( S < 0 ) ENTONCES a) MOSTRAR A, B, S SINO

a)     MOSTRAR A, B

Page 5: Problemas Resueltos- Algoritmos

FINSI FIN   16.- Lea dos números de un mismo registro y calcule el cociente de dividir el primero por el segundo. Imprima el cociente. Si el segundo número es cero no ejecute el cálculo e imprima un mensaje que diga : “la división no es posible”. ALGORITMO cociente INICIO Real A, B , COC // COC es el cociente 1.-LEER A, B 2.- SI ( B = 0)

ENTONCES a.      MOSTRAR “la división no es posible”

SINO a. COC A / B

b. MOSTRAR COC “es el cociente” FINSI

FIN   17.- Leer de un mismo registro el nombre de un empleado, su salario básico por hora y el número de horas trabajadas en el mes. Calcular su salario mensual e imprimir tanto el nombre como su salario mensual ALGORITMO salario INICIO Cadena nombre Real SxH, SM // SxH es salario por hora, SM, salario mensual Entero HT // HT es el número de horas trabajadas 1.- LEER nombre SxH, HT 2.- SM SxH * HT 3.- MOSTRAR nombre, SM FIN   18.- Leer un número y calcular el 5% del número leído. Obtener tanto el número como el porcentaje calculado ALGORITMO porciento INICIO Real Num , PC // PC es el porcentaje 1.- LEER , Num 2.- PC (5/100) * Num 3.- MOSTRAR PC, Num FIN   19.- Leer de un registro el nombre de un empleado, su salario básico por hora, el número de horas trabajadas en el período y el porcentaje de retención en la fuente. Calcular el salario bruto, el valor de la retención y su salario neto.

Page 6: Problemas Resueltos- Algoritmos

ALGORITMO retencion INICIO Real SxH, P, R, SB, SN, HT // SxH salario por hora, P porcentaje de retención, R Retención, SB Salario bruto, SN salario neto, HT, horas trabajadas. Cadena , nombre 1.- LEER nombre Sxh, HT, P 2.- SBSxH * HT 3.- R(P*SB)/100 4.- SNSB-R 5.- MOSTRAR SB, R, SN, nombre FIN   20.-Para un salario bruto hasta de $1.500, no hay retención. Para un salario bruto de $1500 a $ 3.000 el porcentaje de retención es de 5%. Para un salario bruto mayor de $3000 el porcentaje de retención es 8%. Obtener el nombre del empleado, el salario bruto, el valor de la retención y el salario neto. Se debe leer el nombre y el salario. ALGORITMO salarioneto INICIO Cadena, nombre Real, SB, SN, Ret // SB salario bruto, SN salario neto, Ret retención 1.- LEER nombre , SB 2.- SI (SB <= 1500) ENTONCES

a)     Ret 0 SINO 1) SI ( SB > 3000) ENTONCES

a)     Ret(8/100) * SB SINO a) Ret (5/100)*SB FINSI FINSI 3.- SN SB - Ret 4.-MOSTRAR nombre, SB, Ret, SN FIN   21.- Leer de un registro el nombre de un empleado , el salario básico por hora y el número de horas trabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que si el número de horas trabajadas durante la semana es mayor de 48, esas horas demás se consideran horas extras y tienen un 35 % de recargo. Imprima el nombre del empleado y el salario neto. ALGORITMO sueldoneto INICIO

Page 7: Problemas Resueltos- Algoritmos

Real, Sb, Ht, SN, Sextr, Extr // Sb salario por hora, Ht horas trabajadas, Extr hora extra                                                        // SN salario neto, Sextr, salario por hora extra

CARACTER Nombre[30] constante Tr = 0.35 // Tr tasa de recargo

  1.- LEER nombre, Sb, Ht, 2.-SI ( Ht>48) ENTONCES a)ExtrHt-48 b)Sextr Sb+Sb*Tr c)SN(48*Sb) + (Extr*Sextr) SINO a)SNSb*Ht FINSI 3.- MOSTRAR nombre, SN FIN   22.-Obtenga los 100 primeros números naturales. ALGORITMO ciennum INICIO Entero, i 1.- PARA i 1 HASTA i 100 HACER

a)     MOSTRAR i FINPARA   23.- Obtener los números pares comprendidos entre 1 y 1000 ALGORITMO numpar INICIO Entero i

1.- PARA i 2 HASTA i 1000 INC = 2 HACER a) MOSTRAR i FINPARA FIN   24.- Leer de un registro un número entero positivo y obtener los múltiplos de 3 comprendidos entre 1 y el número leído. ALGORITMO mult3 INICIO Entero i, N 1.- LEER N 2.- PARA i 1 HASTA i N HACER a) SI ( i MOD 3 = 0 )

ENTONCES 1.      MOSTRAR i

FINSI FINPARA

Page 8: Problemas Resueltos- Algoritmos

FIN   25.- Lea los veinte primeros registros de un archivo, cada uno de los cuales contienen un nombre. Imprimir los nombres. ALGORITMO nombre INICIO Entero, i CARACTER nombre[30] 1.- PARA i 1 HASTA i 20 HACER

a)     LEER nombre b)    MOSTRAR nombre

FINPARA FIN   26.- Leer varios registros cada uno de ellos, conteniendo un nombre. El número de estos registros se encuentra grabado en un registro que precede a los anteriores. Imprimir cada uno de los hombres leídos. ALGORITMO nombres INICIO CARACTER nombre Entero i, N 1.- LEER NReg 2.- PARA i1 HASTA iNReg HACER a) LEER nombre b) MOSTRAR nombre FINPARA FIN   27.- Leer un conjunto de registros cada uno de ellos conteniendo el código y el nombre de cada uno de los estudiantes de la universidad. El último registro del conjunto (registro centinela) contiene el código 9999999 y es utilizado sólo para chequear el final de los registros. Imprima cada uno de los códigos leídos. Lógicamente la información del registro centinela no se imprime porque no pertenece a ningún estudiante. ALGORITMO estudiante INICIO Entero cod // cod es el código. CARACTER nombre[30] 1.- LEER cod, nombre 2.- MIENTRAS (cod 9999999) HACER

a)     MOSTRAR cod , nombre b)     LEER cod, nombre

FINMIENTRAS FIN  

Page 9: Problemas Resueltos- Algoritmos

28.-Imprimir cuatro columnas. En la primera columna, los enteros del 1 al 50 . En las otras columnas, la segunda, la tercera y la cuarta potencia de los enteros de la primera columna ALGORITMOpotencia INICIO Entero , i , pot2, pot3, pot4   1.- PARA i 1 HASTA i 50 HACER a)pot2 sqr ( i ) b)pot3 pot2 * i c)pot4 pot2 * pot2 d) MOSTRAR i , pot2, pot3, pot4 FINPARA FIN   29.- Calcule la suma de los100 primeros números naturales ALGORITMO suma INICIO Entero suma, i   1.- suma 0 2.- PARA i 1 HASTA i 100 HACER a) suma suma + i FINPARA 3.-MOSTRAR suma FIN   30.- Obtener la suma de los números pares comprendidos entre 1 y 100 ALGORITMO sum INICIO Entero i , suma 1.- suma 0 2.-PARA i 2 HASTA i 100 INC = 2 HACER a) suma suma + i FINPARA 3.-MOSTRAR suma FIN   31.- Encuentre la calificación promedio para un gran número, aunque desconocido, de calificaciones de exámenes. Estas vienen grabadas en registros. La calificación más alta posible es 10.0 ALGORITMO calificación INICIO Real calificación, Promedio, Totcal // Totcal suma de las calificaciones, Entero, n // n es el número de calificaciones 1.- Totcal 0 2.- n 0 3.- LEER calificación 4.- MIENTRAS (calificacion >=0 y calificación <= 10 ) HACER

Page 10: Problemas Resueltos- Algoritmos

a)    Totcal Totcal + calificación b)    n n + 1 c)    LEER calificación

FINMIENTRAS 5.-Promedio Totcal / n 6.-MOSTRAR Promedio

FIN 32.-Leer una serie de números. Encontrar el valor absoluto (magnitud) de cada número. Imprimir tanto los números como sus valores absolutos. Use centinela 999ALGORITMO valorabsolutoINICIO

Real num, VA, // VA valor absoluto, num número   1.-LEER num 2.-MIENTRAS ( num 999) HACER {999 es el valor centinela}

a)     VA abs ( num) b)     MOSTRAR VA “es el valor absoluto de” num c)  LEER num

FINMIENTRAS FIN   33.- Leer una serie de números. Obtener el cuadrado y el cubo de cada número e imprimir tanto los números como sus cuadrados y sus cubos. ALGORITMO potencia INICIO Real num, cuadrado, cubo 1.- LEER num 2.- MIENTRAS ( num -999) HACER {-999 valor centinela}                                     a)     cuadradosqr ( num )                                     b)     cubo cuadrado*num c) MOSTRAR cuadrado, cubo,num d) LEER num FINMIENTRAS FIN   34.- Leer una serie de pares de números y obtener de cada par el número mayor. Imprima un mensaje especial si los números son de igual valor. Los numeros son precedidos por la cantidad de registros ALGORITMO mayornum INICIO Real A, B 1.- LEER nreg 2.- PARA i 1 HASTA i nreg HACER

a)     LEER A, B b)     SI (A = B)

                                            ENTONCES1) MOSTRAR A, B, “son iguales”

SINO

Page 11: Problemas Resueltos- Algoritmos

1) SI ( A>B) ENTONCES

a. MOSTRAR A “es el mayor” SINO

a. MOSTRAR B “es el mayor” FINSI FINSI FINPARA FIN   35.- Leer una serie de grupos de tres números y obtener el número mayor y el número menor de cada terna. Escriba un mensaje si por lo menos dos de cada tres números son iguales. ALGORITMO ternasmayormenor INICIO Real A, B, C Entero, cant 1.-MOSTRAR "ingrese la cantidad de ternas" 2.-LEER cant 3.-PARA i1 HASTA icant HACER a) LEER A, B, C

b)SI (A=B) o (B=C) o (A=C) ENTONCES

1) MOSTRAR "por lo menos 2 de los 3 números son =" SINO 1) MENA 2) SI (B<MEN) ENTONCES a) MENB FINSI 3) SI (C<MEN) ENTONCES a) MENC FINSI 4) MOSTRAR MEN "es el menor" 5) MAYA 6) SI (B > MAY) ENTONCES a)MAYB FINSI 7) SI (C > MAY) ENTONCES a)MAYC FINSI 8) MOSTRAR MAY "es el mayor" FINSI FINPARA FIN   36.-Identifique y obtenga el número medio de un conjunto de tres números únicos. EL número medio es aquel que no es el menor ni el mayor. ALGORITMO numeromedio

Page 12: Problemas Resueltos- Algoritmos

INICIO Real A, B, C. 1.-MOSTRAR "ingrese tres números distintos" 2.-LEER A, B, C 3.-SI ( A>B) ENTONCES a) SI (A>C) ENTONCES 1)SI (B>C) ENTONCES a)MEDB SINO a) MEDC FINSI SINO 1)MEDA FINSI SINO a) SI (B>C)ENTONCES 1)SI (A>C)ENTONCES a)MEDA SINO a)MEDC FINSI SINO 1)MEDB FINSI FINSI 4.-MOSTRAR MED "es el número medio" FIN 37.- El Dane está interesado en saber el número de personas mayores de 18 años, tanto hombres como mujeres en la ciudad de Medellín . Calcule e imprima el resultado de esta investigación. Se deben leer registros que contiene cada uno el sexo y el número de años. ALGORITMO dane INICIO Entero edad, h, m, sexo 1.-h 0 2.-m0 3.-LEER edad , sexo 4.-MIENTRAS (edad 999) a) SI (edad >= 18) y (sexo = 1) ENTONCES 1)hh + 1 SINO 1) SI (edad > = 18) y (sexo = 2) ENTONCES a)mm + 1 FINSI FINSI b) LEER edad, sexo FINMIENTRAS

Page 13: Problemas Resueltos- Algoritmos

5.- MOSTRAR h, m FIN   38.-Una tienda de libros y géneros diversos al menudeo ofrecen un descuento de cortesía del 10% para profesores. Muestre como la computadora puede calcular e imprimir el 10% de 1.00, 1.10, 1.20, etc hasta $25.00. ALGORITMO menudeo INICIO Real , desc //desc es el descuento

Entero, i 1.- i1.00 2.- MIENTRAS (i < = 25.00) HACER

a)     desc 0.10 * i b)     MOSTRAR desc

c) i i + 0.10 FINMIENTRAS FIN   39.-Un vendedor desea calcular su comisión total sobre la venta de varios artículos. Al vendedor le corresponde el 5% de su comisión sobre artículos cuyo precio es menor de $100 y el 7.5 % de comisión sobre aquellos artículos cuyo precio es de $100 o más. Suponga que el vendedor hizo N ventas ALGORITMO comisión INICIO Constantes

TC1 = 0,05 TC2 = 0.075

Entero N , i. Real comision ,tcom, venta 1.-men 0 2.-may 0 3.-MOSTRAR " ingrese el número de ventas que hizo " 4.- LEER N 5.- i 1 6.-MIENTRAS (i <= N ) HACER a) LEER precio, nart b) SI (precio< 100) ENTONCES 1)venta (nart*precio)

2)comision venta * tc1 SINO 1)venta (nart*precio)

2) comision venta * tc2 FINSI

c) tcom tcom + comision d) i i + 1 FINMIENTRAS 7.- MOSTRAR tcom

Page 14: Problemas Resueltos- Algoritmos

FIN 40.-Coldeportes de Antioquia está interesado en promover el básquetbol y para ello desea conocer personas que tengan las siguientes características, edad máxima: 18 años, estatura mínima: 1.80 metros, peso máximo: 80 kilos. Lea identificación. Edad , estatura y peso. Use centinela identificacion 99999 ALGORITMO basquet INICIO Entero identificación, edad Real, estatura, peso 1.- LEER identificación, edad, estatura, peso 2.- MIENTRAS (identificación 99999) HACER

a)     SI (edad <= 18) y (estatura >=1.80 ) y (peso<=80) ENTONCES

1)     MOSTRAR identificación, edad, estatura , peso FINSI b) LEER, identificación, edad, estatura, peso FINMIENTRAS FIN 41.-Lea de un mismo registro A, B, C (coeficientes de la ecuación cuadrática. Calcule e imprima x1 y x2 (raíces de la ecuación ) Recuerde que x1 y x2 se pueden calcular sólo sí a) B2 - 4. AC >= O b) A 0. ALGORITMO ecuación INICIO Real, x1, x2 , A, B, C 1.-LEER A, B, C 2.-SI ( A 0 ) ENTONCES             a) Disc sqr (B) – 4*A*C

            b) SI (Disc >= 0) ENTONCES

1) X1( - B + sqrt(Disc) ) / (2*A) 2)X2( - B - sqrt(Disc) ) / (2*A) 3) MOSTRAR x1, x2

SINO MOSTRAR “Tiene raices imaginarias”

FINSI FINSI FIN   42.-Se tienen registro con los datos de los estudiantes de una universidad, así: código del estudiante, nombre del estudiante. Valor crédito del estudiante, número de créditos tomados, valor del recargo en la matrícula. Se requiere leer los registros e imprimir un listado con la siguiente información por estudiante: código, nombre del estudiante, valor crédito, número de créditos, valor del recargo, valor total pagado por estudiante. También se debe calcular e imprimir al final del listado el total pagado por todos los estudiantes y el promedio por estudiante. Use codigo de centinela = 9999

Page 15: Problemas Resueltos- Algoritmos

ALGORITMO pago INICIO Entero, código, n, ct // n, número de estudiantes, ct créditos tomados Real, vc, rec, totpag, p // vc valor crédito, ,rec valor de recargo, totpag total pagado CARÁCTER nombre[30] 1.- n 0 2.- totpag 0 3.- LEER código, nombre, vc, ct, rec 4.- MIENTRAS ( cod 9999) HACER a) PE ( vc* ct) + rec b) n n + 1

c) totpag totpag + PE d) MOSTRAR cod, nombre, vc, ct, rec, PE

e) LEER cod, nombre, vc, ct, rec FINMIENTRAS 5.-P totpag / n 6.-MOSTRAR p,“es el promedio” FIN   43.-Se tiene un conjunto de registros de los empleados de una compañía, cada registro contiene los siguientes datos: número del empleado, nombre del empleado, salario básico por hora, horas trabajadas en el mes, deducciones, Se requiere leer los registros e imprimir un listado con la siguiente información por empleado : número del empleado , nombre del empleado, salario básico por hora, horas trabajadas, deducciones, salario mensual. También se debe calcular e imprimir al final del listado, el total de salarios pagados a todos los empleados y el promedio salarial por empleado. ALGORITMO compañía INICIO Entero, num, i // num, número del empleado, nov, nombre, sh salario por hora,

// ht, horas trabajadas,d, deducciones i, número de empleados, tot, // Total pagado, SM, salario mensual, P, promedio salarial//,

Real, sh, ht, d, tot sm , p CARÁCTER nomb [30] 1.- i 0 2.- tot 0 3.- LEER num, nomb, sh, ht, d 4.- MIENTRAS ( num 9999) HACER

a)     i i + 1 b)     sm (sh * ht) – d c)      tot tot + sm d)     MOSTRAR num, nomb, sh, ht, d, sm e)     LEER num, nomb, sh, ht, d

FINMIENTRAS 5.- MOSTRAR tot 6.- itot/ i

Page 16: Problemas Resueltos- Algoritmos

7.- MOSTRAR P “es el promedio salarial por empleado” FIN   44.-Calcular e imprimir los salarios que se adeudan a trabajadores, basados en tasa a 1.5 veces la tasa regular, cuando Las horas trabajadas excedan de 40 por semana ALGORITMO salarios INICIO Real, ht, d, ext ,td // ht, horas trabajadas, d deuda, sh salario básico por hora, extr,

// horas extras, TD total de la deuda 1.-LEER ht, sh 2.- MIENTRAS ( ht 0 ) HACER

a)     SI ( ht > 40) ENTONCES 1)     Extr ht – 40 2)     D 1.5 * extr * sh 3)     MOSTRAR D 4)     TD TD + D

FINSI b)     LEER ht. Sh

FINMIENTRAS 3. MOSTRAR TD

FIN 45.- Dado que un peso de mañana tiene menor valor que un peso de hoy (fenómeno económico que llamamos inflación) las empresas cuando calculan los futuros ingresos transformados a pesos de hoy superan el monto de la inversión hecha. La fórmula general para el cálculo del valor actual es : VA = C / (1 + i) N donde:  C es la cantidad del ingreso i es la tasa de inflación N son los años en consideración Una empresa tiene información sobre la tasa de inflación, la inversión y los ingresos calculados para diez años seguidos. Con ésta desea saber si al cabo de dicho tiempo ha recuperado la inversión, hablando en pesos del día en que se hace la misma ALGORITMO inflación INICIO Entero, N Real, VA,. C, inv, i, den 1.-LEER i , inv , C, N 2.- denexp( N * ln (1+i)) 3.- VA C / den 4.- SI ( VA > inv ) ENTONCES

a)     MOSTRAR “recupera inversión” SINO

a)     MOSTRAR “ no recupera la inversión” FINSI 5.- MOSTRAR VA FIN  

Page 17: Problemas Resueltos- Algoritmos

Nº1

Se leen tres datos que representan el nombre, sueldo básico y antigüedad de un empleado y

se debe escribir el nombre y el sueldo a cobrar. El sueldo se calcula, adicionando al básico el 15 % del mismo, si la antigüedad supera los 3 años; 30 % del mismo, si la antigüedad supera los 6 años y 50 % del mismo, si la antigüedad supera los 10 años.

Resolución:

Variable Descripción

NOMBRE Nombre del empleado

SB Sueldo básico

ANT Antigüedad

PORCENTAJE Porcentaje de antigüedad

SUELDO Sueldo a cobrar

LEER NOMBRE

LEER SB

LEER ANT

PORCENTAJE 1

SI ANT>3 Y ANT <6

ENTONCES

PORCENTAJE 1.15

SINO

SI ANT>6 Y (ANT<10 O ANT=10)

ENTONCES

Page 18: Problemas Resueltos- Algoritmos

PORCENTAJE 1.3

SINO

SI ANT>10

ENTONCES

PORCENTAJE 1.5

FINSI

FINSI

FINSI

SUELDO SB * PORCENTAJE

ESCRIBIR NOMBRE

ESCRIBIR SUELDO

Ejercicio Nº2

Escribir un algoritmo que determine en la variable MINIMO el menor de los valores de cuatro variables numéricas.

C 1

LEER MIN

MIENTRAS C<4 HACER

LEER B

SI MIN>B

ENTONCES

MIN B

FINSI

C C+1

FINMIENTRAS

Page 19: Problemas Resueltos- Algoritmos

ESCRIBIR MIN

Ejercicio Nº3

Se leen tres valores que corresponden al día, mes y año. Verificar si los datos constituyen una fecha posible o no.

LEER DIA

LEER MES

LEER AÑO

FECHA “No valida”

SI (DIA <31) Y (MES<13)

ENTONCES

FECHA “Valida”

SINO

SI (DIA = 31) Y (MES=1) O (MES=3) O (MES=5) 0 (MES=7) 0 (MES=8) 0 (MES=10) 0 (MES=12)

ENTONCES

FECHA Valida

FINSI

SI (DIA=29) Y (MES=2)

ENTONCES

R AÑO MOD 4

SI R = 0

ENTONCES

FECHA “Valida”

FINSI

Page 20: Problemas Resueltos- Algoritmos

SINO

SI (DIA<29) Y (MES=2)

ENTOCES

FECHA “VALIDA”

FINSI

FINSI

FINSI

ESCRIBIR “LA FECHA ES” FECHA

Ejercicio Nº4

Ordenar tres valores numéricos, de menor a mayor.

LEER A

LEER B

LEER C

SI A<B Y A<C

ENTONCES

MENOR A

SI B<C

ENTONCES

MEDIO B

MAYOR C

SINO

MEDIO C

MAYOR B

Page 21: Problemas Resueltos- Algoritmos

FINSI

FINSI

SI B<A Y B<C

ENTONCES

MENOR B

SI A<C

ENTONCES

MEDIO A

MAYORC

SINO

MEDIO C

MAYOR A

FINSI

FINSI

SI C<A Y C<B

ENTONCES

MENORC

SI A<B

ENTONCES

MEDIO A

MAYOR B

SINO

MEDIO B

Page 22: Problemas Resueltos- Algoritmos

MAYOR A

FINSI

FINSI

ESCRIBIR MENOR

ESCRIBIR MEDIO

ESCRIBIR MAYOR

Ejercicio Nº5

Se leen 300 datos que representan el peso de niños internados en un hospital. Se pide confeccionar la siguiente tabla:

Entre 0 y 10 Kg. Hay............niños

Entre 10 y 20 Kg. Hay..........niños

Entre 20 y 30 Kg. hay...........niños

de más de 30 Kg. hay...........niños

Variable Descripción

PS1 Entre 0 y 10 Kg

PS2 Entre 10 y 20Kg.

PS3 Entre 20 y 30Kg.

PS4 Más de 30Kg.

PS1 0

PS2 0

PS3 0

PS4 0

PARA N DESDE 1 HASTA 300 CON PASO 1 HACER

LEER PESO

Page 23: Problemas Resueltos- Algoritmos

SI PESO <10 O PESO = 10

ENTONCES

PS1 PS1+1

FINSI

SI PESO >10 Y (PESO<20 O PESO = 20)

ENTONCES

PS2 PS2+1

FINSI

SI PESO>20 Y (PESO<30 O PESO = 30)

ENTONCES

PS3 PS3+1

FINSI

SI PESO>30

ENTONCES

PS4 PS4+1

FINSI

FINPARA

ESCRIBIR “Entre 0 y 10Kg. hay” PS1 “niños”

ESCRIBIR “Entre10 y 20Kg. hay” PS2 “niños”

ESCRIBIR “Entre 20 y 30Kg. hay” PS3 “niños”

ESCRIBIR”De más de 30kg. hay” PS4 “niños”

Ejercicio Nº6

Se tienen las calificaciones individuales de los alumnos que cursaron una materia en tres aspectos: nota del trabajo realizado en el laboratorio de computación, nota

Page 24: Problemas Resueltos- Algoritmos

promedio de los exámenes parciales y nota del examen final. Por cada alumno, se lee su nombre y las tres calificaciones mencionadas, y se quiere obtener un listado donde, cada línea, debe contener el nombre de un alumno y su correspondiente nota promedio.

ALUMNO “ “

MIENTRAS ALUMNO<>”FIN” HACER

LEER ALUMNO

LEER TP

LEER EP

LEER FINAL

PROMEDIO(TP+EP+FINAL)/3

ESCRIBIR ALUMNO

ESCRIBIR PROMEDIO

FINMIENTRAS

Ejercicio Nº7

Una empresa fabrica dos productos A y B y desea saber cuál de ellos es el más aceptado en el mercado. Para ello realiza una encuesta y, por cada persona interrogada, se obtiene un par de valores: el primer valor del par indica la aceptación o no del producto A según sea 1 o 0; el segundo valor del par corresponde al producto B. Por ejemplo, el par (1,0) significa que el encuestado acepta el producto A pero no el B. Se pide:

Total de encuestados.

Porcentaje de consumidores que aceptan:

el producto A.

el producto B

los dos productos.

el producto A pero no el B.

Page 25: Problemas Resueltos- Algoritmos

el producto B pero no el A.

ninguno de los dos productos.

Variable Descripción

PA Cantidad de consumidores que aceptan el producto A

PB Cantidad de consumidores que aceptan el producto B

A Primer valor del par ingresado

B Segundo valor del par ingresado

ANB Cantidad que acepta A y no B

BNA Cantidad que acepta B y no A

AB Cantidad que aceptan A y B

NAB Cantidad que no aceptan ni A ni B

PORCENTA Porcentaje de consumidores que aceptan A

PORCENTB Porcentaje de consumidores que aceptan B

PROCENTANB Porcentaje de ANB

PROCENTBNA Porcentaje de BNA

PORCENTNAB Porcentaje de NAB

PORCENTAB Porcentaje de AB

PA0, PB, ANB0, BNA0, AB0, NAB0, C0

MIENTRAS A>1 HACER

LEER A, B

CC +1

SI A=0 Y B=1

ENTONCES

Page 26: Problemas Resueltos- Algoritmos

PBPB+1

BNABNA+1

FINSI

SI A=1 Y B=0

ENTONCES

PAPA+1

ANBANB+1

FINSI

SI A=1 Y B=1

ENTONCES

PAPA+1

PBPB+1

AB1

FINSI

SI A=0 Y B=0

ENTONCES

NABNAB+1

FINSI

FINMIENTRAS

CC-1

PORCENTA 100*PA/C

PORCENTB 100*PB/C

PORCENTAB 100*AB/C

Page 27: Problemas Resueltos- Algoritmos

PORCENTANB 100*ANB/C

PORCENTBNA 100*BNA/C

PORCENTNAB 100*NAB/C

ESCRIBIR ”Consumidores del Producto A” PORCENTA “%”

ESCRIBIR ”Consumidores del Producto B” PORCENTB “%”

ESCRIBIR ”Consumidores del ambos productos” PORCENTAB “%”

ESCRIBIR ”Consumidores del Producto A pero no del B” PORCENTANB “%”

ESCRIBIR ”Consumidores del Producto B pero no del A” PORCENTBNA “%”

ESCRIBIR “Ninguno de los dos productos” PORCENTNAB “%”

EjercicioNº8

Suponiendo que el precio de cualquier artículo que se vende en un negocio es inferior o igual a $ 1 y que se abona con un billete de $ 2, diseñar un algoritmo para leer el precio de los artículos vendidos y calcular el número de cada clase de moneda que debe darse a cambio, de tal manera que se devuelva un mínimo de monedas fraccionarias.

Variable Descripción

M1 Moneda de $1

M50 Moneda de $0.50

M25 Moneda de $0.25

M10 Monedas de $0.10

M05 Moneda de $0.05

LEER PRECIO

VUELTO=1< PRECIO

M1=1

Si(vuelto >0,50)o(vuelto=0,50)

Page 28: Problemas Resueltos- Algoritmos

Entonces

Vuelto=<0,50

M50=1

Finsi

Si (vuelto >25)o(vuelto=0,25)

Entonces

Vuelto=vuelto=0,25

M25=1

Finsi

Mientras

(vuelto>0,10) y (vuelto=0,10)

vuelto=vuelto - 0,10

m10=m10+10

fin mientras

si (vuelto>0,05)y (vuelto=0,05)

entonces

vuelto=vuelto=0,05

m05=1

finsi

Page 29: Problemas Resueltos- Algoritmos

Para los siguientes problemas dar un algoritmo y si es posible una ejecución del mismo.

1. Buscar en el directorio telefónico, el número de:

a. José González Pérezb. Pedro Gómez Bernal.c. Escribir un algoritmo que sirva para buscar a cualquier persona.

2. Calcular el número de días entre las fechas:

a. Enero 17 de 1972 y Julio 20 de 1973b. Febrero 2 de 1948 y Agosto 11 de 1966c. Escribir un algoritmo que sirva para calcular la cantidad de días entre cualquier dos fechas.

3. Solicitar en préstamo algún libro de una biblioteca.

4. haga una caja de cartón con tapa de:

a. 20 cm de largo, por 10 cm de ancho y 5 cm de alto.b. 10 cm de largo, por 30 cm de ancho y 15 cm de alto.c. Escribir un algoritmo que sirva para construir una caja de cartón con tapa de cualquier tamaño.

5. Construir un avión de papel.

6. Calcular manualmente la división de cualquier par de números naturales. El resultado también debe ser un número natural. Escribir un algoritmo para calcular el residuo de la división.

7. Un juego muy famoso entre dos niños es el de adivina mi número,el cual consiste en que cada niño trata de adivinar el número pensado por el otro niño. Dicho número generalmente está entre 1 y 100. Las reglas del juego son las siguientes:

a. Cada niño posee un turno en el que trata de averiguar el número del otro.b. En su turno el primer niño pregunta si un número que dice es el pensado por el segundo.c. Si el número que ha dicho el primer niño es el que pensó el segundo, este último debe informarle al primero que ganó.d. Si el número no es el segundo niño debe decir si su número pensado es menor o mayor

Page 30: Problemas Resueltos- Algoritmos

al que el primer niño dijo.e. Luego el segundo niño tiene su turno y de esta manera se van intercalando hasta que alguno de los dos gane.Desarrollar un algoritmo para jugar adivina mi número.

8. Una balanza se encuentra en equilibrio cuando el producto de la carga aplicada sobre el brazo derecho por la longitud de este brazo, es igual al producto de la carga aplicada sobre el brazo izquierdo por la longitud de este otro brazo. Determinar si la balanza se encuentra en equilibrio si:

a. La longitud del brazo izquierdo es3 m, la del derecho es 2 m, la carga aplicada al brazo izquierdo es 5 Kg y la carga aplicada al derecho es 7 Kg.b. La longitud del brazo izquierdo es4 m, la del derecho es 2 m, la carga aplicada al brazo izquierdo es 4 Kg y la carga aplicada al derecho es 4 Kg.c. Desarrollar un algoritmo que sirva para cualquier conjunto de valores para las longitudes de los brazos y las cargas aplicadas.