Image

Pages

jueves, 23 de febrero de 2012

Pseudocodigo y Diagramas de flujo

Planteamiento 1:

Utilizando los Operadores Aritmeticos o Algebraicos, Las Reglas de Prioridad, y las funciones internas
a manejar en el Pseudocodigo (a traves de PseInt), se le pide la solucion de la ecuacion cuadrtica:
para lo anterior solicitar al usuario los valores para b, a y c, dando como respuestas los valores obtenidos por x1 y x2
Obervacion: Si el valor de la expresino raiz 2 (cuadrado (b)-4* a * c) es negativo se producira un error, ya que la raiz
cuadrada de un numero negativo no esta definida.

Análisis del problema:
Entrada: Ingresar valores de: a, b y c
Proceso: Calcular raíz cuadrada.
Salida: Mostrar raíz cuadrada.

  1. Proceso ecuacion_cuadratica
  2. escribir "Ingrese los siguientes valores";
  3. leer a;
  4. leer b;
  5. leer c;
  6. x1 <- (b- rc(b^2)-rc(4*a*c))/(2*a);
  7. escribir "El valor de x1 es:",x1;
  8. x2 <- (b+ rc(b^2)-rc(4*a*c))/(2*a);
  9. escribir "El valor de x2 es:",x2;
  10. FinProceso


Planteamiento 2:

Solicite al usuario ingrese su nombre, carrera, grado no. de carnet, y las notas de cada una de las unidades del curso 
de matematicas (4 unidades en total), almacenar los datos anteriores, y calcular el PROMEDIO obtenido mostrando en pantalla.
Ademas, Si el promedio es mayor o igual a 60 mostar el mensaje "Curso Ganado", sino mostrar el Mensaje "Curso Perdido".

Análisis del problema


Entrada: nombre, carrera, grado, numero de carnet, notas
Proceso: primera unidad + segunda unidad + tercera unidad + cuarta unidad / 4
Salida: Promedio


  1.  Proceso promedio
  2. Escribir "ingrese su nombre";
  3. leer nombre;
  4. Escribir "ingrese carrera";
  5. Leer carrera;
  6. escribir "ingrese grado";
  7. leer grado;
  8. escribir "ingrese un no. de carnet";
  9. leer numero_de_carnet;
  10. escribir "ingrese las notas de matematicas";
  11. leer primera;
  12. leer segunda;
  13. leer tercera;
  14. leer cuarta;
  15. promedio = (primera+segunda+tercera+cuarta) / 4
  16. si promedio >= 60 entonces
  17. escribir "curso Perdido";
  18. sino 
  19. Escribir "curso Ganado";
  20. FinSi
  21. FinProceso



Planteamiento 3:


Empleando la Estructura Condicional Si - entonces, detectar si un numero ingresado tiene o no parte fraccionaria. Observacion,
se le recomienda utilizar la funcion Trunc.

Análisis del problema:


Entrada: Ingresar numero
Proceso: Verificar si numero ingresa tiene parte fraccionaria.
Salida: Mostrar si es fracción o no.

  1. Proceso Fraccionaria
  2.   Escribir "Ingrese un numero natural";
  3.   leer num;
  4.      res <- abs (num);
  5.   Escribir "El numero absoluto del numero es:",res;
  6.      si fraccion = verdadero Entonces
  7.      escribir "Si tiene parte fraccionaria";
  8.      sino
  9.     escribir "No tiene parte Fraccionaria";
  10. Finsi
  11. FinProceso

Planteamiento 4: 


Realizar el algoritmo que averigue si dados dos numeros introducidos por el teclado uno es divisor del otro.
Análisis del problema: 


Entrada: Dos números enteros
Proceso: Comprobar si son divisibles
Salida: Mostrar si son divisibles


  1. Proceso Divisor
  2.      Escribir "Ingrese un numero entero";
  3.      Leer uno
  4.      Escribir "Ingrese segundo numero entero";
  5.      Leer segundo
  6.      Numero <- uno Es Divisible Por segundo
  7.      Si numero = numero Entonces
  8.              Escribir "numero :" numero;
  9.      Sino
  10.            Escribir "No Divisible"
  11.       FinSi
  12.   FinProceso

