ESCODIGO

Algoritmos de Estructuras Secuenciales

La estructura secuencial es aquella donde las instrucciones se ejecutan una a continuación de otra en el orden en que estas fueron escritas. Esta es la característica de la mayoría de los lenguajes de programación.

Diciendo eso desarrollaremos algoritmos con estructura secuencial que hagan uso sólo de instrucciones simples, tales como las sentencias de entrada / salida y las sentencias de asignación. Mas adelante veremos las instrucciones compuestas.

Un algoritmo no es único. Puede tener variantes de acuerdo a la concepción que tenga cada programador del problema. En el ejemplo en los ejemplos veamos mas adelante podremos ver en varias ocasiones que un problema tiene varias formas de solucionar.


Algoritmos resueltos

  1. Promedio Aritmeticos de Notas. (Algoritmo para calcular el promedio de 3 calificaciones)
  2. Suma de Números
  3. Calcular area de un circulo
  4. Algoritmo para calcular el area de un triangulo
  5. Calcular área de un cuadrado(Algoritmo para calcular el area de un cuadrado)
  6. Numero de billetes
  7. Cantidad de Digitos de un Numero
  8. Distancia entre dos puntos
  9. Repartir proporcionalmente
  10. Número de apretones de manos
  11. Area del n-esimo cuadrado formado
  12. Maximizar número de cortes
  13. Invertir un numero de tres digitos : Algoritmo para invertir un numero
  14. Calcular hora de llegada (TIEMPOS)
  15. Suma de Numeros Complejos
  16. Unidades, Decenas, Centenas de un Numeros

EJEMPLO 1: Escribir un algoritmo que calcule el promedio aritmético de tres notas.


inicio
  /* Calcular promedio aritmetico de tres notas */
  /*Leer tres notas*/
    leer Nota1
    leer Nota2
    leer Nota3

  /* Calcular promedio */
    Promedio = (Nota1 + Nota2 + Nota3) / 3

  /*Escribir promedio*/
    escribir Promedio
fin

EJEMPLO 2: Escribir un algoritmo que determine la suma de dos números enteros.


inicio
  /*Calcular la suma de dos numeros*/
  /*Leer dos numeros enteros*/
    leer Numero1
    leer Numero2

  /*Determinar la suma*/
    Suma = Numero1 + Numero2

  /*Mostrar el resultado*/
    escribir Suma

fin

EJEMPLO 3: Escribir un algoritmo para calcular el área de un circulo.


inicio
  /*Calcular el area de un circulo*/
    /*Leer Radio*/
    leer radio

    /*Calcular el area del circulo*/
    Area = 3.1416*Radio*Radio

    /*Escribir el resultado*/
      escribir Area
fin

EJEMPLO 4: Escribir un algoritmo para calcular el area de un triangulo.


inicio
  /* Calcular el area del triangulo*/
    /* Leer base altura */
    leer base
    leer altura

    /*Calcular el area del triangulo*/
    Area = base * altura / 2

    /*Escribir el resultado*/
      escribir Area
fin

EJEMPLO 5: Escribir un algoritmo para calcular el área de un cuadrado.


inicio /*Calcular el area de un cuadrado*/
  /*Leer el lado del cuadrado*/
      leer Lado

    /*Calcular el area*/
      Area = Lado*Lado

    /*Mostrar el resultado*/
      escribir Area
fin

EJEMPLO 6: Escribir un algoritmo que calcule el número mínimo de billetes de 100, 50, 20 y 10 Nuevos soles que son necesarios para cambiar un Cheque bancario. (Nota: El cheque bancario es múltiplo de 10)


inicio
  /*Calcular el numero minimo de billetes con los que se puede cambiar un cheque bancario*/
  /*Leer el monto del cheque*/
    leer Monto

  /*Calcular numero inicial de billetes*/
  /*Calcular numero de billetes de cada denominacion*/
    Billetes100 = Monto DIV 100
    Resto = Monto MOD 100
    Billetes50 = Resto DIV 50
    Resto = Resto MOD 50
    Billetes20 = Resto DIV 20
    Billetes10 = Resto MOD 20

  /*Calcular numero minimo de billetes*/
    TotalBilletes = Billetes100 + Billetes50 + Billetes20 + Billetes10

  /*Escribir numero minimo de billetes*/
    escribir TotalBilletes
