ING. HECTOR SOSA  
 
  Resuelta de Algoritmos 16-07-2025 13:45 (UTC)
   
 

Guia Nº1

Ejemplos de algoritmos condicionales:

Hacer un algoritmo que lea los nombres y edades de dos personas e imprima cual de ellas
tiene más edad.
1. Inicio
2. leer nombre1 y edad1
3. leer nombre2 y edad2
4. comparar edad1 con edad2:
5. Si edad1 > edad2 imprimir nombre1, ” es mayor ”
6. si edad2 > edad1 imprimir nombre2, ” es mayor”
7. Si edad1 = edad2 imprimir

En una Granja existen N conejos, N1 blancos y N2 negros. Se venden X negros y Y blancos.
Hacer un algoritmo que:
a) Imprima la cantidad de conejos vendida
b) Si P1 es el precio de venta de los conejos blancos y P2 es el precio de venta de los conejos negros, imprima el monto total de la venta.
c) Imprima el color de los conejos que se vendieron mas.

Solución:

1. Inicio
2. Leer datos: N, N1,N2,X,Y,P1,P2
3. Calcular la cantidad de conejos vendida: CNV = X + Y
4. Imprimir la cantidad de conejos vendida: Imprimir CNV
5. Calcular el monto de la venta: MV = X * P2 + Y * P1
6. Imprimir monto de la venta: Imprimir MV
7. Si X > Y entonces
Imprimir “Se vendieron mas conejos negros”
en otro caso
Imprimir “Se vendieron mas conejos blancos”
8. Fin

Elaborar un algoritmo que lea el importe bruto de una factura y
determine el importe neto según los siguientes criterios:
· Importe bruto menor de 20.000 -> sin descuento
· Importe bruto mayor de 20.000 -> 15% de descuento

1. Inicio
2. Leer importeb
3. Calcular descuento:
Si importeb >= 20000 entonces
descuento =importeb * 0.15;
en otro caso
descuento = 0
finsi
4. Calcular monto total de la factura:
total:=importe – descuento
5. Escribir total
6. fin.
  



Guia Nº2: EJERCICIOS DE PROGRAMACIÓN EN PSEUDOCÓDIGO

 Representación de variables

Cuando representamos datos, numéricos o alfanuméricos, debemos darles un nombre. Una variable es un nombre que representa el valor de un dato. En esencia, una variable es una zona o posición de memoria en la computadora donde se almacena información. En un pseudocódigo y también en un programa se pueden crear tantas variables como queramos. Ejemplos:

    A = 50; Variable tipo numérica A cuyo valor es 50.

Ciudad = "Asunción"; Variable alfanumérica o de tipo carácter Ciudad, cuyo  valor es "Asunción"

X = C + B; Variable numérica X cuyo valor es la suma de los valores de las variables numéricas C y B. (Nota: C y B deben tener algún valor).

 Asignación

Para asignar un valor a una variable se utilizará el símbolo = que en este contexto significa “es reemplazado por”. De forma general tendremos que:

Nombre_variable = expresión

El valor de Nombre_variable se sustituye por el valor de expresión

Ejemplos:

C = 13

B = 25

X = C + B       (después de estas instrucciones, X contendrá el valor 13 + 25 = 38) 

 Existe otra forma de asignar un valor a una variable, a través de la instrucción leer:

Leer (Nombre_variable)

Esta instrucción pide al usuario un valor que será asignado a la variable Nombre_variable, es decir, en Nombre_variable se almacena el valor ingresado por el usuario.

Operadores de relación

Los operadores relacionales se utilizan para formar expresiones que al ser evaluadas producen un valor de tipo lógico: verdadero o falso.

 Signo

Operador

Ejemplo

Resultado

> 

Mayor que

25 <= 25

Verdadero

< 

Menor que

25 <> 25

Falso

==

Igual a

25 <> 4

Verdadero

<=

Menor o igual que

50 <= 100

Verdadero

>=

Mayor o igual que

500 >= 1

Verdadero

<> 

Distinto

1 = 6

Falso

 

Operadores aritméticos

 Signo

Significado

+

Suma

-

Resta

*

Multiplicación

/

División

^

Potenciación

MOD

Resto de la división entera

 Estructuras de selección

El formato de la estructura de selección es:

 si  (condición) entonces

            instrucción 1

 instrucción 2

  ...................

            instrucción n

 si no

            instrucción a

            instrucción b

            ...................

            instrucción z