Planteamiento 5: 
Un angulo se considera agudo si es menor de 90 grados, obtuso si es mayor de 90 grados y recto si es igual a 90 grados. Utilizando esta información, escribir un algoritmo que acepte
un angulo en grados y visualice el tipo de angulo correspondiente a los grados introducidos. Adicional a ello, dibujar el angulo con asteriscos.


Análisis del problema:


Entrada: Angulo
proceso: calcular el angulo
salida: mostrar resultado del angulo


  1. Proceso Angulo
  2.    Escribir "ingrese un angulo"
  3.    leer angulo
  4.         si angulo < 90 Entonces
  5. escribir "angulo agudo"
  6. Escribir "            *"
  7. Escribir "               *"
  8. Escribir "                 *"
  9. Escribir "                   *"
  10. escribir "                     *"
  11. Escribir " ***********"
  12.     FinSi
  13.            si angulo > 90 Entonces
  14. Escribir "angulo obtuso"
  15. Escribir "          *           "
  16. Escribir "        *             "
  17. Escribir "      *               "
  18. Escribir "    *                 "
  19. escribir "  *           
  20. Escribir " ***********"
  21.     FinSi
  22.        si angulo = 90 Entonces
  23. Escribir "angulo recto"
  24. Escribir "*"
  25. Escribir "*"
  26. Escribir "*"
  27. Escribir "*"
  28. escribir "*" 
  29. Escribir " ***********"
  30.     FinSi 
  31. FinProceso





Planteamiento 6:
Solicite al usuario ingrese su Nombre, Puesto y salario (almacene los datos anteriores). Despues compare si el Sueldo es 
Mayor o igual a 3000 aumentarle 250, sino aumentele 75. Mostrar en pantalla cuanto terminara ganando con el aumento concedido.

Análisis del problema:
Entrada: nombre, puesto, salario mensual
proceso: salario + 250, + 75
Salida: Mostrar salario

Algoritmo:
  1. Proceso salario
  2. Escribir "Ingrese su nombre: "
  3. leer nombre
  4. escribir "Ingrese su puesto: "
  5. Leer puesto
  6. escribir "Ingrese su salario mensual: "
  7. Leer salario1
  8. si salario1 >= 3000 Entonces 
  9. salario1 <- Salario1 + 250
  10. Sino
  11. salario1 <- salario1 + 75
  12. FinSi
  13. Escribir "Su salario total es: ",salario1
  14. FinProceso





Planteamiento 7:

Solicite al usuario ingrese el Año acutal y el Año de su nacimiento (almacenarlos), luego calcular la edad de la persona segun los datos ingresados
(muestre la edad en pantalla). Ya obtenida la edad, comparela de la siguente manera: si la edad es mayor o igual a 18 mostar el mensaje "Mayor de edad", sino
mostar el mensaje "Menor de edad".

Analisis del problema
Entrada: Año actual, año de nacimiento
proceso: año actual - año de nacimiento
salida: menor o mayor de edad.

  1. Proceso edad
  2. escribir "ingrese anio actual"
  3. leer anio;
  4. escribir "ingrese año de nacimiento"
  5. leer nacimiento;
  6. Edad <- (anio - nacimiento);
  7. si edad <= 18 entonces 
  8. escribir "menor de edad";
  9. sino
  10. Escribir "mayor de edad";
  11. FinSi
  12. FinProceso


Planteamiento 8:


Diseñar un programa que calcule el monto finala  pagar, de un producto, conforme a un descuento. Por lo tanto el usuario debera ingresar lo siguiente:
El precio del producto (en quetzales)
cantidad del producto a llevar
el porcentaje que se le aplicara a la compra (%)
Con lo anterior, indicar el total a pagar, mostrando por separado el Total a pago, y el iva de la factura.

Análisis del problema:
Entrada: Precio, cantidad de producto, porcentaje de descuento
proceso: precio*cantidad*porcentaje/100, descuento*12/100
Salida: Mostrar el descuento

  1. Proceso descuento 
  2. Escribir "Ingrese el precio";
  3. leer precio
  4. Escribir "Ingrese la cantidad de producto";
  5. leer cantidad
  6. escribir "Ingrese el porcentaje de descuento";
  7. leer porcentaje
  8. descuento <- (precio * cantidad) * (porcentaje / 100)
  9. escribir "total a pagar Q.", descuento
  10. iva <- (descuento * 12) / 100
  11. escribir "El IVA de la factura es: Q.", iva
  12. FinProceso






