0% encontró este documento útil (0 votos)
140 vistas10 páginas

Dfo

El documento presenta 10 ejemplos de algoritmos escritos en pseudocódigo para resolver diferentes problemas matemáticos y lógicos. Los algoritmos incluyen intercambiar valores de variables, determinar el acceso a estudios superiores, calcular sumas, restas, productos y divisiones de números, identificar el número mayor entre dos valores, calcular porcentajes, aplicar descuentos, determinar si un número es par o impar, calcular cuadrados, contar múltiplos y calcular notas finales de alumnos.

Cargado por

Daniel Aldana
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
140 vistas10 páginas

Dfo

El documento presenta 10 ejemplos de algoritmos escritos en pseudocódigo para resolver diferentes problemas matemáticos y lógicos. Los algoritmos incluyen intercambiar valores de variables, determinar el acceso a estudios superiores, calcular sumas, restas, productos y divisiones de números, identificar el número mayor entre dos valores, calcular porcentajes, aplicar descuentos, determinar si un número es par o impar, calcular cuadrados, contar múltiplos y calcular notas finales de alumnos.

Cargado por

Daniel Aldana
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Hacer un diagrama de flujo que permita leer 2 nmeros diferentes y nos diga cul es el mayor de los 2 nmeros

Ejemplos [Link]
1.- Dadas dos variables numricas A y B, que el usuario debe teclear, se pide realizar un
algoritmo que intercambie los valores de ambas variables y muestre cunto valen al final las dos
variables (recuerda la asignacin).

Papel:
Var A, B, C: numrica

Inicio
Escribir "Introduce el valor de A"
Leer A
Escribir "Introduce el valor de B"
Leer B
C<-A
A<-B
B<-C
Escribir "A vale " A " y B vale " B
Fin

PSeInt:
Proceso ejercicio_1
Escribir "Introduce el valor de A"
Leer A
Escribir "Introduce el valor de B"
Leer B
C<-A
A<-B
B<-C
Escribir "A vale " A " y B vale " B
FinProceso
2.- Algoritmo que nos diga si una persona puede acceder a cursar un ciclo formativo de grado
superior o no. Para acceder a un grado superior, si se tiene un ttulo de bachiller, en caso de no
tenerlo, se puede acceder si hemos superado una prueba de acceso.

Papel:
Var bachiller, prueba acceso: cadena
Inicio
Escribir "Tienes el titulo de bachiller?"
Leer bachiller
si (bachiller="si") Entonces
Escribir "Puedes acceder al grado superior"
Sino
Escribir "Tienes la prueba de acceso superada?"
Leer prueba_acceso
si (prueba_acceso="si") Entonces
Escribir "Puedes acceder al grado superior"
Sino
Escribir "No puedes acceder a un grado superior"
FinSi
FinSi
Ejemplos [Link]
Fin

PSeInt:
Proceso ejercicio_2
Escribir "Tienes el titulo de bachiller?"
Leer bachiller
si (bachiller="si") Entonces
Escribir "Puedes acceder al grado superior"
Sino
Escribir "Tienes la prueba de acceso superada?"
Leer prueba_acceso
si (prueba_acceso="si") Entonces
Escribir "Puedes acceder al grado superior"
Sino
Escribir "No puedes acceder a un grado superior"
FinSi
FinSi
FinProceso
3.- Algoritmo que lea dos nmeros, calculando y escribiendo el valor de su suma, resta,
producto y divisin.

Papel:
Var numero1, numero2, resultado: numrica
Inicio
Escribir "Introduce el primer numero"
Leer numero1
Escribir "Introduce el segundo numero"
Leer numero2
resultado<-numero1+numero2
Escribir resultado
resultado<-numero1-numero2
Escribir resultado
resultado<-numero1*numero2
Escribir resultado
resultado<-numero1/numero2
Escribir resultado
Fin

PSeInt:
Proceso ejercicio_3
Escribir "Introduce el primer numero"
Leer numero1
Escribir "Introduce el segundo numero"
Leer numero2
//inicializamos la variable resultado a 0 (recomendable)
resultado<-0
//sumamos los numeros y escribimos su resultado
Ejemplos [Link]
resultado<-numero1+numero2
Escribir resultado
//restamos los numeros y escribimos su resultado
resultado<-numero1-numero2
Escribir resultado
//multiplicamos los numeros y escribimos su resultado
resultado<-numero1*numero2
Escribir resultado
//dividimos los numeros y escribimos su resultado
resultado<-numero1/numero2
Escribir resultado
FinProceso
4.- Algoritmo que lea dos nmeros y nos diga cul de ellos es mayor o bien si son iguales
(recuerda usar la estructura condicional SI)

Papel:
Var numero1, numero2: numerica

Inicio
Escribir "Introduce el primer numero"
Leer numero1
Escribir "Introduce el segundo numero"
Leer numero2
Si (numero1>=numero2) Entonces
Si (numero1=numero2) Entonces
escribir "los numeros " numero1 " " numero2 " son iguales"
Sino
Escribir numero1 " es el mayor de los dos"
FinSi
Sino
Escribir numero2 " es el mayor de los dos"
FinSi
Fin