fin si

 El resultado de evaluar la condición puede ser verdadero o falso: en el caso de que sea verdadero, se ejecutarán: instrucción 1,  instrucción 2, ... , instrucción n. Si el resultado de evaluar condición es falso se ejecutarán: instrucción a,  instrucción b, ... , instrucción z.  

 Ejemplo:

Si A = 5 entonces

Imprimir("A es 5")

si no

            imprimir("A no es igual a 5")

fin si

 Estructuras de repetición

El formato de la estructura de repetición es:

 mientras (condición)

instrucción 1
instrucción 2
.....
instrucción n

fin mientras

 El resultado de evaluar condición puede ser verdadero o falso:

Mientras sea verdadero, se ejecutarán: instrucción 1,  instrucción 2, ... , instrucción n. Estas instrucciones dejarán de ejecutarse cuando condición sea falso.


Ejemplo:

leer(contraseña)

mientras (contraseña < > "joshua")

imprimir("La contraseña es incorrecta !")

leer (contraseña)

fin-mientras

imprimir("Ha tecleado la contraseña correcta")


Nota: El bucle se repetirá mientras que contraseña <> “joshua” sea verdadero

Salida de resultados

Los resultados de nuestros algoritmos los vamos a mostrar al usuario a través de la instrucción imprimir, que tiene la siguiente forma general:

Imprimir(argumento 1, argumento 2, argumento 3, ... , argumento n)

Donde los argumentos pueden ser cadenas de caracteres entrecomilladas o variables:

·        Si son cadenas de caracteres entrecomillados se imprime literalmente lo que está entre comillas

·        Si son variables se imprime el contenido de dicha variable (no el nombre)

Ejemplo:

sueldo = 1000

trabajador = “Martínez”

Imprimir( “el sueldo de “, trabajador , ” es “, sueldo , ” Euros.“ )

La instrucción imprimir, muestra lo siguiente: el sueldo de Martínez es 1000 Euros.

 

 

 

 

 

 

 

EJERCICIOS: ENUNCIADOS

 Ejercicio 1: Observa la siguiente secuencia de instrucciones:

                  1.         A = 5

2.         B = 7

3.         C = 2

4.         A = A + B + C

5.         B = C / 2

6.         A = A / B + A ^ C

7.         Imprimir(A)

 Ahora responde a las siguientes cuestiones:

a)     ¿Qué valor contiene A después de la cuarta instrucción?

b)     ¿Qué valor contiene B después de la quinta instrucción?

c)      ¿Qué valor contiene A después de la sexta instrucción?

d)     ¿Qué valor imprime la última instrucción?

e)     Si en lugar de Imprimir(A) hubiésemos escrito Imprimir(“A”) ¿Qué aparecería?

 Ejercicio 2: Observa la siguiente secuencia de instrucciones:

             1.                  A = 5

2.                  B = 7

3.                  C = 1

4.                  D = (A == B)

5.                  E = (A <> B)

6.                  F = (MOD(B/A) >= C)

 Ahora responde a las siguientes cuestiones:

a)     ¿Qué valor contiene D después de la cuarta instrucción?

b)     ¿Qué valor contiene E después de la quinta instrucción?

c)      ¿Qué valor contiene F después de la sexta instrucción?

d)     ¿Cuánto valen A, B y C después de la última instrucción?

 Ejercicio 3: Observa la siguiente secuencia de instrucciones:

             1.                  leer(A)

2.                  leer(B)

3.                  leer(C)

4.                  D = (A == B)

5.                  E = (A <> B)

6.                  F = (MOD(B/A) >= C)

 Ahora responde a las siguientes cuestiones: Supongamos que el usuario introduce 3 en A, 4 en B y 5 en C

      a)     ¿Qué valor contiene D después de la cuarta instrucción?

b)     ¿Qué valor contiene E después de la quinta instrucción?

c)      ¿Qué valor contiene F después de la sexta instrucción?

d)     ¿Cuánto valen A, B y C después de la última instrucción?

 Ejercicio 4: Observa la siguiente secuencia de instrucciones:

                            1.      leer (A)

2.      resultado = 1

3.      mientras (A>1)

4.      resultado = resultado * A

5.      A = A – 1

6.      fin mientras

7.      imprimir(resultado)

 

Ahora responde a las siguientes cuestiones:

a)     Si en la primera instrucción se introduce un valor 2 en A ¿Qué valor se imprime?

b)     Si en la primera instrucción se introduce un valor 3 en A ¿Qué valor se imprime?

c)      Si en la primera instrucción se introduce un valor 4 en A ¿Qué valor se imprime?