Planteamiento 9:

Escribir un programa en el cual el usuario ingrese una cantidad determinada de centiemtros, y luego convertir dicho valor (realizar conversion) a su equivalente en :
1. milimetros 4. yardas     7. millas
2. pulgadas   5. metros
3. pies       6. kilometros

Análisis del problema
Entrada: medida
proceso: multiplicar cm*cantidad dada & dividirlo.
Salida: Resultado de la conversión

  1. Proceso medidas 
  2. Escribir "ingrese una cantidad ";
  3. Leer medidas
  4. m<-(cm*10)/1
  5. plg<-(cm*1)/2.54
  6. pie<-(cm*1)/30.48
  7. yd<-(cm*1)/91
  8. mt<-(cm*1)/100
  9. km<-(cm*1)/100000
  10. mill<-(cm*1)/160900
  11. Escribir "milímetros:",cm
  12. Escribir "pulgadas:",cm
  13. Escribir "pies:",cm
  14. Escribir "yarda:",cm
  15. Escribir "metros:"cm
  16. Escribir "kilómetros:",cm
  17. Escribir "millas:",cm
  18. FinProceso



Planteamiento 10: 

Diseñar un sencillo juego en que el usuario debe adivinar un numero aleatorio (funcion azar) generando por la computadora, dicho numero comprendido entre (1 a 20)
El usuario tendra 3 intentos de adivinar el numero, sino lo adivina, despues de los intentos, habra que mostrarle el numero correcto y si lo adivina, limpiar la pantalla y mostrarle
un mensaje de felicitacion, acompañado del numero correcto.

Analisis del problema:

Entrada: ingresar numero
Proceso: Adivinar numero
Salida: mostrar numero correcto.


1 Proceso Juego_Azar
2 intentos <-3
3 numero_secreto <- Azar (20)+1;
4 escribir "Adivine el numero de 1 a 20 :";
5 leer numero_ingresado;
6 mientras numero_secreto<>numero_ingresado & intentos>
7 si numero_secreto>numero_ingresado entonces
8 escribir "Muy bajo";
9 sino
10 Escribir "Muy alto";
11 Finsi
12 Escribir "Le quedan", intentos, " intentos:";
13 leer numero_ingresado;
14 intentos <- intentos-1;
15 FinMientras
16
17 Si intentos=0 Entonces
18 Escribir "El numero era: ", numero_secreto;
19 Sino
20 Escribir "Felicidades, Usted adivino en", 3 intentos
21 Finsi
22 FinProceso




Planteamiento 11:

Diseñar un programa que solicite el ingreso de 3 número enteros, posterior a ello, mostrar cual fue el mayor y
cual fue le menor. Por ejemplo 3 50 14, el número menor fue el 3 y el mayor el 50.

Análisis de problema 

Entrada: ingresar 3 numeros enteros
Proceso: a <= b >= c
Salida: El numero mayor y numero menor


1 Proceso Mayor_y_Menor
2 Escribir "Ingrese tres numeros:"
3 Leer a,b,c
4 Si (a < b) y (a < c) Entonces
5 Escribir "El menor es: ",a;
6 Finsi
7 Si (b < a) y (b < c) Entonces
8 Escribir "El menor es: ",b;
9 Finsi
10 Si (c < a) y (c < b) Entonces
11 Escribir "El menor es: ",c;
12 Finsi
13 Si (a > b) y (a > c) Entonces
14 Escribir "El mayor es: ",a;
15 Finsi
16 Si (b > a) y (b > c) Entonces
17 Escribir "El mayor es: ",b;
18 Finsi
19 Si (c > a) y (c > b) Entonces
20 Escribir "El mayor es: ",c;
21 Finsi
22 FinProceso




Planteamiento 12:

Un sistema de ecuaciones lineales:
ax + by = c
dx + ey = f
se pueden resolver con las siguientes fórmulas:
                             x = (c*e - b*f) / (a*e - b*d)
                             y = (a*f - c*d) / (a*e - b*d)
Diseñar el programa que lea los coeficientes a, b, c, e, d, f y muestre los valores de X y de Y en la pantalla.

Análisis del problema 