fin

EJEMPLO 7: Escribir un algoritmo para determinar el número de dígitos impares de un número de 3 dígitos.


inicio
  /*Determinar Cantidad de digitos impares de un numero de tres digitos*/
  /*Leer un numero de 3 digitos*/
      leer Numero

    /*Determinamos la cantidad de digitos impares*/
    /*Determinamos las unidades, decenas y centenas*/
      Centenas = Numero DIV 100
      Temporal = Numero MOD 100
      Decenas = Temporal DIV 10
      Unidades = Temporal MOD 10

    /*Determinar suma de cifras impares*/
      DigitosImpares = Centenas MOD 2 + Decenas MOD 2 + Unidad MOD 2

    /*Mostrar resultado*/
      escribir DigitosImpares
fin

EJEMPLO 8: Escriba un algoritmo que calcule la distancia entre dos puntos en el plano cartesiano.


inicio /*Calcular la distancia entre dos puntos en el plano cartesiano*/
  /*Leer abscisa y ordenada de los punto*/
    leer X1
    leer Y1
    leer X2
    leer Y2

  /*Calcular la distancia entre los dos puntos*/
    Distacia = raiz((X2 - X1)*(X2 - X1) + (Y2 - Y1)*(Y2 - Y1))

  /*Escribir la distancia obtenida*/
    escribir Distacia
fin

EJEMPLO 9: Dos socios de una empresa exportadora aportan cada uno cierta cantidad del mismo producto. Luego de producida la venta al exterior, reciben una cantidad de dinero. Elaborar un algoritmo para determinar cuánto corresponde a cada socio, proporcional a su parte.


inicio
  /*Determinar cantida de dinero que recibe cada socio segun su aporte (Propocional a su aporte)*/
    /*Leer cantidades aportados*/
      leer Cantidad1
      leer Cantidad2

    /*Leer el monto total */
      leer MontoTotal

    /*Determinar el monto recivido por socio*/
      Monto1 = Cantidad1*MontoTotal / (Cantidad1 + Cantidad2)

      Monto2 = Cantidad2*MontoTotal / (Cantidad1 + Cantidad2)

    /*Mostramos los montos*/
      escribir Monto1, Monto2

fin

Otra respuesta del problema anterior


inicio
  /*Determinar cantida de dinero que recibe cada socio segun su aporte (Propocional a su aporte)*/
    /*Leer cantidades aportados*/
      leer Cantidad1
      leer Cantidad2

    /*Leer el monto total */
      leer MontoTotal

    /*Determinar el monto recivido por socio*/
      Monto1 = Cantidad1*MontoTotal / (Cantidad1 + Cantidad2)

      Monto2 = MontoTotal - Monto1

    /*Mostramos los montos*/
      escribir Monto1, Monto2
fin

EJERCICIO 10: A una reunión asistieron n personas. Escribir un algoritmo que determine el total de apretones de manos que hubo.


inicio /*Determinar el total apreton de manos entre n personas*/
  /*Leer cantidad de personas*/
    leer (Cantidad)

  /*Determinar total de apretones de manos*/
    Apretones = personas * (Personas - 1) / 2

  /*Mostrar el resultado*/
    escribir Apretones

fin

EJEMPLO 11: En un cuadrado cuyo lado es A mayor que cero, se unen los puntos medios de sus cuatro lados formando otro cuadrado, se vuelve a unir los puntos medios de los lados del nuevo cuadrado formando otro cuadrado y así sucesivamente. Escribir un algoritmo para determinar el área del n-esimo cuadrado formado.


inicio
  /*Determinar area del n-esimo cuadrado*/
  /*Leer lado del cuadrado y Esino*/
    leer Lado
    leer Esimo

  /*Determinar area del n-esimo cuadrado*/
    Area = Lado*Lado/ 2(nesimo - 1) /*(nesimo - 1 ) es exponente de dos*/

  /*Mostramos el resultado*/
    escribir Area