PSeInt:
Proceso ejercicio_4
Escribir "Introduce el primer numero"
Leer numero1
Escribir "Introduce el segundo numero"
Leer numero2
//comparamos los dos numeros,
//si el primero es mayor o igual que el segundo entra
Si (numero1>=numero2) Entonces
//Si el numero1 y numero2 son iguales entra y escribe que son iguales
//Sino lo son escribe que el numero1 es el mayor
Si (numero1=numero2) Entonces
escribir "los numeros " numero1 " " numero2 " son iguales"
Sino
Escribir numero1 " es el mayor de los dos"
FinSi
//Si el primer Si es falso, escribe que el numero2 es mayor
Ejemplos [Link]
Sino
Escribir numero2 " es el mayor de los dos"
FinSi
FinProceso
5.- Un colegio desea saber qu porcentaje de nios y qu porcentaje de nias hay en el
curso actual. Disear un algoritmo para este propsito (recuerda que para calcular el
porcentaje puedes hacer una regla de 3).

Papel:
Var numero_nios, numero_nias, resultado: numerica

Inicio
Escribir "Introduce el numero de nios"
Leer numero_nios
Escribir "Introduce el numero de nias"
Leer numero_nias
porcentaje_nios<-numero_nios*100/(numero_nios+numero_nias)
porcentaje_nias<-100-porcentaje_nios
Escribir "Hay un " porcentaje_nios " % de nios
Escribir "Hay un " porcentaje_nias " % de nias
Fin

PSeInt:
Proceso Ejercicio_5
Escribir "Introduce el numero de nios"
Leer numero_nios
Escribir "Introduce el numero de nias"
Leer numero_nias
//calculamos el porcentaje
porcentaje_nios<-numero_nios*100/(numero_nios+numero_nias)
porcentaje_nias<-100-porcentaje_nios
Escribir "Hay un " porcentaje_nios " % de nios
Escribir "Hay un " porcentaje_nias " % de nias"
FinProceso
6.- Una tienda ofrece un descuento del 15% sobre el total de la compra durante el mes
de octubre. Dado un mes y un importe, calcular cul es la cantidad que se debe cobrar
al cliente.

Papel:
Var mes: cadena
importe, total:numerico
Inicio
Escribir "escribe el importe de la compra"
Leer importe
Escribir "Introduce el mes"
Leer mes

Ejemplos [Link]
Si (mes="octubre") Entonces
total<-importe*0.85
Sino
total<-importe
FinSi
Escribir total
Fin

PSeInt:
Proceso ejercicio_6
Escribir "escribe el importe de la compra"
Leer importe
Escribir "Introduce el mes"
Leer mes
//Si el mes es octubre, se aplicara el descuento
Si (mes="octubre") Entonces
total<-importe*0.85
Sino
total<-importe
FinSi
Escribir total
FinProceso
7.- Realizar un algoritmo que dado un nmero entero, visualice en pantalla si es par o
impar. En el caso de ser 0, debe visualizar el nmero no es par ni impar (para que un
nmero sea par, se debe dividir entre dos y que su resto sea 0).

Papel:
Var numero: numrica
Inicio
Escribir "Introduce un nmero"
Leer numero
Si (numero=0) Entonces
Escribir "El " numero " no es par ni impar"
Sino
Si (numero MOD 2=0) Entonces
Escribir "El " numero " es par"
Sino
Escribir "El " numero " no es par"
FinSi
FinSi
Fin

PSeInt:
Proceso ejercicio_7
Escribir "Introduce un numero"
Leer numero
Si (numero=0) Entonces
Escribir "El " numero " no es par ni impar"
Sino
Ejemplos [Link]
//comprobamos si el numero es par
Si (numero MOD 2=0) Entonces
Escribir "El " numero " es par"
Sino
Escribir "El " numero " no es par"
FinSi
FinSi
FinProceso
8.- Desarrollar un algoritmo que nos calcule el cuadrado de los 9 primeros nmeros
naturales (recuerda la estructura desde-hasta)

Papel:
Var num, res: numerica
Inicio
Desde num<-1 Hasta 9 In 1
res<-num^2
Escribir num " " res
FinDesde
Fin

PSeInt:
Proceso ejercicio_8
Para num<-1 Hasta 9 Con Paso 1
res<-num^2
Escribir num " " res
FinPara
FinProceso
9.- Algoritmo que visualice la cuenta de los nmeros que son mltiplos de 2 o de 3 que
hay entre 1 y 100.

Papel:
Var num: numerica
Inicio
Desde num<-1 Hasta 100 In 1
//asi indicamos si un numero es multiplo de 3 o de 2
si (num MOD 2=0 OR num MOD 3=0) Entonces
Escribir num
FinSi
FinDesde
Fin