Entrada: ingresar ecuaciones
Proceso: Resolver ecuaciones 
Salida: valores para X, Y

  1.  Proceso calculo
  2. Escribir " ax + by = c"
  3. Escribir " dx + ey = f"
  4. Escribir ""        
  5. Escribir "Ingrese un valor para a:"
  6. Leer a
  7. Escribir "Ingrese un valor para b:"
  8. Leer e
  9. Escribir "Ingrese un valor para c:"
  10. Leer c
  11. Escribir "Ingrese un valor para d:"
  12. Leer
  13. Escribir "Ingrese un valor para e:"
  14. Leer e
  15. Escribir "Ingrese un valor para f:"
  16. Leer f
  17. x = (c*e - b*f) / (a*e - b*d)
  18. t = (a*f - c*d) / (a*e - b*d)
  19. Escribir "El valor de x es: ", x;
  20. Escribir "El valor de y es: ", t;
  21.  FinProceso





Planteamiento 13:

Solicitar un número arábigo de 2 cifras ente el rango de 1 a 20 con el cual después de haber ingresado el 
número, muestre en pantalla la siguiente unformación,
a) Sí el número es positivo o negativo.
b) Sí el número es par o impar.
c) El número escrito en letras (en español).
d) El número escrito en letras (en inglés).
e) El número escrito en su equivalencia en la numeración romana.
Emplear para la solución la estructura múltiple Según.

Análisis del problema: 

Entrada: Ingresar numero arábigo de 2 cifras entre el rango de 1 a 20
Proceso: Analizar el numero & mostrar lo pedido.
Salida: Mostrar si numero es positivo o negativo, par o impar, letras (español), letras (ingles), su equivalencia a números romanos












Planteamiento 14:
Los empleados de una fábrica trabajan en dos turnos: diurno y nocturno. Y la fábrica necesita que diseñe el programa que puede calcular el jornal diario de acuerdo con los siguientes puntos:
1. La tarifa de las horas diurnas es de Q9.00
2. La tarifa de las horas nocturnas es de Q12.00
3. En caso de ser domingo, la tarifa se incrementará en Q3.00 en turno de diurno y Q4.00 en el turno nocturno.
El programa deberá leer lo siguiente:
      ¬ Nombre del trabajador (nombre_trab).
      ¬ El nombre del turno (diurno-nocturno).
      ¬ Horas trabajadas (ht).
      ¬ Día de la semana (1a 7) en donde 1 es lunes.

Análisis del problema:

Entrada: ingrese nombre, turno del trabajador, horas trabajadas & días trabajados. 
Proceso: horas * días trabajados + implementar bono.
Salida: salario total.


1 Proceso ingreso
2 Escribir " Ingrese su nombre:"
3 Leer nombre
4 Escribir " Tipo de turno (diurno o nocturno):"
5 Leer tipo
6 Escribir " Dia de la semana (Siendo lunes el dia 1):"
7 Leer dia
8 Escribir " Horas trabajadas"
9 Leer horas
10 Escribir ""
11 Si tipo = "diurno" Entonces
12 pago = horas * 9
13 FinSi
14 Si tipo = "nocturno" Entonces
15 pago = horas * 12
16 Finsi
17 Si (dia = "7") y (tipo = "diurno") Entonces
18 pago = horas * 12
19 Finsi      
20 Si (dia = "7") y (tipo = "nocturno") Entonces
21 pago = horas * 16
22 Finsi      
23 Escribir nombre, ", su pago es de:  Q.", pago;
24 FinProceso




Planteamiento 15:

Diseñar el algoritmo que solicite al usuatio, un número entero entre el  rango de 1 a 100, y utilizando la
estructura Para (for) mostrar los  números (hasta el limite del usuario) en forma ascendente y descendente.

Análisis del problema:

Entrada: ingrese numero. 
Proceso: contar & acumular numero.
Salida: Mostrar números de forma ascendente & descendente. 

1 Proceso numero
2 Escribir "Ingrese un numero del 1 al 100:"
3 Leer n
4 Escribir "Ingrese un limite:"
5 Leer l
6 Escribir "Forma Ascendente:"
7 Para contador <- n + 1 hasta l Hacer
8 Escribir Sin Saltar contador, " "
9 Fin para
10 Escribir ""
11 Escribir ""
12 Escribir "Forma descendente:"
13 Para contador2 <- n - 1 hasta 1 Hacer
14 Escribir Sin Saltar contador2, " "
16 Fin Para
17 FinProceso



Planteamiento 16:

Mostrar en pantalla las treinta primeras potencias de 4, es decir, 4 elevado a 1, 4 elevado a 2, etc. Emplear la estructura repetitiva Para (for).

Análisis del problema:


Entrada: Ingresar potencias pedidas.
Proceso: elevar números
Salida: Mostrar potencias


1.  Proceso potencias
2.             Para x <- 1 hasta 30 hacer
3.                             Escribir  "4 ^ ", x,  " = ", 4 ^ x;
4.             Fin Para
5.  FinProceso



Planteamiento 17:

Diseñar el algoritmo para imprimir la suma de los números impares menores o iguales que N, donde n es un número natural entero, ingresado por el usuario.


Análisis del problema:
Entrada: ingrese números impares
Proceso: procesar numero, verificar si es entero.
Salida: Mostrar suma.


  1. Proceso plantiamiento
  2.      n <- 0
  3.     contador <- 0
  4.     sumador <- 0
  5.     mientras contador <= 12 Hacer
  6.     contador<-contador + 2
  7.     sumador <- sumador + 2
  8. FinMientras
  9.     escribir " el valor de los numeros impares es:",sumador;
  10. FinProceso





Planteamiento 18:

Solicitar se ingrese un letra del abecedario, y cuando el programa encuentre cualquiera de las vocales (a, e, i, o, u) el programa de detendrá, y mostrara que vocal fue la que ingreso, sino se ingresa ninguna vocal el
programa debe de seguir funcionando. Emplear la estructura repetitiva Repetir (repeat).


Análisis del problema:


Entrada: ingrese una letra del abecedario
Proceso: Encontrar vocales a<-e<-i<-o<-u
Salida: Mostrar vocales


  1. Proceso letra
  2.     Repetir
  3. Limpiar Pantalla
  4. Escribir "Ingrese una letra:"
  5. Leer letra
  6. Hasta que (letra = "a") o (letra = "e") o (letra = "i") o (letra = "o") o (letra = "u")
  7. Escribir "Usted ingreso la letra :  " ,letra;
  8. FinProceso







Planteamiento 19:

Escribir un algoritmo que permita escribir en plantalla la frase "¿Desea continuar?" S/N hasta que la respuesta
sea "S" o "N". Emplear la estructura repetitiva Repetir (repeat).


1.  Proceso Continuar
2.    Repetir
3.   Escribir "Ingrese un numero";
4. leer numero
5. Escribir "Desea continuar (s/n)";
6. leer res
7.    hasta que (res = "n") o res (res = "N")
8.  Fin Proceso





Planteamiento 20:

Solicite un número natural (n) entre 1 y 20 con el cual se a de mostrar en pantalla la Tabla de multiplicación, con
el formato siguiente:
                                                                     n * 1 = respuesta
                                                                     n * 2 = respuesta
                                                                                .
                                                                                .
                                                                     n * 10 = respuesta

Emplear la estructura repetitiva Repetir (repeat).


1 Proceso Tabla_multiplicacion
2 Repetir
3
4 I<-0;
5 Escribir "Introduce un numero";
6 Leer Num;
7 Escribir " ";
8 Escribir "La tabla de multiplicar del ", Num, " es:";
9 Escribir " ";
10 Repetir
11 Escribir NUm, " * ",I," = ", Num*I
12 I<-I+1
13 Hasta Que I>10
14 Escribir " ";
15 Escribir "Quieres volver a comenzar, S/N";
16 Leer seguir;
17 Mientras seguir <>"n" y seguir <>"N" y seguir <>"s" y seguir <>"S" hacer
18 escribir "Ingresa S o N.";
19 Leer seguir;
20 FinMientras
21 Hasta Que seguir = "n" o seguir = "N"
22 Fin Proceso





Planteamiento 21:

Un número perfecto es un número entero, que es igual a la suma de todos los enteros positivos (excluido el
mismo) que son divisores del número, el primer número perfecto es 6, ya que los divisores de 6 son 1, 2, 3, y 
1 + 2 + 3 = 6.
Escribir un programa que encuentre los primeros tres números perfectos.


1 Proceso numero_perfecto
2 Escribir "¿Quieres conocer tres numeros perfectos? (s/n)"
3 Leer res
4 Si (res = "s") o (res = "S") Entonces
5 pr1 = (2^2) * (2^3 - 1)
6 pr2 = (2^4) * (2^5 - 1)
7 pr3 = (2^6) * (2^7 - 1)
8 Escribir Sin Saltar pr1, " ,", pr2, " ,", pr3
9 Finsi
10 FinProceso