d)     ¿Qué se está calculando?

 Ejercicio 5: Observa la siguiente secuencia de instrucciones:

 

1.      leer (A)

2.      Si (A>0)

3.      Imprimir (A,’es positivo’)

4.      Si no

5.      Imprimir (A,’es negativo’)

6.      Fin si

 

a)     Describe, instrucción por instrucción, qué se está haciendo con este algoritmo.

b)     ¿Qué pasa si A = 5? ¿Y si A = - 100?

c)      Escribe otro algoritmo para distinguir múltiplos de 3 y compáralo

 Ejercicio 6: Observa la siguiente secuencia de instrucciones:

                  1.      leer (NumeroA)

2.      leer (NumeroB)

3.      Si (NumeroA < NumeroB)

4.      imprimir ("El mayor es:", NumeroB)

5.      si-no

6.      imprimir ("El mayor es:", NumeroA)

7.      fin-si

      a)     Describe qué se está haciendo con este algoritmo.

b)     ¿Qué pasa si NumeroA = 5 y NumeroB = - 100?

c)      ¿Qué pasa si NumeroA = 10 y NumeroB = 100?

d)     ¿Qué pasa si NumeroA = 10 y NumeroB = 10?

 

Ejercicio 7: Dibuja los organigramas y diagramas Nassi-Schneiderman de todos los ejercicios anteriores.


Guia Nº3 Ejemplos de algoritmos Secuenciales resueltos:

1. Escribir un algoritmo que lea las cuatro notas de un estudiante e imprima la nota definitiva.
Inicio
leer n1, n2, n3, n4
suma = n1 + n2 + n3 + n4
parcial = (suma*4)/100
notadef = parcial + 1
Imprimir notadef
fin
2. Escribir un algoritmo que lea las cuatro notas de un estudiante en cada uno de los tres subproyectos que cursa e imprima la nota definitiva de cada subproyecto y el promedio de las tres notas definitivas:
Inicio
leer notas del subproyecto 1: n11,n21,n31,n41
calcular nota definitiva: nd1 = (((n11 + n21 + n31 + n41)*4)/100) + 1
Imprimir nota definitiva del subproyecto 1: imprimir nd1
leer notas del subproyecto 2: n12,n22,n32,n42
calcular nota definitiva: nd2 = (((n12 + n22 + n32 + n42)*4)/100) + 1
Imprimir nota definitiva del subproyecto 2: imprimir nd2
eer notas del subproyecto 3: n13,n23,n33,n43
calcular nota definitiva: nd3 = (((n13 + n23 + n33 + n43)*4)/100) + 1
Imprimir nota definitiva del subproyecto 3: imprimir nd3
calcular promedio: promedio = (nd1 + nd2 + nd3)/3
imprimir promedio
fin
3. Escribir un algoritmo que calcule e imprima el area de un triangulo:
Inicio
leer datos: base, altura
Calcular area: area = (base*altura)/2
Imprimir base, altura, area
fin
4. Un vendedor recibe una comisión del 10% del total de ventas del mes. El quiere saber cuanto ganará en un mes que tuvo tres ventas:
Inicio
leer sueldobase, venta1, venta2, venta3
subtotal = venta1 + venta2 + venta3
comision = subtotal *0,10
total = sueldobase + comision
imprimir total
fin
5. Una tienda ofrece un 15% de descuento por cada compra. Un cliente desea saber cuanto deberá pagar por su compra:
Inicio
leer monto
descuento = monto * 0,15
total = monto – descuento
imprimir total
end
6. Si un dolar equivale a 2,15 bolívares. Hacer un algoritmo que imprima en dólares una cantidad X de bolívares.
Inicio
leer x
dolares = x/1,15
imprimir X
fin
Ejercicio:
Tres personas deciden invertir su dinero para formar una empresa. Cada una de ellas invierte una cantidad distinta. Hacer un algoritmo que imprima el porcentaje que cada quien invierte con respecto al total de la inversión.


Guia Nº4
Ejercicios de algoritmos(resueltos)
 
1. A un trabajador le pagan segun sus horas y una tarifa de pago por
   horas. si la cantidad de horas trabajadas es mayor a 40 horas. la
   tarifa se incrementa en un 50% para las horas extras. calcular el
   salario del trabajador dadas las horas trabajadas y la tarifa.
 
   variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e
      inicio
        leer: horas_trabajadas,tarifa
              si: horas_trabajadas <= 40 entonces
                  salario <-- horas_trabajadas * tarifa
              si_no
                  tarifa_extra <-- tarifa + 0.50 * tarifa
                  horas_extras <-- horas_trabajadas - 40
                  salario <-- horas_extras * tarifa_extra + 40 *
                  tarifa
              fin_si
              imprimir: salario.
       fin
 