PSeInt:
Proceso ejercicio_9
Para num<-1 Hasta 100 Con Paso 1
//asi indicamos si un numero es multiplo de 3 o de 2
si (num MOD 2=0 o num MOD 3=0) Entonces
Ejemplos [Link]
Escribir num
FinSi
FinPara
FinProceso
10.- Calcular las calificaciones de un grupo de alumnos. La nota final de cada alumno se
calcula segn el siguiente criterio: la parte prctica vale el 10%; la parte de problemas
vale el 50% y la parte terica el 40%. El algoritmo leer el nombre del alumno, las tres
notas, escribir el resultado y volver a pedir los datos del siguiente alumno hasta que
el nombre sea una cadena vaca. Las notas deben estar entre 0 y 10, si no lo estn, no
imprimir las notas, mostrara un mensaje de error y volver a pedir otro alumno.

Papel:
Var alumno: cadena
nota_teoria, nota_problemas, nota_teoria, nota_final: numerica
Inicio
Escribir "Introduce el nombre del alumno"
Leer alumno
Mientras alumno<>"" Hacer
Escribir "Introduce la nota practica"
leer nota_practica
Escribir "Introduce la nota de problemas"
leer nota_problemas
Escribir "Introduce la nota de teoria"
Leer nota_teoria
//NOTA: este si esta agrupado por falta de espacio
si (nota_practica<=10 AND nota_practica>=0)
AND (nota_problemas<=10 AND nota_problemas>=0)
AND (nota_teoria<=10 AND nota_teoria>=0) Entonces
Escribir "El alumno " alumno
Escribir "La nota practica es " nota_practica
Escribir "La nota de problemas es " nota_problemas
Escribir "La nota de teoria es " nota_teoria
nota_practica<-nota_practica*0.1
nota_problemas<-nota_problemas*0.5
nota_teoria<-nota_teoria*0.4
nota_final<-nota_practica+nota_problemas+nota_teoria
Escribir "La nota final es " nota_final
Sino
Escribir "Has escrito una nota incorrecta, vuelve a intentarlo"
FinSi

Escribir "Introduce el nombre de otro alumno"


Leer alumno
FinMientras
Fin

Ejemplos [Link]
PSeInt:
Proceso ejercicio_10
Escribir "Introduce el nombre del alumno"
Leer alumno
Mientras alumno<>"" Hacer
//si introducimos un nombre de alumno
//correcto, entrara en el bucle
Escribir "Introduce la nota practica"
leer nota_practica
Escribir "Introduce la nota de problemas"
leer nota_problemas
Escribir "Introduce la nota de teoria"
Leer nota_teoria
//comprobamos si las notas tienen un rango correcto
//NOTA: este si esta agrupado por falta de espacio
si (nota_practica<=10 y nota_practica>=0)
y (nota_problemas<=10 y nota_problemas>=0)
y (nota_teoria<=10 y nota_teoria>=0) Entonces
Escribir "El alumno " alumno
Escribir "La nota practica es " nota_practica
Escribir "La nota de problemas es " nota_problemas
Escribir "La nota de teoria es " nota_teoria
nota_practica<-nota_practica*0.1
nota_problemas<-nota_problemas*0.5
nota_teoria<-nota_teoria*0.4
nota_final<-nota_practica+nota_problemas+nota_teoria
Escribir "La nota final es " nota_final
Sino
Escribir "Has escrito una nota incorrecta, vuelve a intentarlo"
FinSi
Escribir "Introduce el nombre de otro alumno"
Leer alumno
FinMientras
FinProceso

Ejemplos [Link]
Ejercicios Propuestos
1.- Escribir un Pseudocodigo/DFO que pida la edad y el sexo y dependiendo
si es hombre o mujer y si puede votar o no.
2.- Realice un Pseudocdigo/DFO que calcule la nmina salarial neto, de
unos obreros cuyo trabajo se paga en horas. El clculo se realiza de la
siguiente forma:
- Las primeras 35 horas a una tarifa fija.
- Las horas extras se pagan a 1.5 ms de la tarifa fija.
- Los impuestos a deducir de los trabajadores varan, segn el sueldo
mensual si el sueldo es menos a $20,000.00 el sueldo es libre de impuesto
y si es al contrario se cobrar un 20% de impuesto.
3.- Crear un diagrama de flujo de procesos en el que se almacenen 3
nmeros en 3 variables A, B y C. El diagrama debe decidir cul es el mayor
y cul es el menor
4.- Hacer un organigrama que lea N nmeros, calcule y escriba la suma de
los pares y el producto de los impares.
5.- Calcule las races de una ecuacin de segundo grado. Controlar el caso
de que las soluciones sean imaginarias.
6.- Juego simple que pide al usuario que adivine un nmero en 10 intentos
Proceso Adivina_Numero
intentos<-10
num_secreto <- azar(100)+1
Escribir "Adivine el numero (de 1 a 100):"
Leer num_ingresado
Mientras num_secreto<>num_ingresado Y intentos>1 Hacer
Si num_secreto>num_ingresado Entonces
Escribir "Muy bajo"
Sino
Escribir "Muy alto"
FinSi
intentos <- intentos-1
Escribir "Le quedan ",intentos," intentos:"
Leer num_ingresado
FinMientras

Si num_secreto=num_ingresado Entonces
Escribir "Exacto! Usted adivino en ",11-intentos," intentos."
Sino
Escribir "El numero era: ",num_secreto
FinSi
FinProceso

Ejemplos [Link]

También podría gustarte