Planteamiento 22:

Una temperatura Celsius (centigrados) C puede ser convertida a una temperatura equivalente F de acuerdo a la 
siguiente fórmula:     
                                                 
                                                   F={9/5} c + 32

Escribir un Programa que lea la temperatura Celsius com número decimal y obtenga la temperatura
Fahrenheir equivalente.


Analisis del problema:

Entrada: Grados centigrados
Proceso: (centigrados*1.8)+32
Salida: grados farenheit

  1. Proceso temperatura
  2. Escribir "Ingrese grados centigrados";
  3. leer centigrados
  4.         farenheit = centigrados mod 1;
  5. escribir "Farenheit ", (centigrados*1.8)+32;
  6. FinProceso



Planteamiento 23:

Utilizando los ciclos Para, Repetir y Mientras, muestre en pantalla los números del 1 al 100, Diseñar un menú
con cuatro opciones (una por ciclo), en donde el usuario, elige que ciclo que quiere utilizar. La cuarta opción es la
salida. Para la implementación del menú, utilise un ciclo adicional, para ello, el ciclo Mientras.

Análisis del problema:
Entrada: Números del 1 al 100
Proceso: Ciclo pedido & mostrar menú.
Salida: Mostrar ciclo





Planteamiento 24:

Construir un programa para obtener la hipotenusa y los ángulos de un triángulo rectángulo a partir de 
las longitudes de los catetos. Diseñar el triángulo con asteriscos * para tener una mejor referencia del
programa. 

Análisis del problema:


Entrada: Ángulos
Proceso: Calcular ángulos
Salida: mostrar ángulos





Planteamiento 25:

Escribir un programa que determine su un año es bisiesto si es múltiplo de 4 (por ejemplo,
1984). Los años múltiplos de 100 no son bisiestos, salvo si ellos son también múltiplos de 400 (2000 es
bisiesto, 1800 no lo es).

Análisis del problema:

Entrada: Ingresar año
Proceso: analizar año 
Salida: mostrar si es bisiesto.
  1.  Proceso sin_titulo
  2. Escribir 'es o no bisiesto';
  3. Escribir 'ingrese el año';
  4.      Leer a;
  5. Si a mod 4=0 Entonces
  6. Si a mod 100=0 Entonces
  7. Si a mod 400=0 Entonces
  8. Escribir 'es bisiesto';
  9.       Sino  
  10.     Escribir 'no es bisiesto';
  11. FinSi
  12. Sino
  13. Escribir 'si es bisiesto';
  14. FinSi
  15. Sino
  16. Escribir 'no es bisiesto';
  17. FinSi
  18. FinProceso 





Planteamiento 26:

Solicitar al usuario ingrese un número arábigo entero de 4 dígitos el cual se deberá de descomponer en 
unidades, decenas, centenas y unidades de millar para mostrar el número al revés.
 EJEMPLO:                                     2348 ha de mostrar el programa 8432

Análisis del problema:

Entrada: Ingresar numero arábigo entero de 4 dígitos
Proceso: Descomponer en: unidades, decenas, centenas y unidades de millar
Salida: mostrar numero descompuesto. 




Planteamiento 27:

a) Realizar el programa que muestre los números pares comprendidos entre el rango de 0 a 50. Emplear
el ciclo Para.
b) Luego muestre los impares comprendidos entre el rango de 50 a 100 con el ciclo Repetir.

Análisis del problema:

Entrada: Números de 0 a 50
Proceso: Ciclo de números
Salida: mostrar números impares entre 50 a 100
  1. Proceso Numeros
  2. acumulador = 49
  3. para x <- 0 hasta 50 con paso 2 hacer
  4. escribir sin saltar x, " , "
  5. FinPara
  6. escribir ""
  7. escribir ""
  8. repetir 
  9. acumulador <- acumulador + 2
  10. escribir sin saltar acumulador, ", "
  11. hasta que acumulador = 00
  12. FinProceso





Planteamiento 28:

Solicitar al usuario ingrese un número entero entre 1 a 100, luego en pantalla se ha de mostrar el rango de números comprendidos por el número ingresado, además la sumatoria de la serie comprendida por los 
números (suma sucesiva). Ejemplo : Si el usuario ingresara 10, en pantalla aparecerán los números:
1 2 3 4 5 6 7 8 9 10 y la suma sucesiva da: 55.

Análisis del problema:

Entrada: ingresar numero entero entre 1 a 100
Proceso: sumatoria de los números
Salida: Mostrar suma sucesiva de 1 a 100

  1.  Proceso sumar_s
  2. escribir "ingrese valor de n"
  3. leer n;
  4.        x<- 0;
  5.        para i<- 1 hasta n Hacer
  6. escribir i, "+";
  7. x<- x + i;
  8. FinPara
  9. escribir "la respuesta es:",x;
  10.  FinProceso




Planteamiento 29:

Un Número Primo es un entero que no tiene más divisores que el mismo y la unidad. Por ejemplo: 5 es primo
ya que sólo tiene como divisores 5 y 1, y 24 no es primo ya que tiene como divisores a 24, 1, 2 y 3. un Número
Compuesto es aquel número natural mayor que 1 si no es primo.
Los primeros números primos menores que 100 son:
           2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89,97.

Realizar el programa que indique si un número ingresado por el usuario es Primo o Compuesto

Análisis del problema

Entrada: Ingresar numero primo
Proceso: dividir numero primo
Salida: mostrar si es primo o compuesto


  1. Proceso primo
  2. escribir "ingrese un numero:";
  3. leer numero;
  4. si numero mod 5 = 0 Entonces
  5. Escribir "Numero es primo";
  6. Sino
  7. Escribir "numero es compuesto"
  8. Finsi
  9. Escribir "Ingrese un numero"
  10. Leer numero
  11. Si numero mod 5 = 0 entonces
  12. Escribir "numero es primo";
  13. Sino
  14. Escribir "numero es compuesto";
  15. Finsi
  16. FinProceso




Planteamiento 30:

Calcular el Factorial de un número leído desde el teclado, utilizar la sentencia Para (for). En donde:

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|      n1 = n x (n-1) x (n-2) x...x 3 x 2 x 1                                                                                                                                          |
|                                                                                                                                                                                                       |
|                                                                                                                                                                                                       |
|      es decir,                                                                                                                                                                                    |
|                                                                                                                                                                                                       |
|                                                                                                                                                                                                       |
|          5 = 5 x 4 x 3 x 2 x 1 = 120                                                                                                                                                   |
|          4 = 4 x 3 x 2 x 1       = 24                                                                                                                                                     |
|          3 = 3 x 2 x 1             = 6                                                                                                                                                       |
|          2 = 2 x 1                   = 2                                                                                                                                                       |
|          1 = 1                         = 1                                                                                                                                                       |
|                                                                                                                                                                                                       |
|         para codificar estas operaciones basta pensar que                                                                                                              |
|         (n+1) / (n+1) x n x (n- 1) x (n- 2) x ... x 3 x 2 x1                                                                                                                    |
|                                                                                                                                                                                                       |
|                                                                                                                                                                                                       |
|                                                                                                                                                                                                       |
|                                                                                                                                                                                                       |
|                                                                                                                                                                                                       |
|                                                                                                                                                                                                       |
|                                                                                                                                                                                                       |
|                                                                                                                                                                                        |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|


Análisis del problema:

Entrada: ingresar numero
Proceso: calcular formula
Salida: Mostrar resultado
  1. Proceso sin_titulo
  2. Escribir "ingrese un numero"
  3. leer n
  4. f<-1
  5. para x<-1 hasta n Hacer
  6. f<-f*x
  7. FinPara
  8. Escribir "el factorial del numero ingresado es " , f
  9. FinProceso






Planteamiento 31 (Para futuros ingenieros en sistemas):


El matematico italiano Leonardo Fibonacci propuso el sigueinte problema. Suponeindo que un par de conejos tiene un par de crias cada mes y cada nueva pareja se hace fertil a la edad de un mes, si se dispone de una pareja fertil y ninguno de los conejos muertos, ¿Cuantas parejas habra despues de un año? Mejorar el problema calculando el numero de meses necesarios para producir un numero dado de parejas de conejos. 

No hay comentarios:

Publicar un comentario

Pacman



SDBIKE

Counter Strike

GTA IV

Mario Bross