fin

EJEMPLO 12: Maximizar el número de trozos de tortas que se pueden obtener con n cortes.


inicio
  /*Maximizar los trozos de trta con n cortes*/
  /*Leemos la cantidad de cortes*/
    leer nCortes

  /*Hallar la cantidad maxima de trosos*/
    Trozos = 1 + nCortes * (1 + nCortes) / 2

  /*Mostramos la cantidad de trozos*/
    escribir Trozos

fin

EJEMPLO 13: Escribir un algoritmo que invierta el orden de los dígitos de un número de 3 dígitos.


inicio /*Invertir un numero de 3 digitos*/
  /*Leer un numero de 3 digitos*/
    leer Numero

  /*Calcular Numero Invertido*/
  /*Condiciones iniciales*/
    Numero Invertido = 0

  /*Generar digito de las centenas*/
    UltimoDigito = Numero MOD 10
    NumeroInvertido = NumeroInvertido*10 + UltimoDigito
    Numero = Numero DIV 10

  /*Generar digito de las decenas*/
    UltimoDigito = Numero MOD 10
    NumeroInvertido = NumeroInvertido*10 + UltimoDigito
    Numero = Numero DIV 10

  /*Generar digito de las unidades*/
    UltimoDigito = Numero MOD 10
    NumeroInvertido = NumeroInvertido*10 + UltimoDigito
    Numero = Numero DIV 10

  /*Escribir numero invertido*/
    escribir NumeroInvertido
fin

EJEMPLO 14: Un ciclista parte de una ciudad A a las HH horas, MM minutos y SS segundos. El tiempo de viaje hasta llegar a otra ciudad B es de T segundos. Escribir un algoritmo que determine la hora de llegada a la ciudad B.


inicio
  /*Calcular hora de llegada en Horas, Minutos y Segundos del ciclista*/
  /*Leer hora de partida y tiempo de viaje*/
    leer HoraPartida
    leer MinPartida
    leer SegPartida
    leer SegViaje

  /*Calcular hora de llegada*/
  /*Total de segundo en la patida*/
    TotalSegPart = HoraPartida*36000 + MinPartida*60 + SegPartida

  /*Total Segundos a la llegada*/
    TotalSegLleg = TotalSegPart + SegViaje

  /*Hora de llegada en Horas, Minutos y Segundos*/
    HoraLlegada = HoraSegLLegada MOD 24
    HoraLlegada = TotalSegLleg DIV 3600
    MinLlegada = (TotalSegLleg MOD 3600) DIV 60
    SegLlegada = (TotalSegLleg MOD 3600) MOD 60

  /*escribir hora de llegada*/
    escribir HoraLlegada, MinLlegada, SegLlegada
fin

EJEMPLO 15: Escriba un algoritmo que calcule la suma de dos números complejos.


inicio /*Sumar dos numeros complejos*/
  /*Leer dos numeros complejos*/
    leer Nro1Real
    leer Nro1Imag
    leer Nro2Real
    leer Nro2Imag

  /*Sumar los numeros complejos*/
  /*Sumar la parte real de los numeros*/
    SumaReal = Nro1Real + Nro2Real

  /*Sumar la parte imaginaria de los numeros*/
    SumaImag = Nro1Imag + Nro2Imag

  /*Escribir la suma de los numeros complejos*/
    escribir SumarReal
    escribir SumaImag
fin

EJEMPLO 16: Escribir un algoritmo que calcule las unidades y decenas contenidas en un número de 2 dígitos.


inicio /*Calcular Unidades y Decenas contenidas en un numero de 2 digitos*/
  /*Leer numero de dos digitos*/
    leer Numero

  /*Calcular Unidades y Decenas*/
    Unidades = Numero MOD 10
    Decenas = Numero DIV 10

  /*Escribir Unidades y Decenas del numero*/
    escribir Unidades, Decenas

fin