2. A un  trabajador le descuentan de su sueldo el 10% si su sueldo es
   menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del
   adicional, y por encima de 2000 el 3% del adicional. calcular el 
   descuento y sueldo neto que recibe el trabajador dado su sueldo.
 
   variables: sueldo,sueldo_neto,descuento
      inicio
        leer: sueldo
              si: sueldo <= 1000 entonces
                  descuento <-- sueldo * 0.1
              si_no
                 si: sueldo <= 2000 entonces
                     descuento <-- (sueldo - 1000) * 0.05 + 1000 * 0.1
                 si_no
                     descuento <-- (sueldo - 2000) * 0.03 + 1000 * 0.1
                 fin_si
                 imprimir: descuento.
       fin
 
3. Dado un monto calcular el descuento considerando que por encima de
   100 el descuento es el 10% y por debajo de 100 el descuento es el
   2%.
 
   variables: monto,descuento
      inicio
        leer: monto
              si: monto > 100 entonces
                  descuento <-- monto * 10 / 100
              si_no
                  descuento <-- monto * 2 / 100
              fin_si
              imprimir: monto, descuento
       fin
 
4. Dado un tiempo en segundos, calcular los segundos restantes que le
   correspondan para convertirse exactamente en minutos.
 
   variables: tiempo_seg,minutos,segundos
      inicio
        leer: tiempo_seg
              si minutos  <-- tiempo_seg div 60 entonces
                  segundos <-- tiempo_seg mod 60
              fin_si
              imprimir: minutos,segundos.
       fin 
 
5. Dado un tiempo en minutos, calcular los dias, horas y minutos que
   le corresponden.
 
   variables: tiempo,dias,horas,minutos
      inicio
        leer: tiempo
              si: dias <-- tiempo div 1440
                   x <-- tiempo mod 1440
                  horas <-- x div 60
                  minutos <-- x mod 60
                  imprimir: dias,minutos,horas
              fin_si
       fin     
 
 
 
6. Calcular mediante un algoritmo repetitivo la suma de los  N primeros números naturales.
 
     Inicio 
        Leer : N
              X<--1
              S<--0
              Mientras x<=N hacer
                   S<--s+1
                   X<--x+1
              Fin _ mientras
              Imprimir: s
     Fin
 
 
7. Modificar el ejercicio 1 para obtener la suma de los salarios de todos los trabajadores.
 
     Inicio
        Leer: N
             X<--1
             S<--0
             Mientras x<=N hacer
                Leer:h, t
               S<--h*t
               Imprimir s
               S<--s+s
               X<--x+1
             Fin _ mientras
             Imprimir: s
     Fin
 
8. Dada las horas trabajadas de una persona la tarifa de pago. 
   Calcular su salario e imprimirla.
 
     Inicio
       leer: h, t
            S<--h * t
            Imprimir: s
     fin
 
    (Para dos personas)
 
    inicio
      leer: h, t
           S<--h * t
           Imprimir s
      Leer: h, t
           S<--h * t
           Imprimir: s
    Fin
 
9. Dado N notas de un estudiante calcular:
 
   a) Cuantas notas tiene desaprobados.
   b) Cuantos aprobados.
   c) El promedio de notas.
   d) El promedio de notas aprobadas y desaprobadas.
 
   Inicio
   Leer: N
        X<--1
        Cd<--0
        NA <-0
        acum_desap <-0
        acum_ap  <- 0
        acum <- 0
        Mientras x<=N hacer
          Leer: not
            Si: not < 10.5 entonces
               CD<--cd+1
               acum_desap <- acum_desap + not
            Sino
               NA <- NA + 1
                acum_ap <- acum_ap + not
            fin _ si
            acum <- acum + not
            x<--x+1
        Fin _ mientras
        prom_ap <- acum_ap /NA
        prom_desap <- acum_desap/CD
        prom <- acum / N
        Imprimir: prom, prom_ap, prom_desap, NA, CD
    Fin
 
 
10. Dado un numero determinar la suma de sus dígitos.
 
    Inicio
      Leer: n
            S<--0
            Mientras n<>0 hacer
               R<--n mod 10
               S<--s + r
               N<--n div 10
            Fin _ mientras
            Imprimir: s
    Fin
 
11.Se trata de escribir el algoritmo que permita emitir la factura 
   correspondiente a una compra de un articulo determinado, del que 
   se adquieren una o varias unidades. El IVA es del 15% y si el precio    
   bruto ( precio venta mas IVA) es mayor de 50.00 pesetas se debe 
   realizar un descuento del 5%.
 
    Variables: precio, numeros de articulos(Nart), precio venta(Pv), descuento(d)
        Inicio 
               Leer precio, Nart
               Pv= Precio * Nart
               IVA= Pv * 0.15
               Pb= Pv + IVA
               Si Pb >= 50 entonces
                       d= (Pb * 5)/100
               Sino
                       d= 0
               Finsi
               Pl= Pb - d
               Escribir Pv, IVA, Pb,d, Pl
        Fin
 
12. Realizar un algoritmo que permita pedir 
    50 números naturales y determine e imprima cuantos son 
    pares, impares, positivos y negativos.
 
        variables:par(p), impares(im), positivos(pos), negativos(n)  
    Inicio
            p= 2
           in= 0
         pos.= 0
            n= 0
      Para  x= 1 hasta 50
                  Leer n
         Si n mod 2= 0 entonces
                p= p + 1
         Sino
               in= in + 1
         Finsi
         Si n > 0 entonces
            Pos= pos + 1
         Sino
             n=  n + 1
         Finsi
      Fin_para
        Escribir p, in, pos, n
    Fin
 
13. Desarrollar un algoritmo para calcular e 
    imprimir el factorial de un número.
 
        variables: factorial(f). numero(n)
      Inicio
         f= 1
         Para x= 1 hasta n
           f = f * x
         Fin_para
         Escribir f
      Fin
 
14. Calcular la media de 100 números e imprimir su resultado.
 
        variables: suma(s), media
    Inicio
         s= 0
         x= 1
      Mientras x<= 100 hacer
        Leer n
         s = s + n
         x = x + 1
      Finmientras
         media = s /100
         Escribir media
    Fin
 
15. Calcular y visualizar la suma y el producto de los 
    números pares comprendidos entre 20 y 400 ambos  inclusive.
 
        variables: suma(s), producto(p)
       Inicio
                s = 0
                p = 1
                x = 20
          Mientras x<= 400 hacer
               s = s +1
                p = p *x
               x = x +1
          Finmientras
               Escribir s, p
       Fin
16.-Hacer un programa que al ingresar un número 
    de Amstrong nos escriba si es o no es un número de     
    amstrong, y si no es que indique que vuelva a intentar. 
 
        Variables número, número original, digito 
 
        INICIO
          LEER NÚMERO
          Numeró original
          Suma   0
          Mientras  NUMERO < > 0 hacer
              dijito <- digito  mod 10
              Suma <-  suma + dijito ^ 3
              Numero  <-  numero mod 10
            Si suma = Número _ original Entonces
               Escribir "es un numero de amstrong"
            Sino
               Escribir "no es un numero de amstrong, intente otra vez"
            Finsi
         Fin
 
17.-Hacer un programa que registre el nº de créditos de un alumno.
    *El número máximo de crédito es 25
    *Imprimir número de crédito y total de crédito.
 
        Variables crédito, numero_de_crédito
        Inicio
          total_de_crédito <- 0
          Leer crédito
          Si total_de_crédito + crédito  < = 25 entonces
              Total_de_crédito  <-   total_de_crédito + crédito
              Numero_de_crédito  <-  número_de_cedito + 1
          Fin si
          Imprimir Numero_de_crédito, crédito
         Fin
     
18.-Hacer un programa para escribir la primera vocal leída del teclado.
    *Se supone que se leen, uno a uno, carácter desde el teclado
 
        Variables vocal
        Carácter  J
        Inicio
         sw = 1
         Mientras sw = 1 hacer
           Leer J
           si (J= "a") o (J = "e")  o (J = "i") o (J = "o") o (J ="u")
               Escribir "LA PRIMERA VOCAL INGRESADA FUE",J
               sw <- 0 
           fin_si
          Fin_mientras       
        Fin
19.-Hacer un programa que no determine un numero 
    tiene o no parte fraccionaria.
 
        Variables  parte_fracciomaria
        Real   n
        Inicio
            Escribir "ingresa numero"
            Leer n
           Si n = trunc(n) entonces     // trunc es una funcion 
                                      // que elimina los decimales de un numero
 
               Escribir "numero no tiene parte fraccionaria"
             Sino
           Escribir" numero con parte fraccionaria"
           fin si
        Fin   




 
 
 
 
 
 
 
 
 
 
 
 
  Facebook botón-like

Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis